From eedb82d133513c8849c20299f82d2730184579db Mon Sep 17 00:00:00 2001 From: Michael Poole Date: Sat, 15 May 2004 15:36:11 +0000 Subject: [PATCH] Forward port /invite changes from 2.10.11. git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@1052 c9e4aea6-c8fd-4c43-8297-357d70d61c8c --- ChangeLog | 12 ++++++++++++ ircd/m_invite.c | 24 +++--------------------- 2 files changed, 15 insertions(+), 21 deletions(-) diff --git a/ChangeLog b/ChangeLog index 369b403..24d4929 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +2004-05-15 Isomer + + [Original ChangeLog date: 2004-03-20 -MDP] + + * ircd/m_invite.c: Disallow invites to non existant channels + +2004-05-15 David Mansell + + [Original ChangeLog date: 2003-04-26 -MDP] + + * ircd/m_invite.c: let +k users invite into channels they aren't on. + 2004-05-15 hikari [Original ChangeLog date: 2003-07-13 -MDP] diff --git a/ircd/m_invite.c b/ircd/m_invite.c index ca5401e..acb65e6 100644 --- a/ircd/m_invite.c +++ b/ircd/m_invite.c @@ -146,25 +146,7 @@ int m_invite(struct Client* cptr, struct Client* sptr, int parc, char* parv[]) return 0; if (!(chptr = FindChannel(parv[2]))) { - if (IsLocalChannel(parv[2])) - { - send_reply(sptr, ERR_NOTONCHANNEL, parv[2]); - return 0; - } - - /* Do not disallow to invite to non-existant #channels, otherwise they - would simply first be created, causing only MORE bandwidth usage. */ - - if (check_target_limit(sptr, acptr, cli_name(acptr), 0)) - return 0; - - send_reply(sptr, RPL_INVITING, cli_name(acptr), parv[2]); - - if (cli_user(acptr)->away) - send_reply(sptr, RPL_AWAY, cli_name(acptr), cli_user(acptr)->away); - - sendcmdto_one(sptr, CMD_INVITE, acptr, "%s :%s", cli_name(acptr), parv[2]); - + send_reply(sptr, ERR_NOTONCHANNEL, parv[2]); return 0; } @@ -237,7 +219,7 @@ int ms_invite(struct Client* cptr, struct Client* sptr, int parc, char* parv[]) protocol_violation(sptr,"Too few arguments to invite"); return need_more_params(sptr,"INVITE"); } - if ('#' != *parv[2]) { + if (!IsGlobalChannel(parv[2])) { /* * should not be sent */ @@ -267,7 +249,7 @@ int ms_invite(struct Client* cptr, struct Client* sptr, int parc, char* parv[]) return 0; } - if (!find_channel_member(sptr, chptr)) { + if (!IsChannelService(sptr) && !find_channel_member(sptr, chptr)) { send_reply(sptr, ERR_NOTONCHANNEL, chptr->chname); return 0; } -- 2.20.1