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)