On Monday, November 28, 2016 16:11:34 Pádraig Brady wrote: > On 28/11/16 15:21, Kamil Dudka wrote: > > ... in case two or more directories nested in each other are created and > > each of them defaults to a different SELinux context. > > > > * src/install.c (make_ancestor): When calling defaultcon(), give it the > > same path that is given to mkdir(). The other path is not always valid > > wrt. current working directory. > > * src/mkdir.c (make_ancestor): Likewise. > > * NEWS: Mention the bug fix. > > > > Reported at https://bugzilla.redhat.com/1398913 > > --- > > > > NEWS | 4 ++++ > > src/install.c | 2 +- > > src/mkdir.c | 2 +- > > 3 files changed, 6 insertions(+), 2 deletions(-) > > > > diff --git a/NEWS b/NEWS > > index 6f7505f..e88e932 100644 > > --- a/NEWS > > +++ b/NEWS > > @@ -25,6 +25,10 @@ GNU coreutils NEWS > > -*- outline -*-> > > factor again outputs immediately when numbers are input interactively. > > [bug introduced in coreutils-8.24] > > > > + install -DZ and mkdir -pZ now set default SELinux context correctly > > even if + two or more directories nested in each other are created and > > each of them + defaults to a different SELinux context. > > + > > > > ls --time-style no longer mishandles '%%b' in formats. > > [bug introduced in coreutils-7.2] > > > > diff --git a/src/install.c b/src/install.c > > index 414d645..d79d597 100644 > > --- a/src/install.c > > +++ b/src/install.c > > @@ -427,7 +427,7 @@ static int > > > > make_ancestor (char const *dir, char const *component, void *options) > > { > > > > struct cp_options const *x = options; > > > > - if (x->set_security_context && defaultcon (dir, S_IFDIR) < 0 > > + if (x->set_security_context && defaultcon (component, S_IFDIR) < 0 > > > > && ! ignorable_ctx_err (errno)) > > > > error (0, errno, _("failed to set default creation context for %s"), > > > > quoteaf (dir)); > > > > diff --git a/src/mkdir.c b/src/mkdir.c > > index ccd923b..6b51292 100644 > > --- a/src/mkdir.c > > +++ b/src/mkdir.c > > @@ -123,7 +123,7 @@ make_ancestor (char const *dir, char const *component, > > void *options)> > > { > > > > struct mkdir_options const *o = options; > > > > - if (o->set_security_context && defaultcon (dir, S_IFDIR) < 0 > > + if (o->set_security_context && defaultcon (component, S_IFDIR) < 0 > > > > && ! ignorable_ctx_err (errno)) > > > > error (0, errno, _("failed to set default creation context for %s"), > > > > quoteaf (dir)); > > Looks good. > Good timing re release 8.26 which we're about to cut.
Thanks for merging it upstream! Looking forward for the new release... Kamil > thanks! > Pádraig
