repo: ngircd
action: commit
revision: 
path_from: 
revision_from: 52d8fa2c09c36632c1cacd8242e22e9de920ec9f:
path_to: 
revision_to: 
git.thebackupbox.net
ngircd
git clone git://git.thebackupbox.net/ngircd
commit 52d8fa2c09c36632c1cacd8242e22e9de920ec9f
Author: Alexander Barton 
Date:   Mon May 4 00:55:25 2020 +0200

    Update Client_SetHostname() to not use strpbrk()

    Not sure about the portability of strpbrk() in really ancient OS, and
    this was the only place where it became used recently in ngIRCd ...
    So let's play it safe! ;-)

diff --git a/src/ngircd/client.c b/src/ngircd/client.c
index 1c7bd1ead0cc510a814d59f0c43d12c1e1bb65da..
index ..67c0260423ac8a3e2ca9a099397691eeae40711a 100644
--- a/src/ngircd/client.c
+++ b/src/ngircd/client.c
@@ -339,9 +339,9 @@ Client_SetHostname( CLIENT *Client, const char *Hostname )

 	/* 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, ".:"))) {
+	 * 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);

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