From: Marco Bettini Date: Tue, 11 Oct 2022 13:46:53 +0000 (+0000) Subject: lib-ldap: struct ldap_client_settings - Add event X-Git-Tag: 2.4.0~3512 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3e35009e0d977186577139978eab90528511dd05;p=thirdparty%2Fdovecot%2Fcore.git lib-ldap: struct ldap_client_settings - Add event --- diff --git a/src/lib-dict-backend/dict-ldap.c b/src/lib-dict-backend/dict-ldap.c index 692fef6f93..648a4f8f04 100644 --- a/src/lib-dict-backend/dict-ldap.c +++ b/src/lib-dict-backend/dict-ldap.c @@ -167,6 +167,7 @@ int dict_ldap_connect(struct ldap_dict *dict, const char **error_r) set.debug = dict->set->debug; set.require_ssl = dict->set->require_ssl; set.start_tls = dict->set->start_tls; + set.event_parent = dict->event; return ldap_client_init(&set, &dict->client, error_r); } diff --git a/src/lib-ldap/ldap-client.h b/src/lib-ldap/ldap-client.h index 1a231ddff2..91ed0af2aa 100644 --- a/src/lib-ldap/ldap-client.h +++ b/src/lib-ldap/ldap-client.h @@ -25,6 +25,7 @@ struct ldap_client_settings { const char *bind_dn; const char *password; + struct event *event_parent; const struct ssl_iostream_settings *ssl_set; unsigned int timeout_secs; diff --git a/src/lib-ldap/ldap-connection.c b/src/lib-ldap/ldap-connection.c index 95a91ea331..66e89f0dda 100644 --- a/src/lib-ldap/ldap-connection.c +++ b/src/lib-ldap/ldap-connection.c @@ -34,6 +34,7 @@ void ldap_connection_deinit(struct ldap_connection **_conn) aqueue_idx(conn->request_queue, i)); timeout_remove(&req->to_abort); } + event_unref(&conn->event); pool_unref(&conn->pool); } @@ -147,6 +148,7 @@ int ldap_connection_init(struct ldap_client *client, pool_t pool = pool_alloconly_create("ldap connection", 1024); struct ldap_connection *conn = p_new(pool, struct ldap_connection, 1); conn->pool = pool; + conn->event = event_create(set->event_parent); conn->client = client; conn->set = *set; diff --git a/src/lib-ldap/ldap-private.h b/src/lib-ldap/ldap-private.h index 9f3b20c5ae..ec40f1c550 100644 --- a/src/lib-ldap/ldap-private.h +++ b/src/lib-ldap/ldap-private.h @@ -45,6 +45,7 @@ struct ldap_op_queue_entry { struct ldap_connection { pool_t pool; + struct event *event; struct ldap_client *client; LDAP *conn;