]> jfr.im git - irc/quakenet/snircd-patchqueue.git/blob - freetargetcheckaftermodechecks.patch
nickgline: include nick! bit in gline loggin
[irc/quakenet/snircd-patchqueue.git] / freetargetcheckaftermodechecks.patch
1 move free target check after the snircd chanmode checks - dont use up a free target when the message never had a chance
2
3 diff -r 03afb3a4d053 ircd/ircd_relay.c
4 --- a/ircd/ircd_relay.c Sat Mar 20 14:53:39 2010 +0100
5 +++ b/ircd/ircd_relay.c Sat Mar 20 15:03:03 2010 +0100
6 @@ -103,9 +103,6 @@
7 send_reply(sptr, ERR_CANNOTSENDTOCHAN, chptr->chname);
8 return;
9 }
10 - if ((chptr->mode.mode & MODE_NOPRIVMSGS) &&
11 - check_target_limit(sptr, chptr, chptr->chname, 0))
12 - return;
13
14 /* +T check */
15 if ((chptr->mode.mode & MODE_NOMULTITARGET) && (targetc > 1)) {
16 @@ -128,6 +125,10 @@
17 return;
18 }
19
20 + if ((chptr->mode.mode & MODE_NOPRIVMSGS) &&
21 + check_target_limit(sptr, chptr, chptr->chname, 0))
22 + return;
23 +
24 RevealDelayedJoinIfNeeded(sptr, chptr);
25 sendcmdto_channel_butone(sptr, CMD_PRIVATE, chptr, cli_from(sptr),
26 SKIP_DEAF | SKIP_BURST, "%H :%s", chptr, text);
27 @@ -156,10 +157,6 @@
28 if (!client_can_send_to_channel(sptr, chptr, 0))
29 return;
30
31 - if ((chptr->mode.mode & MODE_NOPRIVMSGS) &&
32 - check_target_limit(sptr, chptr, chptr->chname, 0))
33 - return;
34 -
35 if ((chptr->mode.mode & MODE_NONOTICE))
36 return;
37
38 @@ -178,6 +175,10 @@
39 if (*ch++==1)
40 return;
41
42 + if ((chptr->mode.mode & MODE_NOPRIVMSGS) &&
43 + check_target_limit(sptr, chptr, chptr->chname, 0))
44 + return;
45 +
46 RevealDelayedJoinIfNeeded(sptr, chptr);
47 sendcmdto_channel_butone(sptr, CMD_NOTICE, chptr, cli_from(sptr),
48 SKIP_DEAF | SKIP_BURST, "%H :%s", chptr, text);
49 diff -r 03afb3a4d053 ircd/m_wallchops.c
50 --- a/ircd/m_wallchops.c Sat Mar 20 14:53:39 2010 +0100
51 +++ b/ircd/m_wallchops.c Sat Mar 20 15:03:03 2010 +0100
52 @@ -118,9 +118,6 @@
53
54 if (IsChannelName(parv[1]) && (chptr = FindChannel(parv[1]))) {
55 if (client_can_send_to_channel(sptr, chptr, 0) && !(chptr->mode.mode & MODE_NONOTICE)) {
56 - if ((chptr->mode.mode & MODE_NOPRIVMSGS) &&
57 - check_target_limit(sptr, chptr, chptr->chname, 0))
58 - return 0;
59
60 /* +cC checks */
61 if (chptr->mode.mode & MODE_NOCOLOUR)
62 @@ -135,6 +132,10 @@
63 return 0;
64 }
65
66 + if ((chptr->mode.mode & MODE_NOPRIVMSGS) &&
67 + check_target_limit(sptr, chptr, chptr->chname, 0))
68 + return 0;
69 +
70 RevealDelayedJoinIfNeeded(sptr, chptr);
71 sendcmdto_channel_butone(sptr, CMD_WALLCHOPS, chptr, cptr,
72 SKIP_DEAF | SKIP_BURST | SKIP_NONOPS,
73 diff -r 03afb3a4d053 ircd/m_wallvoices.c
74 --- a/ircd/m_wallvoices.c Sat Mar 20 14:53:39 2010 +0100
75 +++ b/ircd/m_wallvoices.c Sat Mar 20 15:03:03 2010 +0100
76 @@ -117,9 +117,6 @@
77
78 if (IsChannelName(parv[1]) && (chptr = FindChannel(parv[1]))) {
79 if (client_can_send_to_channel(sptr, chptr, 0) && !(chptr->mode.mode & MODE_NONOTICE)) {
80 - if ((chptr->mode.mode & MODE_NOPRIVMSGS) &&
81 - check_target_limit(sptr, chptr, chptr->chname, 0))
82 - return 0;
83
84 /* +cC checks */
85 if (chptr->mode.mode & MODE_NOCOLOUR)
86 @@ -134,6 +131,10 @@
87 return 0;
88 }
89
90 + if ((chptr->mode.mode & MODE_NOPRIVMSGS) &&
91 + check_target_limit(sptr, chptr, chptr->chname, 0))
92 + return 0;
93 +
94 RevealDelayedJoinIfNeeded(sptr, chptr);
95 sendcmdto_channel_butone(sptr, CMD_WALLVOICES, chptr, cptr,
96 SKIP_DEAF | SKIP_BURST | SKIP_NONVOICES,