X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fback-bdb%2Freferral.c;h=168da4677d54275fcad90ddae900b930be368ef7;hb=a7b1d7a6abc625e4092aa3a6b48d75b475e08778;hp=97305f9f54ea0d0b0bf2560cc2b749c610aaf065;hpb=8007d669fb7e2fbd97977619d844d025702f2de5;p=openldap diff --git a/servers/slapd/back-bdb/referral.c b/servers/slapd/back-bdb/referral.c index 97305f9f54..168da4677d 100644 --- a/servers/slapd/back-bdb/referral.c +++ b/servers/slapd/back-bdb/referral.c @@ -91,8 +91,11 @@ dn2entry_retry: (long) op->o_tag, op->o_req_dn.bv_val, e->e_name.bv_val ); if( is_entry_referral( e ) ) { + BerVarray ref = get_entry_referrals( op, e ); rc = LDAP_OTHER; - rs->sr_ref = get_entry_referrals( op, e ); + rs->sr_ref = referral_rewrite( ref, NULL, + &op->o_req_dn, LDAP_SCOPE_DEFAULT ); + ber_bvarray_free( ref ); if ( rs->sr_ref ) { rs->sr_matched = ber_strdup_x( e->e_name.bv_val, op->o_tmpmemctx );