]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
auth: Split creation of log identifier from get_log_prefix()
authorStephan Bosch <stephan.bosch@dovecot.fi>
Mon, 20 Aug 2018 22:48:38 +0000 (00:48 +0200)
committerAki Tuomi <aki.tuomi@open-xchange.com>
Thu, 21 Feb 2019 07:43:55 +0000 (07:43 +0000)
src/auth/auth-request.c
src/auth/auth-request.h

index 65ad906edcd23c7f4a1eafbe6ea4e85b776561b7..1a86be3a1356922ae98a401bc381e077d288834f 100644 (file)
@@ -62,8 +62,7 @@ const char auth_default_subsystems[2];
 
 unsigned int auth_request_state_count[AUTH_REQUEST_STATE_MAX];
 
-static void get_log_prefix(string_t *str, struct auth_request *auth_request,
-                          const char *subsystem);
+static void get_log_identifier(string_t *str, struct auth_request *auth_request);
 static void
 auth_request_userdb_import(struct auth_request *request, const char *args);
 
@@ -2508,7 +2507,7 @@ void auth_request_log_login_failure(struct auth_request *request,
                return;
        }
        str = t_str_new(128);
-       get_log_prefix(str, request, subsystem);
+       auth_request_get_log_prefix(str, request, subsystem);
        str_append(str, message);
        str_append(str, " ");
 
@@ -2600,11 +2599,10 @@ int auth_request_password_verify_log(struct auth_request *request,
        return ret;
 }
 
-static void get_log_prefix(string_t *str, struct auth_request *auth_request,
-                          const char *subsystem)
+void auth_request_get_log_prefix(string_t *str, struct auth_request *auth_request,
+                                const char *subsystem)
 {
-#define MAX_LOG_USERNAME_LEN 64
-       const char *ip, *name;
+       const char *name;
 
        if (subsystem == AUTH_SUBSYS_DB) {
                if (!auth_request->userdb_lookup) {
@@ -2626,24 +2624,29 @@ static void get_log_prefix(string_t *str, struct auth_request *auth_request,
        }
        str_append(str, name);
        str_append_c(str, '(');
+       get_log_identifier(str, auth_request);
+       str_append(str, "): ");
+}
+
+#define MAX_LOG_USERNAME_LEN 64
+static void get_log_identifier(string_t *str, struct auth_request *auth_request)
+{
+       const char *ip;
 
        if (auth_request->user == NULL)
-               str_append(str, "?");
-       else {
-               str_sanitize_append(str, auth_request->user,
-                                   MAX_LOG_USERNAME_LEN);
-       }
+               str_append(str, "?");
+       else
+               str_sanitize_append(str, auth_request->user, MAX_LOG_USERNAME_LEN);
 
        ip = net_ip2addr(&auth_request->remote_ip);
        if (ip[0] != '\0') {
-               str_append_c(str, ',');
-               str_append(str, ip);
+               str_append_c(str, ',');
+               str_append(str, ip);
        }
-       if (auth_request->requested_login_user != NULL)
-               str_append(str, ",master");
+       if (auth_request->auth_requested_login_user != NULL)
+               str_append(str, ",master");
        if (auth_request->session_id != NULL)
-               str_printfa(str, ",<%s>", auth_request->session_id);
-       str_append(str, "): ");
+               str_printfa(str, ",<%s>", auth_request->session_id);
 }
 
 static const char * ATTR_FORMAT(3, 0)
@@ -2653,7 +2656,7 @@ get_log_str(struct auth_request *auth_request, const char *subsystem,
        string_t *str;
 
        str = t_str_new(128);
-       get_log_prefix(str, auth_request, subsystem);
+       auth_request_get_log_prefix(str, auth_request, subsystem);
        str_vprintfa(str, format, va);
        return str_c(str);
 }
index c23ce80c74f1f0b9ca7e20a3a0739af4c605af03..c2e5887ea98837c6dbd05c3b9d8d72d4862cac8f 100644 (file)
@@ -254,6 +254,9 @@ int auth_request_password_verify_log(struct auth_request *request,
                                 const char *scheme, const char *subsystem,
                                 bool log_password_mismatch);
 
+void auth_request_get_log_prefix(string_t *str, struct auth_request *auth_request,
+                                const char *subsystem);
+
 void auth_request_log_debug(struct auth_request *auth_request,
                            const char *subsystem,
                            const char *format, ...) ATTR_FORMAT(3, 4);