From: Timo Sirainen Date: Wed, 4 Feb 2026 10:46:20 +0000 (+0200) Subject: lmtp: Support XCLIENT DESTADDR and DESTPORT X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2e932693665e6cd270be31af196d935ce3d95bb2;p=thirdparty%2Fdovecot%2Fcore.git lmtp: Support XCLIENT DESTADDR and DESTPORT --- diff --git a/src/lmtp/lmtp-client.c b/src/lmtp/lmtp-client.c index 1aae4b81e0..200b71607c 100644 --- a/src/lmtp/lmtp-client.c +++ b/src/lmtp/lmtp-client.c @@ -383,6 +383,10 @@ client_connection_proxy_data_updated(void *context, { struct client *client = context; + if (data->dest_ip.family != 0) + client->local_ip = data->dest_ip; + if (data->dest_port != 0) + client->local_port = data->dest_port; client->remote_ip = data->source_ip; client->remote_port = data->source_port; client->local_name = data->local_name; diff --git a/src/lmtp/lmtp-proxy.c b/src/lmtp/lmtp-proxy.c index 04c66af963..24e249c774 100644 --- a/src/lmtp/lmtp-proxy.c +++ b/src/lmtp/lmtp-proxy.c @@ -122,6 +122,8 @@ lmtp_proxy_init(struct client *client, smtp_server_connection_get_proxy_data(client->conn, &lmtp_set.proxy_data); + lmtp_set.proxy_data.dest_ip = client->local_ip; + lmtp_set.proxy_data.dest_port = client->local_port; lmtp_set.proxy_data.source_ip = client->remote_ip; lmtp_set.proxy_data.source_port = client->remote_port; lmtp_set.proxy_data.local_name = client->local_name;