Commit Graph

162 Commits

Author SHA1 Message Date
395cbdc103 Simplify handling of "client data" by having a pointer to it only in DCB and not in session structure. Change name of session->client to session->client_dcb for greater clarity. Temporary free of client data in DCB, to be moved to authenticator when it becomes a module. Fix incorrect name of listener_alloc. 2016-02-23 11:13:21 +00:00
866e91c088 Changes to improve robustness of SSL processing, separate it so far as possible from protocols. Separate the detailed mechanism of authentication from the MySQL protocol with a view to making it into a module later. 2016-02-15 09:29:07 +00:00
fd9698e705 Reformat mysql_common.c 2016-01-12 15:43:33 +02:00
453055a6c0 server/modules/protocol: All LOGIFs and skygw_log_writes replaced.
LOGIFs and skygw_log_writes replaced with the equivalent
MXS_[ERROR|WARNING|NOTICE|INFO|DEBUG] macros.
2015-11-17 09:21:47 +02:00
a355e1beef Printf format checking added to logging function.
Printf format checking added to logging function and all
issues that were revealed by that fixed.
2015-11-16 12:40:49 +02:00
834a88aeda Log variables moved to log_manager.h
The log manager variables lm_enabled_log_files_bitmask, log_ses_count
and tls_log_info that earlier were declared separately in every
c-file are now declared in the log_manager.h header.
2015-11-04 14:26:53 +02:00
9cd327a783 Fix to MXS-417: https://mariadb.atlassian.net/browse/MXS-417 Added support for single-character wildcard in IP addresses.
Single character wildcard addresses are now properly handled
2015-11-03 10:15:34 +02:00
24ee9ca675 Removed redundant log messages
Moved logging from functions that perform user authentication to the code that
uses these functions. This way the messages are only logged once.
2015-11-02 15:53:02 +02:00
9efad8727a All warnings removed.
Minimal changes to remove warnings when compiling.
2015-09-25 14:07:19 +03:00
160bbb70ee MXS-251: strerror
Replaces all calls to strerror with calls to strerror_r. The former
is non-thread safe while the latter is.
2015-09-05 15:52:13 +03:00
c564b40c54 Fixed gw_send_authentication_to_backend expecting a negative return value when dcb_write fails. 2015-08-31 10:23:51 +03:00
501ea8ffc2 Removed a debug assertion which was triggered with a valid query and added more logging. 2015-08-17 22:42:04 +03:00
4f5de063eb Merged dcb_read and dcb_read_n into a single function (dcb_read with an extra parameter). 2015-07-10 15:12:22 +01:00
ba417ef633 Merge remote-tracking branch 'origin/develop' into MXS-122
Conflicts:
	server/core/dcb.c
2015-07-08 14:54:22 +01:00
4c8aa02c31 Finalise comments; change abort from assert(false) to raise(SIGABRT). 2015-07-07 16:57:13 +01:00
44fcb9bc31 Fix for incorrect password handling. 2015-07-07 16:57:12 +01:00
4759df9f87 Added proper wildcard database grant detection. 2015-06-27 09:08:20 +03:00
011c932c7d Fix mistake in testing for null password; add contents with links to MaxAdmin reference guide. 2015-06-24 21:44:02 +01:00
e4bde4402b Fix problem of certain passwords (e.g. joomla1) being treated incorrectly as null MXS-202. 2015-06-24 21:06:56 +01:00
4c38e2224b Merge remote-tracking branch 'origin/develop' into MXS-122
Conflicts:
	server/core/CMakeLists.txt
	server/core/dcb.c
	server/include/dcb.h
	server/include/server.h
	server/modules/protocol/mysql_backend.c
2015-06-19 23:12:54 +01:00
84d5af1e00 Throw away poll events that occur for persistent pool DCBs with no related session; fix typos. 2015-06-14 18:19:30 +01:00
5936916e04 Merge branch 'develop' into MXS-129 2015-06-12 13:53:41 +03:00
2b2e81feb2 Fix to MXS-181: https://mariadb.atlassian.net/browse/MXS-181
Added TCP_NODELAY to socket options.
2015-06-11 19:05:05 +03:00
1c36cfb285 Added more debug output. 2015-06-08 18:04:43 +03:00
6e01757455 Added error message to users when trying to connect to a MaxScale service that only allows SSL connections. 2015-06-02 06:39:51 +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
0f814d3e73 Added SSL write and read functions. 2015-05-29 13:00:37 +03:00
9f024b5389 Added missing parenthesis. 2015-05-21 18:08:45 +03:00
3ef9b0927d Fixed minor memory leak in mysql_backend when gw_decode_mysql_server_handshake failed. 2015-05-11 15:33:36 +03:00
1b3af7d61f Fixes to Coverity defects. 2015-04-16 19:41:49 +03:00
d16e4fe134 Added an option for optimization of wildcard grants to individual grants. The default behavior now checks first for specific grants to a database the wildcard grants. 2015-04-15 06:51:52 +03:00
f870d3bf14 Added more alternative logging. 2015-03-25 11:23:51 +02:00
cc9b0db5e9 Added logging about authentication errors. 2015-03-24 19:32:17 +02:00
9e7afeb302 Merge branch 'develop' into MAX-324
Conflicts:
	macros.cmake
	server/core/config.c
	server/core/service.c
	server/modules/routing/CMakeLists.txt
2015-02-24 06:26:55 +02:00
c47d2f3791 Added session timeouts.
The parameter 'connection_timeout' for services takes a value as seconds.
All sessions that have been idle for longer than this will be disconnected.
2015-02-20 22:16:43 +02:00
83b7948cdf Added more debug output to user authentication. 2015-02-20 14:50:26 +02:00
0d4761ade8 Merge branch 'develop' into MAX-324 2015-02-06 23:27:59 +02:00
adc0bb4f70 Comments added for fix #714
Comments added for fix #714
2015-02-06 11:50:21 +01:00
98cbc34c6c Fix for bug #714
Fix for bug #714
2015-02-06 11:26:48 +01:00
fed828eb29 Merge branch 'release-1.0GA' into MAX-324
Conflicts:
	server/MaxScale_template.cnf
	server/core/service.c
2015-01-06 04:45:30 +02:00
6228be4284 Fix to bug #678, http://bugs.skysql.com/show_bug.cgi?id=678
tee.c:routeQuery cloned partial MySQL packets to be routed to child router. Problems were due to the use of gwbuf_clone and modutil_MySQL_query which clone/examine only the first buffer from the buffer list which composes GWBUF.
modutil.c: Added function modutil_MySQL_query_len which calculates MySQL packet length and the missing bytecount
2015-01-02 18:32:57 +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
ff5fe23ce6 dcb.b:dcb_final_free:replaced ((dcb->flags & DCBF_CLONE)==0) with macro !DCB_IS_CLONE(dcb)
readwritesplit.h:Removed invalid macros which assumed that ROUTER_CLIENT_SES->rses_backend_ref always pointed to valid and used backend reference and thus included potential risk of NULL-pointer refernce.
mysql_backend.c and mysql_client.c:avoid executing CHK_PROTOCOL(p) after original DCB has been released the memory.
readwritesplit.c:Replaced RSES_CLEINT_DCB macro with a function which returns client DCB for a given router client session.
2014-12-23 16:10:27 +02:00
bc104c0ef1 Merge branch 'release-1.0GA' into MAX-324 2014-12-08 22:37:15 +02:00
7ed253ecae Cleanup 2014-12-08 11:21:46 +02:00
b1eaaea961 Merge branch 'release-1.0GA' of https://github.com/mariadb-corporation/MaxScale into release-1.0GA 2014-12-05 23:57:02 +02:00
01b1b0a304 Fixes to Coverity issues 84388, 84386, 84385
mysql_mon.c: Added back server state logging to Debug build.
query_classifier.cc: removed some extra debug code, cleaned up a bit function documentation.
mysql_client_server_protocol.h, mysql_backend.c, mysql_common.c: changed some variables to signed ones to enable checking of calculations in the code.
skygw_utils.cc: removed erroneous debug assertion.
2014-12-05 23:39:14 +02:00
1e2027f4dc Fixes to Coverity defects 83027 73421 72714 72671 72646 72642 2014-12-03 17:56:22 +02:00
33f77303f7 Backend failed handshake is now a detected
Backend failed handshake is now a detected and MYSQL_HANDSHAKE_FAILED s
set.

Reload users from backend is now restricted to MYSQL_AUTH_FAILED only
2014-12-03 09:11:26 +01:00
aa8350ef8f client's flags copied among known capabilities
Copy client's flags to backend but with the known capabilities mask
2014-12-02 18:47:25 +01:00