/*
* 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
#include "messages.h"
#include "parse.h"
+#include "irc-op.h"
+
/* Local functions */
static bool
return IRC_WriteErrClient(from, ERR_NOSUCHNICK_MSG,
Client_ID(Client), Req->argv[0]);
+ if (Req->argv[1][0] == '&') {
+ /* Local channel. Make sure the target user is on this server! */
+ if (Client_Conn(target) == NONE)
+ return IRC_WriteErrClient(from, ERR_USERNOTONSERV_MSG,
+ Client_ID(Client),
+ Req->argv[0]);
+ }
+
chan = Channel_Search(Req->argv[1]);
if (chan) {
/* Channel exists. Is the user a valid member of the channel? */
if (remember) {
/* We must remember this invite */
if (!Channel_AddInvite(chan, Client_MaskCloaked(target),
- true))
+ true, Client_ID(from)))
return CONNECTED;
}
}