7a08d1d DP/SYSDB: Move the code to set initgrExpireTimestamp to a reusable function

Authored and Committed by jhrozek 4 years ago
    DP/SYSDB: Move the code to set initgrExpireTimestamp to a reusable function
    
    Related: https://pagure.io/SSSD/sssd/issue/4012
    
    Because the initgroups request can, especially in the case of IPA provider
    with trusts, contain several sub-requests that run some provider-specific
    initgroups internally and then run post-processing AND because at the same
    time concurrent requests in the responder need to be sure that the
    initgrExpireTimestamp is only increased when the initgroups request is
    really done, we only set the initgrExpireTimestamp in the DP when the
    request finishes.
    
    This means, the background refresh task needs to also set the
    initgrExpireTimestamp attribute on its own as well. This patch so far
    splits the helper function into a reusable one so it can later be used
    by the background refresh.
    
    For examples of the bugs caused by the initgrTimestamp being set before
    the whole multi-step operation finishes, please see tickets #3744
    or #2634.
    
    Reviewed-by: Sumit Bose <sbose@redhat.com>
    
        
file modified
+11 -0
file modified
+70 -0