Skip to content
Snippets Groups Projects
Commit 04c57115 authored by Howard Chu's avatar Howard Chu
Browse files

Moved unbind processing into connection_destroy. unbind handler is not needed.

parent f491c893
No related branches found
No related tags found
No related merge requests found
......@@ -19,8 +19,8 @@ extern int ldap_back_bind LDAP_P(( BackendDB *bd,
char *dn, int method, char* mech,
struct berval *cred, char** edn ));
extern int ldap_back_unbind LDAP_P(( BackendDB *bd,
Connection *conn, Operation *op ));
extern int ldap_back_conn_destroy LDAP_P(( BackendDB *bd,
Connection *conn ));
extern int ldap_back_search LDAP_P(( BackendDB *bd,
Connection *conn, Operation *op,
......
......@@ -61,7 +61,7 @@ ldap_back_initialize(
bi->bi_db_destroy = ldap_back_db_destroy;
bi->bi_op_bind = ldap_back_bind;
bi->bi_op_unbind = ldap_back_unbind;
bi->bi_op_unbind = 0;
bi->bi_op_search = ldap_back_search;
bi->bi_op_compare = ldap_back_compare;
bi->bi_op_modify = ldap_back_modify;
......@@ -73,7 +73,7 @@ ldap_back_initialize(
bi->bi_acl_group = 0;
bi->bi_connection_init = 0;
bi->bi_connection_destroy = 0;
bi->bi_connection_destroy = ldap_back_conn_destroy;
return 0;
}
......
......@@ -32,24 +32,26 @@
#include "back-ldap.h"
int
ldap_back_unbind(
ldap_back_conn_destroy(
Backend *be,
Connection *conn,
Operation *op
Connection *conn
)
{
struct ldapinfo *li = (struct ldapinfo *) be->be_private;
struct ldapconn *lc, *lp;
ldap_pvt_thread_mutex_lock( &li->conn_mutex );
for (lc = li->lcs, lp = (struct ldapconn *)&li->lcs; lc;
lp=lc, lc=lc->next)
if (lc->conn == conn)
if (lc->conn == conn) {
lp->next = lc->next;
break;
}
ldap_pvt_thread_mutex_unlock( &li->conn_mutex );
if (lc) {
if (lc->bound)
ldap_unbind(lc->ld);
lp->next = lc->next;
free(lc);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment