From edf91ac779bd21ae4cbf64b44c3d5efa6fad761c Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Tue, 1 Feb 2022 14:35:05 +0100 Subject: [PATCH] lib-smtp: server-transaction - Simplify/clarify transaction ID The transaction ID is the session ID followed by an increasing transaction count (number of MAIL commands) in the SMTP server connection. Clarify this by adding 'T' letter before the counter. Also don't add the counter suffix at all for the first session, since most sessions only have a single transaction. --- src/lib-smtp/smtp-server-transaction.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/lib-smtp/smtp-server-transaction.c b/src/lib-smtp/smtp-server-transaction.c index 29bac5375f..7d9b8394c8 100644 --- a/src/lib-smtp/smtp-server-transaction.c +++ b/src/lib-smtp/smtp-server-transaction.c @@ -40,9 +40,12 @@ smtp_server_transaction_create(struct smtp_server_connection *conn, trans->conn = conn; /* generate transaction ID */ - conn->transaction_seq++; - trans->id = p_strdup_printf(pool, "%s:%u", conn->session_id, - conn->transaction_seq); + if (conn->transaction_seq++ == 0) + trans->id = conn->session_id; + else { + trans->id = p_strdup_printf(pool, "%s:T%u", conn->session_id, + conn->transaction_seq); + } trans->flags = mail_data->flags; trans->mail_from = smtp_address_clone(trans->pool, mail_data->path); -- 2.47.3