72 Commits

Author SHA1 Message Date
Mark Riddoch
01441dba64 Addition of password encryption and decryption for passwords stored in the configuration file 2013-07-24 14:01:01 +02:00
Mark Riddoch
016e759b2b Addition of hashtable iterator
User print routine

rejig of show users to show dbusers and a new show users command in the debugcli
2013-07-23 12:16:22 +02:00
Mark Riddoch
36f62637c9 Addition of daignostics for failure to add users 2013-07-23 10:46:58 +02:00
Mark Riddoch
d536ca1c2c Addition of default username and password in the monitor 2013-07-23 10:02:47 +02:00
Massimiliano Pinto
f559871e7f Added secretsc and .h for read/write masxcale secrets 2013-07-23 09:50:19 +02:00
Mark Riddoch
3407dff210 Addition of a Galera Cluster monitor - sets state of joined on nodes that are joined to
the cluster. 

Also updates to the readconnroute module to allow joined as a router option
2013-07-22 17:24:15 +02:00
Mark Riddoch
e4f13c678e Addition of admin user support 2013-07-18 10:31:16 +02:00
Mark Riddoch
9a3dd78926 Addition of reload commands in the debug CLI for users and configuration
Fixed bug in reload configuration
2013-07-17 16:06:08 +02:00
Mark Riddoch
02e60e215b Name change to MaxScale rather than gateway
Addition of code for dynamic reconfiguration by editign the cnf file and sendign a SIGHUP

Improvements to the make install rule
2013-07-17 13:32:04 +02:00
Massimiliano Pinto
91f1b4bc6f Added router command values: they will be used:
- as command types in protocol modules (standard routing or session change routing)
- to write back the data from backend (discard multiple backends ouput)
2013-07-16 19:43:39 +02:00
Massimiliano Pinto
17e33d2ef9 Added command type to:
gwbuf struct
dcb struct

This int field will hold the last command executed or sent to backend.

It will be 0 for most cases, setting it with a different value could help route differently the data from backend to client or some custom error messages.
2013-07-16 19:32:00 +02:00
Massimiliano Pinto
e0d9d45f3b Read write split router can reply the master packet to client in session change.
Mysql backend handles auth and session func.


The MYSQL_SESSION_CHANGE may be not in sync with authentication
2013-07-15 18:56:14 +02:00
Massimiliano Pinto
0d3e798b73 Added descrtiption for auth and generic func pointers 2013-07-15 13:42:12 +02:00
Massimiliano Pinto
45c28a033e Added support form COM_CHANGE_USER in readwritesplit.c
Added func.auth() and func.generic() in dcb.h

Some mysql routines moved into mysql_common.c


New session user still not saved in the dcb->data
2013-07-15 09:03:51 +02:00
Mark Riddoch
619af90696 Implementation of shared buffer level in the gwbuf so that one set of data can be kept with
different offsets for different gwbufs

Updated monitor to better handle maste/slave replication environments

Split MASTER and SERVER bits in the erver bitmask so that we canhave more states, MASTER, SLAVE and NOT IN REPLICATION

Updates to the read write splitter for routing commands to all nodes, diagnostic output and fixes to the algorithm to pick up a master and slave connection
2013-07-11 18:37:43 +02:00
Mark Riddoch
c4d8501d75 Fixed memory leak in the DCB bitmask 2013-07-09 01:37:20 +02:00
Mark Riddoch
46f6d27b0b Initial implementation of the monitor modules and a simple mysql monitor to set
server up or down automatically.
2013-07-08 18:55:43 +02:00
Massimiliano Pinto
da2f4af95d httpd.h moved in modules/include 2013-07-08 16:26:06 +02:00
Massimiliano Pinto
4c5bd7fffa Revision history added 2013-07-08 16:23:26 +02:00
Massimiliano Pinto
074ae6220c First implementation 2013-07-08 16:20:59 +02:00
Massimiliano Pinto
ad87126c16 Added support for delay queue and authlock 2013-07-03 18:10:10 +02:00
Massimiliano Pinto
903b906044 Added the backend delayq: this will assure incoming data are queued before mysql backend connection is complete
After connection data will be written to backend
2013-07-03 09:34:22 +02:00
Massimiliano Pinto
b33b3753dc Removed session->backends
Added dcb->fd in some fprintf debug
2013-07-01 17:00:24 +02:00
Mark Riddoch
8257eadf12 Addition of an arbitary bitmask handling set of functions
New memory deallocation routines for the DCBS
2013-06-28 17:39:43 +02:00
Mark Riddoch
c3f70c863e Addition of routing module diagnostics and options
readconnroute now support the options slave and master to restrict the set of
servers it will connect to
2013-06-26 14:04:56 +02:00
Mark Riddoch
0113088af6 Added doxygen documentation 2013-06-26 09:44:40 +02:00
Mark Riddoch
1595725494 Improved some code documentation
Added the -Wall option to the protocol module Makefile

Fixed warnings in telnetd
2013-06-26 09:31:46 +02:00
Mark Riddoch
c7a424cdab Addition of server macros to determine server state
Addition of rule in readconnroute to take server state into account

Addition of "current connections" statistic in the server
2013-06-26 00:58:58 +02:00
Mark Riddoch
3338e9cdb0 Addition of argument types to the debug cli
Added commands to settign and clearign status bits in the servers
2013-06-25 20:15:57 +02:00
Mark Riddoch
0792801996 Addition of hash table statisics commands 2013-06-25 18:20:00 +02:00
Massimiliano Pinto
c770f74f3e daemonize is not returning any value now 2013-06-25 16:22:54 +02:00
Mark Riddoch
34fdbdb34d Addition for shutdown mechanism for the gateway
Addition of stop and restart service

Fix for telnetd in Makefile

Fix for printing the server names in services
2013-06-25 14:00:18 +02:00
Mark Riddoch
2ae40546f9 Addition of global configuration section
Definition of the number of polling threads

Implementation of multiple polling threads
2013-06-25 12:02:39 +02:00
Mark Riddoch
6455abdfbd Added dbusers.h to remove warnign introduced 2013-06-25 09:47:50 +02:00
Mark Riddoch
64aca25892 Changed name of poll() function to avoid conflict 2013-06-24 17:54:30 +02:00
Mark Riddoch
f4c1b298d6 Fixes for close and cleanup of sessions, dcb, router sessions etc.
Fix memory leak in config

Fix for debug command execution without second argument
2013-06-24 16:43:17 +02:00
Mark Riddoch
2ec19bf7ca Fix to the hashtable support
Renamed alloc_dcb, free_dcb and connect_dcb to be more consistant, e.g. dcb_alloc, dcb_free and dcb_connect
2013-06-24 15:09:37 +02:00
Mark Riddoch
1d3da6d18f Addition of users_update
Fixed warning in service_alloc

Correct comment in gateway.c
2013-06-24 14:39:34 +02:00
Massimiliano Pinto
6b0220a468 Fixed compile warnings 2013-06-24 13:54:39 +02:00
Mark Riddoch
aeda47c69d Fix to the hashtable for misisng mod of hashsize
Addition of multiple reader/single writer locking mechanism
2013-06-24 13:09:11 +02:00
Mark Riddoch
69de408d8a Implementation of the users table and a generic hashtable mechanism 2013-06-24 11:35:40 +02:00
Mark Riddoch
b9e079ce17 Addition of the administration user in the service
Addition of general purpose hashtable (not complete) and users table (not complete)
2013-06-24 00:59:12 +02:00
Mark Riddoch
3956abe604 Addition of configuration file support
Cleanup a few warnings
2013-06-21 17:14:39 +02:00
Mark Riddoch
cb26490a06 Addition of server status flags
Addition of dcb role API
2013-06-21 10:45:39 +02:00
Massimiliano Pinto
237a311dda In newSession (readconnroute.c) connect_dcb will create backend connection via backend_dcb->func.connect()
session_alloc will not start a newSession for the LISTENING socket

In dcb.h void *data was added to keep protocol session data if the session is not started in accept(9 but later.
2013-06-20 19:06:16 +02:00
Mark Riddoch
088b3473bc Improved to diagnostic routines and documentation for the debug cli interpreter 2013-06-20 15:03:55 +02:00
Mark Riddoch
e55631e60f Improved debug CLI command interpreter to allow for commands with arguments 2013-06-20 13:21:37 +02:00
Mark Riddoch
78c371e92f Changes to connect infrastructure 2013-06-19 19:11:35 +02:00
Mark Riddoch
39c8695819 Misc fixes 2013-06-19 18:46:24 +02:00
Mark Riddoch
0fc2f9dda3 Removed the passing of epoll fd and isolated epoll functionality to
a signle file

Addition of show epoll debug CLI command
2013-06-19 16:29:52 +02:00