From a11303bd5891be8b8dc4a6c70174c45be21eb9a7 Mon Sep 17 00:00:00 2001 From: MassimilianoPinto Date: Mon, 29 Sep 2014 10:31:04 +0200 Subject: [PATCH] wildcard in host printed via show dbusers wildcard in host printed via show dbusers --- server/core/dbusers.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/server/core/dbusers.c b/server/core/dbusers.c index 5bb8bc320..c0aedeef9 100644 --- a/server/core/dbusers.c +++ b/server/core/dbusers.c @@ -589,6 +589,10 @@ char *mysql_format_user_entry(void *data) snprintf(mysql_user, mysql_user_len, "%s@%%", entry->user); } else if ( (entry->ipv4.sin_addr.s_addr & 0xFF000000) == 0) { snprintf(mysql_user, mysql_user_len, "%s@%i.%i.%i.%%", entry->user, entry->ipv4.sin_addr.s_addr & 0x000000FF, (entry->ipv4.sin_addr.s_addr & 0x0000FF00) / (256), (entry->ipv4.sin_addr.s_addr & 0x00FF0000) / (256 * 256)); + } else if ( (entry->ipv4.sin_addr.s_addr & 0xFFFF0000) == 0) { + snprintf(mysql_user, mysql_user_len, "%s@%i.%i.%%.%%", entry->user, entry->ipv4.sin_addr.s_addr & 0x000000FF, (entry->ipv4.sin_addr.s_addr & 0x0000FF00) / (256)); + } else if ( (entry->ipv4.sin_addr.s_addr & 0xFFFFFF00) == 0) { + snprintf(mysql_user, mysql_user_len, "%s@%i.%%.%%.%%", entry->user, entry->ipv4.sin_addr.s_addr & 0x000000FF); } else { strncpy(mysql_user, entry->user, MYSQL_USER_MAXLEN); strcat(mysql_user, "@");