Debugging on IRC revealed this to be caused by some as yet unidentified
bug in client-side CONNECT handling.
The client-side leaves a read handler registered when tunnel is handed
the client FD to start pushing bytes. The attached patch works around
that by making tunnel detect the existing handler and cancel it.
This is a quite nasty workaround. Proposed only as a workaround patch
until a real fix can be figured out and tested.
There is also the additional issue that if client-side is holding
buffered any bytes from the tunnel body things will go badly. So far we
have no evidence that this is happening, but the possibility is open.
Should this second issue need to be fixed tunnelConnectedWriteDone is
the correct place to drain the client-side buffer directly into the
server FD.
Amos
-- Please be using Current Stable Squid 2.7.STABLE9 or 3.1.12 Beta testers wanted for 3.2.0.6
This archive was generated by hypermail 2.2.0 : Wed Apr 06 2011 - 12:00:15 MDT