alisha17 / 389-ds-base

Forked from 389-ds-base 6 years ago
Clone

5d4895c Bug 666076 - dirsrv crash (1.2.7.5) with multiple simple paged result searches

Authored and Committed by rmeggins 13 years ago
    Bug 666076 - dirsrv crash (1.2.7.5) with multiple simple paged result searches
    
    https://bugzilla.redhat.com/show_bug.cgi?id=666076
    Resolves: bug 666076
    Bug Description: dirsrv crash (1.2.7.5) with multiple simple paged result searches
    Reviewed by: nkinder, nhosoi (Thanks!)
    Branch: 389-ds-base-1.2.8
    Fix Description: Only allow one simple paged results search per-connection
    at a time.  The new function pagedresults_check_or_set_processing() will
    check the flag in the connection to see if pagedresults processing is in
    progress.  If so, the function will return True and the search will terminate
    with LDAP_UNWILLING_TO_PERFORM (as per section 3 in RFC 2696, a server is
    allowed to return unwillingToPerform if there is a limit to the number of
    outstanding paged search requests from a given client).  The processing
    flag will be reset once the search result has been sent to the client.
    Since the problem is multiple threads in the same connection accessing
    the pagedresults data, the workaround is to just set
     nsslapd-maxthreadsperconn: 1
    in cn=config in dse.ldif.
    Platforms tested: RHEL6 x86_64
    Flag Day: no
    Doc impact: no
    (cherry picked from commit a123b5466aae3eac4193451ac587d90ef1b61815)
    
        
file modified
+10 -0
file modified
+3 -0