Fix nscd lookup for innetgr when netgroup has wildcards (BZ #16758)
authorSiddhesh Poyarekar <siddhesh@redhat.com>
Thu, 27 Mar 2014 01:45:22 +0000 (07:15 +0530)
committerSiddhesh Poyarekar <siddhesh@redhat.com>
Thu, 27 Mar 2014 01:45:22 +0000 (07:15 +0530)
commitfbd6b5a4052316f7eb03c4617eebfaafc59dcc06
treefee9e38f7d76dd576f37952e68f68a2e527f5c27
parent1b26b855b4e5ca540db47e3c27eaed6b78ca8b87
Fix nscd lookup for innetgr when netgroup has wildcards (BZ #16758)

nscd works correctly when the request in innetgr is a wildcard,
i.e. when one or more of host, user or domain parameters is NULL.
However, it does not work when the the triplet in the netgroup
definition has a wildcard.  This is easy to reproduce for a triplet
defined as follows:

    foonet (,foo,)

Here, an innetgr call that looks like this:

    innetgr ("foonet", "foohost", "foo", NULL);

should succeed and so should:

    innetgr ("foonet", NULL, "foo", "foodomain");

It does succeed with nscd disabled, but not with nscd enabled.  This
fix adds this additional check for all three parts of the triplet so
that it gives the correct result.

[BZ #16758]
* nscd/netgroupcache.c (addinnetgrX): Succeed if triplet has
blank values.
ChangeLog
NEWS
nscd/netgroupcache.c