From: Stephan Bosch Date: Mon, 2 Oct 2017 14:30:40 +0000 (+0200) Subject: lib-auth-client: auth-master - Add structural comments X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c3c95a79f7a3931d1bf155df561dd8b18c11508e;p=thirdparty%2Fdovecot%2Fcore.git lib-auth-client: auth-master - Add structural comments --- diff --git a/src/lib-auth-client/auth-master.c b/src/lib-auth-client/auth-master.c index da0929b1db..35c1c9820e 100644 --- a/src/lib-auth-client/auth-master.c +++ b/src/lib-auth-client/auth-master.c @@ -13,6 +13,10 @@ #include "auth-master-private.h" +/* + * Forward declarations + */ + static void auth_master_connected(struct connection *_conn, bool success); static int auth_master_input_args(struct connection *_conn, const char *const *args); @@ -21,6 +25,10 @@ auth_master_handshake_line(struct connection *_conn, const char *line); static int auth_master_input_line(struct connection *_conn, const char *line); static void auth_master_destroy(struct connection *_conn); +/* + * Connection + */ + static const struct connection_vfuncs auth_master_vfuncs = { .destroy = auth_master_destroy, .handshake_line = auth_master_handshake_line, @@ -309,6 +317,10 @@ void auth_master_unset_io(struct auth_master_connection *conn) } } +/* + * Lookup common + */ + struct auth_master_lookup { struct auth_master_connection *conn; const char *user; @@ -540,6 +552,12 @@ static bool auth_lookup_reply_callback(const char *cmd, const char *const *args, return TRUE; } +/* + * PassDB + */ + +/* PASS */ + int auth_master_pass_lookup(struct auth_master_connection *conn, const char *user, const struct auth_user_info *info, pool_t pool, const char *const **fields_r) @@ -608,6 +626,12 @@ int auth_master_pass_lookup(struct auth_master_connection *conn, return lookup.return_value; } +/* + * UserDB + */ + +/* USER */ + int auth_master_user_lookup(struct auth_master_connection *conn, const char *user, const struct auth_user_info *info, pool_t pool, const char **username_r, @@ -724,6 +748,8 @@ int auth_user_fields_parse(const char *const *fields, pool_t pool, return 0; } +/* LIST */ + struct auth_master_user_list_ctx { struct auth_master_connection *conn; string_t *username; @@ -879,6 +905,12 @@ int auth_master_user_list_deinit(struct auth_master_user_list_ctx **_ctx) return ret; } +/* + * Auth cache + */ + +/* CACHE-FLUSH */ + struct auth_master_cache_ctx { struct auth_master_connection *conn; unsigned int count; diff --git a/src/lib-auth-client/auth-master.h b/src/lib-auth-client/auth-master.h index 16aa35105e..9aaee83926 100644 --- a/src/lib-auth-client/auth-master.h +++ b/src/lib-auth-client/auth-master.h @@ -12,6 +12,10 @@ enum auth_master_flags { AUTH_MASTER_FLAG_NO_INNER_IOLOOP = 0x04, }; +/* + * Connection + */ + struct auth_master_connection * auth_master_init(const char *auth_socket_path, enum auth_master_flags flags); void auth_master_deinit(struct auth_master_connection **conn); @@ -25,6 +29,10 @@ void auth_master_set_timeout(struct auth_master_connection *conn, /* Returns the auth_socket_path */ const char *auth_master_get_socket_path(struct auth_master_connection *conn); +/* + * Lookup common + */ + struct auth_user_info { const char *protocol; const char *session_id; @@ -36,11 +44,19 @@ struct auth_user_info { bool debug; }; +/* + * PassDB + */ + /* Do a PASS lookup (the actual password isn't returned). */ int auth_master_pass_lookup(struct auth_master_connection *conn, const char *user, const struct auth_user_info *info, pool_t pool, const char *const **fields_r); +/* + * UserDB + */ + struct auth_user_reply { uid_t uid; gid_t gid; @@ -75,6 +91,10 @@ int auth_master_user_list_deinit(struct auth_master_user_list_ctx **ctx); /* INTERNAL: */ void auth_user_info_export(string_t *str, const struct auth_user_info *info); +/* + * Auth cache + */ + /* Flush authentication cache for everyone (users=NULL) or only for specified users. Returns number of users flushed from cache. */ int auth_master_cache_flush(struct auth_master_connection *conn,