Commit Graph

181 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
5077933e41 Fix bug in mysql_client.c (over optimisation of protocol setting); various clarifications and improvements re code review. 2016-02-22 11:05:02 +00:00
8367d93746 Migrate SSL functionality out of service and into listener. Develop config handling accordingly, including making provision for SSL parameters in servers for future use in implementing SSL to backend servers. Some elements still to be tidied mainly in mysql_client.c - but that will be part of detaching the SSL authentication from the MySQL protocol. 2016-01-27 15:46:19 +00:00
e58148356d Split off listener functionality and move SSL initiation from service to listener. Put GWPROTOCOL in its own header file. 2016-01-26 16:08:02 +00:00
c2310327fc Fixed idle session processing
The current implementation of idle connection timeouts is not safe. The sessions
are handled in a way which is not thread-safe and the checking is done from
a non-polling thread.

With this change, the checks for the session timeouts are done in one of the
polling threads in a thread-safe manner only if at least one service has enabled
the timing out of idle client connections.
2016-01-19 10:53:55 +02:00
1656840417 Added missing freeing of service resources
The service resources weren't freed when the service is freed.
2016-01-15 16:23:41 +02:00
8601068dc2 Reindent server/core/service.c 2015-11-30 21:25:10 +02:00
eb0cf745ca Filters not being found is now an error instead of a warning.
The log message was labeled as a warning instead of an error and finding out
the real reason why MaxScale didn't start when a filter wasn't found was difficult.
2015-11-18 11:50:35 +02:00
41d26b5b73 Failure to load filters is now a configuration error
When a filter module is not found or the instance creation fails, this is considered
a fatal error and MaxScale will not start. If a failure occurs when the configuration
is being reloaded, the service will not use filters and an error will be logged.
2015-11-17 12:04:47 +02:00
074f37e997 Fixed crash when filters fail to load
The number of filters wasn't decreased if a filter failed to load resulting
in a crash when the filters were applied.
2015-11-17 03:04:23 +02:00
40dc49c887 Filters are now loaded and created at startup
Previously filter instances were created when the first session was made. This
caused filter configuration errors to be noticed only after MaxScale was successfully
started. Now filters are loaded and the instance is created when a service applies its filters.
2015-11-16 13:31:33 +02:00
44df53d846 LOGIF and skygw_write_log removed from server/core/*.c
LOGIF and skygw_write_log removed from server/core/*.c and
replaced with calls to MXS_(ERROR|WARNING|NOTICE|INFO|DEBUG).
This is a mechanism change, no updating of the actual message
has been performed.

Currently this causes a very small performance hit, since the
check whether the priority is enabled or not is performed in
the function that is called and not before the function is called.
Once all LOGIFs and skygw_write_logs have been replaced, the
behaviour will be altered back to what it was.
2015-11-16 09:49:12 +02:00
8d0bd8150a Merge branch 'MXS-329-develop-20151111' into develop 2015-11-13 17:26:34 +02:00
0b2e00118a Added missing initialization
The service->protocol->listener was never initialized in serviceAddProtocol
and caused a crash if the listener was not started.
2015-11-13 16:38:22 +02:00
6b88b6b17f Merge branch 'develop' into MXS-329-develop-20151111 2015-11-13 07:48:59 +02:00
264944ff23 Service users are set to NULL after they are freed. 2015-11-11 18:02:01 +02:00
dee20fe077 Merge remote-tracking branch 'origin/develop' into MXS-329-develop-20151111
# Conflicts:
#	server/core/CMakeLists.txt
#	server/core/buffer.c
#	server/core/service.c
#	server/modules/filter/tee.c
#	server/modules/monitor/mysql_mon.c
#	server/modules/routing/binlog/blr.c
#	server/modules/routing/binlog/blr_slave.c
#	server/modules/routing/debugcmd.c
#	server/modules/routing/readwritesplit/readwritesplit.c
#	utils/skygw_utils.cc

- resolved.
2015-11-11 11:08:02 +00: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
d57b4cd531 Fix to MXS-54: https://mariadb.atlassian.net/browse/MXS-54
Added a new configuration parameter that allows the user to control
whether authentication warning messages are logged.
2015-11-04 09:18:20 +02:00
cab5e58045 Fixed SSL initialization for services failing. 2015-10-29 16:39:38 +02:00
06f6b28048 Fix to MXS-412: https://mariadb.atlassian.net/browse/MXS-412
service->user is now set to NULL after the users are freed.
2015-10-19 09:01:58 +03:00
897907b202 Fix to MXS-352: https://mariadb.atlassian.net/browse/MXS-352
If a service fails, MaxScale will try to start it again later on.
2015-10-07 15:35:12 +03:00
cfeaf7d6e9 Merge remote-tracking branch 'origin/develop' into MXS-329
Conflicts:
	server/core/session.c
2015-09-10 13:07:27 +01: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
00a3d7eb56 Made service permission checks less strict. 2015-08-28 17:33:05 +03:00
3a901bfea7 Added automatic configuration of localhost_match_wildcard_host. 2015-08-28 14:55:40 +03:00
296bdc5df6 Fixed errors and added comments. 2015-08-28 12:54:38 +03:00
525daf827a Service are not started if user permissions are inadequate.
Also cleaned up code and error messages.
2015-08-28 12:54:38 +03:00
4da9045da4 Removed redundant function. 2015-08-28 12:54:38 +03:00
94eb1b4eb1 Added service and monitor permission checks. 2015-08-28 12:51:37 +03:00
3e863863dd Fixes to Coverity defects. 2015-08-26 09:35:10 +03:00
37ac158791 Changes to try to eliminate setting dcb->session to NULL with risk of crashing system. 2015-08-24 12:12:43 +01:00
1baf693b02 First changes for lazy session creation. 2015-08-23 16:39:08 +01:00
dcd82d3a33 Fixed errors and added logging. 2015-07-24 12:19:22 +03:00
90b20a7459 Converted dcb_free calls to dcb_close in service.c. 2015-07-24 12:06:30 +03:00
b756690123 Merge branch 'release-1.2' into develop 2015-07-15 11:38:27 +03:00
a1801237a8 Fixed error messages being printed for existing directories. 2015-07-13 19:35:38 +03:00
ba417ef633 Merge remote-tracking branch 'origin/develop' into MXS-122
Conflicts:
	server/core/dcb.c
2015-07-08 14:54:22 +01:00
5b75443744 Fixed module load failure referring to lib/maxscale/modules instead of lib/maxscale. 2015-07-04 09:07:37 +03:00
7e704d2312 Fixed module load failure referring to lib/maxscale/modules instead of lib/maxscale. 2015-07-04 07:13:14 +03:00
cff01cad05 Fixed compile errors with old SSL library. 2015-06-25 17:13:10 +03:00
80709ce039 Fixed compile errors for older SSL libraries. 2015-06-25 16:46:26 +03:00
e5d9abbdcb Fixes to Coverity defects. 2015-06-25 06:01:33 +03:00
c42d3d9f7a Added missing NULL checks. 2015-06-23 17:05:31 +03:00
039cbff181 Added missing null checks. 2015-06-23 16:45:10 +03:00
3de7798fac Added missing session state changes. 2015-06-23 11:49:27 +03:00
c22c6ea46a ServiceStop only removed DCBs from the polling system
This removes the need to establish new DCBs for each of the listeners while still blocking new session creation
for a service which is shut down. The client will not receive an error and the connection will be accepted
when the service is restarted.
2015-06-23 09:15:06 +03:00
b880350cf3 Complete merge of latest develop branch 2015-06-22 10:39:13 +01: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
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