From: JRMU Date: Wed, 4 Sep 2019 04:48:54 +0000 (+0200) Subject: Fix hostmask cloaking bug, don't cloak multiple times X-Git-Tag: rel-26-rc1~62 X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?p=ngircd-alex.git;a=commitdiff_plain;h=147e424d98091a3627091edbfdab9fca52f21938;hp=e954b59d414fb32b89291514d0d690c9ebabba49 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. --- 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);