]> jfr.im git - irc/quakenet/snircd-patchqueue.git/blob - netriderkickoutsideburst.patch
rename patch files
[irc/quakenet/snircd-patchqueue.git] / netriderkickoutsideburst.patch
1 make anti net rider code use better fitting kick message when receiving burst from service outside of net.burst (e.g. Q)
2
3 diff -r 6503d2edd3c3 ircd/m_burst.c
4 --- a/ircd/m_burst.c Thu Mar 18 11:04:02 2010 +0100
5 +++ b/ircd/m_burst.c Thu Mar 18 11:47:15 2010 +0100
6 @@ -212,6 +212,7 @@
7 unsigned int parse_flags = (MODE_PARSE_FORCE | MODE_PARSE_BURST);
8 int param, nickpos = 0, banpos = 0;
9 char modestr[BUFSIZE], nickstr[BUFSIZE], banstr[BUFSIZE];
10 + char *kickmsg = "Net Rider";
11
12 if (parc < 3)
13 return protocol_violation(sptr,"Too few parameters for BURST");
14 @@ -294,6 +295,14 @@
15 {
16 /* Clear any outstanding rogue invites */
17 mode_invite_clear(chptr);
18 +
19 + /* burst is from a services server outside of netburst
20 + * or from a user on one, unusual, but not impossible, handle just in case
21 + */
22 + if ((IsServer(sptr) && !IsBurst(sptr) && IsService(sptr)) ||
23 + (!IsServer(sptr) && !IsBurst(cli_user(sptr)->server) && IsService(cli_user(sptr)->server)))
24 + kickmsg = "Channel Registered";
25 +
26 for (member = chptr->members; member; member = nmember)
27 {
28 nmember = member->next_member;
29 @@ -313,8 +322,8 @@
30 && (!(check_modes & MODE_INVITEONLY) || IsAnOper(member->user))
31 && (!(check_modes & MODE_REGONLY) || IsAccount(member->user)))
32 continue;
33 - sendcmdto_serv_butone(&me, CMD_KICK, NULL, "%H %C :Net Rider", chptr, member->user);
34 - sendcmdto_channel_butserv_butone(&his, CMD_KICK, chptr, NULL, 0, "%H %C :Net Rider", chptr, member->user);
35 + sendcmdto_serv_butone(&me, CMD_KICK, NULL, "%H %C :%s", chptr, member->user, kickmsg);
36 + sendcmdto_channel_butserv_butone(&his, CMD_KICK, chptr, NULL, 0, "%H %C :%s", chptr, member->user, kickmsg);
37 make_zombie(member, member->user, &me, &me, chptr);
38 }
39 }