From eee40a90f1132c4c0ae91f6e3c5ab7b8d4cbd2e5 Mon Sep 17 00:00:00 2001 From: Fabian Keil Date: Sun, 22 Jun 2025 10:57:09 +0200 Subject: [PATCH] If the server sends multiple Connection headers, only parse and forward the first one --- parsers.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/parsers.c b/parsers.c index 3be2addf..37bbc138 100644 --- a/parsers.c +++ b/parsers.c @@ -1857,6 +1857,14 @@ static int keep_alive_keyword_detected(const char *header) *********************************************************************/ static jb_err server_connection(struct client_state *csp, char **header) { + if ((csp->flags & CSP_FLAG_SERVER_CONNECTION_HEADER_SET) != 0) + { + log_error(LOG_LEVEL_HEADER, + "Removing \'%s\' header to only parse and forward one.", *header); + freez(*header); + + return JB_ERR_OK; + } if (keep_alive_keyword_detected(*header) #ifdef FEATURE_CONNECTION_KEEP_ALIVE && !(csp->flags & CSP_FLAG_SERVER_SOCKET_TAINTED) -- 2.49.0