This is an automated email from the ASF dual-hosted git repository.
amc pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficserver.git
The following commit(s) were added to refs/heads/master by this push:
new b620fc3 Fix ssl hook state logic.
b620fc3 is described below
commit b620fc3fd1f3d3bce0889182a424205459543755
Author: Susan Hinrichs <[email protected]>
AuthorDate: Tue Mar 7 19:04:12 2017 +0000
Fix ssl hook state logic.
Was not correctly resetting the ssl hook state after the servername hooks.
---
iocore/net/SSLNetVConnection.cc | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/iocore/net/SSLNetVConnection.cc b/iocore/net/SSLNetVConnection.cc
index 36429ac..fb46aa8 100644
--- a/iocore/net/SSLNetVConnection.cc
+++ b/iocore/net/SSLNetVConnection.cc
@@ -1465,12 +1465,15 @@ SSLNetVConnection::callHooks(TSEvent eventId)
this->sslHandshakeHookState = HANDSHAKE_HOOKS_INVOKE;
curHook->invoke(eventId, this);
reenabled = eventId != TS_EVENT_SSL_CERT || (this->sslHandshakeHookState
!= HANDSHAKE_HOOKS_INVOKE);
- } else {
- // no SNI-Hooks set, set state to HOOKS_DONE
- // no plugins registered for this hook, return (reenabled == true)
+ }
+
+ // All done with the current hook chain
+ if (curHook == nullptr) {
if (eventId == TS_EVENT_SSL_CERT) {
+ // Set the HookState to done because we are all done with the
CERT/SERVERNAME hook chains
sslHandshakeHookState = HANDSHAKE_HOOKS_DONE;
} else if (eventId == TS_EVENT_SSL_SERVERNAME) {
+ // Reset the HookState to PRE, so the cert hook chain can start
sslHandshakeHookState = HANDSHAKE_HOOKS_PRE;
}
}
--
To stop receiving notification emails like this one, please contact
['"[email protected]" <[email protected]>'].