Previously, setting client_ip_max_connections to a non-negative N would
allow N+1 client connections, due to an off-by-one error.
<em>src_as</em> and <em>dst_as</em> ACLs, Squid no longer initiates ASN
lookups.
+ <tag>client_ip_max_connections</tag>
+
+ <p>Fixed off-by-one enforcement. Squid now allows at most <em>N</em>
+ concurrent connections per client IP (not <em>N</em>+1), where <em>N</em>
+ is the configured directive value. Deployments that relied on the extra
+ connection should increase the configured limit by one to preserve
+ previous behavior.
+
+
</descrip>
<sect1>Removed directives<label id="removeddirectives">
details->nfConnmark = Ip::Qos::getNfConnmark(details, Ip::Qos::dirAccepted);
if (Config.client_ip_max_connections >= 0) {
- if (clientdbEstablished(details->remote, 0) > Config.client_ip_max_connections) {
+ if (clientdbEstablished(details->remote, 0) >= Config.client_ip_max_connections) {
debugs(50, DBG_IMPORTANT, "WARNING: " << details->remote << " attempting more than " << Config.client_ip_max_connections << " connections.");
return false;
}