summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaiki Ueno <ueno@gnu.org>2022-06-28 10:23:33 +0900
committerDaiki Ueno <ueno@gnu.org>2022-06-28 11:51:11 +0900
commit4a492462535a7f3a831685d3cf420b50ef219511 (patch)
tree0dbbeaa53e480a96540e6366b3301d9f2dc34f00
parent7b700dbcd5907944a7dd2f74cd26ad8586cd4bac (diff)
downloadgnutls-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.c12
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) {