1
0
mirror of https://github.com/mariadb-corporation/mariadb-connector-c.git synced 2025-08-07 02:42:49 +03:00

96 Commits

Author SHA1 Message Date
Georg Richter
b241f8995f MDEV-14101: tls-version
Client part of MDEV-14101: Add support for tls-version, via
mysql_options(mysql, MARIADB_OPT_TLS_VERSION, value)
Accepted values are "TLSv1.1", "TLSv1.2" and "TLSv1.3".

Fixed testcase openssl_1 for schannel
2017-10-23 11:09:54 +02:00
Georg Richter
abf4bf8024 Provide details about TLS/SSL library in use
When calling mariadb_get_infov with option MARIADB_TLS_LIBRARY
the functioni now returns the correct version number and name
of the tls/ssl library in use.
2017-10-17 15:57:42 +02:00
Georg Richter
3b297e08c9 Revert "MDEV-14027: Determine TLS/SSL library version"
This reverts commit 7b02cbb721.
2017-10-15 09:30:24 +02:00
Georg Richter
7b02cbb721 MDEV-14027: Determine TLS/SSL library version 2017-10-15 06:07:54 +02:00
Georg Richter
273ea1fc6d Fix for MDEV-13317: PHP5 crashes
Added check if callback functions for crypto locking were already registered.
2017-07-18 16:19:28 +02:00
Georg Richter
4db860e82a Fix for MDEV-12763: Don't use deprecated API calls with OpenSSL 1.1 2017-05-10 13:28:25 +02:00
Georg Richter
d2aec415d7 Minor fixes:
fixed compiler warnings in openssl.c and dialog.c
  fixed timeout setting (was wrong in a previous commit)
  disabled session tracking test
2017-05-09 16:40:09 +02:00
Georg Richter
a86b36d08f CONC-250: SSL hostname verification for SubjectAltNames
Add hostname verification for SAN (OpenSSL)
2017-05-08 13:55:21 +02:00
Georg Richter
4a55a6d461 Fixes for LibreSSL 2017-02-12 20:19:18 +01:00
Georg Richter
6655a8194e Remove unused include file
remove link to mariadbclient library
2017-01-21 19:36:16 +01:00
Georg Richter
097cd8415d removed MY_MUTEX_INIT_FAST due to build errors 2017-01-12 17:44:28 +01:00
Georg Richter
65d2c41921 CONC-224: Allow to build Connector/C without TLS/SSL support.
- CMake option -DWITH_SSL=OFF disables TLS/SSL support for connector/c
- Fixed warning when building with OpenSSL 1.1.0c
2017-01-11 15:17:53 +01:00
Georg Richter
413b8bcba2 Build fix for OpenSSL_1.1
Fixed connection error message on windows (deliver correct error code)
2016-12-13 12:39:32 +01:00
Georg Richter
7a1e3a699d - Fixed crash in prepared statement: Indicator variable should be checked only if we are in bulk operation mode (=stmt->array_size > 0 and bulk is supported by server
- Added new api function mysql_get_server_status, so client applications no longer need to access members of the mysql structure
2016-12-10 14:09:53 +01:00
Georg Richter
967b2830d8 renamed ma_errmsg.h back to errmsg.h 2016-11-16 18:13:59 +01:00
Georg Richter
468cda3cfb Fixed compilation errors introduced by 629ec646303.. 2016-10-18 10:53:31 +02:00
Georg Richter
c20974b039 - removed global context for tls, so code can be used also with no yassl branch in 10.2
- added new gnutls cipher mapping
- fixed ssl test case: skip hostname verification if both server and client run on localhost
- added server certificates
2016-10-17 16:02:51 +02:00
Georg Richter
9b436eaaf7 TLS fixes:
- don't use password in global context
  - load keys and certs via callback functions
  - don't use gnutls_bye since server is not able to detect dead socket
  - fixed valgrind errors in gnutls
2016-09-13 16:12:34 +02:00
Georg Richter
9f88e25fd6 Compiler warning fixes 2016-09-03 12:46:50 +02:00
Georg Richter
256dc4b511 Disable BIO methods for read/write by default 2016-08-09 14:15:37 +02:00
Georg Richter
dd9ebcf56a - Fixed license header
- More OpenSSL 1.1 fixes
2016-08-05 07:39:10 +02:00
Georg Richter
ba0ed073fd Implemented read/write bio functions, so we don't need sigpipe handler anymore. 2016-07-07 14:44:19 +02:00
Georg Richter
da38af3d61 Fixes for OpenSSL 1.1.0 2016-07-04 09:11:30 +02:00
Georg Richter
45a635dead Fixed compiler warnings
removed latest test for ssl threads (test.c)
2016-06-29 15:22:01 +02:00
Georg Richter
26d31929d4 several fixes for mariadb_stmt_execute_direct:
- allow param binding via mysql_stmt_attr_set:
  mysql_stmt_attr_set(stmt, STMT_ATTR_PREBIND_PARAMS, &param_count);
- If a prepared statement will be reexecuted, we send COM_STMT_CLOSE
  together with COM_STMT_PREPARE and COM_STMT_EXECUTE
2016-06-18 14:07:28 +02:00
Georg Richter
4fd0ad4cbd Fix for CONC-190 (ported from 2.2 branch) 2016-06-04 09:00:20 +02:00
Vladislav Vaintroub
7496789f10 Fix openssl sigpipe correctly, move signal handler to openssl.c 2016-05-31 14:24:55 +02:00
Georg Richter
bea035a72b - Unittests: link static library instead of dynamic
- TLS/SSL: renamed HAVE_SSL to HAVE_TLS to avoid trouble in
  10.2-integration
- Fixed wrong timeout in non-blocking mode
- Fixed valgrind error in prepared statement
2016-03-28 10:29:55 +02:00
Georg Richter
d78cba3013 Merge branch 'master' of https://github.com/MariaDB/mariadb-connector-c 2016-03-16 18:21:09 +01:00
Georg Richter
4b1e94bccc Since we use TLS and not SSL functions and structures were renamed
from SSL to TLS
2016-03-16 18:20:08 +01:00
Vladislav Vaintroub
8bf85da380 Fix build errors on Solaris 10 with gcc 3.4.3 2016-03-15 18:52:29 +01:00
Georg Richter
cc0c34554d - Fixes for 10.2-integration
- As requested by Wlad we use connect timeout for read/write unless
    the connection was established.
- Added experimental session cache support for OpenSSL. It's currently
  disabled
2016-03-08 17:08:01 +01:00
Vladislav Vaintroub
c67bb51c8d Fix openssl detection and compile errors for old openssl versions 2016-03-01 15:27:22 +01:00
Georg Richter
c433c30271 Added session ticket support for OpenSSL (experimental)
Build fixes:
  - Build requires OpenSSL v. 1.0.1 or higher
  - Fixed win64 build (missing target properties for static lib)
2016-03-01 13:37:55 +01:00
Georg Richter
8620b754ea Added missing error messages for wrong protocol
moved connection handler into net->extension (ABI break)
2016-02-23 13:50:14 +01:00
Georg Richter
85525c2ba7 Merge remote-tracking branch 'origin/3.1' 2016-02-16 17:40:03 +01:00
Georg Richter
509b948e7d SSL fixes:
- added MARIADB_OPT_SSL_CIPHER_STRENGTH (value uint) for Schannel
- fixed mutes in all ssl variants
2016-02-16 13:04:16 +01:00
Georg Richter
4ca933bb81 Global cleanup:
removed global locks
  removed dead code and files
  removed dbug
2016-02-08 18:43:02 +01:00
Georg Richter
c5ca735dd3 Renamed prefixes for 10.2 integration 2016-02-02 12:12:04 +01:00
Georg Richter
f62a2e0270 Fixed several memory leaks in ma_ssl.c 2016-01-07 13:23:28 +01:00
Georg Richter
d73e4c23a2 Added new API function mysql_get_info/mysql_get_infov which retrieves
global or connection dependent information:

mysql_get_infov(MYSQL *mysql, enum mariadb_value value, void *arg, ...)

the following value types are supported:
    MARIADB_CHARSET_ID (requires numeric 4th parameter)
    MARIADB_CHARSET_INFO (requires string 4th parameter)
    MARIADB_CHARSET_NAME
    MARIADB_CLIENT_ERRORS
    MARIADB_CLIENT_VERSION
    MARIADB_CLIENT_VERSION_ID
    MARIADB_CONNECTION_ASYNC_TIMEOUT
    MARIADB_CONNECTION_ASYNC_TIMEOUT_MS
    MARIADB_CONNECTION_HOST
    MARIADB_CONNECTION_INFO
    MARIADB_CONNECTION_PORT
    MARIADB_CONNECTION_PROTOCOL_VERSION_ID
    MARIADB_CONNECTION_PVIO_TYPE
    MARIADB_CONNECTION_SCHEMA
    MARIADB_CONNECTION_SERVER_TYPE
    MARIADB_CONNECTION_SERVER_VERSION
    MARIADB_CONNECTION_SERVER_VERSION_ID
    MARIADB_CONNECTION_SOCKET
    MARIADB_CONNECTION_SSL_CIPHER
    MARIADB_CONNECTION_SSL_VERSION
    MARIADB_CONNECTION_SSL_VERSION_ID
    MARIADB_CONNECTION_TYPE
    MARIADB_CONNECTION_UNIX_SOCKET
    MARIADB_CONNECTION_USER
    MARIADB_MAX_ALLOWED_PACKET
    MARIADB_NET_BUFFER_LENGTH

MARIADB_CONNECTION prefix indicates that a valid connection handle has
to be passed as first parameter.
2015-12-28 07:32:53 +01:00
Georg Richter
cbf0226552 Fix for MDEV-9212 (manually merged from 2.2 branch)
Added support for CMake >= 3.0
2015-12-08 19:08:48 +01:00
Georg Richter
32f1903f97 Added new option MARIADB_OPT_SSL_PASSWORD which allows use of
decrypted client certificate (private key only).
Currently this option is supported by GnuTLS and OpenSSL only
2015-11-13 12:41:29 +01:00
Georg Richter
7500f37150 - Renamed cio to pvio (pluggable virtual IO)
- minor fixes in windows schannel
2015-10-27 10:24:48 +01:00
Georg Richter
4597cd6a80 Various ssl and schannel fixes 2015-09-10 17:16:21 +02:00
Georg Richter
23895fbd4f Fixed gnutls support 2015-08-13 14:01:33 +02:00