more on ITS#5931: handle intermediate responses and support syncrepl also in back-ldap

This commit is contained in:
Pierangelo Masarati 2009-02-10 14:27:28 +00:00
parent a7ca1bbc68
commit a5924e3092

View File

@ -424,10 +424,34 @@ retry:
}
} else if ( rc == LDAP_RES_INTERMEDIATE ) {
Debug( LDAP_DEBUG_ANY,
"%s ldap_back_search: "
"intermediate response not supported yet.\n",
op->o_log_prefix, 0, 0 );
/* FIXME: response controls
* are passed without checks */
rc = ldap_parse_intermediate( lc->lc_ld,
res,
&rs->sr_rspoid,
&rs->sr_rspdata,
&rs->sr_ctrls,
0 );
if ( rc != LDAP_SUCCESS ) {
continue;
}
slap_send_ldap_intermediate( op, rs );
if ( rs->sr_rspoid != NULL ) {
ber_memfree( rs->sr_rspoid );
rs->sr_rspoid = NULL;
}
if ( rs->sr_rspdata != NULL ) {
ber_bvfree( rs->sr_rspdata );
rs->sr_rspdata = NULL;
}
if ( rs->sr_ctrls != NULL ) {
ldap_controls_free( rs->sr_ctrls );
rs->sr_ctrls = NULL;
}
} else {
char *err = NULL;