CVSROOT    : /cvsroot/undernet-ircu
Module     : ircu2.10
Branch tags: u2_10_11_02
Commit time: 2002-10-03 05:37:09 UTC

Modified files:
  Tag: u2_10_11_02
     ChangeLog doc/readme.features ircd/ircd_relay.c ircd/m_burst.c
     ircd/m_clearmode.c ircd/m_join.c ircd/m_squit.c

Log message:

Author: Multiple via Perry Lorier <[EMAIL PROTECTED]>
Log message:

2002-09-02  Alexander Maassen <[EMAIL PROTECTED]>

        * doc/readme.features: Fixed bugs regarding certain features
        being associated to WHOIS instead of WHO.
 
2002-05-21  Andrew Miller  <[EMAIL PROTECTED]>

        * ircd/ircd_relay.c: stop an information leak about the
        network topography from relayed messages.
 
2002-09-02  Mathieu Rene  <[EMAIL PROTECTED]>
        * ircd/m_squit.c (ms_squit): Fixed a bug that caused server
        to crash when receiving a SQUIT without any reason or timestamp.
 
2002-06-18  Alex Badea  <[EMAIL PROTECTED]>

        * ircd/m_burst.c (ms_burst): kick local members if the channel
        has a larger local TS and it's +i or +k remotely (anti net.ride)

---------------------- diff included ----------------------
Index: ircu2.10/ChangeLog
diff -u ircu2.10/ChangeLog:1.290.2.124.2.1 ircu2.10/ChangeLog:1.290.2.124.2.2
--- ircu2.10/ChangeLog:1.290.2.124.2.1  Mon Sep 16 10:35:58 2002
+++ ircu2.10/ChangeLog  Wed Oct  2 22:36:58 2002
@@ -1,3 +1,22 @@
+2002-09-02  Alexander Maassen <[EMAIL PROTECTED]>
+
+       * doc/readme.features: Fixed bugs regarding certain features
+       being associated to WHOIS instead of WHO.
+ 
+2002-05-21  Andrew Miller  <[EMAIL PROTECTED]>
+
+       * ircd/ircd_relay.c: stop an information leak about the
+       network topography from relayed messages.
+ 
+2002-09-02  Mathieu Rene  <[EMAIL PROTECTED]>
+       * ircd/m_squit.c (ms_squit): Fixed a bug that caused server
+        to crash when receiving a SQUIT without any reason or timestamp.
+ 
+2002-06-18  Alex Badea  <[EMAIL PROTECTED]>
+
+       * ircd/m_burst.c (ms_burst): kick local members if the channel
+       has a larger local TS and it's +i or +k remotely (anti net.ride)
+
 2002-09-16  Jochen Meesters <[EMAIL PROTECTED]>
 
        * ircd/whocmds.h: Changed output of /who %a command, making it
Index: ircu2.10/doc/readme.features
diff -u ircu2.10/doc/readme.features:1.2.2.8 ircu2.10/doc/readme.features:1.2.2.8.2.1
--- ircu2.10/doc/readme.features:1.2.2.8        Sat Sep 14 13:44:31 2002
+++ ircu2.10/doc/readme.features        Wed Oct  2 22:36:59 2002
@@ -968,19 +968,19 @@
  * Type: boolean
  * Default: TRUE
 
-As per UnderNet CFV-165, this removes server names in replies to /WHOIS.
+As per UnderNet CFV-165, this removes idle time in replies to /WHOIS.
 
 HIS_WHO_SERVERNAME
  * Type: boolean
  * Default: TRUE
 
-As per UnderNet CFV-165, this removes server names in replies to /WHOIS.
+As per UnderNet CFV-165, this removes server names in replies to /WHO.
 
 HIS_WHO_HOPCOUNT
  * Type: boolean
  * Default: TRUE
 
-As per UnderNet CFV-165, this removes server names in replies to /WHOIS.
+As per UnderNet CFV-165, this replaces hopcount to a static 3 in replies to /WHO.
 
 HIS_BANWHO
  * Type: boolean
Index: ircu2.10/ircd/ircd_relay.c
diff -u ircu2.10/ircd/ircd_relay.c:1.8.2.1 ircu2.10/ircd/ircd_relay.c:1.8.2.1.2.1
--- ircu2.10/ircd/ircd_relay.c:1.8.2.1  Sat Sep 14 13:44:32 2002
+++ ircu2.10/ircd/ircd_relay.c  Wed Oct  2 22:36:59 2002
@@ -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.1 2002/09/14 20:44:32 kev Exp $
+ * $Id: ircd_relay.c,v 1.8.2.1.2.1 2002/10/03 05:36:59 isomer Exp $
  */
 #include "config.h"
 
@@ -159,7 +159,8 @@
   assert(0 != text);
   assert(0 != server);
 
-  if (0 == (acptr = FindServer(server + 1))) {
+  if ((acptr = FindServer(server + 1)) == NULL ||
+      !IsChannelService(acptr)) {
     send_reply(sptr, ERR_NOSUCHNICK, name);
     return;
   }
@@ -190,9 +191,12 @@
   if (!(acptr = FindUser(name)) || !MyUser(acptr) ||
       (!EmptyString(host) && 0 != match(host, cli_user(acptr)->host)) ||
       !IsChannelService(acptr)) {
-#if 0
+    /*
+     * By this stage we might as well not bother because they will
+     * know that this server is currently linked because of the
+     * increased lag.
+     */
     send_reply(sptr, ERR_NOSUCHNICK, name);
-#endif
     return;
   }
 
Index: ircu2.10/ircd/m_burst.c
diff -u ircu2.10/ircd/m_burst.c:1.12.2.3 ircu2.10/ircd/m_burst.c:1.12.2.3.6.1
--- ircu2.10/ircd/m_burst.c:1.12.2.3    Wed Jul 17 15:55:40 2002
+++ ircu2.10/ircd/m_burst.c     Wed Oct  2 22:36:59 2002
@@ -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_burst.c,v 1.12.2.3 2002/07/17 22:55:40 kev Exp $
+ * $Id: m_burst.c,v 1.12.2.3.6.1 2002/10/03 05:36:59 isomer Exp $
  */
 
 /*
@@ -156,6 +156,32 @@
     return 0; /* can't create the channel? */
 
   timestamp = atoi(parv[2]);
+
+  if (!chptr->creationtime || chptr->creationtime > timestamp) {
+    /*
+     * Kick local members if channel is +i or +k and our TS was larger
+     * than the burst TS (anti net.ride). The modes hack is here because
+     * we have to do this before mode_parse, as chptr may go away.
+     */
+    for (param = 3; param < parc; param++) {
+      if (parv[param][0] != '+')
+        continue;
+      if (strchr(parv[param], 'i') || strchr(parv[param], 'k')) {
+        for (member = chptr->members; member; member = member->next_member) {
+          if (!MyUser(member->user) || IsZombie(member))
+            continue;
+          sendcmdto_serv_butone(&me, CMD_KICK, NULL, "%H %C :Net Rider", chptr, 
+member->user);
+          sendcmdto_channel_butserv_butone(&me, CMD_KICK, chptr, NULL, "%H %C :Net 
+Rider", chptr, member->user);
+          make_zombie(member, member->user, &me, &me, chptr);
+        }
+      }
+      break;
+    }
+
+    /* If the channel had only locals, it went away by now. */
+    if (!(chptr = get_channel(sptr, parv[1], CGT_CREATE)))
+      return 0; /* can't create the channel? */
+  }
 
   /* turn off burst joined flag */
   for (member = chptr->members; member; member = member->next_member)
Index: ircu2.10/ircd/m_clearmode.c
diff -u ircu2.10/ircd/m_clearmode.c:1.19.2.2 ircu2.10/ircd/m_clearmode.c:1.19.2.2.6.1
--- ircu2.10/ircd/m_clearmode.c:1.19.2.2        Fri May 17 09:42:19 2002
+++ ircu2.10/ircd/m_clearmode.c Wed Oct  2 22:36:59 2002
@@ -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_clearmode.c,v 1.19.2.2 2002/05/17 16:42:19 kev Exp $
+ * $Id: m_clearmode.c,v 1.19.2.2.6.1 2002/10/03 05:36:59 isomer Exp $
  */
 
 /*
@@ -299,7 +299,6 @@
       return send_reply(sptr, ERR_NOPRIVILEGES);
     force = 1;
   }
-  clean_channelname(chname);
 
   if (!HasPriv(sptr,
               IsLocalChannel(chname) ? PRIV_LOCAL_OPMODE : PRIV_OPMODE))
Index: ircu2.10/ircd/m_join.c
diff -u ircu2.10/ircd/m_join.c:1.16.2.1 ircu2.10/ircd/m_join.c:1.16.2.1.6.1
--- ircu2.10/ircd/m_join.c:1.16.2.1     Thu Aug 22 12:30:18 2002
+++ ircu2.10/ircd/m_join.c      Wed Oct  2 22:36:59 2002
@@ -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.16.2.1 2002/08/22 19:30:18 kev Exp $
+ * $Id: m_join.c,v 1.16.2.1.6.1 2002/10/03 05:36:59 isomer Exp $
  */
 
 /*
@@ -314,7 +314,6 @@
 
   for (name = ircd_strtok(&p, chanlist, ","); name;
        name = ircd_strtok(&p, 0, ",")) {
-    clean_channelname(name);
 
     if (join0(&join, cptr, sptr, name)) /* did client do a JOIN 0? */
       continue;
Index: ircu2.10/ircd/m_squit.c
diff -u ircu2.10/ircd/m_squit.c:1.6.2.4 ircu2.10/ircd/m_squit.c:1.6.2.4.6.1
--- ircu2.10/ircd/m_squit.c:1.6.2.4     Tue Jan  8 13:38:12 2002
+++ ircu2.10/ircd/m_squit.c     Wed Oct  2 22:36:59 2002
@@ -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_squit.c,v 1.6.2.4 2002/01/08 21:38:12 kev Exp $
+ * $Id: m_squit.c,v 1.6.2.4.6.1 2002/10/03 05:36:59 isomer Exp $
  */
 #include "config.h"
 
@@ -60,7 +60,7 @@
 {
   const char* server = parv[1];
   struct Client *acptr;
-  time_t timestamp;
+  time_t timestamp = 0;
   char *comment = 0;
   
   if (parc < 2) 
@@ -85,8 +85,10 @@
   if (IsMe(acptr)) {
     acptr = cptr; /* Bugfix by Prefect */
   }
-       
+  if (parc>2)
   timestamp = atoi(parv[2]);
+  else
+   protocol_violation(cptr, "SQUIT with no timestamp/reason");  
 
   /* If atoi(parv[2]) == 0 we must indeed squit !
    * It will be our neighbour.
----------------------- End of diff -----------------------

Reply via email to