]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Fix "dial: Ssl::PeerConnector::sslCrtvdHandleReply threw exception: callback != NULL"
authorChristos Tsantilas <chtsanti@users.sourceforge.net>
Fri, 12 Feb 2016 10:45:47 +0000 (12:45 +0200)
committerChristos Tsantilas <chtsanti@users.sourceforge.net>
Fri, 12 Feb 2016 10:45:47 +0000 (12:45 +0200)
This bug investigated after the r14528 patch.
The (forgotten?) Ssl::PeekingPeerConnector::callback member is always NULL and
hides the callback member of the parent Ssl::PeerConnector class. This is has
as result the failure of "Must(callback != NULL)" clause inside the
Ssl::PeekingPeerConnector::tunnelInsteadOfNegotiating method investigated with
the r14528 patch.

This is a Measurement Factory project

src/ssl/PeekingPeerConnector.h
src/ssl/PeerConnector.h

index 280229bbb41f2e31c2e9103b60a52d563f7ea1cc..4dbc122c39dbf3706654abf5a252e51aee869f71 100644 (file)
@@ -73,7 +73,6 @@ private:
     void tunnelInsteadOfNegotiating();
 
     Comm::ConnectionPointer clientConn; ///< TCP connection to the client
-    AsyncCall::Pointer callback; ///< we call this with the results
     AsyncCall::Pointer closeHandler; ///< we call this when the connection closed
     bool splice; ///< whether we are going to splice or not
     bool resumingSession; ///< whether it is an SSL resuming session connection
index a6752b3336dcc9d271143fe5375444325806caca..fc50f57b7fd6bdea2af6cc82042f5399e215e407 100644 (file)
@@ -161,6 +161,7 @@ protected:
     /// validator
     Ssl::CertErrors *certErrors;
     AccessLogEntryPointer al; ///< info for the future access.log entry
+    AsyncCall::Pointer callback; ///< we call this with the results
 private:
     PeerConnector(const PeerConnector &); // not implemented
     PeerConnector &operator =(const PeerConnector &); // not implemented
@@ -173,7 +174,6 @@ private:
 
     /// A wrapper function for negotiateSsl for use with Comm::SetSelect
     static void NegotiateSsl(int fd, void *data);
-    AsyncCall::Pointer callback; ///< we call this with the results
     AsyncCall::Pointer closeHandler; ///< we call this when the connection closed
     time_t negotiationTimeout; ///< the SSL connection timeout to use
     time_t startTime; ///< when the peer connector negotiation started