389-ds-base-1.2.11.15-3
tagged this
05 Nov 16:20
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)