repo: ngircd
action: commit
revision: 
path_from: 
revision_from: 1f40776bc166ece8dad0d333905481aa28786cb5:
path_to: 
revision_to: 
git.thebackupbox.net
ngircd
git clone git://git.thebackupbox.net/ngircd
commit 1f40776bc166ece8dad0d333905481aa28786cb5
Author: Michi 
Date:   Tue Apr 21 13:02:08 2020 +0200

    Allow hostmask cloaking when rDNS is disabled

diff --git a/src/ngircd/client.c b/src/ngircd/client.c
index 118431b1c94a237c16ca8db32c60a6c449185f8f..
index ..1c7bd1ead0cc510a814d59f0c43d12c1e1bb65da 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);

-----END OF PAGE-----