diff options
author | Daiki Ueno <ueno@gnu.org> | 2022-06-28 10:23:33 +0900 |
---|---|---|
committer | Daiki Ueno <ueno@gnu.org> | 2022-06-28 11:51:11 +0900 |
commit | 4a492462535a7f3a831685d3cf420b50ef219511 (patch) | |
tree | 0dbbeaa53e480a96540e6366b3301d9f2dc34f00 | |
parent | 7b700dbcd5907944a7dd2f74cd26ad8586cd4bac (diff) | |
download | gnutls-4a492462535a7f3a831685d3cf420b50ef219511.tar.gz |
handshake: do not reset KTLS enablement in gnutls_handshake
As gnutls_handshake can be repeatedly called upon non-blocking setup,
we shouldn't try to call setsockopt for KTLS upon every call.
Signed-off-by: Daiki Ueno <ueno@gnu.org>
-rw-r--r-- | lib/handshake.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/lib/handshake.c b/lib/handshake.c index 4dd457bf22..3886306eb4 100644 --- a/lib/handshake.c +++ b/lib/handshake.c @@ -2813,12 +2813,6 @@ int gnutls_handshake(gnutls_session_t session) const version_entry_st *vers = get_version(session); int ret; - session->internals.ktls_enabled = 0; -#ifdef ENABLE_KTLS - if (_gnutls_config_is_ktls_enabled() == true) - _gnutls_ktls_enable(session); -#endif - if (unlikely(session->internals.initial_negotiation_completed)) { if (vers->tls13_sem) { if (session->security_parameters.entity == GNUTLS_CLIENT) { @@ -2864,6 +2858,12 @@ int gnutls_handshake(gnutls_session_t session) end->tv_nsec = (start->tv_nsec + tmo_ms * 1000000LL) % 1000000000LL; } + +#ifdef ENABLE_KTLS + if (_gnutls_config_is_ktls_enabled()) { + _gnutls_ktls_enable(session); + } +#endif } if (session->internals.recv_state == RECV_STATE_FALSE_START) { |