]> git.ipfire.org Git - thirdparty/squid.git/commit
Add client_ip_max_connections
authorAmos Jeffries <squid3@treenet.co.nz>
Sat, 16 Jan 2010 04:44:46 +0000 (17:44 +1300)
committerAmos Jeffries <squid3@treenet.co.nz>
Sat, 16 Jan 2010 04:44:46 +0000 (17:44 +1300)
commitb661bac47e2dcc2bbff207eb087fe5bf3282da17
tree40360f72706ee1ed3010bcada3cfabdd284a7553
parenta0271ca1bc031d1d5dcb8325460fbbbe62b358ab
Add client_ip_max_connections

Given some incentive after deep consideration of the slowloris claims.
While I still do not believe Squid is vulnerable per-se and some people
have tested and found no such failures as claimed for the DoS attack.

We found we could provide better administrative controls.  This is one such
that has been asked about many times and still did not exist. It operates
essentially the same as maxconn ACL, but does not require HTTP headers and
other request data to fully exist like ACLs do.

It is tested immediately after accept() and is request type agnostic, right
down to DNS TCP requests. So care is warranted in hierarchy situations or where
clients may be behind NAT.

Utilizes the client DB to monitor accepted TCP links. Operates prior to
everything so as to eliminate resource usage on the blocking case and
close the windows of opportunity for dribble-attacks etc.

Default (-1) is to keep the status-quo of no limits.
src/cf.data.pre
src/comm.cc
src/structs.h