Commit Graph

209 Commits

Author SHA1 Message Date
e5d9abbdcb Fixes to Coverity defects. 2015-06-25 06:01:33 +03:00
80d130ef0c Fixed dcb_write_SSL being called multiple times on failure. 2015-06-24 15:05:04 +03:00
484781a463 More error logging for SSL connections. 2015-06-24 14:46:46 +03:00
067a62b240 Added more error logging to dcb_write_SSL. 2015-06-24 14:34:46 +03:00
0f199d924f Removed unnecessary call to SSL_get_error from dcb_accept_SSL. 2015-06-24 12:56:22 +03:00
da987e895a Merge branch 'MXS-212' into develop 2015-06-23 17:11:23 +03:00
c42d3d9f7a Added missing NULL checks. 2015-06-23 17:05:31 +03:00
abf39303d7 Fixed the wrong value being returned form dcb_read_SSL. 2015-06-23 16:20:26 +03:00
dc43a7d9da Removed unnecessary code from dcb_close and dcb_set_state_nomutex. 2015-06-23 11:25:59 +03:00
e14b29baf9 Fix to MXS-212: https://mariadb.atlassian.net/browse/MXS-212
The listener DCB is now properly closed instead of just being removed from the poll set.
2015-06-21 12:51:54 +03:00
9b0a5f1328 Added more comments. 2015-06-15 16:16:48 +03:00
f602121459 Added configurable SSL certificate verification depth and updated the documentation in the code. 2015-06-12 21:21:06 +03:00
5936916e04 Merge branch 'develop' into MXS-129 2015-06-12 13:53:41 +03:00
68d5054afe dcb_alloc now explicitly sets the server and service pointers to NULL. 2015-06-11 21:00:07 +03:00
1c68a9a872 Fixed dcb_connect_SSL calling SSL_connect again after a successful connection was already made. 2015-06-11 15:54:09 +03:00
bb427128a9 Fixed successful SSL_accept calls causing another call to SSL_accept. 2015-06-11 12:00:03 +03:00
de2910f75b Fixed SSL_accept failing if the GWBUF with the initial MySQL auth packet contains some of the SSL authentication data. 2015-06-09 22:27:15 +03:00
196d41cb88 More debug output. 2015-06-09 20:02:45 +03:00
1ad1a31ed7 Fixed the OpenSSL error stack being printed wrong. 2015-06-09 17:18:25 +03:00
06c5da7b17 Minor fix to SSL authentication. 2015-06-09 02:56:55 +03:00
1c36cfb285 Added more debug output. 2015-06-08 18:04:43 +03:00
b8e55fe28d Fixed SSL_accept failing when more data was in the socket buffer than was used. 2015-06-07 12:45:08 +03:00
d19ccc6f84 Fixed SSL_ERROR_WANT_READ, SSL_ERROR_WANT_WRITE and SSL_ERROR_NONE causing a debug assert. 2015-06-05 20:36:04 +03:00
1989a1482c Fixed empty reads causing a debug assert with large packets. 2015-06-05 19:40:09 +03:00
61b1f34671 Added more descriptive debug output. 2015-06-05 18:52:44 +03:00
518ef5050e Fixed debug asserts. 2015-06-05 12:15:19 +03:00
e83799648a Fixed queries getting stuck when the SSL records were of the maximum allowed size. 2015-06-05 11:00:51 +03:00
cc1f720ea3 Removed log flushing on every dcb_read_SSL if debug log is enabled. 2015-06-04 21:12:16 +03:00
ce570685cd Moved assertions around. 2015-06-04 19:31:58 +03:00
dceccce2ef Changed gwbuf_length function to GWBUF_LENGTH macro in dcb_read_SSL. 2015-06-04 16:52:43 +03:00
a033cbf200 Added more informative error messages when SSL handshake fails. 2015-06-03 14:14:05 +03:00
a5de4fc503 Merge branch 'develop' into MXS-129 2015-06-02 12:21:05 +03:00
fc8918b1f2 Added a dcb_connect_SSL function which starts a client SSL connection. 2015-06-02 09:15:08 +03:00
d7232d8b6e Moved SSL structure to the DCB instead of the MySQL protocol.
This allows for non-MySQL SSL connections.
2015-06-01 20:51:26 +03:00
a2768955e7 SSL handshake now successfully completes when a client connects with SSL enabled. 2015-06-01 13:50:22 +03:00
0f814d3e73 Added SSL write and read functions. 2015-05-29 13:00:37 +03:00
fec1e66a5c Add comment for parameter, correct spelling in comment. 2015-05-12 11:53:11 +01:00
1b0fd4576a Merge branch 'maxinfo' into develop
Conflicts:
	server/core/service.c
	server/core/session.c
	server/include/session.h
2015-03-04 11:33:00 +02:00
aa4932bf2d Moved the housekeeper heartbeat to a separate header for ease of integration.
This keeps the behavior the same but allows the heartbeat to be used as a crude timer
without including everything the housekeeper.h header includes.

Moved the protocol level updates on the DCBs last_read value into dcb_read.
This keeps the implementation nice and compact.
2015-02-24 05:00:16 +02:00
8eb14235d1 Addition of DCB and Poll statistics in show status output 2015-02-20 10:05:50 +00:00
8e941f7523 Addition of the MaxInfo filter and the generic MaxScale resultset 2015-02-18 17:25:13 +00:00
da029140cd dcb_call_foreach now only calls the callbacks for those DCBs that are connected to the server. 2015-02-18 05:36:39 +02:00
98cbc34c6c Fix for bug #714
Fix for bug #714
2015-02-06 11:26:48 +01:00
270c0ebf8a Clean up, added comments, removed some dead code. 2015-01-27 10:24:37 +02:00
b3824a1eaf Clean up bits and pieces, removed some unnecessary checks. 2015-01-14 14:11:19 +02:00
f4f537a3e2 Fix to bug #673, http://bugs.skysql.com/show_bug.cgi?id=673
dcb.c:dcb_hashtable_stats:division by zero
hashtable.c:hashtable_get_stats: NULL-pointer reference
service.c:serviceStartPort:set service->users NULL to avoid referring to freed memory
users.c:dcb_usersPrintf: NULL-pointer reference
debugcmd.c:convert_arg: changed return value to 1 in case of error, 0 (==NULL) is valid but it indicates that there are no users loaded.
	execute_cmd: fixed command handling
2014-12-31 21:06:28 +02:00
073db0f1e2 Added checks that the query was cloned in clientReply before waiting for a reply. 2014-12-30 23:05:13 +02:00
e6607dca40 tee.c:
Added clientReply and setUpstream entry points
    Tee filter now waits for the branch session to be replied to and if the reply isn't received in five seconds it closes the branch session.
dcb.h:
    Added the DCBF_REPLIED flag that is currently only set in dcb_null_write
dcb.c:
    The DCBF_REPLIED flag is now set in dcb_null_write
2014-12-30 17:40:47 +02:00
2c2d6f8b66 Clean up. Removed dead code and added comments. 2014-12-30 10:05:13 +02:00
635fcf708f Fix to bugs #665, and #664. Potentially to #649.
http://bugs.skysql.com/show_bug.cgi?id=665
http://bugs.skysql.com/show_bug.cgi?id=664
http://bugs.skysql.com/show_bug.cgi?id=649

dcb.c:dcb_final_free: (665):set dcb->session->client pointer to NULL so that it won't be read anymore and other threads won't try to close it.
	dcb_final_free:(664):don't free dcb->data, it is either freed in session_alloc if session creation fails or in session_free only.
session.c:if session creation fails, free dcb->data and remove links between client DCB and session.
mysql_backend.c:(665):gw_backend_close:check that session->client isn't NULL and that client DCB's state is still polling before calling dcb_close for it.
mysql_client.c:gw_mysql_do_authentication:if anything fails, and session_alloc won't be called, free dcb->data.
mysql_common.c:gw_send_authentication_to_backend:if session is already closing then return with error.
2014-12-29 20:19:01 +02:00