diff options
author | lloyd <[email protected]> | 2012-08-06 13:00:09 +0000 |
---|---|---|
committer | lloyd <[email protected]> | 2012-08-06 13:00:09 +0000 |
commit | d593fdec5ff25ac09c59830e1853c534e65eb77b (patch) | |
tree | 967adc1a82b7cd0abd185e27b6f4c1586582bc41 | |
parent | c41ec2821df51fdefcb065a0870921c0027b8982 (diff) |
The client wasn't sending a next protocol message on a session
resumption.
-rw-r--r-- | src/tls/tls_client.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/tls/tls_client.cpp b/src/tls/tls_client.cpp index 0a0ca0549..6b4561cab 100644 --- a/src/tls/tls_client.cpp +++ b/src/tls/tls_client.cpp @@ -484,6 +484,17 @@ void Client::process_handshake_msg(Handshake_Type type, m_state->session_keys(), m_state->server_hello()->compression_method()); + if(m_state->server_hello()->next_protocol_notification()) + { + const std::string protocol = + dynamic_cast<Client_Handshake_State&>(*m_state).client_npn_cb( + m_state->server_hello()->next_protocols()); + + m_state->next_protocol( + new Next_Protocol(m_state->handshake_io(), m_state->hash(), protocol) + ); + } + m_state->client_finished( new Finished(m_state->handshake_io(), m_state.get(), CLIENT) ); |