Committer : entrope
CVSROOT : /cvsroot/undernet-ircu
Module : ircu2.10
Commit time: 2004-09-11 17:01:00 UTC
Modified files:
ChangeLog ircd/ircd_relay.c ircd/m_wallchops.c
ircd/m_wallvoices.c
Log message:
Don't allow remote servers to send messages to our &channels (Bug #721494)
Rework of Kev's patch to do the same fix.
---------------------- diff included ----------------------
Index: ircu2.10/ChangeLog
diff -u ircu2.10/ChangeLog:1.459 ircu2.10/ChangeLog:1.460
--- ircu2.10/ChangeLog:1.459 Sat Sep 11 08:58:01 2004
+++ ircu2.10/ChangeLog Sat Sep 11 10:00:50 2004
@@ -1,3 +1,13 @@
+2004-09-11 Michael Poole <[EMAIL PROTECTED]>
+
+ * ircd/ircd_relay.c (server_relay_channel_message,
+ server_relay_channel_notice): Do not allow other servers to send
+ or relay to local channels.
+
+ * ircd/m_wallchops (ms_wallchops): Likewise.
+
+ * ircd/m_wallvoices (ms_wallvoices): Likewise.
+
2004-09-11 Kevin L Mitchell <[EMAIL PROTECTED]>
* ircd/gline.c (gline_add): fix GLINE logging (Bug #750927)
Index: ircu2.10/ircd/ircd_relay.c
diff -u ircu2.10/ircd/ircd_relay.c:1.13 ircu2.10/ircd/ircd_relay.c:1.14
--- ircu2.10/ircd/ircd_relay.c:1.13 Mon May 10 19:10:29 2004
+++ ircu2.10/ircd/ircd_relay.c Sat Sep 11 10:00:50 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.13 2004/05/11 02:10:29 entrope Exp $
+ * $Id: ircd_relay.c,v 1.14 2004/09/11 17:00:50 entrope Exp $
*/
#include "config.h"
@@ -110,7 +110,7 @@
assert(0 != name);
assert(0 != text);
- if (0 == (chptr = FindChannel(name))) {
+ if (IsLocalChannel(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 (IsLocalChannel(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.7 ircu2.10/ircd/m_wallchops.c:1.8
--- ircu2.10/ircd/m_wallchops.c:1.7 Mon May 10 19:10:27 2004
+++ ircu2.10/ircd/m_wallchops.c Sat Sep 11 10:00:50 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.7 2004/05/11 02:10:27 entrope Exp $
+ * $Id: m_wallchops.c,v 1.8 2004/09/11 17:00:50 entrope Exp $
*/
/*
@@ -143,7 +143,7 @@
if (parc < 3 || !IsUser(sptr))
return 0;
- if ((chptr = FindChannel(parv[1]))) {
+ if (!IsLocalChannel(parv[1]) && (chptr = FindChannel(parv[1]))) {
if (client_can_send_to_channel(sptr, chptr, 0)) {
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.4 ircu2.10/ircd/m_wallvoices.c:1.5
--- ircu2.10/ircd/m_wallvoices.c:1.4 Mon May 10 19:10:27 2004
+++ ircu2.10/ircd/m_wallvoices.c Sat Sep 11 10:00:50 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.4 2004/05/11 02:10:27 entrope Exp $
+ * $Id: m_wallvoices.c,v 1.5 2004/09/11 17:00:50 entrope Exp $
*/
/*
@@ -142,7 +142,7 @@
if (parc < 3 || !IsUser(sptr))
return 0;
- if ((chptr = FindChannel(parv[1]))) {
+ if (!IsLocalChannel(parv[1]) && (chptr = FindChannel(parv[1]))) {
if (client_can_send_to_channel(sptr, chptr, 0)) {
sendcmdto_channel_butone(sptr, CMD_WALLVOICES, chptr, cptr,
SKIP_DEAF | SKIP_BURST | SKIP_NONVOICES,
----------------------- End of diff -----------------------