From 147e424d98091a3627091edbfdab9fca52f21938 Mon Sep 17 00:00:00 2001 From: JRMU Date: Wed, 4 Sep 2019 06:48:54 +0200 Subject: [PATCH] Fix hostmask cloaking bug, don't cloak multiple times Previously, each server would cloak every user's hostmask. The problem is that if a network has more than one server, then a user's hostmask would get cloaked twice. This patch ensures that a server only cloaks the hostmask if it has not yet been cloaked (the period indicates it's still an IP address). Closes #228. --- src/ngircd/client.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/ngircd/client.c b/src/ngircd/client.c index 7e6ff68a..a453312c 100644 --- a/src/ngircd/client.c +++ b/src/ngircd/client.c @@ -337,7 +337,9 @@ Client_SetHostname( CLIENT *Client, const char *Hostname ) assert(Client != NULL); assert(Hostname != NULL); - if (Conf_CloakHost[0]) { + /* Only cloak the hostmask if it has not yet been cloaked (the period + * indicates it's still an IP address). */ + if (Conf_CloakHost[0] && strchr(Client->host, '.')) { char cloak[GETID_LEN]; strlcpy(cloak, Hostname, GETID_LEN); -- 2.39.2