304 Commits

Author SHA1 Message Date
vraatikka
5487f84532 Added logging to session refcount increment. Some minor improvements. 2013-09-02 21:52:09 +03:00
Massimiliano Pinto
f80bb51db1 dcb_close sets some session fields to NULL:
dcb->session->client = NULL;

dcb->session = NULL;

There is a local copy of dcb->seesion before setting it to NULL
2013-09-02 19:33:55 +02:00
Massimiliano Pinto
31cda5ad65 Added session refcount in session.h
The refcount is incremented in dcb_connect and in mysql_client.c after session_alloc
2013-09-02 10:26:34 +02:00
Mark Riddoch
a445b6ff37 Fixes for NULL test for function returns such as malloc() - as reported by Coverity 2013-08-29 13:34:21 +02:00
vraatikka
94a8ad68d3 Checked for bug #178. Added error logs to suitabl places. 2013-08-29 09:50:16 +03:00
vraatikka
48165bf5cd Removed unused protocol_mutex and references to it. 2013-08-28 23:25:27 +03:00
vraatikka
ae9fce8591 Added write and read lock to DCB to protect concurrent threads fro executing EPOLLIN and EPOLLOUT events on same descriptor, respectively. Added consistency checks and trace logging. 2013-08-28 23:09:37 +03:00
vraatikka
9a8e271417 client->data is copied to session->data already in session_alloc to ensure that authentication information is set when background connection is started to establish in concurrent thread. 2013-08-28 23:06:09 +03:00
vraatikka
786468fc5d Added status checks, removed some dead code, changed macros to enumerated types, renamed variables to reflect better what they mean. 2013-08-28 22:59:53 +03:00
vraatikka
6f0ccd7b42 Added static simple_mutex_t epoll_wait_mutex, which is acquired and released in poll_waitevents. 2013-08-23 22:45:06 +03:00
vraatikka
c9ff06e0f5 Increased maximum path length from 180 to 255, and replaced sprintf with snprintf to prevent buffer overflow. 2013-08-23 22:27:40 +03:00
vraatikka
0401290021 Added spinlock ses_lock to struct SESSION to ensure that for each session closeSession is called only once.
closeSession is called from mysql_backend.c:gw_read_backend_event, and from dcb.c:dcb_close.

This is part of Bug #163.
2013-08-22 10:42:18 +03:00
vraatikka
b18d89300d Bug 179 2013-08-22 00:26:24 +03:00
vraatikka
8dfd5de923 Fix merge 2013-08-22 00:01:44 +03:00
Jan Lindström
b6ba1954f5 Merge 2013-08-19 08:48:33 +03:00
Mark Riddoch
9fe7a83675 Fixes for resource leaks foudn with Coverity.
Bug 173, 174, 175, 176 and 177
2013-08-21 17:26:55 +02:00
vraatikka
21dabda848 Removed redundant log writings. 2013-08-20 10:49:35 +03:00
vraatikka
c5ed473ab7 Check return value of ioctl in dcb_read and act accordingly. 2013-08-19 19:40:51 +03:00
vraatikka
45ea459e20 Check the return value of ioctl in dcb_read. 2013-08-19 17:09:33 +03:00
vraatikka
f750b8545a Merge 2013-08-19 16:40:44 +03:00
vraatikka
c119f7b7b8 In dcb_close read and set dcb->state by holding dcb->writeqlock. This prevents simultaneous calls to closeSession. 2013-08-19 16:38:55 +03:00
Mark Riddoch
b1c398e944 Bug 145 - Silently ignore missing .secrets file 2013-08-19 15:36:26 +02:00
vraatikka
24367fb400 Removed dcb->mutex since it didn't solve any problem. 2013-08-19 13:01:07 +03:00
vraatikka
97b3da1d79 Added simple_mutex_t dcb->mutex to DCB struct to protect processing of single dcb in poll.c:poll_waitevents. This is a coarse locking but seems to work with multiple threads at least with very simple load.
Added trace logging to many locations.
2013-08-16 23:52:10 +03:00
vraatikka
7c0ed171a0 Added trace log to event handling. 2013-08-15 22:45:11 +03:00
vraatikka
a1b05359ac Added trace log where epoll_wait returns and to where read fomr/write to socket decicion is made. 2013-08-15 20:16:23 +03:00
vraatikka
90e6e11923 Added debug trace to socket read. 2013-08-15 11:13:34 +03:00
vraatikka
bed0206895 If config file is specified in command-line argument, then it won't be searched from anywhere else. Earlier command-line argument was ignored if MAXSCALE_HOME was set. 2013-08-14 15:42:35 +03:00
vraatikka
eba81f0501 Corrected comparison between strcmp and 0 so that threads configuration parameter value becomes effective. 2013-08-14 11:25:03 +03:00
vraatikka
249413b2c6 Freed thread structs. 2013-08-12 21:05:44 +03:00
vraatikka
c5fd94590c Freed hashtable iterator to dcb_usersPrint. 2013-08-12 21:04:31 +03:00
vraatikka
64cb6eca56 mysql_library_end is not called if it wasn't initialized properly. 2013-08-12 13:12:23 +03:00
Massimiliano Pinto
8a9d178785 Fixed bug for invalid memory access in row[1]+1 when row[1] is "" 2013-08-08 18:40:02 +02:00
vraatikka
f1498e4403 Added log flusher thread, which flushes once per second. 2013-08-08 00:08:45 +03:00
Massimiliano Pinto
8449482279 Fixed typo 2013-08-06 10:55:20 +02:00
vraatikka
256b8e8013 Added more test cases and reformatted output a bit. 2013-08-06 11:14:45 +03:00
vraatikka
30456115f7 Memory used by user structure was not initialized. Changed malloc to calloc. 2013-08-05 18:21:08 +03:00
vraatikka
13248c2a16 Added server/core/test directory, makefile and testhash.c for testing hashtable implementation.
In makefile, there is target all, which compiles and executes tests.
2013-08-05 18:04:02 +03:00
vraatikka
bc6fe8f6ef hashtable_add now checks input parameter and returns with zero (indicating that no elements were added) if hashsize is zero. Caused floating point exception. 2013-08-05 15:01:36 +03:00
vraatikka
401d4920e4 Moved dcb_hashtable_stats from hastable.c to dcb.c to break dependency between hashtable and the rest of the maxscale. Added check fields to hashtable structure. 2013-08-05 11:51:10 +03:00
vraatikka
cae4d38a7e Removed unnecessary argument from log manager commands because it is not used and it is always NULL. 2013-08-04 23:30:47 +03:00
vraatikka
f62cf1ea7e Added check if the last admin user is to be deleted, and if that's the case, prevent it and return with error message. 2013-08-04 23:02:29 +03:00
vraatikka
6faca29281 Added commands:
THIS=`pwd`
	cd $(DEST)
	- `./maxkeys $(DEST)/MaxScale/etc/.secrets`
	cd $(THIS)

to maxscale/server/core/Makefile

Now .secrets is by default there and no complains in log.
2013-08-04 23:01:36 +03:00
vraatikka
8b720f211e in hastable_delete check if deleted entry's next pointer is NULL. 2013-08-03 23:10:45 +03:00
vraatikka
ca3638ae2c Added 'remove user' to client API. New functions are
debugcmd.c : telnetdRemoveUser
adminusers.c : admin_remove_user

Also renamed admin_test_user to admin_search_user .
2013-08-02 23:03:43 +03:00
vraatikka
9305cf0f9f In server_update check if new user or pwd are NULL and decline to update used values if they are. 2013-08-02 10:38:16 +03:00
vraatikka
96855a6feb Log message fine tuning. 2013-07-30 23:09:34 +03:00
vraatikka
b2099947b4 Changed mysterious log message. 2013-07-30 23:08:31 +03:00
vraatikka
896233d65f Changed some important information to use skygw_log_write_flush. 2013-07-30 19:32:39 +03:00
vraatikka
75f308fc3f Changes some important messages to use skygw_log_write_flush. 2013-07-30 19:31:57 +03:00