From: Timo Sirainen Date: Sun, 26 Apr 2020 18:42:51 +0000 (+0300) Subject: lib-smtp: Fix adding "protocol" field to smtp_server_* events X-Git-Tag: 2.3.11.2~128 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=acc41ffcb9d2e295ec7c6f16a6deba75042597f6;p=thirdparty%2Fdovecot%2Fcore.git lib-smtp: Fix adding "protocol" field to smtp_server_* events The server connection always had its own parent event instead of using smtp_server.event. --- diff --git a/src/lib-smtp/smtp-server-connection.c b/src/lib-smtp/smtp-server-connection.c index 404acc888b..77380a0f72 100644 --- a/src/lib-smtp/smtp-server-connection.c +++ b/src/lib-smtp/smtp-server-connection.c @@ -769,9 +769,10 @@ smtp_server_connection_event_create(struct smtp_server *server, { struct event *conn_event; - if (set != NULL && set->event_parent != NULL) + if (set != NULL && set->event_parent != NULL) { conn_event = event_create(set->event_parent); - else + smtp_server_event_init(server, conn_event); + } else conn_event = event_create(server->event); event_set_append_log_prefix( conn_event, t_strdup_printf( diff --git a/src/lib-smtp/smtp-server-private.h b/src/lib-smtp/smtp-server-private.h index e66d83bc9b..640d6d6c05 100644 --- a/src/lib-smtp/smtp-server-private.h +++ b/src/lib-smtp/smtp-server-private.h @@ -421,6 +421,7 @@ void smtp_server_transaction_finished(struct smtp_server_transaction *trans, * Server */ +void smtp_server_event_init(struct smtp_server *server, struct event *event); int smtp_server_init_ssl_ctx(struct smtp_server *server, const char **error_r); #endif diff --git a/src/lib-smtp/smtp-server.c b/src/lib-smtp/smtp-server.c index cf5ea4374d..d70c61b74e 100644 --- a/src/lib-smtp/smtp-server.c +++ b/src/lib-smtp/smtp-server.c @@ -88,9 +88,7 @@ struct smtp_server *smtp_server_init(const struct smtp_server_settings *set) /* There is no event log prefix added here, since the server itself does not log anything. */ server->event = event_create(set->event_parent); - event_add_category(server->event, &event_category_smtp_server); - event_add_str(server->event, "protocol", - smtp_protocol_name(server->set.protocol)); + smtp_server_event_init(server, server->event); event_set_forced_debug(server->event, set->debug); server->conn_list = smtp_server_connection_list_init(); @@ -98,6 +96,13 @@ struct smtp_server *smtp_server_init(const struct smtp_server_settings *set) return server; } +void smtp_server_event_init(struct smtp_server *server, struct event *event) +{ + event_add_category(event, &event_category_smtp_server); + event_add_str(event, "protocol", + smtp_protocol_name(server->set.protocol)); +} + void smtp_server_deinit(struct smtp_server **_server) { struct smtp_server *server = *_server;