+2007-01-22 Michael Poole <mdpoole@troilus.org>
+
+ * ircd/channel.c (find_delayed_joins): New function.
+ (modebuf_flush): Handle +D-D and related cases.
+ (mode_parse_mode): It is too early to handle +D here, so don't.
+ (CheckDelayedJoins): Use find_delayed_joins().
+
+2007-01-22 Michael Poole <mdpoole@troilus.org>
+
+ * tests: New subdirectory for test framework.
+
+ * tests/ircd.conf: Helper file for testing.
+
+ * tests/readme.txt: Simple documentation of test framework.
+
+ * tests/test-driver.pl: Testing script interpreter.
+
+2007-01-22 Michael Poole <mdpoole@troilus.org>
+
+ * doc/example.conf: Fix potentially confusing comment about ip
+ mask syntax.
+
+2007-01-22 Michael Poole <mdpoole@troilus.org>
+
+ * INSTALL: Mention source directory naming; update the reference
+ to the config file converter (hah); update CVS directions.
+
+2007-01-22 Michael Poole <mdpoole@troilus.org>
+
+ * include/supported.h: Move parameters from FEATURES1 to FEATURES2
+ so that neither ISUPPORT line has more than 15 parameters. (Some
+ clients are picky about this.)
+
+2007-01-21 Michael Poole <mdpoole@troilus.org>
+
+ * include/patchlevel.h (PATCHLEVEL): Bump for pre10 development.
+
+2007-01-20 Michael Poole <mdpoole@troilus.org>
+
+ * include/patchlevel.h (PATCHLEVEL): Bump for 2.10.12.09 release.
+
+2007-01-15 Michael Poole <mdpoole@troilus.org>
+
+ * doc/readme.iauth (U): Document extended fields.
+
+ * include/s_auth.h (auth_set_user): Declare new parameters.
+
+ * ircd/m_user.c (m_user): Pass new parameters.
+
+ * ircd/s_auth.c (auth_set_user): Accept new parameters. When
+ using Undernet extensions, forward them to the iauth process.
+
+2007-01-14 Michael Poole <mdpoole@troilus.org>
+
+ * ircd/os_generic.c (os_recv_nonb): Set errno to zero when
+ returning IO_FAILURE due to a closed connection.
+
+2006-12-31 Michael Poole <mdpoole@troilus.org>
+
+ * ircd/m_mode.c (ms_mode): Bounce modes from deopped members.
+
+2006-12-30 Michael Poole <mdpoole@troilus.org>
+
+ * ircd/ircd_string.c (ircd_strncpy): Make sure the output buffer
+ is terminated. We don't rely on the arguable strncpy semantics.
+
+2006-12-30 Michael Poole <mdpoole@troilus.org>
+
+ * include/struct.h (struct Server): Add asll_last field.
+
+ * ircd/ircd.c (check_pings): Add check for asll_last. When a
+ server doesn't ping, use an old-style ping rather than AsLL ping.
+
+ * ircd/m_pong.c (ms_pong): Use ClearPingSent() rather than
+ ClrFlag(). Set asll_last to current time.
+ (mr_pong): Use ClearPingSent() rather than ClrFlag().
+ (m_pong): Likewise.
+
+ * ircd/s_bsd.c (completed_connection): Likewise.
+ (read_packet): Likewise. Update cli_lasttime for servers in
+ addition to clients.
+
+2006-01-13 Michael Poole <mdpoole@troilus.org>
+
+ * ircd/m_burst.c (ms_burst): Properly handle member mode :ov.
+
+2006-01-13 Michael Poole <mdpoole@troilus.org>
+
+ * ircd/m_create.c (ms_create): Add channel name to the protocol
+ violation notice for a redundant CREATE.
+
+2006-01-13 Michael Poole <mdpoole@troilus.org>
+
+ * ircd/s_user.c (set_nick_name): Use user's account name rather
+ than the account parameter, in case the parameter contains a colon
+ (i.e. "account:1234" format).
+
+2006-01-13 Michael Poole <mdpoole@troilus.org>
+
+ * doc/readme.who: Document 'd' user-matching flag.
+
+2006-12-18 Michael Poole <mdpoole@troilus.org>
+
+ * ircd/m_jupe.c (mo_jupe): Fix which privilege is tested.
+
+2006-12-07 Michael Poole <mdpoole@troilus.org>
+
+ * ircd/listener.c (show_ports): Update to show '4' and/or '6' as
+ flags in response, with a '-' suffix if either one fails to open.
+
+2006-12-07 Michael Poole <mdpoole@troilus.org>
+
+ * doc/example.conf (Port): Document the method to select IPv4 or
+ IPv6 restriction for a port.
+
+ * include/listener.h (LISTEN_IPV4): New listener flag.
+ (LISTEN_IPV6): New listener flag.
+ (struct Listener): Split 'fd' and 'socket' fields into two each.
+
+ * ircd/ircd_lexer.l (gb): Move to be alphabetical.
+ (gigabytes): Likewise.
+ (ipv4): New token.
+ (ipv6): Likewise.
+ Adapted word matcher to handle digits in the non-leading character.
+
+ * ircd/ircd_parser.y (USE_IPV4): New macro.
+ (USE_IPV6): Likewise.
+ (TOK_IPV4): New token.
+ (TOK_IPV6): Likewise.
+ (address_family): New non-terminal rule.
+ (portblock): Default to listening on both IPv4 and IPv6.
+ (portnumber): Add address_family element and use it.
+ (portvhost): Likewise.
+
+ * ircd/listener.c (make_listener): Adjust for newly split fields
+ in struct Listener.
+ (inetport): Likewise. Adjust return value as well.
+ (add_listener): Update to handle both IPv4 and IPV6 support.
+ (close_listener): Likewise.
+ (accept_connection): Because each listener has two sockets, it is
+ no longer safe to free the listener when one is destroyed -- so
+ don't. Also accept() on the file descriptor from the incoming
+ event rather than on a fixed fd.
+
+ * ircd/os_generic.c (os_socket): For platforms with IPV6_V6ONLY,
+ enable it for AF_INET6 sockets rather than disabling it for
+ unspecified sockets.
+
+2006-12-06 Michael Poole <mdpoole@troilus.org>
+
+ * include/listener.h (enum ListenerFlag): New enum.
+ (struct Listener): Convert "active", "hidden" and "server" to a
+ flagset.
+ (add_listener): Convert "is_server" and "is_hidden" arguments to
+ use the same flagset structure.
+
+ * ircd/ircd_parser.y (listen_flags): New variable.
+ (general_vhost): Consolidate references to $3 to use a variable.
+ (portblock): Use listen_flags instead of tconn and tping.
+ (portserver): Likewise.
+ (porthidden): Likewise.
+
+ * ircd/listener.c (show_ports): Use new field in Listener.
+ (set_listener_options): New function.
+ (inetport): Use it.
+ (add_listener): Use new field in Listener. When reusing an extant
+ listener, call set_listener_options() so the options are updated.
+ (mark_listeners_closing): Use new field in Listener.
+ (close_listeners): Use new helper macro to check activeness.
+ (release_listener): Likewise.
+ (accept_connection): Likewise.
+
+ * ircd/s_bsd.c (report_error): Use the standard snotice rate
+ limiting here.
+ (add_connection): Use new helper macro to check serverness.
+
2006-11-04 Michael Poole <mdpoole@troilus.org>
* ircd/m_nick.c (m_nick): If we get NICK on a server port, tell