]>
Commit | Line | Data |
---|---|---|
82236955 | 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, |