]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-master: master_service_anvil_connect() - Add support for proxy session destination IP
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Mon, 17 Jan 2022 11:06:50 +0000 (12:06 +0100)
committerTimo Sirainen <timo.sirainen@open-xchange.com>
Tue, 8 Feb 2022 09:48:24 +0000 (10:48 +0100)
src/lib-master/master-service.c
src/lib-master/master-service.h

index 2519fd36a3f45416696bd84bdb656c1260526855..abe9f81fa3bc688625b537fa9d36e05938696056 100644 (file)
@@ -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++) {
index a624e6664dea1bfec73e395097a174d9c47120d2..2ee69f9934662371e66add4057fdcbe9403bd45c 100644 (file)
@@ -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