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;
}