]> git.ipfire.org Git - thirdparty/squid.git/commit - src/auth/Acl.cc
Bug 3643: NTLM helpers stuck in reserved state by Safari
authorAmos Jeffries <squid3@treenet.co.nz>
Thu, 4 Apr 2013 06:15:00 +0000 (00:15 -0600)
committerAmos Jeffries <squid3@treenet.co.nz>
Thu, 4 Apr 2013 06:15:00 +0000 (00:15 -0600)
commitcc1e110a93d34fad100bd92ec4740df0a19641a3
treeec06ac3d5ea99281b4aeb8f071ea8c4b738f52a4
parent5c1be108290471f00fd7ceb426870678bb28874d
Bug 3643: NTLM helpers stuck in reserved state by Safari

NTLM failures are not always cleaning up connection-auth credentials
properly. In particular they are not releasing the NTLM helpers when
the connection is closed between challenge and handshake completion.
Resulting in permanently reserved helpers locking up all access
through the proxy.

This change redesigns the connection authentication state management
to move the auth link/unlink operations into the connection state
manager objects instead of being managed by NTLM auth components.
As a result we are able to manage credentials from any auth scheme
consistently and terminate the connection properly on several
error conditions which the auth components are not easily aware of.

 Fix sponsored by Netbox Blue Pty (http://netboxblue.com/)
16 files changed:
SPONSORS.list
src/Makefile.am
src/auth/Acl.cc
src/auth/AclProxyAuth.cc
src/auth/UserRequest.cc
src/auth/UserRequest.h
src/auth/negotiate/UserRequest.cc
src/auth/negotiate/UserRequest.h
src/auth/ntlm/UserRequest.cc
src/auth/ntlm/UserRequest.h
src/client_side.cc
src/client_side.h
src/client_side_request.cc
src/redirect.cc
src/tests/Stub.list
src/tests/stub_client_side.cc [new file with mode: 0644]