From: Timo Sirainen Date: Tue, 1 Feb 2022 13:40:48 +0000 (+0100) Subject: lmtp: Simplify/clarify per-recipient session ID X-Git-Tag: 2.4.0~4574 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2f047c5ad77c7ba46d55c83be742cbf0569b4bf5;p=thirdparty%2Fdovecot%2Fcore.git lmtp: Simplify/clarify per-recipient session ID The session ID is the transaction ID followed by an increasing recipient count (number of RCPT commands) in the SMTP transaction. Clarify this by adding 'R' letter before the counter. Also don't add the counter suffix at all for the first recipient, since most transactions only have a single recipient. --- diff --git a/src/lmtp/lmtp-recipient.c b/src/lmtp/lmtp-recipient.c index aec66334d5..9f40c1f218 100644 --- a/src/lmtp/lmtp-recipient.c +++ b/src/lmtp/lmtp-recipient.c @@ -51,10 +51,12 @@ lmtp_recipient_create(struct client *client, /* Use a unique session_id for each mail delivery. This is especially important for stats process to not see duplicate sessions. */ - client->state.session_id_seq++; - lrcpt->session_id = p_strdup_printf(rcpt->pool, "%s:%u", trans->id, - client->state.session_id_seq); - + if (client->state.session_id_seq++ == 0) + lrcpt->session_id = trans->id; + else { + lrcpt->session_id = p_strdup_printf(rcpt->pool, "%s:R%u", + trans->id, client->state.session_id_seq); + } event_add_str(rcpt->event, "session", lrcpt->session_id); return lrcpt;