mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-01-12 10:54:48 +08:00
more on ITS#5931: handle intermediate responses and support syncrepl also in back-ldap
This commit is contained in:
parent
a7ca1bbc68
commit
a5924e3092
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user