GitHub user oknet opened a pull request:

    https://github.com/apache/trafficserver/pull/374

    TS-4075: add a state check for sslHandshakeHookState

    Add a state check for sslHandshakeHookState after PreAcceptHookState 
checking in sslServerHandShakeEvent().
    and modify the codes in reenable() and callHooks() to fit the patch
    
    The Processing:
    path A for normal handshake.
    path B for ssl session reuse
    
    1. client initial a tcp connection with ATS
    2. ATS trigger a PreAccept Hooks
    3. PreAccept Hooks Done
    4a. client send a "Client Hello with Sever Cert Request"
    5a. set handshakestate to CERT from PRE
    6a. SSLAccept() got a "Server Cert Request" then trigger callHooks()
    7a. set curHooks
    8a. if curHook != NULL then set handshakestate to INVOKE and invoke hooks.
    9a. reenable in Hooks A
    10a. invoke Hook B and next Hooks ... until curHook == NULL
    11a. set handshakestate to DONE
    12. SSLAccept() handshake finished
    
    4b. client send a "ssl session reuse request"
    5b. set handshakestate to CERT from PRE
    6b. SSLAccept() got a "ssl session reuse reques" then reuse session 
handshake finished
    7b. set handshakestate to DONE from CERT

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/oknet/trafficserver patch-2

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/trafficserver/pull/374.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #374
    
----
commit 0de7e196aadac090a412b720df7e5faf9183b5ba
Author: Oknet <xuc...@gmail.com>
Date:   2015-12-14T12:00:45Z

    TS-4075: add a state check for sslHandshakeHookState after 
PreAcceptHookState checking
    
    Add a state check for sslHandshakeHookState after PreAcceptHookState 
checking in sslServerHandShakeEvent().
    and modify the codes in reenable() and callHooks() to fit the patch
    
    The Processing:
    
    1. client initial a tcp connection with ATS
    2. ATS trigger a PreAccept Hooks
    3. PreAccept Hooks Done
    4a. client send a "Client Hello with Sever Cert Request"
    5a. set handshakestate to CERT from PRE
    6a. SSLAccept() got a "Server Cert Request" then trigger callHooks()
    7a. set curHooks
    8a. if curHook != NULL then set handshakestate to INVOKE and invoke hooks.
    9a. reenable in Hooks A
    10a. invoke Hook B and next Hooks ... until curHook == NULL
    11a. set handshakestate to DONE
    12. SSLAccept() handshake finished
    
    4b. client send a "ssl session reuse request"
    5b. set handshakestate to CERT from PRE
    6b. SSLAccept() got a "ssl session reuse reques" then reuse session 
handshake finished
    7b. set handshakestate to DONE from CERT

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to