From bbd3e13a54ed9f947af31559155f19aa6b022009 Mon Sep 17 00:00:00 2001 From: Markus Makela Date: Thu, 10 Nov 2016 13:00:03 +0200 Subject: [PATCH] Only use valid server credentials The server credentials are only used if both the monuser and monpw parameters are defined. This is a sort of a bugfix as a monitor connection could use a username from server but a password from the monitor. --- server/core/monitor.c | 11 +++++++++-- server/modules/monitor/mysqlmon/mysql_mon.c | 6 ------ 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/server/core/monitor.c b/server/core/monitor.c index 25aa124a0..9df8401ff 100644 --- a/server/core/monitor.c +++ b/server/core/monitor.c @@ -1058,8 +1058,15 @@ mon_connect_to_db(MONITOR* mon, MONITOR_SERVERS *database) if ((database->con = mysql_init(NULL))) { - char *uname = database->server->monuser ? database->server->monuser : mon->user; - char *passwd = database->server->monpw ? database->server->monpw : mon->password; + char *uname = mon->user; + char *passwd = mon->password; + + if (database->server->monuser[0] && database->server->monpw[0]) + { + uname = database->server->monuser; + passwd = database->server->monpw; + } + char *dpwd = decryptPassword(passwd); mysql_options(database->con, MYSQL_OPT_CONNECT_TIMEOUT, (void *) &mon->connect_timeout); diff --git a/server/modules/monitor/mysqlmon/mysql_mon.c b/server/modules/monitor/mysqlmon/mysql_mon.c index 5eb0e72b1..dbf19503f 100644 --- a/server/modules/monitor/mysqlmon/mysql_mon.c +++ b/server/modules/monitor/mysqlmon/mysql_mon.c @@ -688,15 +688,9 @@ monitorDatabase(MONITOR *mon, MONITOR_SERVERS *database) MYSQL_MONITOR* handle = mon->handle; MYSQL_ROW row; MYSQL_RES *result; - char *uname = mon->user; unsigned long int server_version = 0; char *server_string; - if (!database->server->monuser[0]) - { - return; - } - /* Don't probe servers in maintenance mode */ if (SERVER_IN_MAINT(database->server)) {