Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix schannel and other socket io bugs on Windows.
- Fix a breaking change where SP_PROT_TLS1_2_CLIENT bit was set in Cred.grbitEnabledProtocols by default. This makes any SSL connection to Windows server fai, because all yassl-based servers, in all MariaDB versions would abort a client that is trying to use TLS1.2 (This is covered MDEV-12190) As a consequence, client on Windows would not connect to any server on Windows. For compatibility reasons therefore, 1.2 should NOT be used by clients by default, otherwise it will break applications connectivity to both Oracle MySQL and MariaDB's yassl based servers. This also holds after MDEV-12190 is fixed, because older servers will be used for a while. - Cred.dwFlag was missing SCH_CRED_NO_DEFAULT_CREDS flag, which resulted in a popup on the build servers, asking to insert a smartcard during client SSL handshake. Smaller bugs in schannel : cipher_name() was returning pointer to member of stack allocated struct Socket IO fixes - errno rather than WSAGetLastError() was tested on Windows in pvio_socket_write/pvio_socket_read. Fixed by using socker_errno and simplided function to avoid numerious #ifdef _WIN32 - simplified vio_set_blocking, it had a rather inefficient implementation setting the same flags with ioctlsocket/fcntl over and over again.
- Loading branch information
Showing
3 changed files
with
82 additions
and
87 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters