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