From: Timo Sirainen Date: Sat, 1 Nov 2008 13:12:14 +0000 (+0200) Subject: auth-master API cleanups. X-Git-Tag: 1.2.alpha4~116 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=64bfe7b4a42512971db154937905dfa2bdb9cf2c;p=thirdparty%2Fdovecot%2Fcore.git auth-master API cleanups. --HG-- branch : HEAD --- diff --git a/src/deliver/auth-client.c b/src/deliver/auth-client.c index 7786014708..18ea8e9c69 100644 --- a/src/deliver/auth-client.c +++ b/src/deliver/auth-client.c @@ -128,7 +128,7 @@ int auth_client_lookup_and_restrict(const char *auth_socket, const char *user, uid_t euid, pool_t pool, ARRAY_TYPE(const_string) *extra_fields_r) { - struct auth_connection *conn; + struct auth_master_connection *conn; struct auth_user_reply reply; bool debug = getenv("DEBUG") != NULL; int ret = EX_TEMPFAIL; diff --git a/src/lib-auth/auth-master.c b/src/lib-auth/auth-master.c index cf2d447d2c..02e5de3d24 100644 --- a/src/lib-auth/auth-master.c +++ b/src/lib-auth/auth-master.c @@ -21,7 +21,7 @@ #define MAX_INBUF_SIZE 8192 #define MAX_OUTBUF_SIZE 1024 -struct auth_connection { +struct auth_master_connection { char *auth_socket_path; int fd; @@ -43,21 +43,21 @@ struct auth_connection { unsigned int aborted:1; }; -static void auth_input(struct auth_connection *conn); +static void auth_input(struct auth_master_connection *conn); -struct auth_connection * +struct auth_master_connection * auth_master_init(const char *auth_socket_path, bool debug) { - struct auth_connection *conn; + struct auth_master_connection *conn; - conn = i_new(struct auth_connection, 1); + conn = i_new(struct auth_master_connection, 1); conn->auth_socket_path = i_strdup(auth_socket_path); conn->fd = -1; conn->debug = debug; return conn; } -static void auth_connection_close(struct auth_connection *conn) +static void auth_connection_close(struct auth_master_connection *conn) { if (conn->to != NULL) timeout_remove(&conn->to); @@ -71,9 +71,9 @@ static void auth_connection_close(struct auth_connection *conn) conn->handshaked = FALSE; } -void auth_master_deinit(struct auth_connection **_conn) +void auth_master_deinit(struct auth_master_connection **_conn) { - struct auth_connection *conn = *_conn; + struct auth_master_connection *conn = *_conn; *_conn = NULL; auth_connection_close(conn); @@ -81,13 +81,13 @@ void auth_master_deinit(struct auth_connection **_conn) i_free(conn); } -static void auth_request_lookup_abort(struct auth_connection *conn) +static void auth_request_lookup_abort(struct auth_master_connection *conn) { io_loop_stop(conn->ioloop); conn->aborted = TRUE; } -static void auth_parse_input(struct auth_connection *conn, +static void auth_parse_input(struct auth_master_connection *conn, const char *const *args) { struct auth_user_reply *reply = conn->user_reply; @@ -116,7 +116,7 @@ static void auth_parse_input(struct auth_connection *conn, } } -static int auth_input_handshake(struct auth_connection *conn) +static int auth_input_handshake(struct auth_master_connection *conn) { const char *line, *const *tmp; @@ -140,7 +140,7 @@ static int auth_input_handshake(struct auth_connection *conn) return 0; } -static void auth_input(struct auth_connection *conn) +static void auth_input(struct auth_master_connection *conn) { const char *line, *cmd, *const *args, *id, *wanted_id; @@ -210,7 +210,7 @@ static void auth_input(struct auth_connection *conn) auth_request_lookup_abort(conn); } -static int auth_master_connect(struct auth_connection *conn) +static int auth_master_connect(struct auth_master_connection *conn) { int fd, try; @@ -234,7 +234,7 @@ static int auth_master_connect(struct auth_connection *conn) return 0; } -static void auth_request_timeout(struct auth_connection *conn) +static void auth_request_timeout(struct auth_master_connection *conn) { if (!conn->handshaked) i_error("userdb lookup(%s): Connecting timed out", conn->user); @@ -243,12 +243,12 @@ static void auth_request_timeout(struct auth_connection *conn) auth_request_lookup_abort(conn); } -static void auth_idle_timeout(struct auth_connection *conn) +static void auth_idle_timeout(struct auth_master_connection *conn) { auth_connection_close(conn); } -static void auth_master_set_io(struct auth_connection *conn) +static void auth_master_set_io(struct auth_master_connection *conn) { if (conn->to != NULL) timeout_remove(&conn->to); @@ -262,7 +262,7 @@ static void auth_master_set_io(struct auth_connection *conn) lib_signals_reset_ioloop(); } -static void auth_master_unset_io(struct auth_connection *conn, +static void auth_master_unset_io(struct auth_master_connection *conn, struct ioloop *prev_ioloop) { io_loop_set_current(prev_ioloop); @@ -292,7 +292,7 @@ static bool is_valid_string(const char *str) return TRUE; } -int auth_master_user_lookup(struct auth_connection *conn, +int auth_master_user_lookup(struct auth_master_connection *conn, const char *user, const char *service, pool_t pool, struct auth_user_reply *reply_r) { diff --git a/src/lib-auth/auth-master.h b/src/lib-auth/auth-master.h index d2d2d4fc5d..7f1cce7745 100644 --- a/src/lib-auth/auth-master.h +++ b/src/lib-auth/auth-master.h @@ -1,6 +1,8 @@ #ifndef AUTH_MASTER_H #define AUTH_MASTER_H +#define AUTH_SERVICE_INTERNAL "internal" + struct auth_user_reply { uid_t uid; gid_t gid; @@ -8,12 +10,12 @@ struct auth_user_reply { ARRAY_TYPE(const_string) extra_fields; }; -struct auth_connection * +struct auth_master_connection * auth_master_init(const char *auth_socket_path, bool debug); -void auth_master_deinit(struct auth_connection **conn); +void auth_master_deinit(struct auth_master_connection **conn); /* Returns -1 = error, 0 = user not found, 1 = ok */ -int auth_master_user_lookup(struct auth_connection *conn, +int auth_master_user_lookup(struct auth_master_connection *conn, const char *user, const char *service, pool_t pool, struct auth_user_reply *reply_r); diff --git a/src/plugins/expire/auth-client.c b/src/plugins/expire/auth-client.c index 2d55ae6c60..8d8d856cbe 100644 --- a/src/plugins/expire/auth-client.c +++ b/src/plugins/expire/auth-client.c @@ -65,7 +65,7 @@ static void auth_set_env(const char *user, struct auth_user_reply *reply) env_put(t_strconcat("HOME=", reply->home, NULL)); } -int auth_client_put_user_env(struct auth_connection *conn, +int auth_client_put_user_env(struct auth_master_connection *conn, const char *user) { struct auth_user_reply reply; @@ -73,7 +73,8 @@ int auth_client_put_user_env(struct auth_connection *conn, int ret; pool = pool_alloconly_create("userdb lookup", 512); - ret = auth_master_user_lookup(conn, user, "expire", pool, &reply); + ret = auth_master_user_lookup(conn, user, AUTH_SERVICE_INTERNAL, + pool, &reply); if (ret > 0) auth_set_env(user, &reply); pool_unref(&pool); diff --git a/src/plugins/expire/auth-client.h b/src/plugins/expire/auth-client.h index a78efc293e..73263b43fe 100644 --- a/src/plugins/expire/auth-client.h +++ b/src/plugins/expire/auth-client.h @@ -1,11 +1,10 @@ #ifndef AUTH_CLIENT_H #define AUTH_CLIENT_H -struct auth_connection *auth_connection_init(const char *auth_socket); -void auth_connection_deinit(struct auth_connection *conn); +struct auth_master_connection; /* Returns -1 = error, 0 = user not found, 1 = ok */ -int auth_client_put_user_env(struct auth_connection *conn, +int auth_client_put_user_env(struct auth_master_connection *conn, const char *user); #endif diff --git a/src/plugins/expire/expire-tool.c b/src/plugins/expire/expire-tool.c index 35c9a51537..d8bf039e5c 100644 --- a/src/plugins/expire/expire-tool.c +++ b/src/plugins/expire/expire-tool.c @@ -12,6 +12,7 @@ #include "mail-storage.h" #include "mail-namespace.h" #include "auth-client.h" +#include "auth-master.h" #include "expire-env.h" #include @@ -23,7 +24,7 @@ #define DEFAULT_AUTH_SOCKET_PATH PKG_RUNDIR"/auth-master" struct expire_context { - struct auth_connection *auth_conn; + struct auth_master_connection *auth_conn; char *user; struct mail_user *mail_user;