7d917d8 nss: Fix invalid enum nss_status return values.

4 files Authored by Carlos O'Donell 6 years ago, Committed by lslebodn 6 years ago,
    nss: Fix invalid enum nss_status return values.
    
    The upstream glibc test nss/bug17079 covers several cases where the
    NSS infrastructure passes invalid pointers to NSS plugins. The plugins
    should return correct results for the invalid values e.g. ERANGE,
    but it should do so by setting *errnop to the error and returning
    NSS_STATUS_TRYAGAIN. This commit fixes the group, netgroup, passwd
    and service handling code to correctly return ERANGE in *errnop
    and NSS_TATUS_TRYAGAIN in the case of invalid buffer (NULL) or
    zero sized buffer length. This fixes the nss/bug17079 regression test
    when run in a test configuration with sss enabled for any of the
    above mentioned services.
    
    Upstream glibc bug:
    Bug 22530 - FAIL: nss/bug17079 due to _nss_sss_getpwuid_r
    https://sourceware.org/bugzilla/show_bug.cgi?id=22530
    
    Merges: https://pagure.io/SSSD/sssd/pull-request/3589
    
    Signed-off-by: Carlos O'Donell <carlos@redhat.com>
    Reviewed-by: Florian Weimer <fweimer@redhat.com>
    Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>
    (cherry picked from commit c096972ff25f14a390a621851f4935901b908be8)
    
        
file modified
+8 -2
file modified
+8 -2
file modified
+12 -3