+2006-01-02 Michael Poole <mdpoole@troilus.org>
+
+ * include/ircd_features.h (FEAT_ZANNELS): Remove.
+
+ * ircd/channel.c (sub1_from_channel): Remove reference to
+ FEAT_ZANNELS.
+
+ * ircd/ircd_features.c (FEAT_ZANNELS): Remove.
+
+ * ircd/m_destruct.c (ms_destruct): Do not try to remove a destruct
+ event for channels that do not have them (created by BURSTing a
+ zannel but not yet destroyed by EOB).
+
2005-12-31 Michael Poole <mdpoole@troilus.org>
* ircd/m_whowas.c (m_whowas): Mention that IP is untracked in WHOWAS.
FEAT_HIDDEN_IP,
FEAT_CONNEXIT_NOTICES,
FEAT_OPLEVELS,
- FEAT_ZANNELS,
FEAT_LOCAL_CHANNELS,
FEAT_TOPIC_BURST,
free_ban(link);
}
chptr->banlist = NULL;
-
-#if 1 /* Temporary code */
- /* Immediately destruct empty -A channels if ZANNELS is FALSE.
- When OPLEVELS is true, ZANNELS should be TRUE too. Test for
- that error. This is done to avoid the DESTRUCT message to
- occur, which is necessary on a network with mixed versions
- of 2.10.12.x, with x < 04 *and* 2.10.11 servers. Because
- servers prior to 2.10.12.04 can cause a BURST message outside
- the normal net.burst as a result of a DESTRUCT message, and
- 2.10.11 SQUIT servers when they do that. */
- if (!(feature_bool(FEAT_ZANNELS) || feature_bool(FEAT_OPLEVELS)))
+
+ /* Immediately destruct empty -A channels if not using apass. */
+ if (!feature_bool(FEAT_OPLEVELS))
{
destruct_channel(chptr);
return 0;
}
-#endif
}
if (TStime() - chptr->creationtime < 172800) /* Channel younger than 48 hours? */
schedule_destruct_event_1m(chptr); /* Get rid of it in approximately 4-5 minutes */
F_S(HIDDEN_IP, 0, "127.0.0.1", 0),
F_B(CONNEXIT_NOTICES, 0, 0, 0),
F_B(OPLEVELS, 0, 1, 0),
- F_B(ZANNELS, 0, 1, 0),
F_B(LOCAL_CHANNELS, 0, 1, 0),
F_B(TOPIC_BURST, 0, 0, 0),
sendcmdto_serv_butone(&me, CMD_DESTRUCT, 0, "%s %Tu", parv[1], chanTS);
/* Remove the empty channel. */
- remove_destruct_event(chptr);
+ if (chptr->destruct_event)
+ remove_destruct_event(chptr);
destruct_channel(chptr);
return 0;