[squid-users] Squid 6.6 kick abandoning connections
jonathanlee571 at gmail.com
jonathanlee571 at gmail.com
Wed Jul 10 00:31:18 UTC 2024
I found the older patch from 2017 I cant find the path to client_sid_request.cc in the pfsense filesystem
Does anyone know the path to this file "modified file 'src/client_side_request.cc" so I can test it with the patches application if it doesn’t work no big deal I can just restore it to to prior and or use an older boot environment
kick abandoning [connection]" message in cache.log
This patch call quitAfterError() to force Squid to close the connection after
writing a "Host header forgery" error response instead of just logging a
[misleading] "kick abandoning [connection]" message in cache.log.
This is a Measurement Factory project
=== modified file 'src/client_side_request.cc'
--- src/client_side_request.cc 2017-02-07 23:11:33 +0000
+++ src/client_side_request.cc 2017-03-31 08:00:01 +0000
@@ -564,40 +564,41 @@
debugs(85, 3, "SECURITY ALERT: Host header forgery detected on " << http->getConn()->clientConnection <<
" (" << A << " does not match " << B << ") on URL: " << http->request->effectiveRequestUri());
// NP: it is tempting to use 'flags.noCache' but that is all about READing cache data.
// The problems here are about WRITE for new cache content, which means flags.cachable
http->request->flags.cachable = false; // MUST NOT cache (for now)
// XXX: when we have updated the cache key to base on raw-IP + URI this cacheable limit can go.
http->request->flags.hierarchical = false; // MUST NOT pass to peers (for now)
// XXX: when we have sorted out the best way to relay requests properly to peers this hierarchical limit can go.
http->doCallouts();
return;
}
debugs(85, DBG_IMPORTANT, "SECURITY ALERT: Host header forgery detected on " <<
http->getConn()->clientConnection << " (" << A << " does not match " << B << ")");
if (const char *ua = http->request->header.getStr(Http::HdrType::USER_AGENT))
debugs(85, DBG_IMPORTANT, "SECURITY ALERT: By user agent: " << ua);
debugs(85, DBG_IMPORTANT, "SECURITY ALERT: on URL: " << http->request->effectiveRequestUri());
// IP address validation for Host: failed. reject the connection.
+ http->getConn()->quitAfterError(http->request);
clientStreamNode *node = (clientStreamNode *)http->client_stream.tail->prev->data;
clientReplyContext *repContext = dynamic_cast<clientReplyContext *>(node->data.getRaw());
assert (repContext);
repContext->setReplyToError(ERR_CONFLICT_HOST, Http::scConflict,
http->request->method, NULL,
http->getConn()->clientConnection->remote,
http->request,
NULL,
#if USE_AUTH
http->getConn() != NULL && http->getConn()->getAuth() != NULL ?
http->getConn()->getAuth() : http->request->auth_user_request);
#else
NULL);
#endif
node = (clientStreamNode *)http->client_stream.tail->data;
clientStreamRead(node, http, node->readBuffer);
}
void
ClientRequestContext::hostHeaderVerify()
-----Original Message-----
From: Alex Rousskov <rousskov at measurement-factory.com>
Sent: Monday, July 8, 2024 10:41 AM
To: squid-users <squid-users at lists.squid-cache.org>
Cc: Jonathan Lee <jonathanlee571 at gmail.com>
Subject: Re: [squid-users] Squid 6.6 kick abandoning connections
On 2024-07-08 12:31, Jonathan Lee wrote:
> I can confirm I have no ipv6 our isp is ipv4 only and I have IPv6
> disabled on the firewall and with layer 2 and 3 traffic
This problem is not specific to any IP family/version.
Alex.
>> On Jul 8, 2024, at 09:15, Alex Rousskov <rousskov at measurement-factory.com> wrote:
>>
>> On 2024-07-05 21:07, Jonathan Lee wrote:
>>
>>> I am using Bump with certificates installed on devices does anyone know what this error is...
>>> kick abandoning conn43723 local=192.168.1.1:3128
>>> remote=192.168.1.5:52129 FD 178 flags=1
>>
>>
>> This "kick abandoning" message marks a Squid problem or bug: Squid enters a seemingly impossible state. In some (but probably not all) cases, the client connection might become stuck (hopefully until some timeout closes it). In some (and possibly all) cases, Squid might immediately close the connection and nobody gets hurt. Code reporting this problem does not know how we got here and what will happen next.
>>
>> There were several incomplete/unfinished attempts to fix this problem, including two different patches posted at Bug 3715. I do not know whether either of them is safe and applies to Squid v6. Neither is a comprehensive solution.
>> https://bugs.squid-cache.org/show_bug.cgi?id=3715
>>
>>
>>> Does anyone know how to fix my last weird error I have with Squid
>>> 6.6
>>
>> I do not know of a good configuration-based workaround. Squid code modifications are required to properly address this problem. Other errors may trigger this bug, so addressing those other errors may hide (and reduce the pressure to fix) this bug. Besides fixing those other errors (if any -- I am aware that you have said that there are no other errors left, but perhaps you found other problems since then), these basic options apply:
>>
>> https://wiki.squid-cache.org/SquidFaq/AboutSquid#how-to-add-a-new-squ
>> id-feature-enhance-of-fix-something
>>
>> Alex.
>>
More information about the squid-users
mailing list