/*
* ngIRCd -- The Next Generation IRC Daemon
- * Copyright (c)2001-2013 Alexander Barton (alex@barton.de) and Contributors.
+ * Copyright (c)2001-2014 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
* IRC info commands
*/
-#include "imp.h"
#include <assert.h>
#include <errno.h>
#include <stdio.h>
#include "client-cap.h"
#include "op.h"
-#include "exp.h"
#include "irc-info.h"
/* Local functions */
Client_ID(from), Client_ID(c)))
return DISCONNECTED;
+ /* Account name metadata? */
+ if (Client_AccountName(c) &&
+ !IRC_WriteStrClient(from, RPL_WHOISLOGGEDIN_MSG,
+ Client_ID(from), Client_ID(c),
+ Client_AccountName(c)))
+ return DISCONNECTED;
+
/* Local client and requester is the user itself or an IRC Op? */
if (Client_Conn(c) > NONE &&
(from == c || (!Conf_MorePrivacy && Client_HasMode(from, 'o')))) {
}
/* send version information */
- return IRC_WriteStrClient(Client, RPL_VERSION_MSG, Client_ID(prefix),
- PACKAGE_NAME, PACKAGE_VERSION,
- NGIRCd_DebugLevel, Conf_ServerName,
- NGIRCd_VersionAddition);
+ if (!IRC_WriteStrClient(Client, RPL_VERSION_MSG, Client_ID(prefix),
+ PACKAGE_NAME, PACKAGE_VERSION,
+ NGIRCd_DebugLevel, Conf_ServerName,
+ NGIRCd_VersionAddition))
+ return DISCONNECTED;
+
+#ifndef STRICT_RFC
+ /* send RPL_ISUPPORT(005) numerics */
+ if (!IRC_Send_ISUPPORT(prefix))
+ return DISCONNECTED;
+#endif
+
+ return CONNECTED;
} /* IRC_VERSION */
/**
GLOBAL bool
IRC_Send_ISUPPORT(CLIENT * Client)
{
+ if (Conf_Network[0] && !IRC_WriteStrClient(Client, RPL_ISUPPORTNET_MSG,
+ Client_ID(Client),
+ Conf_Network))
+ return DISCONNECTED;
if (!IRC_WriteStrClient(Client, RPL_ISUPPORT1_MSG, Client_ID(Client),
CHANTYPES, CHANTYPES, Conf_MaxJoins))
return DISCONNECTED;