]> git.sur5r.net Git - openldap/commitdiff
Fix ldap_chase_referrals to treat "ldap://host/" referrals the same as
authorHoward Chu <hyc@openldap.org>
Wed, 8 Dec 1999 21:37:55 +0000 (21:37 +0000)
committerHoward Chu <hyc@openldap.org>
Wed, 8 Dec 1999 21:37:55 +0000 (21:37 +0000)
"ldap://host".

libraries/libldap/request.c

index c017a57eef1027d223aec2dcff02a735d3be9f5a..2ea52590727b3eef3d865d0d61a0dbfb5a2d0b7a 100644 (file)
@@ -568,7 +568,7 @@ ldap_free_request( LDAP *ld, LDAPRequest *lr )
 int
 ldap_chase_referrals( LDAP *ld, LDAPRequest *lr, char **errstrp, int *hadrefp )
 {
-       int             rc, count, len, newdn;
+       int             rc, count, len, newdn = 0;
 #ifdef LDAP_API_FEATURE_X_OPENLDAP_V2_DNS
        int             ldapref;
 #endif /* LDAP_API_FEATURE_X_OPENLDAP_V2_DNS */
@@ -656,9 +656,13 @@ ldap_chase_referrals( LDAP *ld, LDAPRequest *lr, char **errstrp, int *hadrefp )
                *hadrefp = 1;
                if (( refdn = strchr( tmpref, '/' )) != NULL ) {
                        *refdn++ = '\0';
-                       newdn = 1;
-               } else {
-                       newdn = 0;
+                       if ( *refdn != '\0' )
+                       {
+                               newdn = 1;
+                       } else
+                       {
+                               refdn = NULL;
+                       }
                }
 
                if (( ber = re_encode_request( ld, origreq->lr_ber,