Committer : klmitch
CVSROOT : /cvsroot/undernet-ircu
Module : ircu2.10
Branch tags: u2_10_11_07
Commit time: 2004-09-11 16:05:50 UTC
Modified files:
Tag: u2_10_11_07
ChangeLog ircd/ircd_relay.c ircd/m_wallchops.c
ircd/m_wallvoices.c
Log message:
Author: Kev <[EMAIL PROTECTED]>
Log message:
Don't allow remote servers to send messages to our &channels (Bug #721494)
---------------------- diff included ----------------------
Index: ircu2.10/ChangeLog
diff -u ircu2.10/ChangeLog:1.290.2.130.2.16 ircu2.10/ChangeLog:1.290.2.130.2.17
--- ircu2.10/ChangeLog:1.290.2.130.2.16 Sat Sep 11 08:50:28 2004
+++ ircu2.10/ChangeLog Sat Sep 11 09:05:39 2004
@@ -1,5 +1,14 @@
2004-09-11 Kevin L Mitchell <[EMAIL PROTECTED]>
+ * ircd/m_wallvoices.c (ms_wallvoices): Don't accept & channel
+ WALLVOICES from servers (Bug #721494)
+
+ * ircd/m_wallchops.c (ms_wallchops): Don't accept & channel
+ WALLCHOPS from servers (Bug #721494)
+
+ * ircd/ircd_relay.c: Don't accept & channel messages/notices from
+ servers (Bug #721494)
+
* ircd/gline.c (gline_add): fix GLINE logging (Bug #750927)
* ircd/channel.c: removing limits shouldn't gobble an argument;
Index: ircu2.10/ircd/ircd_relay.c
diff -u ircu2.10/ircd/ircd_relay.c:1.8.2.2 ircu2.10/ircd/ircd_relay.c:1.8.2.2.10.1
--- ircu2.10/ircd/ircd_relay.c:1.8.2.2 Thu Oct 10 02:13:25 2002
+++ ircu2.10/ircd/ircd_relay.c Sat Sep 11 09:05:39 2004
@@ -20,7 +20,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
- * $Id: ircd_relay.c,v 1.8.2.2 2002/10/10 09:13:25 isomer Exp $
+ * $Id: ircd_relay.c,v 1.8.2.2.10.1 2004/09/11 16:05:39 klmitch Exp $
*/
#include "config.h"
@@ -110,7 +110,7 @@
assert(0 != name);
assert(0 != text);
- if (0 == (chptr = FindChannel(name))) {
+ if (*name == '&' || 0 == (chptr = FindChannel(name))) {
/*
* XXX - do we need to send this back from a remote server?
*/
@@ -136,7 +136,7 @@
assert(0 != name);
assert(0 != text);
- if (0 == (chptr = FindChannel(name)))
+ if (*name == '&' || 0 == (chptr = FindChannel(name)))
return;
/*
* This first: Almost never a server/service
Index: ircu2.10/ircd/m_wallchops.c
diff -u ircu2.10/ircd/m_wallchops.c:1.5.2.2 ircu2.10/ircd/m_wallchops.c:1.5.2.2.6.1
--- ircu2.10/ircd/m_wallchops.c:1.5.2.2 Tue Jan 7 03:15:44 2003
+++ ircu2.10/ircd/m_wallchops.c Sat Sep 11 09:05:40 2004
@@ -20,7 +20,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
- * $Id: m_wallchops.c,v 1.5.2.2 2003/01/07 11:15:44 isomer Exp $
+ * $Id: m_wallchops.c,v 1.5.2.2.6.1 2004/09/11 16:05:40 klmitch Exp $
*/
/*
@@ -143,7 +143,7 @@
if (parc < 3 || !IsUser(sptr))
return 0;
- if ((chptr = FindChannel(parv[1]))) {
+ if (*parv[1] != '&' && (chptr = FindChannel(parv[1]))) {
if (client_can_send_to_channel(sptr, chptr)) {
sendcmdto_channel_butone(sptr, CMD_WALLCHOPS, chptr, cptr,
SKIP_DEAF | SKIP_BURST | SKIP_NONOPS,
Index: ircu2.10/ircd/m_wallvoices.c
diff -u ircu2.10/ircd/m_wallvoices.c:1.1.4.2 ircu2.10/ircd/m_wallvoices.c:1.1.4.2.6.1
--- ircu2.10/ircd/m_wallvoices.c:1.1.4.2 Tue Jan 7 03:15:44 2003
+++ ircu2.10/ircd/m_wallvoices.c Sat Sep 11 09:05:40 2004
@@ -19,7 +19,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
- * $Id: m_wallvoices.c,v 1.1.4.2 2003/01/07 11:15:44 isomer Exp $
+ * $Id: m_wallvoices.c,v 1.1.4.2.6.1 2004/09/11 16:05:40 klmitch Exp $
*/
/*
@@ -142,7 +142,7 @@
if (parc < 3 || !IsUser(sptr))
return 0;
- if ((chptr = FindChannel(parv[1]))) {
+ if (*parv[1] != '&' && (chptr = FindChannel(parv[1]))) {
if (client_can_send_to_channel(sptr, chptr)) {
sendcmdto_channel_butone(sptr, CMD_WALLVOICES, chptr, cptr,
SKIP_DEAF | SKIP_BURST | SKIP_NONVOICES,
----------------------- End of diff -----------------------