diff options
| author | JRMU <jrmu@lecturify.com> | 2019-09-04 06:48:54 +0200 |
|---|---|---|
| committer | Alexander Barton <alex@barton.de> | 2019-09-09 15:30:44 +0200 |
| commit | 147e424d98091a3627091edbfdab9fca52f21938 (patch) | |
| tree | fc64b2c26b22d7b04766e2a4764917cd710c8033 /src | |
| parent | e954b59d414fb32b89291514d0d690c9ebabba49 (diff) | |
| download | ngircd-147e424d98091a3627091edbfdab9fca52f21938.tar.gz ngircd-147e424d98091a3627091edbfdab9fca52f21938.zip | |
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.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ngircd/client.c | 4 |
1 files changed, 3 insertions, 1 deletions
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); |