]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-auth-client: auth-master - Allocate the connection on an alloconly pool
authorStephan Bosch <stephan.bosch@dovecot.fi>
Mon, 2 Oct 2017 12:28:00 +0000 (14:28 +0200)
committerStephan Bosch <stephan.bosch@open-xchange.com>
Wed, 27 Aug 2025 11:35:32 +0000 (13:35 +0200)
src/lib-auth-client/auth-master-private.h
src/lib-auth-client/auth-master.c

index 45ea064acdb4e6e63f03da07f5d3f4fbbb4b8023..fd5d6be1f72013fa06ce46489f54d76c3f37da08 100644 (file)
 struct auth_master_connection {
        struct connection conn;
        struct connection_list *clist;
+       pool_t pool;
        struct event *event_parent, *event;
 
-       char *auth_socket_path;
+       const char *auth_socket_path;
        enum auth_master_flags flags;
 
        struct ioloop *ioloop, *prev_ioloop;
index de9df26e4635e6452695c7e76d9d3d7cd16a3e19..ae225557ae0919d71e47c949014dbdf98d9346df 100644 (file)
@@ -53,9 +53,12 @@ struct auth_master_connection *
 auth_master_init(const char *auth_socket_path, enum auth_master_flags flags)
 {
        struct auth_master_connection *conn;
+       pool_t pool;
 
-       conn = i_new(struct auth_master_connection, 1);
-       conn->auth_socket_path = i_strdup(auth_socket_path);
+       pool = pool_alloconly_create("auth_master_connection", 1024);
+       conn = p_new(pool, struct auth_master_connection, 1);
+       conn->pool = pool;
+       conn->auth_socket_path = p_strdup(pool, auth_socket_path);
        conn->flags = flags;
        conn->timeout_msecs = 1000*MASTER_AUTH_LOOKUP_TIMEOUT_SECS;
        conn->clist = connection_list_init(&auth_master_set,
@@ -97,8 +100,7 @@ void auth_master_deinit(struct auth_master_connection **_conn)
        connection_deinit(&conn->conn);
        connection_list_deinit(&clist);
        event_unref(&conn->event_parent);
-       i_free(conn->auth_socket_path);
-       i_free(conn);
+       pool_unref(&conn->pool);
 }
 
 void auth_master_set_timeout(struct auth_master_connection *conn,