clarify code and comment for previous net rider kick change
authorMichael Poole <mdpoole@troilus.org>
Tue, 27 Jul 2004 21:37:42 +0000 (21:37 +0000)
committerMichael Poole <mdpoole@troilus.org>
Tue, 27 Jul 2004 21:37:42 +0000 (21:37 +0000)
git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@1090 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

ircd/m_burst.c

index 55e628ea0b7aa7d4b5100d995e46cbce6a21fafb..f282ba96405ac59e5ece197a99ab34c28e7e005f 100644 (file)
@@ -240,10 +240,13 @@ int ms_burst(struct Client *cptr, struct Client *sptr, int parc, char *parv[])
           nmember = member->next_member;
           if (!MyUser(member->user) || IsZombie(member))
             continue;
-          /* Kick as netrider if key mismatch *or* remote channel is +i
-           * *or* remote channel is +r and user has no account.
+          /* Kick as netrider if key mismatch *or* remote channel is
+           * +i (unless user is an oper) *or* remote channel is +r
+           * (unless user has an account).
            */
-          if ((check_modes == MODE_REGONLY) && IsAccount(member->user))
+          if (!(check_modes & MODE_KEY)
+              && (!(check_modes & MODE_INVITEONLY) || IsAnOper(member->user))
+              && (!(check_modes & MODE_REGONLY) || IsAccount(member->user)))
             continue;
           sendcmdto_serv_butone(&me, CMD_KICK, NULL, "%H %C :Net Rider", chptr, member->user);
           sendcmdto_channel_butserv_butone(&me, CMD_KICK, chptr, NULL, 0, "%H %C :Net Rider", chptr, member->user);