assert(Client != NULL);
assert(Hostname != NULL);
- /* 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, '.')) {
+ /* 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] || strchr(Client->host, '.')
+ || strchr(Client->host, ':'))) {
char cloak[GETID_LEN];
strlcpy(cloak, Hostname, GETID_LEN);