From: Pierangelo Masarati Date: Fri, 8 Oct 2010 22:42:55 +0000 (+0000) Subject: set rebind proc if needed and bind succeeds (ITS#6665) X-Git-Tag: MIGRATION_CVS2GIT~466 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=2ec03471520ccc35a817ff7209579e6810fae5e6;p=openldap set rebind proc if needed and bind succeeds (ITS#6665) --- diff --git a/servers/slapd/back-meta/search.c b/servers/slapd/back-meta/search.c index 03b623caad..a89cbb521a 100644 --- a/servers/slapd/back-meta/search.c +++ b/servers/slapd/back-meta/search.c @@ -378,6 +378,7 @@ meta_search_dobind_result( LDAPMessage *res ) { metainfo_t *mi = ( metainfo_t * )op->o_bd->be_private; + metatarget_t *mt = mi->mi_targets[ candidate ]; metaconn_t *mc = *mcp; metasingleconn_t *msc = &mc->mc_conns[ candidate ]; @@ -416,6 +417,12 @@ meta_search_dobind_result( LDAP_BACK_CONN_ISANON_SET( msc ); } else { + if ( META_BACK_TGT_SAVECRED( mt ) && + !BER_BVISNULL( &msc->msc_cred ) && + !BER_BVISEMPTY( &msc->msc_cred ) ) + { + ldap_set_rebind_proc( msc->msc_ld, mt->mt_rebind_f, msc ); + } LDAP_BACK_CONN_ISBOUND_SET( msc ); } retcode = META_SEARCH_CANDIDATE;