mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-03-07 14:18:15 +08:00
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:
parent
3c5848a71e
commit
2ee9c196d2
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user