From b77a9af188be999e86dc9b8264b4ba37b508bd02 Mon Sep 17 00:00:00 2001 From: Juan Ferrer Toribio Date: Sun, 8 May 2016 16:18:45 +0200 Subject: [PATCH] Errores solucionados, compatibilidad con MariaDB --- proxy-test/test.sql | 1 + src/proxy-auth/proxy-auth.c | 7 ++++--- src/proxy-auth/proxy-auth.sql | 4 ++-- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/proxy-test/test.sql b/proxy-test/test.sql index b462de1..77d2dc9 100644 --- a/proxy-test/test.sql +++ b/proxy-test/test.sql @@ -14,5 +14,6 @@ CREATE USER 'proxy'@'%' IDENTIFIED BY '123456'; GRANT USAGE ON *.* TO 'proxy'@'%'; GRANT PROXY ON 'proxy'@'%' TO ''@'%'; +-- Use this query on /etc/mysql/proxy-auth.ini -- SELECT mysql_user FROM user WHERE user = #user AND password = #pass diff --git a/src/proxy-auth/proxy-auth.c b/src/proxy-auth/proxy-auth.c index c97b9c1..351ed5b 100644 --- a/src/proxy-auth/proxy-auth.c +++ b/src/proxy-auth/proxy-auth.c @@ -356,12 +356,13 @@ proxy_auth_authenticate (ProxyAuth * self, MYSQL_PLUGIN_VIO * vio, MYSQL_SERVER_ if (row_len > 0 && row_len <= MYSQL_USERNAME_LENGTH) { - if (self->debug) - g_message ("ProxyAuth: Proxy user: %s", row[0]); - strcpy (info->external_user, info->user_name); strncpy (info->authenticated_as, row[0], row_len); + info->authenticated_as[row_len] = '\0'; res = CR_OK; + + if (self->debug) + g_message ("ProxyAuth: Proxy user: %s", info->authenticated_as); } } diff --git a/src/proxy-auth/proxy-auth.sql b/src/proxy-auth/proxy-auth.sql index bf4fe9d..2eee74a 100644 --- a/src/proxy-auth/proxy-auth.sql +++ b/src/proxy-auth/proxy-auth.sql @@ -1,5 +1,5 @@ -SELECT user +SELECT m.user FROM user u JOIN mysql_user m ON u.mysql_user_id = m.id - WHERE name = #user AND password = MD5(#pass) AND active != FALSE + WHERE u.name = #user AND u.password = MD5(#pass) AND u.active