From fa56a25fae99e79f5f00c2934103232335ec7937 Mon Sep 17 00:00:00 2001 From: Vladislav Vaintroub Date: Thu, 17 Apr 2025 19:43:06 +0200 Subject: [PATCH] Remove workaround after MDEV-13492 was fixed. SSL connection on Windows used retry logic initially, to "fix" MDEV-13492 This actual bug is now understood, and was fixed a while ago. Remove the workaround now. --- libmariadb/mariadb_lib.c | 34 ---------------------------------- 1 file changed, 34 deletions(-) diff --git a/libmariadb/mariadb_lib.c b/libmariadb/mariadb_lib.c index 38bdf9c3..d1267a57 100644 --- a/libmariadb/mariadb_lib.c +++ b/libmariadb/mariadb_lib.c @@ -1568,42 +1568,8 @@ mysql_real_connect(MYSQL *mysql, const char *host, const char *user, return my; } } -#ifndef HAVE_SCHANNEL return mysql->methods->db_connect(mysql, host, user, passwd, db, port, unix_socket, client_flag); -#else -/* - With older windows versions (prior Win 10) TLS connections periodically - fail with SEC_E_INVALID_TOKEN, SEC_E_BUFFER_TOO_SMALL or SEC_E_MESSAGE_ALTERED - error (see MDEV-13492). If the connect attempt returns on of these error codes - in mysql->net.extended_errno we will try to connect again (max. 3 times) -*/ -#define MAX_SCHANNEL_CONNECT_ATTEMPTS 3 - { - int ssl_retry= (mysql->options.use_ssl) ? MAX_SCHANNEL_CONNECT_ATTEMPTS : 1; - MYSQL *my= NULL; - while (ssl_retry) - { - if ((my= mysql->methods->db_connect(mysql, host, user, passwd, - db, port, unix_socket, client_flag | CLIENT_REMEMBER_OPTIONS))) - return my; - - switch (mysql->net.extension->extended_errno) { - case SEC_E_INVALID_TOKEN: - case SEC_E_BUFFER_TOO_SMALL: - case SEC_E_MESSAGE_ALTERED: - ssl_retry--; - break; - default: - ssl_retry= 0; - break; - } - } - if (!my && !(client_flag & CLIENT_REMEMBER_OPTIONS)) - mysql_close_options(mysql); - return my; - } -#endif } struct st_host {