From 0b0392e6b59cff38ccfe3b814a1244a5fb0f6ea5 Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Wed, 11 Jan 2023 00:05:40 +0200 Subject: [PATCH] global: Use ip type for event fields with IP addresses --- src/auth/auth-request-fields.c | 10 ++++++---- src/imap-hibernate/imap-client.c | 6 ++---- src/imap/main.c | 4 ++-- src/lib-auth-client/auth-client-request.c | 12 ++++++------ src/lib-auth-client/auth-master.c | 18 ++++++++---------- src/lib-http/http-client-request.c | 2 +- src/lib-login/login-server-auth.c | 12 ++++-------- src/lmtp/lmtp-proxy.c | 4 ++-- src/login-common/client-common-auth.c | 2 +- src/login-common/client-common.c | 4 ++-- src/login-common/login-proxy.c | 11 ++++++----- src/login-common/login-proxy.h | 3 ++- src/pop3/main.c | 4 ++-- src/submission/main.c | 4 ++-- 14 files changed, 46 insertions(+), 50 deletions(-) diff --git a/src/auth/auth-request-fields.c b/src/auth/auth-request-fields.c index 295d046159..22cc1cccd6 100644 --- a/src/auth/auth-request-fields.c +++ b/src/auth/auth-request-fields.c @@ -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", diff --git a/src/imap-hibernate/imap-client.c b/src/imap-hibernate/imap-client.c index 9dd26a8faf..3c70a43297 100644 --- a/src/imap-hibernate/imap-client.c +++ b/src/imap-hibernate/imap-client.c @@ -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); diff --git a/src/imap/main.c b/src/imap/main.c index b972ec49b9..0dc22dc8f9 100644 --- a/src/imap/main.c +++ b/src/imap/main.c @@ -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); diff --git a/src/lib-auth-client/auth-client-request.c b/src/lib-auth-client/auth-client-request.c index c8291073cb..a67c26f8d2 100644 --- a/src/lib-auth-client/auth-client-request.c +++ b/src/lib-auth-client/auth-client-request.c @@ -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", diff --git a/src/lib-auth-client/auth-master.c b/src/lib-auth-client/auth-master.c index d8f8d61b2b..3f56dc3655 100644 --- a/src/lib-auth-client/auth-master.c +++ b/src/lib-auth-client/auth-master.c @@ -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); diff --git a/src/lib-http/http-client-request.c b/src/lib-http/http-client-request.c index bb2f2e0ddf..11aea5e2e3 100644 --- a/src/lib-http/http-client-request.c +++ b/src/lib-http/http-client-request.c @@ -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)-> diff --git a/src/lib-login/login-server-auth.c b/src/lib-login/login-server-auth.c index 83608b4a77..7020cbe7e5 100644 --- a/src/lib-login/login-server-auth.c +++ b/src/lib-login/login-server-auth.c @@ -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); diff --git a/src/lmtp/lmtp-proxy.c b/src/lmtp/lmtp-proxy.c index ef61d9f0fb..4ac88cdc39 100644 --- a/src/lmtp/lmtp-proxy.c +++ b/src/lmtp/lmtp-proxy.c @@ -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; diff --git a/src/login-common/client-common-auth.c b/src/login-common/client-common-auth.c index c882f09831..ec7850d938 100644 --- a/src/login-common/client-common-auth.c +++ b/src/login-common/client-common-auth.c @@ -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) { diff --git a/src/login-common/client-common.c b/src/login-common/client-common.c index 857ddc631f..d3032293dd 100644 --- a/src/login-common/client-common.c +++ b/src/login-common/client-common.c @@ -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, diff --git a/src/login-common/login-proxy.c b/src/login-common/login-proxy.c index 061a279cd7..beb7e3edcc 100644 --- a/src/login-common/login-proxy.c +++ b/src/login-common/login-proxy.c @@ -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) diff --git a/src/login-common/login-proxy.h b/src/login-common/login-proxy.h index 4d0559104a..dbbef77e25 100644 --- a/src/login-common/login-proxy.h +++ b/src/login-common/login-proxy.h @@ -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; diff --git a/src/pop3/main.c b/src/pop3/main.c index b8b3b7601b..7366d9070b 100644 --- a/src/pop3/main.c +++ b/src/pop3/main.c @@ -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); diff --git a/src/submission/main.c b/src/submission/main.c index 4aeaa5076f..248b2cf005 100644 --- a/src/submission/main.c +++ b/src/submission/main.c @@ -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); -- 2.47.3