105 Commits

Author SHA1 Message Date
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
Massimiliano Pinto
72223fd4cf Typo in header fixed 2013-06-25 13:55:36 +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
0227c4afff Added error return in readroute when backend connection fails 2013-06-25 10:38:24 +02:00
Mark Riddoch
6455abdfbd Added dbusers.h to remove warnign introduced 2013-06-25 09:47:50 +02:00
Massimiliano Pinto
8209c268e6 Removed useless comment 2013-06-25 08:50:52 +02:00
Massimiliano Pinto
2a1fbdf98a Telnet and MySQL ports changed 2013-06-24 21:12:27 +02:00
Massimiliano Pinto
f8e1d68ec5 Makefile modified for libmysqlclient and its includes 2013-06-24 20:13:10 +02:00
Massimiliano Pinto
20e38d198b New version with constants in buffer sizes 2013-06-24 20:08:37 +02:00
Massimiliano Pinto
c91997bc0a Adde the load_mysql_users for MySQLClient protocol 2013-06-24 20:03:33 +02:00
Massimiliano Pinto
8f53daa09a New vwrsions 2013-06-24 19:48:48 +02:00
Massimiliano Pinto
626699170f Removed a fprintf with wrong data to print 2013-06-24 19:29:41 +02:00
Massimiliano Pinto
9987e6c95c This file is in the right place now. 2013-06-24 19:28:04 +02:00
Massimiliano Pinto
a655babec5 The file was in the wrong path 2013-06-24 19:27:29 +02:00
Massimiliano Pinto
93e192be01 New version 2013-06-24 19:11:45 +02:00
Massimiliano Pinto
84c80f8c6c New file: it loads th mysql.user (user, passowrd) from the first backend database 2013-06-24 19:05:11 +02:00
Massimiliano Pinto
368c4cf781 Unused vars removed 2013-06-24 18:42:24 +02:00
Mark Riddoch
64aca25892 Changed name of poll() function to avoid conflict 2013-06-24 17:54:30 +02:00
Mark Riddoch
c65d569ce7 Cleanup of memory leak in the authentication code
Remove duplicate code in mysql_client module
2013-06-24 17:28:58 +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
Massimiliano Pinto
41ddbbea97 Fixed gw_hex2bin: problems calling char_val.
If we want tu use a compact implementation, we should use


static inline uint8 char_val(uint8 X)
{
  return (uint) (X >= '0' && X <= '9' ? X-'0' :
      X >= 'A' && X <= 'Z' ? X-'A'+10 : X-'a'+10);
}
2013-06-24 13:43:01 +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
0b7803a122 Addition of searching rules for the gateway.cnf file. Better diagnostics for missing
gatway.cnf file.

Cleanup for config reading when no modules could be found.
2013-06-21 17:44:49 +02:00
Mark Riddoch
2027f0261b Documentation cleanup and a statistics fix 2013-06-21 17:28:56 +02:00
Mark Riddoch
3956abe604 Addition of configuration file support
Cleanup a few warnings
2013-06-21 17:14:39 +02:00
Massimiliano Pinto
dcc6071ddd Fixed bug in for(), newSession 2013-06-21 16:28:53 +02:00
Massimiliano Pinto
e767c70acb Added backend connections via session_alloc called after AUTH_OK
the newSession calls connect_dcb and then the connect() in mysql_backend.c

The selected backend is always the last  one ath the moment.

For the transparent Authentication dcb->data is used to store MySQL session data before starting the session.

This could be revisited.


Please note the COM_QUIT in mysql_client.c has the close functionalities but they are now disabled for testing/debug
2013-06-21 13:05:51 +02:00
Massimiliano Pinto
ccf658d905 Added 3 includes, service, router, poll 2013-06-21 12:49:42 +02:00
Massimiliano Pinto
d2fbc42b3a alloc_dcb now has rval->next = NULL; 2013-06-21 12:35:01 +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
fc852eaada Changed readconnroute backend structure to simply maintain a pointer to the server rather than
include the hostname and port in the backend structure

Fix to makefile for routing modules
2013-06-20 10:18:14 +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
Mark Riddoch
c2b24884fd Updates for the debug cli interface 2013-06-19 13:21:37 +02:00
Mark Riddoch
53b6bc0a25 A number of updates to do with service startup
Telnet protocol support

Debug cli
2013-06-19 12:31:40 +02:00
Massimiliano Pinto
461dc31578 Fixed:
if (strcmp(registered->module, module) == 0)

in find_module
2013-06-19 11:32:53 +02:00
Mark Riddoch
ec688e6222 Addition of the service, server, serv_protocol and session structure needed to tie the elements together.
Improvements to the protocol module support

Documentation improvements

Addition of make install target
2013-06-18 16:59:01 +02:00
Massimiliano Pinto
4d5215e267 mysql_client_server_protocol.h, new file name that avoids conflicts with previous one 2013-06-17 22:47:14 +02:00
Massimiliano Pinto
f4711f5980 Added 2013-06-17 21:25:15 +02:00
Massimiliano Pinto
aa517205b7 Added mysql_common.c for mysql common routines
First attempt to split MySQL routines in client and backend libraries.
Compiled on Centos but not tested

mysql_protocol.h header file is coming soon.
2013-06-17 16:25:22 +02:00
Mark Riddoch
6afc2e432b Addition of -Wall to CFLAGS
Cleanup warnings produced by above with the exception of those files requiring reorganisation
2013-06-17 14:25:32 +02:00