From b102d69ef9a7b5310602773b0be2d4ea3032dce0 Mon Sep 17 00:00:00 2001 From: Markus Makela Date: Thu, 2 Oct 2014 18:40:25 +0300 Subject: [PATCH] Fix to bug 562 (http://bugs.mariadb.com/show_bug.cgi?id=562) mysql_client.c: Changed the error message and, in the case of a failed auth while using a password, set the first byte to 1 in dcb->data->client_sha1 --- server/modules/protocol/mysql_client.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/server/modules/protocol/mysql_client.c b/server/modules/protocol/mysql_client.c index b1559b94b..9ff04221d 100644 --- a/server/modules/protocol/mysql_client.c +++ b/server/modules/protocol/mysql_client.c @@ -488,6 +488,10 @@ static int gw_mysql_do_authentication(DCB *dcb, GWBUF *queue) { if (auth_ret == 0) { dcb->user = strdup(client_data->user); + }else if(auth_token_len > 0) + { + /**User was using a password, add a notification for that*/ + stage1_hash[0] = 1; } return auth_ret; @@ -654,12 +658,22 @@ int gw_read_client_event( protocol->owner_dcb->fd, pthread_self()))); + + char errstr [256]; + MYSQL_session *mysqlsession = dcb->data; + + sprintf(errstr, + "Access denied for user '%s'@'%s' (using password: %s)", + mysqlsession->user, + dcb->remote, + mysqlsession->client_sha1[0] > 0 ? "YES":"NO"); + /** Send ERR 1045 to client */ mysql_send_auth_error( dcb, 2, 0, - "Authorization failed"); + errstr); dcb_close(dcb); }