08db22b nss: add a netgroup counter to struct nss_enum_index

5 files Authored by sbose 6 years ago, Committed by jhrozek 6 years ago,
    nss: add a netgroup counter to struct nss_enum_index
    
    Netgroups are not looked up with the help of a single request but by
    calling setnetgrent(), getnetgrent() and endnetgrent() where
    getnetgrent() might be called multiple times depending on the number of
    netgroup elements. Since the caller does not provide a state the state
    has to be maintained by the SSSD nss responder. Besides the netgroup
    name this is mainly the number of elements already returned.
    
    This number is used to select the next element to return and currently
    it is assumed that there are not changes to the netgroup while the
    client is requesting the individual elements. But if e.g. the 3 nss
    calls are not used correctly or the netgroup is modified while the
    client is sending getnetgrent() calls the stored number might be out of
    range. To be on the safe side the stored number should be always
    compared with the current number of netgroup elements.
    
    Related to https://pagure.io/SSSD/sssd/issue/3679
    
    Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>
    
        
file modified
+2 -1
file modified
+4 -1
file modified
+2 -1