cgrzemba / 389-ds-base

Forked from 389-ds-base 5 years ago
Clone

0ae7a17 Trac Ticket #498 - Cannot abaondon simple paged result search

4 files Authored by Noriko Hosoi 11 years ago, Committed by rmeggins 11 years ago,
    Trac Ticket #498 - Cannot abaondon simple paged result search
    
    https://fedorahosted.org/389/ticket/498
    
    Bug Description: The enhancement "Ticket #260 - 389 DS does not
    support multiple paging controls on a single connection (commit
    add880accaa28de8304da1c2c2f58fe8af002ebb)" broke the ability to
    abandon the on-going simple paged result search.
    
    1) The abandon request expects the operation exist. When sending
    an abort request, the search operation could have already finished
    and the operation object has been released.
    
    2) Plus, request page size is 0, it should be interpreted as abandoned.
    
    Fix Description:
    1) In do_abandon, this patch eliminates to check if the operation
    is a simplepaged results oriented or not, since the operation object
    is often already released.  Instead, it directly checks the internal
    paged results info in the connection object.
    
    To make sure the abandoned search won't go further, a flag value
    CONN_FLAG_PAGEDRESULTS_ABANDONED is introduced.  If it is set in
    the pagedresults structure in the connection object, it skips any
    further process of the search.
    
    2) This patch is adding a check if the given page size is 0 in the
    simple-paged-results control or not.  If it is 0, treat is as an
    abandoned operation.
    (cherry picked from commit 47c0d96ac28c0b1cc15e7bbb77648551c309ccf5)
    (cherry picked from commit 973886082b1c695a55d503f96b2e74188cbfded6)
    
        
file modified
+4 -6
file modified
+14 -3
file modified
+8 -7