385 Commits

Author SHA1 Message Date
Markus Makela
fc5c3943e8 Fixes to Coverity defects:
72643
72645
72655
72656
72657
72658
72664
72698
72712
2014-11-12 19:02:37 +02:00
VilhoRaatikka
0ea4dd63a9 Merge branch 'develop' of https://github.com/mariadb-corporation/MaxScale into develop 2014-11-11 14:25:49 +02:00
VilhoRaatikka
128d5e3f48 Addition to previous fix 2014-11-11 14:25:34 +02:00
VilhoRaatikka
061fa62d29 Fixes to Coverity issues 77197 (mysql_common.c, dcb.c, mysql_client.c, skygw_debug.h), 72654 (poll.c), 72756 (mysql_backend.c), 72744 (mysql_backend.c), 77197 (mysql_common.c), 72746 (mysql_common.c), 72676 (mysql_common.c), 72705 (readwritesplit.c), 72697 (readwritesplit.c), 72652 (skygw_debug.h) 2014-11-11 14:10:06 +02:00
MassimilianoPinto
39b04682ea COM_CHANGE_USER honours charset change
COM_CHANGE_USER honours charset change
2014-11-10 17:06:14 +01:00
MassimilianoPinto
49d28bc1f3 MySQL connect: charset flag is stored
MySQL connect: charset flag is stored and passed to backend
2014-11-10 16:09:55 +01:00
VilhoRaatikka
9a5168c3e8 Put errors ganerating code behind FAKE_CODE macro, which is not defined by default in any build. 2014-11-10 15:22:08 +02:00
VilhoRaatikka
a3675e9098 Merge branch 'develop' of https://github.com/mariadb-corporation/MaxScale into develop 2014-11-10 14:18:43 +02:00
VilhoRaatikka
3b07449daa Fix to bug #614, http://bugs.skysql.com/show_bug.cgi?id=614
Added protected state check to mysql_client.c, fixed locking in session.c
2014-11-10 14:07:51 +02:00
Markus Makela
e86b51865c Fixes to Coverity errors 72653, 72685, 72707, 73391, 73393, 73394, 73410 and 73414. 2014-11-10 13:51:21 +02:00
VilhoRaatikka
44771dbc51 readwritesplit.c:handleError is meant to handle backend errors. Removed one call from mysql_client.c and only send error message to client instead.
Added checks to debug build to ensure that handleError is called before backend DCB is closed.
2014-11-07 17:55:05 +02:00
VilhoRaatikka
4b98c472a8 Fixed a comment 2014-11-06 16:12:01 +02:00
Markus Makela
36c6a61330 Fixes to coverity bugs:
72670: query_classifier/query_classifier.cc
72682: server/modules/filter/qlafilter.c
72679: server/modules/filter/tee.c
72716: server/modules/protocol/maxscaled.c
72694: server/modules/protocol/telnetd.c
71743: server/modules/routing/readwritesplit/readwritesplit.c
2014-11-05 14:18:38 +02:00
VilhoRaatikka
9ccbab1899 poll.c:dcb_close Don't call poll_remove_dcb anymore if DCB has already been removed from poll set.
mysql_backend.c, mysql_client.c free error message GWBUF after calling handleError
readconnroute.c:handleError send error message to client before returning.
readwritesplit.c:handleError don't free error message buffer anymore since the caller of handleError frees it.
2014-11-01 20:00:59 +02:00
VilhoRaatikka
b6fe4e620a Fixed another leaking socket. Coverity 72706 2014-11-01 15:28:41 +02:00
VilhoRaatikka
f1c4c1dfb2 Fixed one more socket leak 2014-11-01 00:01:38 +02:00
VilhoRaatikka
8aff04b0e9 Fixed Coverity case 72706 2014-10-31 23:35:29 +02:00
VilhoRaatikka
deffd4a69f Fix to Coverity cases 73417, 73420, 72759, 72639 2014-10-31 23:11:19 +02:00
VilhoRaatikka
3f375e680a Fix to #590, http://bugs.mariadb.com/show_bug.cgi?id=590
gw_change_user returned error code in cases where authentication failed. That is not right behavior in that context. gw_change_user succeeds to route query and should return succees to router's routeQuery. Possible error is handled by creating error message and by feeding it to client DCB's event queue.
2014-10-31 20:09:43 +02:00
VilhoRaatikka
a342b453ac Fixed Coverity tasks : 72722, 72706 2014-10-31 15:55:13 +02:00
VilhoRaatikka
7615e9c0ac Merge branch 'develop' of https://github.com/mariadb-corporation/MaxScale into develop 2014-10-31 15:28:58 +02:00
VilhoRaatikka
00fded016b Fixes to Coverity tasks : 73267, 72686, 72672
Cleaned up warnings, and added checks to malloc return values and error log writes in case of failures.
2014-10-31 15:25:59 +02:00
MassimilianoPinto
09b3351427 Added mysqld_error.h in dbusers
Added mysqld_error.h in dbusers
2014-10-31 11:22:15 +01:00
VilhoRaatikka
60536f622e Fix to bug #590, http://bugs.mariadb.com/show_bug.cgi?id=590
Added function poll.c:poll_add_epollin_event_to_dcb which adds given event and related GWBUF to given DCB. The DCB is then added to event queue list so that its even becomes executed as soon as any of the threads start to process events next time.
The problem solved is case where COM_CHANGE_USER failed due to authentication failure. An error should be sent to the client but it was sent once per failed backend authentication instead of just once.
Thread which failed in authentication bypassed router and thus replies weren't filtered out. Solution adds an event and a GWBUF including error message to DCB and the DCB is then added to event queue. Thus the error message appeares like it was an incoming event and becomes processed properly.

An addition was made to mysql_backend.c:gw_read_backend_event so that self-generated event can be processed. Even if socket read doesn't manage to read anything, function proceeds if there is enough data in DCB's readqueue.

Fix ti bug #602, http://bugs.mariadb.com/show_bug.cgi?id=602
Added function sescmd_response_complete which checks if the read data completes session command response packet(s). Function is called only if there's a sessoin command being executed.
2014-10-30 16:54:27 +02:00
VilhoRaatikka
236a72a6b6 Fix to bug #590, http://bugs.mariadb.com/show_bug.cgi?id=590
mysql_common.c:gw_send_change_user_to_backend creates new authentication message which is to be sent to backend. GWBUG type flags were not copied from original GWBUF to new one. Thus the information that this is a session command was lost and it was processed in a wrong way. Especially replies were all routed back to client which caused misbehavior.
2014-10-25 00:19:31 +03:00
MassimilianoPinto
7b5d2df7a6 mysql_send_custom_error returns write operation
mysql_send_custom_error returns write operation
2014-10-24 17:21:07 +02:00
MassimilianoPinto
970511a275 Update for message errors in DB authentication
Update for message errors in DB authentication
2014-10-24 12:20:50 +02:00
MassimilianoPinto
35996a40cb Reply messages for failed db authentication
Reply messages for failed db authentication
2014-10-23 19:36:25 +02:00
MassimilianoPinto
8dd20a10e6 reload users with db auth failed
reload users with db auth failed
2014-10-22 17:56:40 +02:00
MassimilianoPinto
a1f621da30 MySQL authentication with db name
MySQL authentication with db name
2014-10-21 16:46:52 +02:00
MassimilianoPinto
3cdb1dc2ae Added db names as hashtable
Added db names as hashtable
2014-10-20 19:26:13 +02:00
MassimilianoPinto
220e1d9505 local authentication with db name for change_user
local authentication with db name for change_user
2014-10-20 10:26:00 +02:00
MassimilianoPinto
c54e087d3e Merge from develop
Merge from develop
2014-10-20 09:03:11 +02:00
MassimilianoPinto
319dd4b3e6 Fix for no db in change_user
Fix for no db in change_user
2014-10-20 09:01:13 +02:00
MassimilianoPinto
b8f590e67f Added database errmsg to change_user
Added database errmsg to change_user
2014-10-17 19:02:19 +02:00
MassimilianoPinto
2dfa01fccc MySQL Auth with dbname check
MySQL Auth with dbname check

Unknown database ‘xxxxx’ is returned to client

Proper error number is still missing and also com_change_user need to
be fixed
2014-10-16 19:17:15 +02:00
MassimilianoPinto
f2362c3359 Auth error message fix for using password: YES,NO
Auth error message fix for using password: YES,NO
This applies to a “not found user” trying to authenticate with or
without password
2014-10-16 12:50:14 +02:00
MassimilianoPinto
0769deed7f MySQL Authentication with DBname
MySQL Authentication with DBname
2014-10-15 17:26:46 +02:00
MassimilianoPinto
9212effb86 memory leak fixed
memory leak fixed
2014-10-14 12:46:15 +02:00
MassimilianoPinto
a194c47b07 Updated test_mysql_users
Updated test_mysql_users
2014-10-14 12:33:56 +02:00
MassimilianoPinto
273a445045 Code cleanup
Code cleanup
2014-10-13 10:47:27 +02:00
MassimilianoPinto
ee54310a73 Implementation of db auth
Implementation of db auth
2014-10-13 09:50:55 +02:00
MassimilianoPinto
18ae3e35ef develop branch merged
develop branch merged
2014-10-10 15:30:56 +02:00
VilhoRaatikka
d16bb227e9 Completing fix to bug #565, http://bugs.mariadb.com/show_bug.cgi?id=565
Client's flags are also used when changing the user inside the session.
2014-10-09 16:37:26 +03:00
VilhoRaatikka
29e53e150a Fix to bug # 565, http://bugs.mariadb.com/show_bug.cgi?id=565
Client flags are now copied to each backend and used in their connections.

log_manager.cc: fixed string allocation where one byte was missing.
mysql_client.c: fixed string allocation where one byte was missing.
2014-10-08 22:27:28 +03:00
VilhoRaatikka
153a1cd385 Fixed the fix: invalid packet test removed. 2014-10-07 18:41:53 +03:00
VilhoRaatikka
07fc5162a0 Fix to bug #562, http://bugs.mariadb.com/show_bug.cgi?id=562
mysql_client.c, added functions create_auth_fail_str, and get_username_from_auth to implement creation of similar error msg with MySQL. There is one difference left, because MaxScale prints IP address instead of hostname in error message.
2014-10-07 18:00:22 +03:00
VilhoRaatikka
aca8596efa mysql_client.c:gw_client_close didn't close client session in cases where session->state == SESSION_STATE_STOPPING. That is a bug and lead to situation where session wasn't closed at all.
Also changed 'authorization failed' to 'access denied'
mysql_common.c: fixed memory leak in gw_receive_backend_auth, and replaced error code '2800' with '28000'.
readconnroute.c:handleError didn't set *succp pointer so uninitialized value was used in caller's context.
makefile.inc: added -lm to linker flags
mysql_backend.c: added a few comments
2014-10-06 11:46:12 +03:00
MassimilianoPinto
dbe078f358 MySQL Authentication with wildcards in hosts
MySQL Authentication:

Added support for wildcards in hosts:

a.b.c.%
a.b.%.%
a.%.%.%
2014-10-03 17:26:41 +02:00
MassimilianoPinto
48489234be Merge branch 'develop' into MAX-268 2014-10-03 16:28:38 +02:00