aboutsummaryrefslogtreecommitdiffstats
path: root/src/tls/tls_server.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/tls/tls_server.cpp')
-rw-r--r--src/tls/tls_server.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/tls/tls_server.cpp b/src/tls/tls_server.cpp
index 3f65fa735..3077476e3 100644
--- a/src/tls/tls_server.cpp
+++ b/src/tls/tls_server.cpp
@@ -190,8 +190,12 @@ void TLS_Server::process_handshake_msg(Handshake_Type type,
session_info.session_id(),
session_info.ciphersuite(),
session_info.compression_method(),
+ session_info.fragment_size(),
Version_Code(session_info.version()));
+ if(session_info.fragment_size())
+ writer.set_maximum_fragment_size(session_info.fragment_size());
+
state->suite = CipherSuite(state->server_hello->ciphersuite());
state->keys = SessionKeys(state->suite, state->version,
@@ -224,6 +228,9 @@ void TLS_Server::process_handshake_msg(Handshake_Type type,
rng.random_vec(32),
state->version);
+ if(state->client_hello->fragment_size())
+ writer.set_maximum_fragment_size(state->client_hello->fragment_size());
+
state->suite = CipherSuite(state->server_hello->ciphersuite());
if(state->suite.sig_type() != TLS_ALGO_SIGNER_ANON)
@@ -376,6 +383,8 @@ void TLS_Server::process_handshake_msg(Handshake_Type type,
state->server_hello->ciphersuite(),
state->server_hello->compression_method(),
SERVER,
+ secure_renegotiation.supported(),
+ state->server_hello->fragment_size(),
peer_certs,
client_requested_hostname,
""