+2002-06-18 Alex Badea <vampire@p16.pub.ro>
+
+ * 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)
+
+ * ircd/ircd_parser.y: fixed a bug that broke IP-based C:lines
+
+ * ircd/s_err.c: connection classes are now strings (RPL_STATSCLINE)
+
+ * include/s_conf.h: externalized lookup_confhost
+
+ * adns/Makefile.in: compilation-outside-source-tree fix
+
2002-06-17 Alex Badea <vampire@p16.pub.ro>
* adns/*: added a slightly hacked copy of adns
#include "parse.h"
#include "res.h"
#include "s_bsd.h"
+#include "s_conf.h"
#include "s_debug.h"
#include "s_misc.h"
#include "send.h"
aconf->host = host;
aconf->next = GlobalConfList;
aconf->ipnum.s_addr = INADDR_NONE;
+ lookup_confhost(aconf);
GlobalConfList = aconf;
printf("Server added: %s\n", name);
/* ccount++; -- XXX fixme --- A1kmm */
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)
member->status &= ~(CHFL_BURST_JOINED|CHFL_BURST_ALREADY_OPPED|CHFL_BURST_ALREADY_VOICED);
/* 212 */
{ RPL_STATSCOMMANDS, "%s %u %u", "212" },
/* 213 */
- { RPL_STATSCLINE, "%c %s * %s %d %d", "213" },
+ { RPL_STATSCLINE, "%c %s * %s %d %s", "213" },
/* 214 */
{ RPL_STATSNLINE, "%c %s * %s %d %d", "214" },
/* 215 */