diff options
| author | Alexander Barton <alex@barton.de> | 2024-03-17 15:55:39 +0100 |
|---|---|---|
| committer | Alexander Barton <alex@barton.de> | 2024-03-17 22:42:19 +0100 |
| commit | 1118b0e77ca961a7b082f90cb124210eca8fb6bd (patch) | |
| tree | 618e6e70b8ffafabcff0c60db811aa5808731c60 | |
| parent | 5fd195a2cd785a735b7d873ab83579879c4f1028 (diff) | |
| download | ngircd-1118b0e77ca961a7b082f90cb124210eca8fb6bd.tar.gz ngircd-1118b0e77ca961a7b082f90cb124210eca8fb6bd.zip | |
METATADA: Fix unsetting "cloakhost"
Correctly re-generate the "cloaked hostname" when removing the "cloakhost" using an empty string by passing down NULL instead of the empty string, which results in protocol violations (for example on WHOIS).
| -rw-r--r-- | src/ngircd/irc-metadata.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/ngircd/irc-metadata.c b/src/ngircd/irc-metadata.c index 2a3de1b4..00205f16 100644 --- a/src/ngircd/irc-metadata.c +++ b/src/ngircd/irc-metadata.c @@ -72,7 +72,9 @@ IRC_METADATA(CLIENT *Client, REQUEST *Req) } if (strcasecmp(Req->argv[1], "cloakhost") == 0) { - Client_UpdateCloakedHostname(target, prefix, Req->argv[2]); + /* Set or remove a "cloaked hostname". */ + Client_UpdateCloakedHostname(target, prefix, + *Req->argv[2] ? Req->argv[2] : NULL); if (Client_Conn(target) > NONE && Client_HasMode(target, 'x')) IRC_WriteStrClientPrefix(target, prefix, RPL_HOSTHIDDEN_MSG, Client_ID(target), |