From: Timo Sirainen Date: Mon, 17 Jan 2022 11:06:50 +0000 (+0100) Subject: lib-master: master_service_anvil_connect() - Add support for proxy session destination IP X-Git-Tag: 2.4.0~4514 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7e9416d9269a5cad029210d35c4980ec0bb46f16;p=thirdparty%2Fdovecot%2Fcore.git lib-master: master_service_anvil_connect() - Add support for proxy session destination IP --- diff --git a/src/lib-master/master-service.c b/src/lib-master/master-service.c index 2519fd36a3..abe9f81fa3 100644 --- a/src/lib-master/master-service.c +++ b/src/lib-master/master-service.c @@ -978,6 +978,9 @@ bool master_service_anvil_connect(struct master_service *service, str_append_c(cmd, 'S'); else str_append_c(cmd, 'A'); + str_append_c(cmd, '\t'); + if (session->dest_ip.family != 0) + str_append(cmd, net_ip2addr(&session->dest_ip)); if (session->alt_usernames != NULL) { string_t *alt_usernames = t_str_new(64); for (unsigned int i = 0; session->alt_usernames[i] != NULL; i++) { diff --git a/src/lib-master/master-service.h b/src/lib-master/master-service.h index a624e6664d..2ee69f9934 100644 --- a/src/lib-master/master-service.h +++ b/src/lib-master/master-service.h @@ -99,6 +99,8 @@ struct master_service_anvil_session { const char *const *alt_usernames; const char *service_name; struct ip_addr ip; + /* Proxy destination IP */ + struct ip_addr dest_ip; }; typedef void