]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-ldap/unbind.c
fix entry DN free
[openldap] / servers / slapd / back-ldap / unbind.c
index 8217ce6ef66908ecb6ccf4ff5722ff06fe9d368b..e93dba2c89035feab94fad81b9b1507f2ac005cb 100644 (file)
@@ -2,7 +2,7 @@
 /* $OpenLDAP$ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 1999-2004 The OpenLDAP Foundation.
+ * Copyright 1999-2005 The OpenLDAP Foundation.
  * Portions Copyright 1999-2003 Howard Chu.
  * Portions Copyright 2000-2003 Pierangelo Masarati.
  * All rights reserved.
@@ -33,8 +33,8 @@
 
 int
 ldap_back_conn_destroy(
-    Backend            *be,
-    Connection         *conn
+               Backend         *be,
+               Connection      *conn
 )
 {
        struct ldapinfo *li = (struct ldapinfo *) be->be_private;
@@ -44,24 +44,17 @@ ldap_back_conn_destroy(
                "=>ldap_back_conn_destroy: fetching conn %ld\n",
                conn->c_connid, 0, 0 );
 
-       lc_curr.conn = conn;
-       lc_curr.local_dn = conn->c_ndn;
+       lc_curr.lc_conn = conn;
+       lc_curr.lc_local_ndn = conn->c_ndn;
        
        ldap_pvt_thread_mutex_lock( &li->conn_mutex );
        lc = avl_delete( &li->conntree, (caddr_t)&lc_curr, ldap_back_conn_cmp );
        ldap_pvt_thread_mutex_unlock( &li->conn_mutex );
 
-#ifdef ENABLE_REWRITE
-       /*
-        * Cleanup rewrite session
-        */
-       rewrite_session_delete( li->rwmap.rwm_rw, conn );
-#endif /* ENABLE_REWRITE */
-
-       if (lc) {
+       if ( lc ) {
                Debug( LDAP_DEBUG_TRACE,
                        "=>ldap_back_conn_destroy: destroying conn %ld\n",
-                       lc->conn->c_connid, 0, 0 );
+                       lc->lc_conn->c_connid, 0, 0 );
 
                /*
                 * Needs a test because the handler may be corrupted,