This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] nsswitch: Add group merging support
- From: Carlos O'Donell <carlos at redhat dot com>
- To: Stephen Gallagher <sgallagh at redhat dot com>, libc-alpha at sourceware dot org, Mike Frysinger <vapier at gentoo dot org>
- Date: Wed, 13 Apr 2016 11:16:52 -0400
- Subject: Re: [PATCH] nsswitch: Add group merging support
- Authentication-results: sourceware.org; auth=none
- References: <56FA0D7F dot 1080704 at redhat dot com> <1459452723-24814-1-git-send-email-sgallagh at redhat dot com> <20160404192539 dot GB6588 at vapier dot lan> <570D2015 dot 4000709 at redhat dot com> <20160412175335 dot GB6588 at vapier dot lan>
On 04/12/2016 01:53 PM, Mike Frysinger wrote:
>> You can _detect_ this behaviour by using an iterator to find these conflicting
>> entries and then play with /etc/nsswitch.conf to find the service which has
>> them and eventually remove them.
>
> what i previously requested was:
> could you clarify "undefined" ? people could interpret this as memory
> corruption / crashes, while others are are inconsistent results. i think
> we just want the latter.
> ...
> in general i'm fine with "undefined", i would just prefer scoping it a
> bit. it's "undefined" in terms of the result set, but it's not in terms
> of your program eating itself.
>
> so i don't think your desires are at odds with my request. i simply want it
> to say that the return values (or whatever) are undefined rather than having
> the documentation imply all your programs will die an abort/assert crash, or
> enter the "undefined behavior" space like we have with "C undefined behavior".
I'm sorry, I missed that in your original response.
You raised a good point.
Let me rewrite it like this:
+When processing @samp{merge} for @samp{group} membership, the group GID
+and name must be identical for both entries. If only one or the other is
+a match, the results are unspecified.
We use the C/C++/POSIX meaning of "unspecified behaviour" here.
That is to say that glibc imposes no requirements on what the results
should be if a misconfiguration is detected. However, the program is correct
and should not crash.
If you're OK with that then I'll use that wording.
--
Cheers,
Carlos.