[squid-dev] [PATCH] Fixed step3 splicing

Christos Tsantilas christos at chtsanti.net
Thu Feb 4 16:14:48 UTC 2016


The information about PeekingPeerConnector splicing the connections
was lost in some cases, resulting in two different bugs:

  - With a certificate validator, the PeekingPeerConnector class calls 
back FwdState, which calls the ConnStateData class, which then tries 
secure the connection with the already tunneled SSL client and closes 
the connection on negotiating errors.

  - Without a certificate validator, the PeekingPeerConnector class 
never calls FwdState class, and both PeekingPeerConnector and FwdState 
objects stall until finishing tunnelState closes server and client 
connections.

Now, PeerConnector always calls FwdState back, marking spliced
connections as such. This has the following positive side-effects:

  - When FwdState learns about spliced connections, it does not call 
ConnStateData back. Instead, it terminates and gets destroyed. The 
tunnel continues uninterrupted.

  - The PeekingPeerConnector job ends and is destroyed instead of 
waiting to call FwdState.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fix-splicing-with-certvalidator-t2.patch
Type: text/x-patch
Size: 13443 bytes
Desc: not available
URL: <http://lists.squid-cache.org/pipermail/squid-dev/attachments/20160204/c5f6e72f/attachment.bin>


More information about the squid-dev mailing list