]> git.ipfire.org Git - thirdparty/squid.git/commit
Bug 4864: !Comm::MonitorsRead assertion in maybeReadVirginBody() (#351)
authorChristos Tsantilas <christos@chtsanti.net>
Wed, 27 Nov 2019 16:20:27 +0000 (18:20 +0200)
committerAmos Jeffries <yadij@users.noreply.github.com>
Thu, 19 Mar 2020 23:30:10 +0000 (12:30 +1300)
commitf5305f5595c98ec26b0eb0f71ff7bad066019074
treee40e46db5d11fddc186415621d077eb58136bf01
parent37e1096f23df5cffb48c496600e3d2b415c57bcc
Bug 4864: !Comm::MonitorsRead assertion in maybeReadVirginBody() (#351)

This assertion is probably triggered when Squid retries/reforwards
server-first or step2+ bumped connections (after they fail).
Retrying/reforwarding such pinned connections is wrong because the
corresponding client-to-Squid TLS connection was negotiated based on the
now-failed Squid-to-server TLS connection, and there is no mechanism to
ensure that the new Squid-to-server TLS connection will have exactly the
same properties. Squid should forward the error to client instead.

Also fixed peer selection code that could return more than one PINNED
paths with only the first path having the destination of the actual
pinned connection.

This is a Measurement Factory project

This is a limited equivalent to master branch commit 3dde9e52
src/FwdState.cc
src/FwdState.h
src/peer_select.cc