DescriptionFix late binding induced mismatch of Socket and AuthController
ClientSocketPool treats all pending SocketParams as interchangeable. Therefore they can not contain any connection specific data. This only affects the Http Proxy tunnel case. The lowest risk change to fix this problem is to create the HttpAuthController in the HttpProxyClientSocket. If we get a 407 and need to restart the Tunnel, the pending HttpProxyClientSocket is returned to the HttpNetworkTransaction in the additional error state of the connection and then complete the auth in a pair of states in the HttpNetworkTransaction. This reintroduces a dependency between tunnel setup and the HttpNetworkTransaction, but that will need to be fixed at a later date.
BUG=49493
TEST=existing unit tests + manually visiting many SSL sites through a kerberized http proxy.
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=54405
Patch Set 1 #Patch Set 2 : Completely pull HttpAuthController out of SocketParams #Patch Set 3 : Fix most unit tests, update 'connected' notion #Patch Set 4 : Finish cleanup #Patch Set 5 : Rebase #
Total comments: 2
Patch Set 6 : Fix memory leaks and address Paweł's comments #
Total comments: 14
Patch Set 7 : Address comments #
Total comments: 2
Messages
Total messages: 9 (0 generated)
|