summaryrefslogtreecommitdiff
path: root/sql-common/client.c
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch '10.0' into 10.1Sergei Golubchik2016-08-251-1/+4
|\
| * MDEV-10559: main.mysql_client_test_nonblock crashes in buildbot on 10.0Oleksandr Byelkin2016-08-161-1/+2
| | | | | | | | fix for async operations
| * MDEV-10455: libmariadbclient18 + MySQL-python leaks memory on failed connectionsOleksandr Byelkin2016-08-111-1/+3
| | | | | | | | Support of CLIENT_REMEMBER_OPTIONS and freeing options added.
* | Merge branch '10.0' into 10.1Sergei Golubchik2016-06-281-15/+31
|\ \ | |/
| * Merge branch '5.5' into bb-10.0Sergei Golubchik2016-06-211-15/+31
| |\
| | * Merge branch 'mysql/5.5' into 5.5Sergei Golubchik2016-06-141-4/+18
| | |\
| | | * Bug#21920657: SSL-CA FAILS SILENTLY IF THE PATH CANNOT BEArun Kuruvila2016-03-011-4/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FOUND Description:- Failure during the validation of CA certificate path which is provided as an option for 'ssl-ca' returns two different errors for YaSSL and OPENSSL. Analysis:- 'ssl-ca', option used for specifying the ssl ca certificate path. Failing to validate this certificate with OPENSSL returns an error, "ERROR 2026 (HY000): SSL connection error: SSL_CTX_set_default_verify_paths failed". While YASSL returns "ERROR 2026 (HY000): SSL connection error: ASN: bad other signature confirmation". Error returned by the OPENSSL is correct since "SSL_CTX_load_verify_locations()" returns 0 (in case of OPENSSL) for the failure and sets error as "SSL_INITERR_BAD_PATHS". In case of YASSL, "SSL_CTX_load_verify_locations()" returns an error number which is less than or equal to 0 in case of error. Error numbers for YASSL is mentioned in the file, 'extra/yassl/include/openssl/ssl.h'(line no : 292). Also 'ssl-ca' does not accept tilde home directory path substitution. Fix:- The condition which checks for the error in the "SSL_CTX_load_verify_locations()" is changed in order to accommodate YASSL as well. A logic is written in "mysql_ssl_set()" in order accept the tilde home directory path substitution for all ssl options.
* | | | Merge branch '10.0' into 10.1Sergei Golubchik2016-02-231-32/+57
|\ \ \ \ | |/ / /
| * | | Merge branch '5.5' into 10.0Sergei Golubchik2016-02-151-32/+57
| |\ \ \ | | |/ /
| | * | Merge branch 'mysql/5.5' into 5.5Sergei Golubchik2016-02-091-32/+57
| | |\ \ | | | |/ | | | | | | | | | | | | reverted about half of commits as either not applicable or outright wrong
| | | * Bug #22295186: CERTIFICATE VALIDATION BUG IN MYSQL MAY ALLOW MITMYashwant Sahu2016-01-111-26/+64
| | | |
| * | | Merge MDEV-9112 into 10.0Kristian Nielsen2016-02-011-0/+1
| |\ \ \ | | |/ / | | | | | | | | | | | | Conflicts: configure.cmake
* | | | Merge MDEV-9112 into 10.1Kristian Nielsen2016-02-011-0/+1
|\ \ \ \ | | |/ / | |/| | | | | | | | | | | | | | Conflicts: config.h.cmake configure.cmake
| * | | MDEV-9112: Non-blocking client API missing on non-x86 platformsGeorg Richter2016-02-011-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The check for UCONTEXT in cmake was somehow become broken, disabling the fallback to ucontext. This caused the non-blocking client API to not be available for non-x86 platforms, on which no hand-crafted assembler implementation of my_context is available.
* | | | Merge branch '10.0' into 10.1Sergei Golubchik2015-12-211-27/+28
|\ \ \ \ | | |/ / | |/| |
| * | | Merge branch '5.5' into 10.0Sergei Golubchik2015-12-131-27/+28
| |\ \ \ | | |/ /
| | * | MDEV-9212 ssl-validate-cert incorrect hostname checkSergei Golubchik2015-12-081-27/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Reimplement ssl_verify_server_cert() using the logic from https://wiki.openssl.org/index.php/Hostname_validation The bug was discovered by Alex Gaynor.
| * | | Fixed compiler warningsMonty2015-11-231-4/+0
| | | |
* | | | compilation warningSergei Golubchik2015-11-191-4/+0
| | | |
* | | | Merge branch '10.0' into 10.1Sergei Golubchik2015-11-191-185/+4
|\ \ \ \ | |/ / /
| * | | MDEV-9041 connect-timeout has no effect on WindowsVladislav Vaintroub2015-11-051-185/+4
| | | | | | | | | | | | | | | | | | | | Replaced my_connect() with cross-plattform, timeout aware vio_socket_connect() function
* | | | MDEV-6152: Remove calls to current_thd while creating ItemMonty2015-09-011-1/+1
| | | | | | | | | | | | | | | | | | | | Part 5: Removing calls to current_thd in net_read calls, creating fields, query_cache, acl and some other places where thd was available
* | | | Merge tag 'mariadb-10.0.20' into 10.1Sergei Golubchik2015-06-271-7/+19
|\ \ \ \ | |/ / /
| * | | Merge branch '5.5' into 10.0Sergei Golubchik2015-06-111-7/+19
| |\ \ \ | | |/ /
| | * | MDEV-7937: Enforce SSL when --ssl client option is usedVicențiu Ciorbaru2015-06-091-4/+19
| | | | | | | | | | | | | | | | | | | | | | | | Using --ssl-verify-server-cert and --ssl[-*] implies that the ssl connection is required. The mysql client will now print an error if ssl is required, but the server can not handle a ssl connection.
* | | | Merge tag 'mariadb-10.0.19' into 10.1Sergei Golubchik2015-06-011-2/+10
|\ \ \ \ | |/ / /
| * | | Merge branch '5.5' into 10.0Sergei Golubchik2015-05-041-2/+10
| |\ \ \ | | |/ /
| | * | MDEV-7859 SSL hostname verification fails for long subject namesSergei Golubchik2015-04-271-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't use a fixed buffer for X509_NAME_oneline() in the client. Do as the server does - allocate it dynamically. For a test - regenerate certificates to have the server cert with a long subject.
* | | | MDEV-6650 - LINT_INIT emits code in non-debug buildsSergey Vojtovich2015-03-161-2/+1
| | | | | | | | | | | | | | | | | | | | Replaced all references to LINT_INIT with UNINIT_VAR and LINT_INIT_STRUCT. Removed LINT_INIT macro.
* | | | Merge branch '10.0' into 10.1Sergei Golubchik2015-03-071-2/+2
|\ \ \ \ | |/ / /
| * | | Merge branch '5.5' into 10.0Sergei Golubchik2015-02-181-2/+2
| |\ \ \ | | |/ /
| | * | Merge remote-tracking branch 'mysql/5.5' into bb-5.5-merge @ mysql-5.5.42Sergei Golubchik2015-02-111-2/+2
| | |\ \ | | | |/
| | | * Bug#17599258:- ERROR 1160 (08S01): GOT AN ERROR WRITINGArun Kuruvila2014-11-101-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | COMMUNICATION PACKETS; FEDERATED TABLE Description:- Execution of FLUSH TABLES on a federated table which has been idle for wait_timeout (on the remote server) + tcp_keepalive_time, fails with an error, "ERROR 1160 (08S01): Got an error writing communication packets." Analysis:- During FLUSH TABLE execution the federated table is closed which will inturn close the federated connection. While closing the connection, federated server tries to communincate with the remote server. Since the connection was idle for wait_timeout(on the remote server)+ tcp_keepalive_time, the socket gets closed. So this communication fails because of broken pipe and the error is thrown. But federated connections are expected to reconnect silently. And also it cannot reconnect because the "auto_reconnect" variable is set to 0 in "mysql_close()". Fix:- Before closing the federated connection, in "ha_federated_close()", a check is added which will verify wheather the connection is alive or not. If the connection is not alive, then "mysql->net.error" is set to 2 which will indicate that the connetion is broken. Also the setting of "auto_reconnect" variable to 0 is delayed and is done after "COM_QUIT" command. NOTE:- For reproducing this issue, "tcp_keepalive_time" has to be set to a smaller value. This value is set in the "/proc/sys/net/ipv4/tcp_keepalive_time" file in Unix systems. So we need root permission for changing it, which can't be done through mtr test. So submitting the patch without mtr test.
| | | * Bug #18384260: MULTIPLE SECURITY ISSUES IN CERTIFICATE VALIDATIONGeorgi Kodinov2014-07-311-0/+6
| | | | | | | | | | | | | | | | | | | | the 5.5 version of the fix. Added a call to X509_verify_cert_error_string() into the client certificate verification code.
| | | * Bug #18053212 MYSQL_GET_SERVER_VERSION() CALL WITHOUT A VALID CONNECTION ↵Igor Solodovnikov2014-04-171-6/+16
| | | | | | | | | | | | | | | | | | | | | | | | RESULTS IN SEG FAULT When there is no connection mysql_get_server_version() will return 0 and report CR_COMMANDS_OUT_OF_SYNC error.
| | | * Bug #17297012 MEMORY LEAK IN MYSQL_OPTIONS WHILE CALLING WITH OPTION ↵Igor Solodovnikov2013-08-301-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MYSQL_SET_CLIENT_IP Memory Leak in mysql_options() was caused by missing call to my_free() in MYSQL_SET_CLIENT_IP branch. Fixed by adding my_free() to cleanup mysql->options.client_ip value before assigning new value.
| | | * Bug #16680313: CLIENT DOESN'T READ PLUGIN-DIR FROM MY.CNF SET BYGeorgi Kodinov2013-04-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | MYSQL_READ_DEFAULT_FILE Parsing of the plugin-dir config file option was not working due to a typo. Fixed the typo. No test case can be added due to lack of support for defaults-exitra-file testing in mysql-test-run.pl. Thanks to Sinisa for contributing the fix.
| | | * Fix for Bug 16395495 - OLD FSF ADDRESS IN GPL HEADERMurthy Narkedimilli2013-03-191-1/+1
| | | |
| | | * Merge of patch for bug#14685362 from mysql-5.1.Nirbhay Choubey2013-03-181-0/+2
| | | |\
| | | * | Bug #12910665: AUTH-PLUGIN-DATA-LEN NOT TESTED FOR VALIDITY BY THE Georgi Kodinov2012-06-291-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | CLIENT Added a check for a negative second part of the scramble length.
| | | * | fixed a missing breakGeorgi Kodinov2012-07-051-0/+1
| | | | |
| | | * | Bug #12998841: libmysql divulges plaintext password upon request in 5.5Georgi Kodinov2012-07-051-9/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. Clear text password client plugin disabled by default. 2. Added an environment variable LIBMYSQL_ENABLE_CLEARTEXT_PLUGIN, that when set to something starting with '1', 'Y' or 'y' will enable the clear text plugin for all connections. 3. Added a new mysql_options() option : MYSQL_ENABLE_CLEARTEXT_PLUGIN that takes an my_bool argument. When the value of the argument is non-zero the clear text plugin is enabled for this connection only. 4. Added an enable-cleartext-plugin config file option that takes a numeric argument. If the numeric value of the numeric argument is non-zero the clear text plugin is enabled for the connection 5. Added a boolean command line option "--enable_cleartext_plugin" to mysql, mysqlslap and mysqladmin. When specified it will call mysql_options with the effect of #3 6. Added a new CLEARTEXT option to the connect command in mysqltest. When specified it will enable the cleartext plugin for usage. 7. Added test cases and updated existing ones that need the clear text plugin.
| | | * | merge bug#13708485 5.1->5.5Georgi Kodinov2012-06-291-3/+12
| | | |\ \ | | | | |/
| | | | * Bug #13708485: malformed resultset packet crashes clientGeorgi Kodinov2012-06-281-3/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Several fixes : * sql-common/client.c Added a validity check of the fields metadata packet sent by the server. Now libmysql will check if the length of the data sent by the server matches what's expected by the protocol before using the data. * client/mysqltest.cc Fixed the error handling code in mysqltest to avoid sending new commands when the reading the result set failed (and there are unread data in the pipe). * sql_common.h + libmysql/libmysql.c + sql-common/client.c unpack_fields() now generates a proper error when it fails. Added a new argument to this function to support the error generation. * sql/protocol.cc Added a debug trigger to cause the server to send a NULL insted of the packet expected by the client for testing purposes.
| | | * | Updated/added copyright headersKent Boortz2011-06-301-1/+1
| | | |\ \ | | | | |/
| | | | * Updated/added copyright headersKent Boortz2011-06-301-2/+4
| | | | |\
| | | | | * Updated/added copyright headersKent Boortz2011-06-301-2/+3
| | | | | |
| | | * | | Bug#11745920/Bug#21287: "SSL connection error" is not helpful! ↵Tatjana Azundris Nuernberg2011-05-191-11/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (ssl-verify-server-cert=true vs localhos) SSL errors on client and now more specific to aid end-user with debugging. Also restructures error handling for compliance with SSL docs.
| | | * | | Bug#11766631 (59780) - Move the client authentication_windows pluginRafal Somla2011-04-281-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into the server repository This patch adds client windows authentication plugin code to the client library libmysql (only on Windows platform). The plugin is compiled into the library and added to the list of built-in plugins. This way clients should be able to connect to a server which uses windows authentication plugin even as an SQL user which uses such authentication. Note: this makes the client library to depend on Secur32 Windows system library. When building clients, they must be linked against Secur32. Command mysql_config --libs correctly lists Secur32 as a required dependency.
| | | * | | Fix for BUG#59894Guilhem Bichot2011-02-111-5/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | "set optimizer_switch to e or d causes invalid memory writes/valgrind warnings": due to prefix support, the argument "e" was overwritten with its full value "engine_condition_pushdown", which caused a buffer overrun. This was wrong usage of find_type(); other wrong usages are fixed here too. Please start reading with the comment of typelib.c.