Convert irc_in_addr_* to macros. Add test program for that code. Fix
[ircu2.10.12-pk.git] / ChangeLog
index 2ad336b014944e93f583622360d329bdb0464cf6..c5053faa129a1eb8a587e00d4bb05fd557528b4e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,37 @@
+2004-12-28  Michael Poole <mdpoole@troilus.org>
+
+       * include/res.h: Implement irc_in_addr_* as macros.
+
+       * ircd/ircd_res.c: Remove the function bodies.
+
+       * ircd/ircd_string.c (irc_in_addr_is_ipv4): Remove body.
+       (ircd_ntoa_r): Do not append extra ':' when unparsing 0::.
+       (ircd_aton): Accept IPv6 addresses with all eight segments
+       specified (e.g. 0:0:0:0:0:0:0:0).  Correctly parse addresses
+       with IPv4 bits at the end (e.g. ::FFFF:127.0.0.1).
+
+       * ircd/test/ircd_in_addr_t.c, ircd/test/test_stub.c: New files.
+
+       * ircd/test/Makefile: Convert to Makefile.in for proper VPATH
+       support.  Add test_stub.c and ircd_in_addr_t.c references.
+
+       * configure.in: Generate ircd/test/Makefile as an output file.
+
+       * configure: Update.
+
+2004-12-18  Michael Poole <mdpoole@troilus.org>
+
+       * include/client.h: Move unreg, privs, capab and active fields
+       from struct Client to struct Connection since that is how they
+       are really associated.  Adjust macros to match.
+       (SetPriv, ClrPriv): New macros.
+
+       * ircd/client.c (client_set_privs): Exit earlier for remote
+       clients.  Adjust macro use to correspond.
+
+       * ircd/m_server.c (mr_server): Grant all privileges except
+       PRIV_SET to peer servers.
+
 2004-12-18  Michael Poole <mdpoole@troilus.org>
 
        * ircd/s_user.c (hide_hostmask): Add a missing "break;" to fix bug
@@ -9,6 +43,49 @@
        socket's FD is the same after processing as it was before; local
        clients apparently have s_fd() == -1 after close.
 
+2004-12-18  Kevin L Mitchell  <klmitch@mit.edu>
+
+       * ircd/s_user.c: make absolutely certain register_user() is never
+       called with cli_unreg non-zero; transition set_nick_name() over to
+       the new way of determining whether client is ready for
+       register_user()
+
+       * ircd/s_err.c: add ERR_UNKNOWNCAPCMD for reporting failure to
+       understand a given CAP subcommand
+
+       * ircd/parse.c: add "CAP" command
+
+       * ircd/m_user.c (m_user): transition over to new way of
+       determining whether client is ready for register_user()
+
+       * ircd/m_pong.c (mr_pong): transition over to new way of
+       determining whether client is ready for register_user()
+
+       * ircd/m_cap.c: implementation of the IRC capabilities draft
+
+       * ircd/list.c (make_client): initialize cli_unreg element of
+       client structure
+
+       * ircd/ircd_string.c: correct old bugs in ircd_strn?cmp()
+       functions that were never found because cross-case ordering has
+       not been needed until now
+
+       * ircd/Makefile.in: add m_cap.c to list of .c files
+
+       * include/numeric.h (ERR_UNKNOWNCAPCMD): define new error reply to
+       indicate an unknown CAP subcommand
+
+       * include/msg.h: add "CAP" command
+
+       * include/handlers.h: add m_cap() to list of handlers
+
+       * include/client.h: add support for client capabilities; rototill
+       the registration mechanism to dovetail well with the capability
+       system--i.e., allow the capability system to suspend registration
+       if the user issues one of the CAP commands
+
+       * include/capab.h: header file to define client capabilities
+
 2004-12-17  Michael Poole <mdpoole@troilus.org>
 
        * ircd/channel.h (apply_ban): Add new flag to indicate whether