From: Stephan Bosch Date: Mon, 2 Oct 2017 09:35:06 +0000 (+0200) Subject: lib-auth-client: auth-master - Move auth_master_handshake_line() X-Git-Tag: 2.4.2~533 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2be2b3e8d09afcd5e9545165dc09feb3a45dc2af;p=thirdparty%2Fdovecot%2Fcore.git lib-auth-client: auth-master - Move auth_master_handshake_line() --- diff --git a/src/lib-auth-client/auth-master.c b/src/lib-auth-client/auth-master.c index ab9659c560..08ca455a94 100644 --- a/src/lib-auth-client/auth-master.c +++ b/src/lib-auth-client/auth-master.c @@ -186,38 +186,6 @@ static void auth_master_destroy(struct connection *_conn) auth_request_lookup_abort(conn); } -static int -auth_master_handshake_line(struct connection *_conn, const char *line) -{ - struct auth_master_connection *conn = - container_of(_conn, struct auth_master_connection, conn); - const char *const *tmp; - unsigned int major_version, minor_version; - - tmp = t_strsplit_tabescaped(line); - if (strcmp(tmp[0], "VERSION") == 0 && - tmp[1] != NULL && tmp[2] != NULL) { - if (str_to_uint(tmp[1], &major_version) < 0 || - str_to_uint(tmp[2], &minor_version) < 0) { - e_error(conn->event, - "Auth server sent invalid version line: %s", - line); - auth_request_lookup_abort(conn); - return -1; - } - - if (connection_verify_version(_conn, "auth-master", - major_version, - minor_version) < 0) { - auth_request_lookup_abort(conn); - return -1; - } - } else if (strcmp(tmp[0], "SPID") == 0) { - return 1; - } - return 0; -} - static int parse_reply(struct auth_master_lookup_ctx *ctx, const char *cmd, const char *const *args) @@ -309,6 +277,38 @@ static bool auth_lookup_reply_callback(const char *cmd, const char *const *args, return TRUE; } +static int +auth_master_handshake_line(struct connection *_conn, const char *line) +{ + struct auth_master_connection *conn = + container_of(_conn, struct auth_master_connection, conn); + const char *const *tmp; + unsigned int major_version, minor_version; + + tmp = t_strsplit_tabescaped(line); + if (strcmp(tmp[0], "VERSION") == 0 && + tmp[1] != NULL && tmp[2] != NULL) { + if (str_to_uint(tmp[1], &major_version) < 0 || + str_to_uint(tmp[2], &minor_version) < 0) { + e_error(conn->event, + "Auth server sent invalid version line: %s", + line); + auth_request_lookup_abort(conn); + return -1; + } + + if (connection_verify_version(_conn, "auth-master", + major_version, + minor_version) < 0) { + auth_request_lookup_abort(conn); + return -1; + } + } else if (strcmp(tmp[0], "SPID") == 0) { + return 1; + } + return 0; +} + static int auth_master_input_args(struct connection *_conn, const char *const *args) {