159 Commits

Author SHA1 Message Date
Johan Wikman
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
Johan Wikman
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
Johan Wikman
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
Markus Makela
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
Markus Makela
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
Johan Wikman
9efad8727a All warnings removed.
Minimal changes to remove warnings when compiling.
2015-09-25 14:07:19 +03:00
Johan Wikman
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
Markus Makela
c564b40c54 Fixed gw_send_authentication_to_backend expecting a negative return value when dcb_write fails. 2015-08-31 10:23:51 +03:00
Markus Makela
501ea8ffc2 Removed a debug assertion which was triggered with a valid query and added more logging. 2015-08-17 22:42:04 +03:00
counterpoint
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
counterpoint
ba417ef633 Merge remote-tracking branch 'origin/develop' into MXS-122
Conflicts:
	server/core/dcb.c
2015-07-08 14:54:22 +01:00
counterpoint
4c8aa02c31 Finalise comments; change abort from assert(false) to raise(SIGABRT). 2015-07-07 16:57:13 +01:00
counterpoint
44fcb9bc31 Fix for incorrect password handling. 2015-07-07 16:57:12 +01:00
Markus Makela
4759df9f87 Added proper wildcard database grant detection. 2015-06-27 09:08:20 +03:00
Martin Brampton
011c932c7d Fix mistake in testing for null password; add contents with links to MaxAdmin reference guide. 2015-06-24 21:44:02 +01:00
Martin Brampton
e4bde4402b Fix problem of certain passwords (e.g. joomla1) being treated incorrectly as null MXS-202. 2015-06-24 21:06:56 +01:00
Martin Brampton
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
Martin Brampton
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
Markus Makela
5936916e04 Merge branch 'develop' into MXS-129 2015-06-12 13:53:41 +03:00
Markus Makela
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
Markus Makela
1c36cfb285 Added more debug output. 2015-06-08 18:04:43 +03:00
Markus Makela
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
Markus Makela
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
Markus Makela
0f814d3e73 Added SSL write and read functions. 2015-05-29 13:00:37 +03:00
Markus Makela
9f024b5389 Added missing parenthesis. 2015-05-21 18:08:45 +03:00
Markus Makela
3ef9b0927d Fixed minor memory leak in mysql_backend when gw_decode_mysql_server_handshake failed. 2015-05-11 15:33:36 +03:00
Markus Makela
1b3af7d61f Fixes to Coverity defects. 2015-04-16 19:41:49 +03:00
Markus Makela
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
Markus Makela
f870d3bf14 Added more alternative logging. 2015-03-25 11:23:51 +02:00
Markus Makela
cc9b0db5e9 Added logging about authentication errors. 2015-03-24 19:32:17 +02:00
Markus Makela
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
Markus Makela
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
Markus Makela
83b7948cdf Added more debug output to user authentication. 2015-02-20 14:50:26 +02:00
Markus Makela
0d4761ade8 Merge branch 'develop' into MAX-324 2015-02-06 23:27:59 +02:00
MassimilianoPinto
adc0bb4f70 Comments added for fix #714
Comments added for fix #714
2015-02-06 11:50:21 +01:00
MassimilianoPinto
98cbc34c6c Fix for bug #714
Fix for bug #714
2015-02-06 11:26:48 +01:00
Markus Makela
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
VilhoRaatikka
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
VilhoRaatikka
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
VilhoRaatikka
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
VilhoRaatikka
bc104c0ef1 Merge branch 'release-1.0GA' into MAX-324 2014-12-08 22:37:15 +02:00
VilhoRaatikka
7ed253ecae Cleanup 2014-12-08 11:21:46 +02:00
VilhoRaatikka
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
VilhoRaatikka
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
Markus Makela
1e2027f4dc Fixes to Coverity defects 83027 73421 72714 72671 72646 72642 2014-12-03 17:56:22 +02:00
MassimilianoPinto
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
MassimilianoPinto
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
VilhoRaatikka
fd11e6a7f5 Session-specific logging. Added functions
void session_enable_log(SESSION* ses, logfile_id_t id)
and
void session_disable_log(SESSION* ses, logfile_id_t id)

Which switch specific log type on/off if the log type in question is not generally enabled.

Each thread carries a thread-specific struct log_info_t which includes members for current session id and bitfield for enabled log types for the current session. That information is checked before actual log write functions are called.

Each file where session-specific logging is used, must include the following exports:

/** Defined in log_manager.cc */
extern int            lm_enabled_logfiles_bitmask;
extern size_t         log_ses_count[];
extern __thread log_info_t tls_log_info;
2014-11-19 00:08:59 +02:00
VilhoRaatikka
70eef7aaa8 Fix to bug #513, http://bugs.skysql.com/show_bug.cgi?id=513 2014-11-17 15:33:13 +02:00
VilhoRaatikka
c9b679359f Made RWSplit to use slave selection criteria also during client session. Previously the criteria was use when slaves were selected for use of client session. 2014-11-17 13:40:18 +02:00