Commit Graph

244 Commits

Author SHA1 Message Date
8aafa34d66 Hard limits moved to limits.h
Limits used with SO_[RCV|SEND]BUF moved from gw.h to limits.h and
renamed so that the prefix is MXS_.
2016-10-17 10:11:13 +03:00
4faa7f8d21 Obsolete defines removed 2016-10-17 10:11:13 +03:00
d5cf74bd24 Cleanup gw.h, part 1.
Gw.h contained a fair amount of obsolete function declarations,
duplicate declarations of functions declared in utils.h and
declarations of functions that conceptually are similar to those
in utils.h.

The obsolete and duplicate ones were removed and all but one of
the remaining moved to utils.h. Correspondingly the implementation
was moved from gw_utils.c to utils.c.

The one remaining function - gw_daemonize() - is not really worthy
of a file of its own, so that is to be moved to gateway.c after which
gw_utils.c can be removed.

Gw.h still contains defines that are duplicated in
maxscale/protocol/mysql.h. The ones in gw.h are to be removed. It
appears that the entire gw.h will disappear.
2016-10-15 11:18:14 +03:00
1333da0712 Remove skygw_utils.h
The general purpose stuff in skygw_utils.h was moved to utils.h
and the corresponding implementation from skygw_utils.cc to utils.c.
Includes updated accordingly.

Skygw_utils.h is now only used by log_manager and by mlist, which
is only used by log_manager. Consequently, skygw_utils.h was moved
to server/maxscale.

Utils.h needs a separate overhaul.
2016-10-14 19:50:54 +03:00
571919264f MXS-862: Make packet sequence handling automatic
Made the packet sequence number handling automatic so that it always uses
the correct one.

All functions now have documentation in them. Cleaned up code and added
comments to GSSAPI code.
2016-10-14 18:25:38 +03:00
68e53567a0 Make mlist.h private
Mlist is only used by log_manager so for the time being it is moved
under server/core/maxscale. Eventually it may be included in log_manager
itself.
2016-10-14 15:55:33 +03:00
cd26c69ffb Remove slist
Not used by anybody, so better to remove it.
2016-10-14 15:52:27 +03:00
03dbc6df80 Remove dependency on skygw_utils.h
- STRERROR_BUFLEN moved to cdefs.h and renamed to MXS_STRERROR_BUFLEN.
  Better would be to provide a 'const char* mxs_strerror(int errno)'
  that would have a thread specific buffer for the error message.
- MIN and MAX also moved to defs.h as MXS_MIN and MXS_MAX.
- Now only mlist.h of the headers depend upon skygw_utils.h.
2016-10-14 15:42:02 +03:00
bff2cfb7e5 Remove skygw_types.h
Some stuff moved to maxscale/utils.h. Further cleanup still needed.
2016-10-14 14:24:31 +03:00
0800bf4a59 Rename skygw_debug.h to debug.h
Also remove unneded includes in debug.h
2016-10-14 13:48:10 +03:00
c03b8079fd Move @file comment
Where it exists, the @file comment has now been moved to be
consistently right after the license blurb.
2016-10-14 13:20:52 +03:00
1a978be6b6 Cleanup header files
- All now include maxscale/cdefs.h as the very first file.
- MXS_[BEGIN|END]_DECLS added to all C-headers.
  Strictly speaking not necessary for private headers, but
  does not hurt either.
- Include guards moved to the very top of the file.
- #pragma once added.
2016-10-14 11:54:37 +03:00
dc1f599b49 Add maxscale/cdefs.h
The purpose of this file is to provide a header that *must* be included
first (that is, also before any system headers) by all other headers. On
the one hand this file provides a place where compilation environment
dependent things can be defined, and, on the other hand, a place where
things can be redefined globally, should that be necessary for whatever
reason. It further provides a place where constants applicable across
the line can be defined.
2016-10-14 10:10:00 +03:00
2fe58ebe5b Move test_utils.h to server/core/test 2016-10-13 22:59:39 +03:00
d04cb54b9f maxscale/maxscale_pcre2.h renamed to maxscale/pcre2.h 2016-10-13 22:59:39 +03:00
76430e060f maxconfig.h renamed to config.h 2016-10-13 22:59:39 +03:00
3a18b64bdd mysql_client_server_protocol.h moved.
Moved to include/maxscale/protocol/mysql.h
2016-10-13 22:59:39 +03:00
c433d11b39 Module private headers moved to modules 2016-10-13 22:59:39 +03:00
e41589be10 Move headers from server/include to include/maxscale
- Headers now to be included as <maxscale/xyz.h>
- First step, no cleanup of headers has been made. Only moving
  from one place to another + necessary modifications.
2016-10-13 16:19:20 +03:00
a7c82310f9 moving files to /server to make merge possible 2013-07-28 05:31:11 +00:00
5e6ed4cafa Addition of show monitors command, shutdown monitor and restart monitor 2013-07-25 13:13:54 +02:00
8482c560f7 Shutdown all monitors when shutting down the gateway 2013-07-24 14:44:29 +02:00
01441dba64 Addition of password encryption and decryption for passwords stored in the configuration file 2013-07-24 14:01:01 +02:00
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
36f62637c9 Addition of daignostics for failure to add users 2013-07-23 10:46:58 +02:00
d536ca1c2c Addition of default username and password in the monitor 2013-07-23 10:02:47 +02:00
f559871e7f Added secretsc and .h for read/write masxcale secrets 2013-07-23 09:50:19 +02:00
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
e4f13c678e Addition of admin user support 2013-07-18 10:31:16 +02:00
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
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
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
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
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
0d3e798b73 Added descrtiption for auth and generic func pointers 2013-07-15 13:42:12 +02:00
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
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
c4d8501d75 Fixed memory leak in the DCB bitmask 2013-07-09 01:37:20 +02:00
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
da2f4af95d httpd.h moved in modules/include 2013-07-08 16:26:06 +02:00
4c5bd7fffa Revision history added 2013-07-08 16:23:26 +02:00
074ae6220c First implementation 2013-07-08 16:20:59 +02:00
ad87126c16 Added support for delay queue and authlock 2013-07-03 18:10:10 +02:00
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
b33b3753dc Removed session->backends
Added dcb->fd in some fprintf debug
2013-07-01 17:00:24 +02:00
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
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
0113088af6 Added doxygen documentation 2013-06-26 09:44:40 +02:00
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
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