Skip to content
Snippets Groups Projects
Commit 015bc3ed authored by Hallvard Furuseth's avatar Hallvard Furuseth Committed by Quanah Gibson-Mount
Browse files

ITS#6763,7053 Cleanup after sending entry/searchref.

slap_send_search_entry(), slap_send_search_reference(): Never skip
the cleanup code.  Sending an entry did on sizeLimitExceeded/busy.
Sending a ref dropped rs_flush_entry() on error.
parent 73277dad
No related branches found
No related tags found
No related merge requests found
......@@ -964,19 +964,21 @@ slap_send_search_entry( Operation *op, SlapReply *rs )
*/
char **e_flags = NULL;
rs->sr_type = REP_SEARCH;
if ( op->ors_slimit >= 0 && rs->sr_nentries >= op->ors_slimit ) {
return LDAP_SIZELIMIT_EXCEEDED;
rc = LDAP_SIZELIMIT_EXCEEDED;
goto error_return;
}
/* Every 64 entries, check for thread pool pause */
if ( ( ( rs->sr_nentries & 0x3f ) == 0x3f ) &&
ldap_pvt_thread_pool_pausing( &connection_pool ) > 0 )
{
return LDAP_BUSY;
rc = LDAP_BUSY;
goto error_return;
}
rs->sr_type = REP_SEARCH;
/* eventually will loop through generated operational attribute types
* currently implemented types include:
* entryDN, subschemaSubentry, and hasSubordinates */
......@@ -1607,7 +1609,11 @@ slap_send_search_reference( Operation *op, SlapReply *rs )
Debug( LDAP_DEBUG_TRACE, "<= send_search_reference\n", 0, 0, 0 );
if ( 0 ) {
rel:
rs_flush_entry( op, rs, NULL );
}
if ( op->o_callback ) {
(void)slap_cleanup_play( op, rs );
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment