Re: [PATCH v2 0/7] Remove ustr library dependency

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 2016-12-21 at 19:20 +0100, Nicolas Iooss wrote:
> Hello,
> 
> ustr library uses old (pre-C99) "extern inline" semantic. This makes
> it
> incompatible with recent versions of gcc and clang, which default to
> C99 standard. Distributions have shipped patched versions of this
> library to fix issues [1] but there is no upstream solution to make
> ustr
> compatible with C99 standard. Moreover the git tree of ustr
> (http://www.and.org/ustr/ustr.git) has not been updated since 2008
> and
> the developer of this project did not reply to emails.
> 
> This patchset aims at removing ustr from SELinux userland libraries
> and
> tools. The library is currenlty only used by genhomedircon functions
> in
> libsemanage. Here is how the patches are organised:
> 
> * patches 1 and 2 make libsemanage test infrastructure work properly,
> * patch 3 expands some test cases in order to better check the
>   modifications of the next patch,
> * patch 4 reimplements functions in libsemanage/src/utilities.c
> without
>   ustr,
> * patches 5 and 6 remove ustr from libsemanage/src/genhomedircon.c (I
>   introduced a new function, semanage_str_replace(), to replace
>   ustr_replace_cstr()),
> * patch 7 removes references to ustr in Makefile, README and pkg-
> config
>   files.
> 
> In this second revision:
> * semanage_split() got slightly modified in order to make it even
> more simpler,
>   in patch 4. test_semanage_split() has been modified accordingly in
> patch 3.
> * Some "variable += 1" and "variable -= 1" expression were rewritten
> using ++
>   and -- operations.
> * In fcontext_matches() (patch 6), the stripping of oexpr suffixes
> now uses a
>   locally-defined macro. This fixes a bug which would have been
> introduced by
>   this patchset.
> * In extract_context() (patch 6), using a whitespace variable has
> been replaced
>   with calls to isspace().
> * In write_contexts() (patch 6) a memory leak has been fixed.

Thanks, all seven patches applied.  Thanks for ridding selinux of this
dependency.

> 
> Thanks,
> Nicolas
> 
> [1] for example Gentoo package uses this patch:
> https://gitweb.gentoo.org/repo/gentoo.git/tree/dev-libs/ustr/files/us
> tr-1.0.4-gcc_5-
> check.patch?id=7dea6f8820f36bf389e6315044bea7507553bed0
> 
> Nicolas Iooss (7):
>   libsemanage/tests: make "make test" fail when a CUnit test fails
>   libsemanage/tests: make tests standalone
>   libsemanage/tests: test more cases of semanage_split*()
>   libsemanage: simplify string utilities functions
>   libsemanage: add semanage_str_replace() utility function
>   libsemanage: genhomedircon: drop ustr dependency
>   libsemanage: remove ustr library from Makefiles, README and pkg-
> config
> 
>  README                                |   2 +-
>  libsemanage/src/Makefile              |   2 +-
>  libsemanage/src/genhomedircon.c       | 154 +++++++++++++++++-------
> ----------
>  libsemanage/src/libsemanage.pc.in     |   2 +-
>  libsemanage/src/utilities.c           | 114 +++++++++++++++---------
> -
>  libsemanage/src/utilities.h           |  10 +++
>  libsemanage/tests/Makefile            |  14 ++--
>  libsemanage/tests/libsemanage-tests.c |   9 +-
>  libsemanage/tests/test_utilities.c    |  85 +++++++++++++++----
>  9 files changed, 238 insertions(+), 154 deletions(-)
> 
_______________________________________________
Selinux mailing list
Selinux@xxxxxxxxxxxxx
To unsubscribe, send email to Selinux-leave@xxxxxxxxxxxxx.
To get help, send an email containing "help" to Selinux-request@xxxxxxxxxxxxx.




[Index of Archives]     [Selinux Refpolicy]     [Linux SGX]     [Fedora Users]     [Fedora Desktop]     [Yosemite Photos]     [Yosemite Camping]     [Yosemite Campsites]     [KDE Users]     [Gnome Users]

  Powered by Linux