/*
* ngIRCd -- The Next Generation IRC Daemon
- * Copyright (c)2001-2014 Alexander Barton (alex@barton.de) and Contributors.
+ * Copyright (c)2001-2015 Alexander Barton (alex@barton.de) and Contributors.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
#include "conn-func.h"
#include "channel.h"
+#include "irc-macros.h"
#include "irc-write.h"
#include "log.h"
#include "messages.h"
#include "parse.h"
+#include "irc-metadata.h"
+
/**
* Handler for the IRC+ "METADATA" command.
*
assert(Client != NULL);
assert(Req != NULL);
+ _IRC_REQUIRE_PREFIX_OR_RETURN_(Client, Req)
+
prefix = Client_Search(Req->prefix);
if (!prefix)
return IRC_WriteErrClient(Client, ERR_NOSUCHNICK_MSG,
}
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),