From 9d0be5582918cd179addde8f607586f9ffba4094 Mon Sep 17 00:00:00 2001 From: Eduard Bagdasaryan Date: Tue, 17 Jun 2025 21:00:51 +0000 Subject: [PATCH] Do not duplicate received Surrogate-Capability in sent requests (#2087) When computing Surrogate-Capability header while forwarding an accelerated request, Squid duplicated old (i.e. received) header entries (if any). For example, this outgoing request shows an extra hop1 entry: GET / HTTP/1.1 ... Surrogate-Capability: hop1="Surrogate/1.0" Surrogate-Capability: hop1="Surrogate/1.0", hop2="Surrogate/1.0" --- src/http.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/src/http.cc b/src/http.cc index 1cc03c4ce5..2b29222079 100644 --- a/src/http.cc +++ b/src/http.cc @@ -1964,6 +1964,7 @@ HttpStateData::httpBuildRequestHeader(HttpRequest * request, snprintf(bbuf, BBUF_SZ, "%s=\"Surrogate/1.0\"", Config.Accel.surrogate_id); #endif strListAdd(&strSurrogate, bbuf, ','); + hdr_out->delById(Http::HdrType::SURROGATE_CAPABILITY); hdr_out->putStr(Http::HdrType::SURROGATE_CAPABILITY, strSurrogate.termedBuf()); } -- 2.47.2