X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fbind.c;h=6480cf7fb82b5fcaa375e44e08ab3e2a9737df07;hb=0f30fb0d8f0adbbb7b41fd455c57aa56d64c9853;hp=a4a10047d19c11415aff8dfcbaf32cf3a27843a0;hpb=cc6fab319ebb776c94462df6bc23abc718ae6ad8;p=openldap diff --git a/servers/slapd/bind.c b/servers/slapd/bind.c index a4a10047d1..6480cf7fb8 100644 --- a/servers/slapd/bind.c +++ b/servers/slapd/bind.c @@ -430,8 +430,13 @@ do_bind( if ( (be = select_backend( ndn, 0 )) == NULL ) { if ( default_referral ) { + struct berval **ref = referral_rewrite( default_referral, + NULL, dn, LDAP_SCOPE_DEFAULT ); + send_ldap_result( conn, op, rc = LDAP_REFERRAL, - NULL, NULL, default_referral, NULL ); + NULL, NULL, ref ? ref : default_referral, NULL ); + + ber_bvecfree( ref ); } else { /* noSuchObject is not allowed to be returned by bind */