summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authormichi <michi+ngircd@dataswamp.org>2020-04-21 13:02:08 +0200
committerAlexander Barton <alex@barton.de>2020-05-04 00:58:24 +0200
commit1f40776bc166ece8dad0d333905481aa28786cb5 (patch)
treeac9107c68ba2c852a43cd504f63c856909d18406 /src
parent387a29a7fdbf00f5d792ba1450c608db8670308a (diff)
downloadngircd-1f40776bc166ece8dad0d333905481aa28786cb5.tar.gz
ngircd-1f40776bc166ece8dad0d333905481aa28786cb5.zip
Allow hostmask cloaking when rDNS is disabled
Diffstat (limited to 'src')
-rw-r--r--src/ngircd/client.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/ngircd/client.c b/src/ngircd/client.c
index 118431b1..1c7bd1ea 100644
--- a/src/ngircd/client.c
+++ b/src/ngircd/client.c
@@ -337,9 +337,11 @@ Client_SetHostname( CLIENT *Client, const char *Hostname )
 	assert(Client != NULL);
 	assert(Hostname != NULL);
 
-	/* Only cloak the hostmask if it has not yet been cloaked (the period
-	 * or colon indicates it's still an IP address). */
-	if (Conf_CloakHost[0] && strpbrk(Client->host, ".:")) {
+	/* Only cloak the hostmask if it has not yet been cloaked.
+	 * The period or colon indicates it's still an IP address.
+	 * An empty string means a rDNS lookup did not happen (yet).
+         */
+	if (Conf_CloakHost[0] && (!Client->host[0] || strpbrk(Client->host, ".:"))) {
 		char cloak[GETID_LEN];
 
 		strlcpy(cloak, Hostname, GETID_LEN);