]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/bind.c
define and normalize static bervals alltogether
[openldap] / servers / slapd / bind.c
index cbbb1383f69489d791b283abe744836b86151679..abd8ed182ac5cf580ea67c44b6db8e2018002c84 100644 (file)
@@ -478,8 +478,6 @@ do_bind(
                goto cleanup;
        }
 
-       conn->c_authz_backend = be;
-
        if ( be->be_bind ) {
                int ret;
 
@@ -492,14 +490,17 @@ do_bind(
                if ( ret == 0 ) {
                        ldap_pvt_thread_mutex_lock( &conn->c_mutex );
 
+                       if( conn->c_authz_backend == NULL ) {
+                               conn->c_authz_backend = be;
+                       }
+
                        if(edn.bv_len) {
                                conn->c_dn = edn;
                        } else {
-                               ber_dupbv( &conn->c_dn, &pdn );
+                               conn->c_dn = pdn;
+                               pdn.bv_val = NULL;
+                               pdn.bv_len = 0;
                        }
-                       conn->c_cdn = pdn;
-                       pdn.bv_val = NULL;
-                       pdn.bv_len = 0;
 
                        conn->c_ndn = ndn;
                        ndn.bv_val = NULL;
@@ -514,11 +515,11 @@ do_bind(
 #ifdef NEW_LOGGING
                        LDAP_LOG(( "operation", LDAP_LEVEL_DETAIL1,
                                "do_bind: conn %d  v%d bind: \"%s\" to \"%s\" \n",
-                               conn->c_connid, version, conn->c_cdn.bv_val, conn->c_dn.bv_val ));
+                               conn->c_connid, version, dn.bv_val, conn->c_dn.bv_val ));
 #else
                        Debug( LDAP_DEBUG_TRACE,
                                "do_bind: v%d bind: \"%s\" to \"%s\"\n",
-                               version, conn->c_cdn.bv_val, conn->c_dn.bv_val );
+                               version, dn.bv_val, conn->c_dn.bv_val );
 #endif
 
                        ldap_pvt_thread_mutex_unlock( &conn->c_mutex );