Fix the 1.71 fix - only offset the length if the last character of the

referral URL is not a '/'. Also in send_search_reference, corrected the
comparison for the pre-V3 case. Previously, referrals were being dropped
completely for V2 subtree searches. More work is still needed, V2 onelevel
referral handling is wrong.
This commit is contained in:
Howard Chu 1999-12-08 23:31:11 +00:00
parent 3c5848a71e
commit 2ee9c196d2

View File

@ -49,7 +49,9 @@ static char *v2ref( struct berval **ref, const char *text )
v2 = ch_realloc( v2, len + ref[i]->bv_len + 1 );
v2[len-1] = '\n';
memcpy(&v2[len], ref[i]->bv_val, ref[i]->bv_len );
len += ref[i]->bv_len + 1;
len += ref[i]->bv_len;
if (ref[i]->bv_val[ref[i]->bv_len-1] != '/')
++len;
}
v2[len-1] = '\0';
@ -867,7 +869,7 @@ send_search_reference(
if( op->o_protocol < LDAP_VERSION3 ) {
/* save the references for the result */
if( *refs == NULL ) {
if( *refs != NULL ) {
value_add( v2refs, refs );
}
return 0;