]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
global: Use ip type for event fields with IP addresses
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Tue, 10 Jan 2023 22:05:40 +0000 (00:05 +0200)
committeraki.tuomi <aki.tuomi@open-xchange.com>
Fri, 27 Jan 2023 13:01:47 +0000 (13:01 +0000)
14 files changed:
src/auth/auth-request-fields.c
src/imap-hibernate/imap-client.c
src/imap/main.c
src/lib-auth-client/auth-client-request.c
src/lib-auth-client/auth-master.c
src/lib-http/http-client-request.c
src/lib-login/login-server-auth.c
src/lmtp/lmtp-proxy.c
src/login-common/client-common-auth.c
src/login-common/client-common.c
src/login-common/login-proxy.c
src/login-common/login-proxy.h
src/pop3/main.c
src/submission/main.c

index 295d046159bb966e677d1607b123888cc4dcd9a3..22cc1cccd6581fa6ef0150bdbd0a91a925afc069 100644 (file)
@@ -144,13 +144,13 @@ bool auth_request_import_info(struct auth_request *request,
        } else if (strcmp(key, "lip") == 0) {
                if (net_addr2ip(value, &fields->local_ip) < 0)
                        return TRUE;
-               event_add_str(event, "local_ip", value);
+               event_add_ip(event, "local_ip", &fields->local_ip);
                if (fields->real_local_ip.family == 0)
                        auth_request_import_info(request, "real_lip", value);
        } else if (strcmp(key, "rip") == 0) {
                if (net_addr2ip(value, &fields->remote_ip) < 0)
                        return TRUE;
-               event_add_str(event, "remote_ip", value);
+               event_add_ip(event, "remote_ip", &fields->remote_ip);
                if (fields->real_remote_ip.family == 0)
                        auth_request_import_info(request, "real_rip", value);
        } else if (strcmp(key, "lport") == 0) {
@@ -169,10 +169,12 @@ bool auth_request_import_info(struct auth_request *request,
                fields->ssl_ja3_hash = p_strdup(request->pool, value);
        } else if (strcmp(key, "real_lip") == 0) {
                if (net_addr2ip(value, &fields->real_local_ip) == 0)
-                       event_add_str(event, "real_local_ip", value);
+                       event_add_ip(event, "real_local_ip",
+                                    &fields->real_local_ip);
        } else if (strcmp(key, "real_rip") == 0) {
                if (net_addr2ip(value, &fields->real_remote_ip) == 0)
-                       event_add_str(event, "real_remote_ip", value);
+                       event_add_ip(event, "real_remote_ip",
+                                    &fields->real_remote_ip);
        } else if (strcmp(key, "real_lport") == 0) {
                if (net_str2port(value, &fields->real_local_port) == 0)
                        event_add_int(event, "real_local_port",
index 9dd26a8fafc69fed8a5aaf431ee2f97f531c1b28..3c70a43297fa3b138002faeebd553c12b04f8bb0 100644 (file)
@@ -599,13 +599,11 @@ imap_client_create(int fd, const struct imap_client_state *state)
        if (state->mailbox_vname != NULL)
                event_add_str(client->event, "mailbox", state->mailbox_vname);
        if (state->local_ip.family != 0)
-               event_add_str(client->event, "local_ip",
-                             net_ip2addr(&state->local_ip));
+               event_add_ip(client->event, "local_ip", &state->local_ip);
        if (state->local_port != 0)
                event_add_int(client->event, "local_port", state->local_port);
        if (state->remote_ip.family != 0)
-               event_add_str(client->event, "remote_ip",
-                             net_ip2addr(&state->remote_ip));
+               event_add_ip(client->event, "remote_ip", &state->remote_ip);
        if (state->remote_port != 0)
                event_add_int(client->event, "remote_port", state->remote_port);
 
index b972ec49b9a67dc5abae826ef44d97b337664d5c..0dc22dc8f975abbbcaed9880a9046c98e7b26458 100644 (file)
@@ -255,11 +255,11 @@ int client_create_from_input(const struct mail_storage_service_input *input,
                { .key = NULL }
        });
        if (input->local_ip.family != 0)
-               event_add_str(event, "local_ip", net_ip2addr(&input->local_ip));
+               event_add_ip(event, "local_ip", &input->local_ip);
        if (input->local_port != 0)
                event_add_int(event, "local_port", input->local_port);
        if (input->remote_ip.family != 0)
-               event_add_str(event, "remote_ip", net_ip2addr(&input->remote_ip));
+               event_add_ip(event, "remote_ip", &input->remote_ip);
        if (input->remote_port != 0)
                event_add_int(event, "remote_port", input->remote_port);
 
index c8291073cba5ece5bc306268c2fa13f8547f42f2..a67c26f8d2bc45be84ff58d432a02a348cd216e1 100644 (file)
@@ -56,11 +56,11 @@ static void auth_server_send_new_request(struct auth_client_connection *conn,
        }
        if (info->local_ip.family != 0) {
                str_printfa(str, "\tlip=%s", net_ip2addr(&info->local_ip));
-               event_add_str(request->event, "local_ip", net_ip2addr(&info->local_ip));
+               event_add_ip(request->event, "local_ip", &info->local_ip);
        }
        if (info->remote_ip.family != 0) {
                str_printfa(str, "\trip=%s", net_ip2addr(&info->remote_ip));
-               event_add_str(request->event, "remote_ip", net_ip2addr(&info->remote_ip));
+               event_add_ip(request->event, "remote_ip", &info->remote_ip);
        }
        if (info->local_port != 0) {
                str_printfa(str, "\tlport=%u", info->local_port);
@@ -76,12 +76,12 @@ static void auth_server_send_new_request(struct auth_client_connection *conn,
                event_add_str(request->event, "ssl_ja3_hash", info->ssl_ja3_hash);
        }
        if (info->real_local_ip.family != 0) {
-               event_add_str(request->event, "real_local_ip",
-                             net_ip2addr(&info->real_local_ip));
+               event_add_ip(request->event, "real_local_ip",
+                            &info->real_local_ip);
        }
        if (info->real_remote_ip.family != 0) {
-               event_add_str(request->event, "real_remote_ip",
-                             net_ip2addr(&info->real_remote_ip));
+               event_add_ip(request->event, "real_remote_ip",
+                            &info->real_remote_ip);
        }
        if (info->real_local_port != 0) {
                event_add_int(request->event, "real_local_port",
index d8f8d61b2bffa2fea530cc545895592afd094821..3f56dc365564969c96cef53cccd95f07a489d064 100644 (file)
@@ -600,28 +600,26 @@ auth_master_user_event_create(struct auth_master_connection *conn,
                        event_add_str(conn->event, "session", info->session_id);
                if (info->local_name != NULL)
                        event_add_str(conn->event, "local_name", info->local_name);
-               if (info->local_ip.family != 0) {
-                       event_add_str(conn->event, "local_ip",
-                                     net_ip2addr(&info->local_ip));
-               }
+               if (info->local_ip.family != 0)
+                       event_add_ip(conn->event, "local_ip", &info->local_ip);
                if (info->local_port != 0) {
                        event_add_int(conn->event, "local_port",
                                      info->local_port);
                }
                if (info->remote_ip.family != 0) {
-                       event_add_str(conn->event, "remote_ip",
-                                     net_ip2addr(&info->remote_ip));
+                       event_add_ip(conn->event, "remote_ip",
+                                    &info->remote_ip);
                }
                if (info->remote_port != 0) {
                        event_add_int(conn->event, "remote_port",
                                      info->remote_port);
                }
                if (info->real_local_ip.family != 0)
-                       event_add_str(conn->event, "real_local_ip",
-                                     net_ip2addr(&info->real_local_ip));
+                       event_add_ip(conn->event, "real_local_ip",
+                                    &info->real_local_ip);
                if (info->real_remote_ip.family != 0)
-                       event_add_str(conn->event, "real_remote_ip",
-                                   net_ip2addr(&info->real_remote_ip));
+                       event_add_ip(conn->event, "real_remote_ip",
+                                    &info->real_remote_ip);
                if (info->real_local_port != 0)
                        event_add_int(conn->event, "real_local_port",
                                      info->real_local_port);
index bb2f2e0ddfb870d5b58a49d18f17b6abc1dfa2bb..11aea5e2e3a773daaa61841020613035eaaad6e5 100644 (file)
@@ -91,7 +91,7 @@ http_client_request_result_event(struct http_client_request *req)
        struct event_passthrough *e = event_create_passthrough(req->event);
        if (req->queue != NULL &&
            req->queue->addr.type != HTTP_CLIENT_PEER_ADDR_UNIX)
-               e->add_str("dest_ip", net_ip2addr(&req->queue->addr.a.tcp.ip));
+               e->add_ip("dest_ip", &req->queue->addr.a.tcp.ip);
 
        return e->add_int("status_code", req->last_status)->
                add_int("attempts", req->attempts)->
index 83608b4a77a5a9129422ad94d3b5be87334a2b7f..7020cbe7e5dc5ac714ade413ae0f5af588f36a0e 100644 (file)
@@ -608,18 +608,14 @@ void login_server_auth_request(struct login_server_auth *auth,
                                    t_strdup_printf("request [%u]: ",
                                                    login_req->id));
 
-       if (req->local_ip.family != 0) {
-               event_add_str(login_req->event, "local_ip",
-                             net_ip2addr(&req->local_ip));
-       }
+       if (req->local_ip.family != 0)
+               event_add_ip(login_req->event, "local_ip", &req->local_ip);
        if (req->local_port != 0) {
                event_add_int(login_req->event, "local_port",
                              req->local_port);
        }
-       if (req->remote_ip.family != 0) {
-               event_add_str(login_req->event, "remote_ip",
-                             net_ip2addr(&req->remote_ip));
-       }
+       if (req->remote_ip.family != 0)
+               event_add_ip(login_req->event, "remote_ip", &req->remote_ip);
        if (req->remote_port != 0) {
                event_add_int(login_req->event, "remote_port",
                              req->remote_port);
index ef61d9f0fb6ec04bf76d225a57c6bead3652d76a..4ac88cdc396c29636190e8531ceee21b8134cb7b 100644 (file)
@@ -585,8 +585,8 @@ lmtp_proxy_rcpt_get_connection(struct lmtp_proxy_recipient *lprcpt,
 
        event_add_str(lprcpt->rcpt->rcpt->event, "dest_host", set->set.host);
        if (set->set.host_ip.family != 0) {
-               event_add_str(lprcpt->rcpt->rcpt->event, "dest_ip",
-                             net_ip2addr(&set->set.host_ip));
+               event_add_ip(lprcpt->rcpt->rcpt->event, "dest_ip",
+                            &set->set.host_ip);
        }
        *conn_r = lprcpt->conn = conn;
        return 0;
index c882f09831209383eb7a12a9dd60f5a9c526a90d..ec7850d938b796c0efcd994021afa77f518ece50 100644 (file)
@@ -257,7 +257,7 @@ static void client_proxy_append_conn_info(string_t *str, struct client *client)
 {
        const char *source_host;
 
-       source_host = login_proxy_get_source_host(client->login_proxy);
+       source_host = net_ip2addr(login_proxy_get_source_host(client->login_proxy));
        if (source_host[0] != '\0')
                str_printfa(str, " from %s", source_host);
        if (strcmp(client->virtual_user, client->proxy_user) != 0) {
index 857ddc631ff5bc9b9b40204a2695bcd71cb36fe4..d3032293ddfaa52069124a4eb930037004ed94d4 100644 (file)
@@ -209,9 +209,9 @@ client_alloc(int fd, pool_t pool,
        /* This event must exist before client_is_trusted() is called */
        client->event = event_create(NULL);
        event_add_category(client->event, &login_binary->event_category);
-       event_add_str(client->event, "local_ip", net_ip2addr(&conn->local_ip));
+       event_add_ip(client->event, "local_ip", &conn->local_ip);
        event_add_int(client->event, "local_port", conn->local_port);
-       event_add_str(client->event, "remote_ip", net_ip2addr(&conn->remote_ip));
+       event_add_ip(client->event, "remote_ip", &conn->remote_ip);
        event_add_int(client->event, "remote_port", conn->remote_port);
        event_add_str(client->event, "service", login_binary->protocol);
        event_set_log_message_callback(client->event, client_log_msg_callback,
index 061a279cd72f1e8cdd3be1b34f6f44710520a68d..beb7e3edcccb218c98cff8367d180af341010635 100644 (file)
@@ -458,9 +458,9 @@ int login_proxy_new(struct client *client, struct event *event,
        login_proxy_set_destination(proxy, set->host, &set->ip, set->port);
 
        /* add event fields */
-       event_add_str(proxy->event, "source_ip",
-                     login_proxy_get_source_host(proxy));
-       event_add_str(proxy->event, "dest_ip", net_ip2addr(&set->ip));
+       event_add_ip(proxy->event, "source_ip",
+                    login_proxy_get_source_host(proxy));
+       event_add_ip(proxy->event, "dest_ip", &set->ip);
        event_add_int(proxy->event, "dest_port", set->port);
        event_add_str(event, "dest_host", set->host);
        event_add_str(event, "master_user", client->proxy_master_user);
@@ -876,9 +876,10 @@ struct event *login_proxy_get_event(struct login_proxy *proxy)
        return proxy->event;
 }
 
-const char *login_proxy_get_source_host(const struct login_proxy *proxy)
+const struct ip_addr *
+login_proxy_get_source_host(const struct login_proxy *proxy)
 {
-       return net_ip2addr(&proxy->source_ip);
+       return &proxy->source_ip;
 }
 
 const char *login_proxy_get_host(const struct login_proxy *proxy)
index 4d0559104a90d8618ce5d18af14e91261311eb40..dbbef77e25ed519447e99a7b130f12f0f8c95b7a 100644 (file)
@@ -110,7 +110,8 @@ struct ostream *login_proxy_get_ostream(struct login_proxy *proxy);
 void login_proxy_append_success_log_info(struct login_proxy *proxy,
                                         string_t *str);
 struct event *login_proxy_get_event(struct login_proxy *proxy);
-const char *login_proxy_get_source_host(const struct login_proxy *proxy) ATTR_PURE;
+const struct ip_addr *
+login_proxy_get_source_host(const struct login_proxy *proxy);
 const char *login_proxy_get_host(const struct login_proxy *proxy) ATTR_PURE;
 const char *login_proxy_get_ip_str(const struct login_proxy *proxy) ATTR_PURE;
 in_port_t login_proxy_get_port(const struct login_proxy *proxy) ATTR_PURE;
index b8b3b7601b9bcd84db15cf9bf02461e2f4084b01..7366d9070ba866622155f52d4e312f996c44045f 100644 (file)
@@ -126,11 +126,11 @@ client_create_from_input(const struct mail_storage_service_input *input,
                { .key = NULL }
        });
        if (input->local_ip.family != 0)
-               event_add_str(event, "local_ip", net_ip2addr(&input->local_ip));
+               event_add_ip(event, "local_ip", &input->local_ip);
        if (input->local_port != 0)
                event_add_int(event, "local_port", input->local_port);
        if (input->remote_ip.family != 0)
-               event_add_str(event, "remote_ip", net_ip2addr(&input->remote_ip));
+               event_add_ip(event, "remote_ip", &input->remote_ip);
        if (input->remote_port != 0)
                event_add_int(event, "remote_port", input->remote_port);
 
index 4aeaa5076f3c5b06d5289977a49714ed3b146f14..248b2cf0058aeb3d95acecd8dd5c2c10eecb87de 100644 (file)
@@ -167,11 +167,11 @@ client_create_from_input(const struct mail_storage_service_input *input,
                { .key = NULL }
        });
        if (input->local_ip.family != 0)
-               event_add_str(event, "local_ip", net_ip2addr(&input->local_ip));
+               event_add_ip(event, "local_ip", &input->local_ip);
        if (input->local_port != 0)
                event_add_int(event, "local_port", input->local_port);
        if (input->remote_ip.family != 0)
-               event_add_str(event, "remote_ip", net_ip2addr(&input->remote_ip));
+               event_add_ip(event, "remote_ip", &input->remote_ip);
        if (input->remote_port != 0)
                event_add_int(event, "remote_port", input->remote_port);