Hi all,

Here's the patch I mentioned yesterday.. basically if there's a "netriding"
case (channel with older timestamp and +i/k set received in BURST) then it
deletes all invites for the channel as well as kicking all local users.

Cheers,

splidge
QuakeNet peon
--- m_burst.c~  2002-12-23 15:29:43.000000000 +0000
+++ m_burst.c   2002-12-30 11:25:08.000000000 +0000
@@ -140,7 +140,7 @@
   struct Channel *chptr;
   time_t timestamp;
   struct Membership *member, *nmember;
-  struct SLink *lp, **lp_p;
+  struct SLink *lp, **lp_p, *tmp;
   unsigned int parse_flags = (MODE_PARSE_FORCE | MODE_PARSE_BURST);
   int param, nickpos = 0, banpos = 0;
   char modestr[BUFSIZE], nickstr[BUFSIZE], banstr[BUFSIZE];
@@ -175,6 +175,11 @@
           sendcmdto_channel_butserv_butone(&me, CMD_KICK, chptr, NULL, "%H %C :Net 
Rider", chptr, member->user);
           make_zombie(member, member->user, &me, &me, chptr);
         }
+        /*
+         * Delete any outstanding invites also, to prevent users inviting clones in.
+         */
+        while ((tmp = chptr->invites))
+          del_invite(tmp->value.cptr, chptr);
       }
       break;
     }

Reply via email to