Merge end-of-December changes from HEAD to u2_10_12_branch.
[ircu2.10.12-pk.git] / ChangeLog
index 3f937d96f8686a6cf775526b31d5a2d888f752c3..2096ac261e23b326aea479174356f75176e74f42 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,122 @@
+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