]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
[Fix] Fix proxy headers duplication
authorVsevolod Stakhov <vsevolod@rspamd.com>
Wed, 11 Jun 2025 10:36:21 +0000 (11:36 +0100)
committerVsevolod Stakhov <vsevolod@rspamd.com>
Wed, 11 Jun 2025 10:36:21 +0000 (11:36 +0100)
Issue: #5505

src/rspamd_proxy.c

index 3e63fc13ff6f3e426a9ada5861f08fe36896feac..77d2336b283f5830da8abc4ef8f98c7ae9c4d9b9 100644 (file)
@@ -1686,6 +1686,7 @@ proxy_open_mirror_connections(struct rspamd_proxy_session *session)
                                                        rspamd_http_message_remove_header(msg, "Host");
                                                        rspamd_http_message_add_header(msg, "Host", up_name);
                                                }
+                                               rspamd_http_message_remove_header(msg, "Connection");
                                                rspamd_http_message_add_header(msg, "Connection", "keep-alive");
 
                                                if (msg->url->len == 0) {
@@ -1824,6 +1825,7 @@ proxy_open_mirror_connections(struct rspamd_proxy_session *session)
                        rspamd_http_message_remove_header(msg, "Host");
                        rspamd_http_message_add_header(msg, "Host", up_name);
                }
+               rspamd_http_message_remove_header(msg, "Connection");
                rspamd_http_message_add_header(msg, "Connection",
                                                                           m->keepalive ? "keep-alive" : "close");
 
@@ -2673,9 +2675,6 @@ proxy_client_finish_handler(struct rspamd_http_connection *conn,
                rspamd_http_message_remove_header(msg, "Connection");
                rspamd_http_message_remove_header(msg, "Key");
 
-               /* Add log tag header based on worker's default configuration */
-               rspamd_proxy_add_log_tag_header(msg, session, session->ctx->log_tag_type);
-
                proxy_open_mirror_connections(session);
                rspamd_http_connection_reset(session->client_conn);