]> git.sur5r.net Git - openldap/commitdiff
Import resetting of c_dn/c_cdn after anonymous bind.
authorKurt Zeilenga <kurt@openldap.org>
Fri, 22 Jan 1999 05:46:23 +0000 (05:46 +0000)
committerKurt Zeilenga <kurt@openldap.org>
Fri, 22 Jan 1999 05:46:23 +0000 (05:46 +0000)
servers/slapd/bind.c

index d5d4cae9669080149274473f51c084ee9d39fc76..b4ad4625998c584cb4213bb4c0881aeb0e3610ce 100644 (file)
@@ -135,6 +135,22 @@ do_bind(
                        free( cred.bv_val );
                }
 
+               pthread_mutex_lock( &conn->c_dnmutex );
+
+               conn->c_protocol = version;
+
+               if ( conn->c_cdn != NULL ) {
+                       free( conn->c_cdn );
+                       conn->c_cdn = NULL;
+               }
+
+               if ( conn->c_dn != NULL ) {
+                       free( conn->c_dn );
+                       conn->c_dn = NULL;
+               }
+
+               pthread_mutex_unlock( &conn->c_dnmutex );
+
                send_ldap_result( conn, op, LDAP_SUCCESS, NULL, NULL );
                return;
        }
@@ -152,6 +168,22 @@ do_bind(
                        free( cred.bv_val );
                }
                if ( cred.bv_len == 0 ) {
+                       pthread_mutex_lock( &conn->c_dnmutex );
+
+                       conn->c_protocol = version;
+
+                       if ( conn->c_cdn != NULL ) {
+                               free( conn->c_cdn );
+                               conn->c_cdn = NULL;
+                       }
+
+                       if ( conn->c_dn != NULL ) {
+                               free( conn->c_dn );
+                               conn->c_dn = NULL;
+                       }
+
+                       pthread_mutex_unlock( &conn->c_dnmutex );
+
                        send_ldap_result( conn, op, LDAP_SUCCESS,
                                NULL, NULL );
                } else if ( default_referral && *default_referral ) {