summaryrefslogtreecommitdiff
path: root/vio
Commit message (Collapse)AuthorAgeFilesLines
* Merge 10.5 into 10.6Marko Mäkelä2022-04-121-1/+1
|\
| * MDEV-28255 "Error" instead of NULL in P_S.THREADS_CONNECTION_TYPE for ↵Sergei Golubchik2022-04-091-1/+1
| | | | | | | | | | | | background threads use vio_type_names[] values as in MySQL
* | Merge branch '10.5' into 10.6Oleksandr Byelkin2022-02-031-6/+7
|\ \ | |/
| * Merge branch '10.4' into 10.5Oleksandr Byelkin2022-02-011-6/+7
| |\
| | * MDEV-27373 wolfSSL 5.1.1Vladislav Vaintroub2022-01-251-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | - compile wolfcrypt with kdf.c, to avoid undefined symbols in tls13.c - define WOLFSSL_HAVE_ERROR_QUEUE to avoid endless loop SSL_get_error - Do not use SSL_CTX_set_tmp_dh/get_dh2048, this would require additional compilation options in WolfSSL. Disable it for WolfSSL build, it works without it anyway. - fix "macro already defined" Windows warning.
* | | Merge 10.5 into 10.6Marko Mäkelä2022-01-041-8/+70
|\ \ \ | |/ /
| * | Merge branch 10.4 into 10.5st-10.5-juliusJulius Goryavsky2021-12-261-12/+69
| |\ \ | | |/
| | * Merge branch 10.3 into 10.4Julius Goryavsky2021-12-251-12/+69
| | |\
| | | * Merge branch 10.2 into 10.3Julius Goryavsky2021-12-231-12/+69
| | | |\
| | | | * MDEV-27181 fixup: compatibility with Windows + small correctionsbb-10.2-MDEV-27181-fixJulius Goryavsky2021-12-171-12/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1) Removed symlinks that are not very well supported in tar under Windows. 2) Added comment + changed code formatting in viosslfactories.c 3) Fixed a small bug in the yassl code. 4) Fixed a typo in the script code.
| | | | * MDEV-27181: Galera SST scripts should use ssl_capath for CA directorybb-10.2-MDEV-27181-galeraJulius Goryavsky2021-12-141-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. Galera SST scripts should use ssl_capath (not ssl_ca) for CA directory. The current implementation tries to automatically detect the path using the trailing slash in the ssl_ca variable value, but this approach is not compatible with the server configuration. Now, by analogy with the server, SST scripts also use a separate ssl_capath variable. In addition, a similar tcapath variable has been added for the old-style configuration (in the "sst" section). 2. Openssl utility detection made more reliable. 3. Removed extra spaces in automatically generated command lines - to simplify debugging of the SST scripts. 4. In general, the code for detecting the presence or absence of auxiliary utilities has been improved - it is made more reliable in some configurations (and for shells other than bash).
| | | * | MDEV-27181: Galera SST scripts should use ssl_capath for CA directorybb-10.3-MDEV-27181-galeraJulius Goryavsky2021-12-141-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. Galera SST scripts should use ssl_capath (not ssl_ca) for CA directory. The current implementation tries to automatically detect the path using the trailing slash in the ssl_ca variable value, but this approach is not compatible with the server configuration. Now, by analogy with the server, SST scripts also use a separate ssl_capath variable. In addition, a similar tcapath variable has been added for the old-style configuration (in the "sst" section). 2. Openssl utility detection made more reliable. 3. Removed extra spaces in automatically generated command lines - to simplify debugging of the SST scripts. 4. In general, the code for detecting the presence or absence of auxiliary utilities has been improved - it is made more reliable in some configurations (and for shells other than bash).
| | * | | MDEV-27181: Galera SST scripts should use ssl_capath for CA directorybb-10.4-MDEV-27181-galeraJulius Goryavsky2021-12-141-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. Galera SST scripts should use ssl_capath (not ssl_ca) for CA directory. The current implementation tries to automatically detect the path using the trailing slash in the ssl_ca variable value, but this approach is not compatible with the server configuration. Now, by analogy with the server, SST scripts also use a separate ssl_capath variable. In addition, a similar tcapath variable has been added for the old-style configuration (in the "sst" section). 2. Openssl utility detection made more reliable. 3. Removed extra spaces in automatically generated command lines - to simplify debugging of the SST scripts. 4. In general, the code for detecting the presence or absence of auxiliary utilities has been improved - it is made more reliable in some configurations (and for shells other than bash).
| * | | | MDEV-27181: Galera SST scripts should use ssl_capath for CA directorybb-10.5-MDEV-27181-galeraJulius Goryavsky2021-12-141-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. Galera SST scripts should use ssl_capath (not ssl_ca) for CA directory. The current implementation tries to automatically detect the path using the trailing slash in the ssl_ca variable value, but this approach is not compatible with the server configuration. Now, by analogy with the server, SST scripts also use a separate ssl_capath variable. In addition, a similar tcapath variable has been added for the old-style configuration (in the "sst" section). 2. Openssl utility detection made more reliable. 3. Removed extra spaces in automatically generated command lines - to simplify debugging of the SST scripts. 4. In general, the code for detecting the presence or absence of auxiliary utilities has been improved - it is made more reliable in some configurations (and for shells other than bash).
* | | | | MDEV-27181: Galera SST scripts should use ssl_capath for CA directorybb-10.6-MDEV-27181-galeraJulius Goryavsky2021-12-141-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. Galera SST scripts should use ssl_capath (not ssl_ca) for CA directory. The current implementation tries to automatically detect the path using the trailing slash in the ssl_ca variable value, but this approach is not compatible with the server configuration. Now, by analogy with the server, SST scripts also use a separate ssl_capath variable. In addition, a similar tcapath variable has been added for the old-style configuration (in the "sst" section). 2. Openssl utility detection made more reliable. 3. Removed extra spaces in automatically generated command lines - to simplify debugging of the SST scripts. 4. In general, the code for detecting the presence or absence of auxiliary utilities has been improved - it is made more reliable in some configurations (and for shells other than bash).
* | | | | MDEV-25602 get rid of __WIN__ in favor of standard _WIN32Vladislav Vaintroub2021-06-061-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixed the MySQL bug# 20338 about misuse of double underscore prefix __WIN__, which was old MySQL's idea of identifying Windows Replace it by _WIN32 standard symbol for targeting Windows OS (both 32 and 64 bit) Not that connect storage engine is not fixed in this patch (must be fixed in "upstream" branch)
* | | | | Merge 10.5 into 10.6Marko Mäkelä2021-03-271-25/+36
|\ \ \ \ \ | |/ / / /
| * | | | Merge 10.4 into 10.5Marko Mäkelä2021-03-271-24/+35
| |\ \ \ \ | | |/ / /
| | * | | Merge 10.3 into 10.4Marko Mäkelä2021-03-271-24/+35
| | |\ \ \ | | | |/ /
| | | * | Merge 10.2 into 10.3Marko Mäkelä2021-03-271-24/+35
| | | |\ \ | | | | |/
| | | | * Cleanup - reduce duplicate code, in SSL IO error handling.bb-10.2-sysprgVladislav Vaintroub2021-03-251-23/+29
| | | | |
| | | | * MDEV-23740 postfix - potentially uninitialized variable passed to ↵Vladislav Vaintroub2021-03-241-10/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | vio_socket_io_wait. Thanks to Daniel Black for reporting.
* | | | | Merge 10.5 into 10.6Marko Mäkelä2021-03-191-0/+15
|\ \ \ \ \ | |/ / / /
| * | | | Merge 10.4 into 10.5Marko Mäkelä2021-03-191-0/+15
| |\ \ \ \ | | |/ / /
| | * | | Merge 10.3 into 10.4Marko Mäkelä2021-03-191-0/+15
| | |\ \ \ | | | |/ /
| | | * | Merge 10.2 into 10.3Marko Mäkelä2021-03-181-0/+15
| | | |\ \ | | | | |/
| | | | * MDEV-23740 - X509_R_CERT_ALREADY_IN_HASH_TABLE when establishing SSL ↵Vladislav Vaintroub2021-03-151-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | connection connection. Ignore harmless X509_R_CERT_ALREADY_IN_HASH_TABLE, similar to how Curl or other projects treat it.
* | | | | MDEV-23238 - remove async client from server code.Vladislav Vaintroub2020-09-012-116/+36
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | It is already in libmariadb, and server (also that client in server) does not need it. It does not work in embedded either since it relies on non-blocking sockets
* | | | Merge 10.4 into 10.5Marko Mäkelä2020-08-102-3/+14
|\ \ \ \ | |/ / /
| * | | Merge 10.3 into 10.4Marko Mäkelä2020-08-102-3/+14
| |\ \ \ | | |/ /
| | * | MDEV-23348 vio_shutdown does not prevent later ReadFile on named pipeVladislav Vaintroub2020-08-032-4/+14
| | | | | | | | | | | | | | | | | | | | Introduce st_vio::shutdown_flag to be checked prior to Read/WriteFile and during wait for async.io to finish.
* | | | Merge 10.4 into 10.5Marko Mäkelä2020-08-013-9/+27
|\ \ \ \ | |/ / /
| * | | Merge 10.3 into 10.4Marko Mäkelä2020-07-313-9/+27
| |\ \ \ | | |/ /
| | * | MDEV-21101 unexpected wait_timeout with pool-of-threadsVladislav Vaintroub2020-07-303-9/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Due to restricted size of the threadpool, execution of client queries can be delayed (queued) for a while. This delay was interpreted as client inactivity, and connection is closed, if client idle time + queue time exceeds wait_timeout. But users did not expect queue time to be included into wait_timeout. This patch changes the behavior. We don't close connection anymore, if there is some unread data present on connection, even if wait_timeout is exceeded. Unread data means that client was not idle, it sent a query, which we did not have time to process yet.
* | | | Merge 10.4 into 10.5Marko Mäkelä2020-06-181-2/+2
|\ \ \ \ | |/ / /
| * | | MDEV-22917 wolfssl might crash at startup when both SSL and encryption ↵Vladislav Vaintroub2020-06-171-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | plugin are enabled Make sure to initialize SSL early enough, when encryption plugins is loaded
* | | | Merge 10.4 into 10.5Marko Mäkelä2020-05-051-1/+1
|\ \ \ \ | |/ / /
| * | | Merge 10.3 into 10.4Marko Mäkelä2020-05-051-1/+1
| |\ \ \ | | |/ /
| | * | Merge branch '10.2' into 10.3Oleksandr Byelkin2020-05-041-1/+1
| | |\ \ | | | |/
| | | * Merge branch '10.1' into 10.2Oleksandr Byelkin2020-05-021-1/+1
| | | |\
| | | | * vio: typo on sock{et}_errno in commentDaniel Black2020-04-291-1/+1
| | | | |
| | | * | Fix warning when compiling with OpenSSL.Vladislav Vaintroub2019-09-091-1/+1
| | | | |
| * | | | Do not compile socket IO code in WolfSSLVladislav Vaintroub2019-07-281-0/+4
| | | | | | | | | | | | | | | | | | | | We use own IO callbacks from server code anyway.
* | | | | perfschema socket instrumentation related changesSergei Golubchik2020-03-101-0/+20
| | | | |
* | | | | perfschema memory related instrumentation changesSergei Golubchik2020-03-103-4/+32
| | | | |
* | | | | Fixed issues when running mtr with --valgrindMonty2019-08-231-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Note that some issues was also fixed in 10.2 and 10.4. I also fixed them here to be able to continue with making 10.5 valgrind safe again - Disable connection threads warnings when doing shutdown
* | | | | Do not compile socket IO code in WolfSSLVladislav Vaintroub2019-07-041-0/+4
|/ / / / | | | | | | | | | | | | We use own IO callbacks from server code anyway.
* | | | MDEV-14101 Provide an option to select TLS protocol versionGeorg Richter2019-06-171-7/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Server and command line tools now support option --tls_version to specify the TLS version between client and server. Valid values are TLSv1.0, TLSv1.1, TLSv1.2, TLSv1.3 or a combination of them. E.g. --tls_version=TLSv1.3 --tls_version=TLSv1.2,TLSv1.3 In case there is a gap between versions, the lowest version will be used: --tls_version=TLSv1.1,TLSv1.3 -> Only TLSv1.1 will be available. If the used TLS library doesn't support the specified TLS version, it will use the default configuration. Limitations: SSLv3 is not supported. The default configuration doesn't support TLSv1.0 anymore. TLSv1.3 protocol currently is only supported by OpenSSL 1.1.0 (client and server) and GnuTLS 3.6.5 (client only). Overview of TLS implementations and protocols Server: +-----------+-----------------------------------------+ | Library | Supported TLS versions | +-----------+-----------------------------------------+ | WolfSSL | TLSv1.1, TLSv1,2 | +-----------+-----------------------------------------+ | OpenSSL | (TLSv1.0), TLSv1.1, TLSv1,2, TLSv1.3 | +-----------+-----------------------------------------+ | LibreSSL | (TLSv1.0), TLSv1.1, TLSv1,2, TLSv1.3 | +-----------+-----------------------------------------+ Client (MariaDB Connector/C) +-----------+-----------------------------------------+ | Library | Supported TLS versions | +-----------+-----------------------------------------+ | GnuTLS | (TLSv1.0), TLSv1.1, TLSv1.2, TLSv1.3 | +-----------+-----------------------------------------+ | Schannel | (TLSv1.0), TLSv1.1, TLSv1.2 | +-----------+-----------------------------------------+ | OpenSSL | (TLSv1.0), TLSv1.1, TLSv1,2, TLSv1.3 | +-----------+-----------------------------------------+ | LibreSSL | (TLSv1.0), TLSv1.1, TLSv1,2, TLSv1.3 | +-----------+-----------------------------------------+
* | | | MDEV-18531 : Use WolfSSL instead of YaSSL as "bundled" SSL/encryption libraryVladislav Vaintroub2019-05-223-52/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Add new submodule for WolfSSL - Build and use wolfssl and wolfcrypt instead of yassl/taocrypt - Use HAVE_WOLFSSL instead of HAVE_YASSL - Increase MY_AES_CTX_SIZE, to avoid compile time asserts in my_crypt.cc (sizeof(EVP_CIPHER_CTX) is larger on WolfSSL)
* | | | Merge branch '10.3' into 10.4Oleksandr Byelkin2019-05-1913-13/+13
|\ \ \ \ | |/ / /