X-Git-Url: https://jfr.im/git/irc/rqf/shadowircd.git/blobdiff_plain/7f4fa1956ee087c272dd260feb6d7e1ef34d641b..3c6fb31a4bb6580e3295fdec5d4687eafb487251:/modules/m_invite.c diff --git a/modules/m_invite.c b/modules/m_invite.c index 35e392f..cff1f83 100644 --- a/modules/m_invite.c +++ b/modules/m_invite.c @@ -25,12 +25,11 @@ */ #include "stdinc.h" -#include "tools.h" #include "common.h" #include "channel.h" #include "client.h" #include "hash.h" -#include "irc_string.h" +#include "match.h" #include "ircd.h" #include "numeric.h" #include "send.h" @@ -53,7 +52,6 @@ DECLARE_MODULE_AV1(invite, NULL, NULL, invite_clist, NULL, NULL, "$Revision: 343 static void add_invite(struct Channel *, struct Client *); /* m_invite() - * parv[0] - sender prefix * parv[1] - user to invite * parv[2] - channel name */ @@ -111,6 +109,16 @@ m_invite(struct Client *client_p, struct Client *source_p, int parc, const char return 0; } + if(((MyConnect(source_p) && !IsExemptResv(source_p)) || + (MyConnect(target_p) && !IsExemptResv(target_p))) && + hash_find_resv(parv[2])) + { + sendto_one_numeric(source_p, ERR_BADCHANNAME, + form_str(ERR_BADCHANNAME), + parv[2]); + return 0; + } + if((chptr = find_channel(parv[2])) == NULL) { sendto_one_numeric(source_p, ERR_NOSUCHCHANNEL,