Committer  : entrope
CVSROOT    : /cvsroot/undernet-ircu
Module     : ircu2.10
Commit time: 2005-09-13 15:17:56 UTC

Modified files:
     ChangeLog include/channel.h ircd/m_invite.c ircd/m_join.c
     ircd/m_mode.c ircd/m_names.c ircd/m_opmode.c

Log message:

Rip out clean_channelname() and reject invalid names where appropriate.

---------------------- diff included ----------------------
Index: ircu2.10/ChangeLog
diff -u ircu2.10/ChangeLog:1.697 ircu2.10/ChangeLog:1.698
--- ircu2.10/ChangeLog:1.697    Tue Sep 13 05:06:30 2005
+++ ircu2.10/ChangeLog  Tue Sep 13 08:17:46 2005
@@ -1,5 +1,20 @@
 2005-09-13  Michael Poole <[EMAIL PROTECTED]>
 
+       * include/channel.h (clean_channelname): Remove prototype.
+
+       * ircd/m_invite.c (m_invite): Do not clean channel name; just
+       reject invalid channel names.
+
+       * ircd/m_join.c (m_join): Likewise.
+
+       * ircd/m_mode.c (m_mode): Do not clean channel name.
+
+       * ircd/m_names.c (m_names): Likewise.
+
+       * ircd/m_opmode.c (mo_opmode): Likewise.
+
+2005-09-13  Michael Poole <[EMAIL PROTECTED]>
+
        * ircd/channel.c (find_ban): Revert to older style of comparison,
        fixing the sense of one check.  Spotted by Alex Badea.
 
Index: ircu2.10/include/channel.h
diff -u ircu2.10/include/channel.h:1.53 ircu2.10/include/channel.h:1.54
--- ircu2.10/include/channel.h:1.53     Thu Sep  1 18:46:28 2005
+++ ircu2.10/include/channel.h  Tue Sep 13 08:17:46 2005
@@ -19,7 +19,7 @@
  */
 /** @file
  * @brief Channel management and maintenance.
- * @version $Id: channel.h,v 1.53 2005/09/02 01:46:28 entrope Exp $
+ * @version $Id: channel.h,v 1.54 2005/09/13 15:17:46 entrope Exp $
  */
 #ifndef INCLUDED_channel_h
 #define INCLUDED_channel_h
@@ -364,7 +364,6 @@
 /*
  * Proto types
  */
-extern void clean_channelname(char* name);
 extern void channel_modes(struct Client *cptr, char *mbuf, char *pbuf,
                           int buflen, struct Channel *chptr,
                          struct Membership *member);
Index: ircu2.10/ircd/m_invite.c
diff -u ircu2.10/ircd/m_invite.c:1.24 ircu2.10/ircd/m_invite.c:1.25
--- ircu2.10/ircd/m_invite.c:1.24       Tue Aug 16 18:57:03 2005
+++ ircu2.10/ircd/m_invite.c    Tue Sep 13 08:17:46 2005
@@ -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_invite.c,v 1.24 2005/08/17 01:57:03 entrope Exp $
+ * $Id: m_invite.c,v 1.25 2005/09/13 15:17:46 entrope Exp $
  */
 
 /*
@@ -142,12 +142,9 @@
   if (is_silenced(sptr, acptr))
     return 0;
 
-  clean_channelname(parv[2]);
-
-  if (!IsChannelPrefix(*parv[2]))
-    return 0;
-
-  if (!(chptr = FindChannel(parv[2]))) {
+  if (!IsChannelName(parv[2])
+      || !strIsIrcCh(parv[2])
+      || !(chptr = FindChannel(parv[2]))) {
     send_reply(sptr, ERR_NOSUCHCHANNEL, parv[2]);
     return 0;
   }
Index: ircu2.10/ircd/m_join.c
diff -u ircu2.10/ircd/m_join.c:1.32 ircu2.10/ircd/m_join.c:1.33
--- ircu2.10/ircd/m_join.c:1.32 Mon Sep 12 09:11:58 2005
+++ ircu2.10/ircd/m_join.c      Tue Sep 13 08:17:46 2005
@@ -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_join.c,v 1.32 2005/09/12 16:11:58 entrope Exp $
+ * $Id: m_join.c,v 1.33 2005/09/13 15:17:46 entrope Exp $
  */
 
 #include "config.h"
@@ -135,8 +135,7 @@
     if (key && !key[0])
       key = 0;
 
-    clean_channelname(name);
-    if (!IsChannelName(name))
+    if (!IsChannelName(name) || !strIsIrcCh(name))
     {
       /* bad channel name */
       send_reply(sptr, ERR_NOSUCHCHANNEL, name);
Index: ircu2.10/ircd/m_mode.c
diff -u ircu2.10/ircd/m_mode.c:1.14 ircu2.10/ircd/m_mode.c:1.15
--- ircu2.10/ircd/m_mode.c:1.14 Fri Dec 10 21:13:47 2004
+++ ircu2.10/ircd/m_mode.c      Tue Sep 13 08:17:46 2005
@@ -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_mode.c,v 1.14 2004/12/11 05:13:47 klmitch Exp $
+ * $Id: m_mode.c,v 1.15 2005/09/13 15:17:46 entrope Exp $
  */
 
 /*
@@ -111,8 +111,6 @@
   if (parc < 2)
     return need_more_params(sptr, "MODE");
 
-  clean_channelname(parv[1]);
-
   if (!IsChannelName(parv[1]) || !(chptr = FindChannel(parv[1])))
     return set_user_mode(cptr, sptr, parc, parv);
 
Index: ircu2.10/ircd/m_names.c
diff -u ircu2.10/ircd/m_names.c:1.21 ircu2.10/ircd/m_names.c:1.22
--- ircu2.10/ircd/m_names.c:1.21        Mon Jul 11 19:47:09 2005
+++ ircu2.10/ircd/m_names.c     Tue Sep 13 08:17:46 2005
@@ -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_names.c,v 1.21 2005/07/12 02:47:09 entrope Exp $
+ * $Id: m_names.c,v 1.22 2005/09/13 15:17:46 entrope Exp $
  */
 
 /*
@@ -327,7 +327,6 @@
    *  (As performed with each /join) - ** High frequency usage **
    */
 
-  clean_channelname(para);
   chptr = FindChannel(para); 
 
   if (chptr) {
Index: ircu2.10/ircd/m_opmode.c
diff -u ircu2.10/ircd/m_opmode.c:1.17 ircu2.10/ircd/m_opmode.c:1.18
--- ircu2.10/ircd/m_opmode.c:1.17       Fri Dec 10 21:13:48 2004
+++ ircu2.10/ircd/m_opmode.c    Tue Sep 13 08:17:46 2005
@@ -21,7 +21,7 @@
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- * $Id: m_opmode.c,v 1.17 2004/12/11 05:13:48 klmitch Exp $
+ * $Id: m_opmode.c,v 1.18 2005/09/13 15:17:46 entrope Exp $
  */
 
 /*
@@ -159,7 +159,6 @@
       return send_reply(sptr, ERR_NOPRIVILEGES);
     force = 1;
   }
-  clean_channelname(chname);
 
   if (!HasPriv(sptr,
               IsLocalChannel(chname) ? PRIV_LOCAL_OPMODE : PRIV_OPMODE))
----------------------- End of diff -----------------------
_______________________________________________
Patches mailing list
[email protected]
http://undernet.sbg.org/mailman/listinfo/patches

Reply via email to