712 Commits

Author SHA1 Message Date
Mark Riddoch
3c174a0a5f Addition of new address binding option and updates to detail user permissions 2014-02-07 09:54:51 +00:00
VilhoRaatikka
75af5ee03c Merge https://github.com/skysql/MaxScale 2014-02-07 11:11:47 +02:00
VilhoRaatikka
e8ce2268e0 Test system for MaxScale.
Every test/makefile have the following targets:
 cleantests 	- clean local and subdirectories' tests
 buildtests	- build all local and subdirectories' tests
 runtests	- run all local tests
 testall	- clean, build and run local and subdirectories' tests

Tests for directory random_dir are always in its subdirectory, in this case in random_dir/test . If random_dir has subdirectories with tests, random_dir/child_dir, for example, tests of child_dir can be started from random_dir/test/makefile where make -C child_dir/test <test target> is called.

See MAXSCALE_HOME/test/README for further information.
2014-02-07 11:06:37 +02:00
Mark Riddoch
1742372dd5 Added support for defining a bind address in the listener config.
Also removed some compilation warnings.

See Bugzilla bug 150
2014-02-06 19:04:12 +01:00
MassimilianoPinto
7bda588948 "enable_root_user" option available in service configuration example
In MaxScale_template.cnf "enable_root_user" added for valid service
option
2014-02-06 16:24:21 +01:00
MassimilianoPinto
e4876b3abb Enable/disable root user in services
Added support for enable/disable root user, this is currently used in
MySQL authentication
2014-02-06 15:58:37 +01:00
Mark Riddoch
1e25d304e7 Add check that the argument to the -c option is a directory. 2014-02-06 13:46:07 +01:00
Mark Riddoch
a91c595dbc Fix for allDCB linked list corruption. 2014-02-06 13:10:11 +01:00
Mark Riddoch
0c4b53e9ef Addition of warnign to the debug command line interface regarding passing
bad arguments.
2014-02-05 15:17:36 +01:00
Mark Riddoch
3edea0afc4 Updated gitignore files 2014-02-05 14:49:05 +01:00
Mark Riddoch
e97ab93966 Tidy up of the exit status based on the issues founf during startup.
See Bugzilla 370.
2014-02-05 12:20:53 +01:00
Mark Riddoch
fa79a121e6 Updated server version added to the prompt and in the log files.
See Bugzilla bug 376.
2014-02-05 11:29:20 +01:00
Mark Riddoch
fb8212543a Fixed issue with MaxScale crash if a configuration unknown section
without a type is added. This is Bgzilla bug 378.
2014-02-05 10:48:52 +01:00
VilhoRaatikka
0a13bf9989 Revert previous change to query_classifier.cc, which was triggered due to bug # 391, http://bugs.skysql.com/show_bug.cgi?id=391
Bug was identified by test, but it couldn't be validated. Using RW Split router currently may lead to situation where after setting system variable there is a backend server which doesn't have the value set. This is an incomplete feature at the moment rather than a bug.
2014-01-30 12:51:11 +02:00
VilhoRaatikka
89de86320e Added detection for USE <db> (= DATABASE()), which is a system function which changes session variable. Therefore it must be treted as SESION write and executed in both master and slave. 2014-01-29 23:29:32 +02:00
VilhoRaatikka
a8c630f581 State transition diagram for Descriptor Control Blocks. 2014-01-28 09:51:06 +02:00
VilhoRaatikka
c444bf454b Bug #385 http://bugs.skysql.com/show_bug.cgi?id=385
dcb.c:dcb_write accept also dcb state DCB_STATE_NOPOLLING since it only means that dcb has been removed from epoll set but it is still possible to write to it.

Bug #384 http://bugs.skysql.com/show_bug.cgi?id=384
session.h:added new state for SESSION, SESSION_STATE_ROUTER_READY which follows SESSION_STATE_READY. The difference is that ROUTER_READY is set only after router session is successfully created while READY means that session still lacks router.
session.c:set SESSION_STATE_ROUTER_READY when router is created.
mysql_backend.c:gw_read_backend_event, added SESSION_STATE_ROUTER_READY check before router session is closed. Changed chec kso that it doesn't block in infinite loop (although it shouldn't be possible anyway).
mysql_backend.c:gw_error_backend_event, added similar check before session is closed.
2014-01-27 22:56:33 +02:00
VilhoRaatikka
ef90f648a2 mysql_backend.c:gw_read_backend event
If backend authentication fails, wait until session has created router_client_session before reading the session->router_session pointer value. There should only be one case where this situation occurs : when session is being initialized concurrently with authentication. Only consequence is to close router_client_session immediately after session initialization is completed.
2014-01-27 16:54:48 +02:00
Mark Riddoch
aab09ddd16 Add link to the bugs database: bugs.skysql.com 2014-01-20 13:18:59 +00:00
Mark Riddoch
f0e5b56872 Added the Google Group address to the README 2014-01-16 12:51:20 +00:00
Mark Riddoch
d7dce32731 Fixed some typos in README 2014-01-08 17:56:18 +00:00
MassimilianoPinto
dfc224c292 New routines for key/value copy and free in hash tables
With the routines for key/value copy and free it is possible to
duplicate or free different data types in the hash tables.

The user_alloc() routine is the first example.
2014-01-08 17:02:59 +01:00
MassimilianoPinto
a6dbb20aa9 vi swap file removed 2013-12-23 16:57:09 +01:00
MassimilianoPinto
13fdf4ef6b Added checks in gw_mysql_do_authentication() for mysql protocol fileds
Added bytes check in gw_mysql_do_authentication() before proceding with
user,database,token decode
2013-12-23 16:55:38 +01:00
MassimilianoPinto
999258be6e strncpy for username and database in gw_mysql_do_authentication.
strncpy for username and database in gw_mysql_do_authentication()

Empty username forces return
2013-12-23 15:08:58 +01:00
Mark Riddoch
8314773e9b Addition of init.d script 2013-12-20 14:28:36 +00:00
Mark Riddoch
d754fa9822 Created .gitignore from .bzrignore 2013-12-17 18:12:09 +00:00
Massimiliano Pinto
13739eae44 Removed a failed auth message on stderr 2013-12-17 18:24:26 +01:00
Massimiliano Pinto
05d365e4b4 fprintf(9 removed 2013-12-17 11:07:29 +01:00
Massimiliano Pinto
b2f6d5494e LD_LIBRARY_PATH instruction for MaxScale libs 2013-12-16 19:11:55 +01:00
Massimiliano Pinto
1444e9bee5 MAXSCALE_HOME and startup from bin folder 2013-12-16 18:43:58 +01:00
Mark Riddoch
46faa513c1 Licence and copyright fils 2013-12-16 17:20:50 +00:00
Mark Riddoch
055e1af2b6 Update of SETUP documentation 2013-12-16 17:04:01 +00:00
Massimiliano Pinto
b1d7f8da8d SETUP contais the instruction for launch MaxScale properly 2013-12-16 17:36:59 +01:00
Mark Riddoch
8e75ef5cfa Updated documentation 2013-12-16 16:31:17 +00:00
Mark Riddoch
4028886020 Updated configuration documentation 2013-12-16 15:48:04 +00:00
Mark Riddoch
f3f7dc6dd8 Updated README file. 2013-12-16 14:06:03 +00:00
Massimiliano Pinto
9646df0cc4 Added details for external packages/libraries needed for compiling MaxScale 2013-12-16 13:41:42 +01:00
Massimiliano Pinto
0e4b8b8b56 Added instructions for missing embedded_priv.h header file 2013-12-16 13:30:01 +01:00
Massimiliano Pinto
fca454fbde The README file has been modified with the new compile instructions:
- MariaDB RPMS
- Existing MariaDB setup
- errmsg.sys file requirements
- static or dynamic embedded mariadb library
2013-12-16 11:20:24 +01:00
Massimiliano Pinto
b6c907eef1 In gw_read_client_event() there is a new method detecting closed client sockets:
if ioctl() return 0 bytes, recv(..., MSG_PEEK) is called, reading 1 byte.

if recv returns 0 or -1 the socket is closed and dcb->func.close(dcb) is called.

Client, session and backend connections will be closed


Tested with 4 MaxScale running threads
2013-12-16 09:35:00 +01:00
vraatikka
058d0f4492 Modified comments to be compatible with doxygen 2013-12-13 19:32:10 +02:00
vraatikka
97bc1ed042 Fixed comments to be compatible with doxygen 2013-12-13 19:11:10 +02:00
vraatikka
d700754baa log_manager.cc
Bug #372, http://bugs.skysql.com/show_bug.cgi?id=372
	Do not exceed the buffer capacity in log writing. Now longer strings are cut to fit to the buffer.
2013-12-13 15:21:48 +02:00
vraatikka
4ce4423b3e Made comments doxygen compatible. 2013-12-13 10:52:34 +02:00
vraatikka
d403018fd9 Surrounded every log writing command with LOGIF macro, which tests if the given logfile id matches with those enabled. The comparison is done against local variable and expensive function call is avoided. 2013-12-12 16:14:33 +02:00
vraatikka
272ca036e4 log_manager.h
Added macros which allow for testing locally if log is enabled or not.

server/Makefile
	Added directory creation command to Makefile. This fixes problem where errmsg.sys was copied to MaxScale/mysql instead of MaxScale/mysql/errmsg.sys

dcb.b
	Added external variable which carries the information of enabled logs from log_manager.cc

gateway.c
	Tuned logging.
2013-12-12 07:05:38 +02:00
vraatikka
06ebc6f4b5 Added QUERY_TYPE_GLOBAL_WRITE for writes which don't reflect on binary log, but need to be present in every back-end server once executed. 2013-12-11 14:34:01 +02:00
vraatikka
f785420cc6 Double freeing memory. 2013-12-10 17:27:45 +02:00
Massimiliano Pinto
a016a4aa96 server/core/Makefile
Added librt (-lrt), required for building MaxScale with static libmysqld in some platforms (CentOS 6)
2013-12-10 10:23:35 +01:00