Allow hostmask cloaking when rDNS is disabled
authormichi <michi+ngircd@dataswamp.org>
Tue, 21 Apr 2020 11:02:08 +0000 (13:02 +0200)
committerAlexander Barton <alex@barton.de>
Sun, 3 May 2020 22:58:24 +0000 (00:58 +0200)
src/ngircd/client.c

index 118431b1c94a237c16ca8db32c60a6c449185f8f..1c7bd1ead0cc510a814d59f0c43d12c1e1bb65da 100644 (file)
@@ -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);