Remove ioset engine update call that could read after free().
[srvx.git] / ChangeLog
index 570c42a5d6a196be3872cdf244ba70fa25ff8f8e..6901ec058da069c1155539c488f5ea6458c4c041 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
 # do not edit -- automatically generated by arch changelog
-# arch-tag: automatic-ChangeLog--srvx@srvx.net--2005-srvx/srvx--devo--1.3
+# arch-tag: automatic-ChangeLog--srvx@srvx.net--2006/srvx--devo--1.3
 #
 
-2005-03-15 23:12:58 GMT        Michael Poole <mdpoole@troilus.org>     patch-19
+2006-10-27 01:25:18 GMT        Michael Poole <mdpoole@troilus.org>     patch-68
 
     Summary:
-      Clarify NickServ REGISTER help messages; fix ?raw and ?dump errors.
+      Remove ioset engine update call that could read after free().
     Revision:
-      srvx--devo--1.3--patch-19
+      srvx--devo--1.3--patch-68
+
+    src/ioset.c (ioset_connect): If the connect fails immediately, do not try
+        to update the fd after closing it.
+
+    modified files:
+     ChangeLog src/ioset.c
+
+
+2006-10-27 01:06:02 GMT        Michael Poole <mdpoole@troilus.org>     patch-67
+
+    Summary:
+      Allow languages/strings.db to override builtin strings.
+    Revision:
+      srvx--devo--1.3--patch-67
+
+    src/helpfile.c (language_read): Add space before "parent".
+      (language_read_list): Explicitly skip the file named "strings.db".
+      (helpfile_read_languages): New function.
+      (helpfile_finalize): Register it as a conf-reload function.
+
+    modified files:
+     ChangeLog src/helpfile.c
 
-    src/nickserv.help (REGISTER): Rephrase the message about using the
-    same password to hopefully make it clearer.
+
+2006-10-27 00:47:30 GMT        Michael Poole <mdpoole@troilus.org>     patch-66
+
+    Summary:
+      Support +I while we're adding modes (part 2) - the missing files.
+    Revision:
+      srvx--devo--1.3--patch-66
+
+    src/opserv.c (cmd_whois): Test no-idle mode.
+        
+    src/proto-p10.c (irc_user): Check for no-idle mode.
+      (mod_usermode): Check for +I flag.
+
+    modified files:
+     ChangeLog src/hash.h src/opserv.c
+
+
+2006-10-27 00:44:35 GMT        Michael Poole <mdpoole@troilus.org>     patch-65
+
+    Summary:
+      Support +I while we're adding modes..
+    Revision:
+      srvx--devo--1.3--patch-65
+
+    src/hash.c (FLAGS_NOIDLE): New macro for +I (hide idle time) mode.
+       (IsNoIdle): New macro to test it.
+    
+    src/opserv.c (cmd_whois): Test no-idle mode.
     
-    src/opserv.c (cmd_dump, cmd_raw): Use local buffers to hold the
-    original message, so that parse_line() will not unsplit the line into
-    the "original" buffer and strip out the sentinel :.
+    src/proto-p10.c (irc_user): Check for no-idle mode.
+      (mod_usermode): Check for +I flag.
 
     modified files:
-     ChangeLog src/nickserv.help src/opserv.c
+     ChangeLog src/proto-p10.c
 
 
-2005-02-17 21:42:43 GMT        Michael Poole <mdpoole@troilus.org>     patch-18
+2006-10-27 00:35:00 GMT        Michael Poole <mdpoole@troilus.org>     patch-64
 
     Summary:
-      Fix registered channel desync; fix HelpServ crash for old cfg files
+      Make maintainer-mode use C89 mode.
     Revision:
-      srvx--devo--1.3--patch-18
+      srvx--devo--1.3--patch-64
 
-    src/hash.c (AddChannelUser): Do not give ops to the first user to join
-    a persistent channel.
+    configure.in (CFLAGS): Use -ansi in maintainer mode.
+      (AC_C_INLINE): Test after setting -Werror.
     
-    src/helpserv.c (helpserv_conf_read): Use a default description for bots.
+    src/chanserv.c (cmd_adduser): Fix comment formatting.
+      (cmd_clvl): Likewise.
+      (cmd_deluser): Likewise.
 
     modified files:
-     ChangeLog src/hash.c src/mod-helpserv.c
+     ChangeLog configure.in src/chanserv.c
 
 
-2005-02-11 03:10:49 GMT        Michael Poole <mdpoole@troilus.org>     patch-17
+2006-10-27 00:21:32 GMT        Michael Poole <mdpoole@troilus.org>     patch-63
 
     Summary:
-      Mention 'slab' in --with-malloc docs.  Merge fakehosts when merging accounts.
+      Pull ThiefMaster's patch-3..5.
     Revision:
-      srvx--devo--1.3--patch-17
+      srvx--devo--1.3--patch-63
 
-    configure.in (--with-malloc): Mention the awesome 'slab' allocator option.
+    Patches applied:
+    
+     * thiefmaster@gamesurge.net--2006/srvx--devo--1.3--base-0
+       tag of srvx@srvx.net--2006/srvx--devo--1.3--patch-58
+    
+     * thiefmaster@gamesurge.net--2006/srvx--devo--1.3--patch-3
+       Implement complete remote whois.
     
-    src/nickserv.c (cmd_merge): Copy fakehost to target account if appropriate.
+     * thiefmaster@gamesurge.net--2006/srvx--devo--1.3--patch-4
+       Improve override logging and ignore godmode in !trim.
+    
+     * thiefmaster@gamesurge.net--2006/srvx--devo--1.3--patch-5
+       Announce ounregisters to staff via Global.
 
     modified files:
-     ChangeLog configure.in src/nickserv.c
+     ChangeLog src/chanserv.c src/hash.h src/modcmd.c src/modcmd.h
+     src/nickserv.c src/opserv.c src/proto-p10.c src/proto.h
+
+    new patches:
+     thiefmaster@gamesurge.net--2006/srvx--devo--1.3--base-0
+     thiefmaster@gamesurge.net--2006/srvx--devo--1.3--patch-3
+     thiefmaster@gamesurge.net--2006/srvx--devo--1.3--patch-4
+     thiefmaster@gamesurge.net--2006/srvx--devo--1.3--patch-5
 
 
-2005-02-08 04:42:43 GMT        Michael Poole <mdpoole@troilus.org>     patch-16
+2006-10-26 23:44:10 GMT        Michael Poole <mdpoole@troilus.org>     patch-62
 
     Summary:
-      Fix memory corruption when removing certain bans from a channel.
+      Allow 900+ users to get full accountinfo.
     Revision:
-      srvx--devo--1.3--patch-16
+      srvx--devo--1.3--patch-62
 
-    src/proto-common.c (mod_chanmode_apply): Make sure we get a pointer to
-    the ban we want to deallocate BEFORE we remove it from the banlist.
+    src/nickserv.c (cmd_handleinfo): Check for opserv access before checking
+        for an outranked oper.
 
     modified files:
-     ChangeLog src/proto-common.c
+     ChangeLog src/nickserv.c
 
 
-2005-02-05 13:03:21 GMT        Michael Poole <mdpoole@troilus.org>     patch-15
+2006-10-26 23:41:14 GMT        Michael Poole <mdpoole@troilus.org>     patch-61
 
     Summary:
-      Rearrange slab allocation header; minor slab fixes.
+      Fix irc_pton() sense for hostscan command.
     Revision:
-      srvx--devo--1.3--patch-15
+      srvx--devo--1.3--patch-61
 
-    src/alloc-slab.c (ALLOC_MAGIC, FREE_MAGIC): Replace with single-byte values.
-    (struct alloc_header): Move file_id and line into second 32-bit word
-    of header.
-    (slab_alloc): Remove commented-out debug statements.
-    (slab_unalloc): Remove memset() of freed block and commented-out debug
-    statements.
-    (slab_free): memset() freed blocks here instead.  Try to fix
-    *_alloc_size counting errors (use the originally requested length
-    rather than rounded-up length)
+    src/mod-sockcheck.c (cmd_hostscan): Fix test for irc_pton() return value.
 
     modified files:
-     ChangeLog src/alloc-slab.c
+     ChangeLog src/mod-sockcheck.c
 
 
-2005-02-05 03:52:51 GMT        Michael Poole <mdpoole@troilus.org>     patch-14
+2006-10-21 16:06:47 GMT        Michael Poole <mdpoole@troilus.org>     patch-60
 
     Summary:
-      Even more slab allocator updates.
+      Various I/O cleanups and fixes.
     Revision:
-      srvx--devo--1.3--patch-14
+      srvx--devo--1.3--patch-60
 
-    src/slab-alloc.c (SLAB_DEBUG): Default to on.
-    (SMALL_CUTOFF): Fix default value (must be a multiple of 4).
-    (slab_unalloc): Fix slab counting.  When SLAB_RESERVE, allocate the
-    set of pages in a burst, rather than supplementing them as we unmap.
-    (slab_realloc): Fix a rather embarassing (and LARGE) memory leak.
+    src/ioset.c (ioset_add): Set FD_CLOEXEC flag on all managed sockets.
+      (ioset_try_write): Tidy formatting.
+      (ioset_close): Add another bit to "os_close".
+    
+    src/proto-common.c (close_socket): Pass the new bit to ioset_close().
 
     modified files:
-     ChangeLog src/alloc-slab.c
+     ChangeLog src/ioset.c src/proto-common.c
 
 
-2005-02-04 16:36:40 GMT        Michael Poole <mdpoole@troilus.org>     patch-13
+2006-10-21 16:04:19 GMT        Michael Poole <mdpoole@troilus.org>     patch-59
 
     Summary:
-      more debugging updates
+      Add 'tell' command; update copyright message.
     Revision:
-      srvx--devo--1.3--patch-13
+      srvx--devo--1.3--patch-59
+
+    src/modcmd.c (cmd_version): Update copyright years.  Move the multi-line
+        credits to a separate message and make it actually send properly.
+      (cmd_tell): New command.
+      (modcmd_init): Register cmd_tell.
+
+    modified files:
+     ChangeLog src/modcmd.c
+
+
+2006-10-07 00:03:52 GMT        Michael Poole <mdpoole@troilus.org>     patch-58
+
+    Summary:
+      Fix a (tiny) memory leak in mod-sockcheck.c.
+    Revision:
+      srvx--devo--1.3--patch-58
+
+    src/mod-sockcheck.c (sockcheck_begin_test): Make io_fd assignment
+        clearer.
+      (sockcheck_read_conf): Free the addrinfo we get.
+
+    modified files:
+     ChangeLog src/mod-sockcheck.c
+
+
+2006-10-06 23:18:58 GMT        Michael Poole <mdpoole@troilus.org>     patch-57
+
+    Summary:
+      Fix sending P10 bursts with many bans.
+    Revision:
+      srvx--devo--1.3--patch-57
+
+    src/proto-p10.c (irc_burst): Only send modes and user list once.
+
+    modified files:
+     ChangeLog src/proto-p10.c
+
+
+2006-10-06 23:16:58 GMT        Michael Poole <mdpoole@troilus.org>     patch-56
+
+    Summary:
+      Remove "wants_reads" field from struct io_fd.
+    Revision:
+      srvx--devo--1.3--patch-56
 
-    src/alloc-slab.c: Switch free slab list from a stack to queue, and
-    make sure there are SLAB_RESERVE in the queue before an old slab is
-    dereferenced.  This causes a fault when dereferencing stale pointers
-    to the last SLAB_RESERVE full slabs.
+    Everybody wants read information, so give it to them!
+    
+    src/ioset-epoll.c (ioset_epoll_events): Make EPOLLIN unconditional.
+    
+    src/ioset-impl.h (fd_wants_reads): Delete.
     
-    src/log.c: Make struct logEntry *last static, to make sure gcc does
-    not optimize it away.
+    src/ioset-select.c (ioset_select_loop): Unconditionally set read bit for fd.
+    
+    src/ioset.c (ioset_add): Add fd to engine after marking it non-blocking.
+      (ioset_buffered_reads): Remove check for fd->wants_reads.
+    
+    src/ioset.h (struct io_fd): Delete "wants_reads" field.
+    
+    src/mod-qserver.c (qserver_readable): Add missing newline.
+      (qserver_accept): Delete assignment to fd->wants_reads.
+    
+    src/mod-sockcheck.c (sockcheck_connected): Delete assignment to
+        fd->wants_reads.
+    
+    src/proto-common.c (create_socket_client): Delete assignment to
+        fd->wants_reads.
 
     modified files:
-     ChangeLog src/alloc-slab.c src/log.c
+     ChangeLog src/ioset-epoll.c src/ioset-impl.h
+     src/ioset-select.c src/ioset.c src/ioset.h src/mod-qserver.c
+     src/mod-sockcheck.c src/proto-common.c
 
 
-2005-01-31 22:28:59 GMT        Michael Poole <mdpoole@troilus.org>     patch-12
+2006-10-06 23:12:20 GMT        Michael Poole <mdpoole@troilus.org>     patch-55
 
     Summary:
-      More slab allocator updates.
+      Fix detection of gettimeofday().
     Revision:
-      srvx--devo--1.3--patch-12
+      srvx--devo--1.3--patch-55
 
-    src/alloc-slab.c: Disable extra debugging by default.  Add more
-    statistics counters.  Change element type of little_slabs[].  Keep a
-    global list of unused (full) slab pages, rather than per-slab.
-    Various other cleanups and fixes.
+    configure.in: Since we have a fallback for gettimeofday, move it in with
+        the functions for which we do.
+
+    modified files:
+     ChangeLog configure.in
+
+
+2006-10-04 01:41:05 GMT        Michael Poole <mdpoole@troilus.org>     patch-54
+
+    Summary:
+      Make timeq_init() automatic.
+    Revision:
+      srvx--devo--1.3--patch-54
+
+    src/main.c (main): Remove call to timeq_init().
     
-    src/chanserv.h: Can only be off-channel with off_channel > 1.
+    src/timeq.h (timeq_init): Remove declaration.
     
-    src/main.c: Update years in copyright notice.
+    src/timeq.c (timeq_cleanup): Assign NULL to timeq to handle late timeq_del() calls.
+      (timeq_init): Make static.
+      (timeq_next): If timeq is NULL, return a large positive number.
+      (timeq_add): If timeq is NULL, initialize it.
+      (timeq_del): If timeq is NULL, do nothing.
+
+    modified files:
+     ChangeLog src/main.c src/timeq.c src/timeq.h
+
+
+2006-10-04 01:37:40 GMT        Michael Poole <mdpoole@troilus.org>     patch-53
+
+    Summary:
+      Allow log_module() to NULL log types.
+    Revision:
+      srvx--devo--1.3--patch-53
+
+    src/log.c (log_module): To make cleanup easier, allow NULL log types.
+
+    modified files:
+     ChangeLog src/log.c
+
+
+2006-10-04 01:32:57 GMT        Michael Poole <mdpoole@troilus.org>     patch-52
+
+    Summary:
+      Fix some startup-related glitches.
+    Revision:
+      srvx--devo--1.3--patch-52
+
+    src/ioset.h (ioset_update): Declare new function.
     
-    src/opserv.c: Remove OSMSG_STATS_MEMORY.  Make cmd_stats_memory()
-    allocator-specific.
+    src/ioset.c (ioset_init): If we have an engine, return early.
+      (ioset_add): If no engine, try to initialize.
+      (ioset_update): New function.
 
     modified files:
-     ChangeLog src/alloc-slab.c src/chanserv.h src/main.c
-     src/opserv.c
+     ChangeLog src/ioset.c src/ioset.h
 
 
-2005-01-31 11:08:15 GMT        Michael Poole <mdpoole@troilus.org>     patch-11
+2006-10-04 01:23:10 GMT        Michael Poole <mdpoole@troilus.org>     patch-51
 
     Summary:
-      Add "?stats memory" and optional alloc_header to slab.
+      Update time for ioset backend.
     Revision:
-      srvx--devo--1.3--patch-11
+      srvx--devo--1.3--patch-51
+
+    src/ioset-epoll.c (ioset_epoll_loop): Set now after epoll_wait() returns.
+
+    modified files:
+     ChangeLog src/ioset-epoll.c
+
+
+2006-10-03 23:18:25 GMT        Michael Poole <mdpoole@troilus.org>     patch-50
+
+    Summary:
+      I18n'ize the staff descriptors in !access.
+    Revision:
+      srvx--devo--1.3--patch-50
+
+    src/chanserv.c (msgtab): Add new entries for staff descriptors.
+      (cmd_access): Use them.
+
+    modified files:
+     ChangeLog src/chanserv.c
 
-    src/alloc-slab.c: Add alloc_header (but no redzone) debug support,
-    enabled by default.  Update alloc_count and alloc_size.
+
+2006-09-23 01:14:35 GMT        Michael Poole <mdpoole@troilus.org>     patch-49
+
+    Summary:
+      ioset event handling fixups
+    Revision:
+      srvx--devo--1.3--patch-49
+
+    src/ioset.c (ioset_connect): Properly handle the situation if the connect
+        handler closes the fd.
+      (ioset_accept): Rename "old_active_fd" to "old_active" for consistency.
+      (ioset_buffered_read): Make sure we bail if the fd is closed.
+      (ioset_events): Handle 'readable' on a connecting fd as an error.
+
+    modified files:
+     ChangeLog src/ioset.c
+
+
+2006-09-23 01:03:08 GMT        Michael Poole <mdpoole@troilus.org>     patch-48
+
+    Summary:
+      Dummy handling fixes.
+    Revision:
+      srvx--devo--1.3--patch-48
+
+    src/proto-p10.c (irc_notice): Fix the conditions for sending message to
+        IRC.
+      (irc_privmsg): Likewise.
+      (parse_cleanup): Zero num_*_funcs when freeing the corresponding
+        arrays, so that DelUser() doesn't read after free.
+
+    modified files:
+     ChangeLog src/proto-p10.c
+
+
+2006-09-23 00:58:27 GMT        Michael Poole <mdpoole@troilus.org>     patch-47
+
+    Summary:
+      Fix hostmask generation for hostnames without dots.
+    Revision:
+      srvx--devo--1.3--patch-47
+
+    src/proto-common.c (generate_hostmask): Keep no-dot hostnames as the
+        mask -- mod-qserver can generate hostnames like "localhost".
+
+    modified files:
+     ChangeLog src/proto-common.c
+
+
+2006-09-23 00:55:02 GMT        Michael Poole <mdpoole@troilus.org>     patch-46
+
+    Summary:
+      Default qserver clients to being opers.
+    Revision:
+      srvx--devo--1.3--patch-46
+
+    src/mod-qserver.c (qserver_accept): Default dummy client to having
+        usermode +o, so they can use privileged services.
+
+    modified files:
+     ChangeLog src/mod-qserver.c
+
+
+2006-09-23 00:52:48 GMT        Michael Poole <mdpoole@troilus.org>     patch-45
+
+    Summary:
+      Further giveownership confirmation fixes.
+    Revision:
+      srvx--devo--1.3--patch-45
+
+    src/chanserv.c (CSMSG_CONFIRM_GIVEOWNERSHIP): Prepend * to account name.
+      (cmd_giveownership): Check invoker access to determine need for confirmation.
+
+    modified files:
+     ChangeLog src/chanserv.c
+
+
+2006-09-22 03:33:25 GMT        Michael Poole <mdpoole@troilus.org>     patch-44
+
+    Summary:
+      Fix comment about +O vs +o.
+    Revision:
+      srvx--devo--1.3--patch-44
+
+    src/hash.h (FLAGS_OPER): The user mode is actually +o, not +O.
+
+    modified files:
+     ChangeLog src/hash.h
+
+
+2006-09-22 03:28:08 GMT        Michael Poole <mdpoole@troilus.org>     patch-43
+
+    Summary:
+      Fix license notice for mod-qserver.c
+    Revision:
+      srvx--devo--1.3--patch-43
+
+    src/mod-qserver.c: Since this was for public distribution, use the
+        standard GPL header notice.
+
+    modified files:
+     ChangeLog src/mod-qserver.c
+
+
+2006-09-22 03:05:54 GMT        Michael Poole <mdpoole@troilus.org>     patch-42
+
+    Summary:
+      Add win32 specific files to tarballs.
+    Revision:
+      srvx--devo--1.3--patch-42
+
+    Makefile.am (EXTRA_DIST): Include Makefile.win32.
     
-    src/opserv.c: Provide "stats memory" command for slab allocator.
+    src/Makefile.am (EXTRA_srvx_SOURCES): Include config.h.win32 and ioset-win32.c.
 
     modified files:
-     ChangeLog src/alloc-slab.c src/opserv.c
+     ChangeLog Makefile.am src/Makefile.am
 
 
-2005-01-31 05:14:52 GMT        Michael Poole <mdpoole@troilus.org>     patch-10
+2006-09-22 03:02:07 GMT        Michael Poole <mdpoole@troilus.org>     patch-41
 
     Summary:
-      Add slab allocator; reduce delta with srvx-gs.
+      First pass at native Win32 support (does not compile).
     Revision:
-      srvx--devo--1.3--patch-10
+      srvx--devo--1.3--patch-41
 
-    configure.in: Check for getpagesize().  Support --with-malloc=slab.
+    src/compat.h: Handle Windows Sockets 2 headers.
     
-    src/Makefile.am: Add alloc-slab.c as an extra source file.
+    src/mod-memoserv.c (KEY_READ): #undef'ine to avoid its registry access
+        meaning on Windows.
     
-    src/alloc-srvx.c: Clean up srvx_free() slightly.  Check for previously
-    allocated blocks.
+    Makefile.win32: New Makefile for native or cross builds targeting Win32.
     
-    srvx.conf.example, src/chanserv.c, src/main.c, src/modcmd.c,
-    src/proto-p10.c: Apply patches to bring closer to srvx-gs branch.
+    src/config.h.win32: Pregenerated config.h for Win32.
     
-    src/log.c: Assert and _exit() on fatal log messages.
+    src/ioset-win32.c: First attempt at a Win32 ioset backend.
+
+    new files:
+     .arch-ids/Makefile.win32.id Makefile.win32
+     src/.arch-ids/config.h.win32.id src/.arch-ids/ioset-win32.c.id
+     src/config.h.win32 src/ioset-win32.c
+
+    modified files:
+     ChangeLog src/compat.h src/mod-memoserv.c
+
+
+2006-09-22 02:51:50 GMT        Michael Poole <mdpoole@troilus.org>     patch-40
+
+    Summary:
+      Add direct query server module.
+    Revision:
+      srvx--devo--1.3--patch-40
+
+    srvx.conf.example: Document qserver configuration.
     
-    src/opserv.c: Clarify logic for modes to set on join floods.
+    src/Makefile.am (EXTRA_srvx_SOURCES): Add mod-qserver.c.
     
-    src/proto-common.c: Accept off-channel commands in registered channels.
+    src/mod-qserver.c: New file.
 
     new files:
-     src/.arch-ids/alloc-slab.c.id src/alloc-slab.c
+     src/.arch-ids/mod-qserver.c.id src/mod-qserver.c
 
     modified files:
-     ChangeLog configure.in src/Makefile.am src/alloc-srvx.c
-     src/chanserv.c src/chanserv.h src/common.h src/hash.h
-     src/helpfile.c src/log.c src/main.c src/modcmd.c src/opserv.c
-     src/proto-common.c src/proto-p10.c srvx.conf.example
+     ChangeLog src/Makefile.am src/ioset-epoll.c srvx.conf.example
 
 
-2005-01-26 21:16:54 GMT        Michael Poole <mdpoole@troilus.org>     patch-9
+2006-09-22 02:45:20 GMT        Michael Poole <mdpoole@troilus.org>     patch-39
 
     Summary:
-      offchannel fixes; more memory verification
+      Add epoll_* ioset backend.
     Revision:
-      srvx--devo--1.3--patch-9
+      srvx--devo--1.3--patch-39
+
+    configure.in: Check for epoll_create(); demote select() from being required.
+    
+    src/Makefile.am (EXTRA_srvx_SOURCES): Add ioset-epoll.c.
+    
+    src/ioset-epoll.c: New file.
+
+    new files:
+     src/.arch-ids/ioset-epoll.c.id src/ioset-epoll.c
+
+    modified files:
+     ChangeLog configure.in src/Makefile.am
+
+
+2006-09-22 02:38:21 GMT        Michael Poole <mdpoole@troilus.org>     patch-38
+
+    Summary:
+      Allow multiple ioset backends.
+    Revision:
+      srvx--devo--1.3--patch-38
 
-    src/chanserv.c (cmd_register): Do not join channels if the default
-    options include being offchannel.
+    configure.in: Add framework to check for ioset backends.
     
-    src/common.h: Verify list allocations when appending or removing.
+    src/Makefile.am (noinst_DATA): Reorganize for easier patching.
+      (checkversion): Avoid spurious error message if $(GNU_ARCH) is missing.
+      (EXTRA_srvx_SOURCES): Reorganize for easier patching; add ioset-select.c.
+      (srvx_SOURCES): Add ioset-impl.h.
+    
+    src/ioset.c (ioset.h): #include "ioset-impl.h" instead.
+      (clock_skew): Make non-static for backends.
+      (engine): New variable.
+      (active_fd): New variable (kind of kludgy).
+      (io_engine_*): New variables, only one exists so far.
+      (ioset_init): New function.
+      (ioset_cleanup): Call engine's cleanup function.
+      (ioset_add): Call engine's add function.
+      (ioset_listen): New function.
+      (ioset_connect): Call engine's update functions at appropriate points.
+      (ioset_try_write): Call engine's update function on success.
+      (ioset_close): Change signature; check against active_fd; call engine's
+        remove function.
+      (ioset_accept): New function.
+      (ioset_buffered_read): Update fd->state instead of fd->eof and call
+        engine's update function as appropriate.  Use active_fd.
+      (ioset_line_read): Check fd->state instead of fd->eof.
+      (debug_fdsets): Move to ioset-select.c.
+      (ioset_events): New function.
+      (ioset_run): Move most of the logic into ioset-select loop function;
+        call it.  Rename "select_timeout" to "timeout" to match.
+      (ioset_write): Call engine->update function.
+      (ioset_printf): New function.
+    
+    src/ioset.h (common.h): #include this header to get PRINTF_LIKE macro.
+      (struct io_fd): Replace 'connected' and 'eof' fields with 'state' field.
+      (ioset_init): Declare new function.
+      (ioset_listen): Declare new function.
+      (ioset_printf): Declare new function.
+      (ioset_close): Update signature.
+    
+    src/main.c (main): Call ioset_init().
+    
+    src/mod-sockcheck.c (sockcheck_free_client): Can unconditionally call
+        ioset_close() now.
+      (expand_var): Always use C99 type names.
+      (sockcheck_begin_test): Can unconditionally call ioset_close() now.
+      (sockcheck_read_conf): Only warn about unknown host if the user set
+        one; it is silly to arn about unknown host `(null)'.
+    
+    src/proto-common.c (socket_destroyed): Check fd->state rather than
+        fd->eof.
+      (close_socket): Update signature for ioset_close().
+
+    new files:
+     src/.arch-ids/ioset-impl.h.id src/.arch-ids/ioset-select.c.id
+     src/ioset-impl.h src/ioset-select.c
+
+    modified files:
+     ChangeLog configure.in src/Makefile.am src/ioset.c src/ioset.h
+     src/main.c src/mod-sockcheck.c src/proto-common.c
+
+
+2006-09-22 02:15:55 GMT        Michael Poole <mdpoole@troilus.org>     patch-37
+
+    Summary:
+      Add "dummy client" support.
+    Revision:
+      srvx--devo--1.3--patch-37
+
+    src/hash.h (FLAGS_DUMMY): New flag for non-propagated clients.
+      (IsDummy): Check it.
     
-    src/hash.c (GetUserMode): Verify channel and user list allocations.
+    src/helpfile.c (send_message): Allow sending to dummy clients.
+      (send_message_type): Likewise.
     
-    src/log.c (log_entry_search): Keep pointer to last visited log entry.
+    src/proto-bahamut.c (irc_user): Bail if user is NULL or has a dummy nickname.
+      (deliver_to_dummy): New function.
+      (irc_privmsg): Try to deliver via dummy method before sending to IRC.
+      (irc_notice): Likewise.
+      (irc_notice_user): Likewise.
+      (AddUser): If the first user mode character is '*', mark as a dummy.
+      (DelUser): Unregister callback functions when destroying local clients.
     
-    src/proto-p10.c (mod_chanmode_parse): Fail if trying to change +z when
-    passed MCP_REGISTERED.
+    src/proto-p10.c (irc_user): Bail if user is NULL or has a dummy nickname.
+      (deliver_to_dummy): New function.
+      (irc_notice): Try to deliver via dummy method before sending to IRC.
+      (irc_notice_user): Likewise.
+      (irc_privmsg): Likewise.
+      (AddUser): If the first user mode character is '*', mark as a dummy.
+      (DelUser): Unregister callback functions when destroying local clients.
 
     modified files:
-     ChangeLog src/chanserv.c src/common.h src/hash.c src/log.c
+     ChangeLog src/hash.h src/helpfile.c src/proto-bahamut.c
      src/proto-p10.c
 
 
-2005-01-24 17:12:38 GMT        Michael Poole <mdpoole@troilus.org>     patch-8
+2006-09-22 01:56:07 GMT        Michael Poole <mdpoole@troilus.org>     patch-36
 
     Summary:
-      typo fix in alloc-srvx.c; avoid dereferencing free()'d bans
+      Delete obsolete and non-propagated user modes.
     Revision:
-      srvx--devo--1.3--patch-8
+      srvx--devo--1.3--patch-36
 
-    src/alloc-srvx.c (srvx_realloc): Fix argument list to srvx_free().
+    src/hash.h (FLAGS_LOCOP): Delete.
+      (FLAGS_SERVNOTICE): Delete.
+      (FLAGS_HELPER): Delete.
+      (IsServNotice): Delete.
+      (IsHelperIrcu): Delete.
+    
+    src/opserv.c (cmd_whois): Remove IsServNotice() or IsHelperIrcu().
     
-    src/chanserv.c (find_matching_bans): Make temporary copies of bans to
-    be removed.  Double-check remove count at end of loop.
-    (unban_user, cmd_open): Free the string copies.
-    (cmd_unbanall): Make temporary copies of removed bans and free them.
-    (handle_mode): Likewise.
+    src/proto-bahamut.c (mod_usermode): Do not handle +O/+s/+h, we never see them.
     
-    src/opserv.c (cmd_clearbans): Likewise.
+    src/proto-p10.c (irc_user): Do not emit +s or +h, we never set them..
+      (mod_usermode): Do not handle +O/+s/+h, we never see them.
 
     modified files:
-     ChangeLog src/alloc-srvx.c src/chanserv.c src/opserv.c
+     ChangeLog src/hash.h src/opserv.c src/proto-bahamut.c
+     src/proto-p10.c
 
 
-2005-01-24 16:45:44 GMT        Michael Poole <mdpoole@troilus.org>     patch-7
+2006-09-22 01:48:00 GMT        Michael Poole <mdpoole@troilus.org>     patch-35
 
     Summary:
-      More allocation debugging support.
+      Merge AddService(), AddClone() into AddLocalUser()
     Revision:
-      srvx--devo--1.3--patch-7
+      srvx--devo--1.3--patch-35
 
-    src/alloc-srvx.c (srvx_realloc): Reorganize.
-    (verify): New function.
+    src/chanserv.c (init_chanserv): Convert AddService() call to AddLocalUser().
     
-    src/common.h (verify): Define and/or declare suitably.
+    src/global.c (init_global): Likewise.
     
-    src/dict-splay.c (dict_splay): Verify node at each iteration.
-    (dict_insert, dict_remove2, dict_find, dict_delete,
-    dict_sanity_check): Verify entire dict.
-    (dict_sanity_check_node): Verify node as valid allocation.
+    src/mod-helpserv.c (register_helpserv): Likewise.
     
-    src/hash.c (DelChannel): Verify channel before deletion.
-    (GetUserMode): Verify channel, user, and each modeNode.
+    src/modcmd.c (cmd_service_add): Likewise.
+      (modcmd_load_bots): Likewise.
     
-    src/mod-sockcheck.c (sockcheck_free_client): Verify client.
-    (sockcheck_timeout_client, sockcheck_advance, sockcheck_readable,
-    sockcheck_connected, sockcheck_begin_test): Likewise.
-    (sockcheck_queue_address): Verify cached sockcheck entries.
+    src/nickserv.c (regex.h): Fall back to rxposix.h from local rx package.
+      (init_nickserv): Convert AddService() call to AddLocalUser().
     
-    src/proto-p10.c (DelUser): Verify user before deletion.
+    src/opserv.c (opserv_add_reserve): Convert AddClone() call to AddLocalUser().
+      (cmd_clone): Likewise.
+      (add_reserved): Likewise.
+      (init_opserv): Convert AddService() call to AddLocalUser().
+    
+    src/proto-bahamut.c (AddService): Convert into AddLocalUser().
+      (AddClone): Delete.
+    
+    src/proto-p10.c (AddService): Convert into AddLocalUser().
+      (AddClone): Delete.
+    
+    src/proto.h (AddService): Convert into AddLocalUser().
+      (AddClone): Delete.
 
     modified files:
-     ChangeLog src/alloc-srvx.c src/common.h src/dict-splay.c
-     src/hash.c src/mod-sockcheck.c src/proto-p10.c
+     ChangeLog src/chanserv.c src/global.c src/mod-helpserv.c
+     src/modcmd.c src/nickserv.c src/opserv.c src/proto-bahamut.c
+     src/proto-p10.c src/proto.h
 
 
-2005-01-21 15:10:49 GMT        Michael Poole <mdpoole@troilus.org>     patch-6
+2006-09-22 01:35:03 GMT        Michael Poole <mdpoole@troilus.org>     patch-34
 
     Summary:
-      More debug allocator fixes and enhancements
+      Make IRC message handler 'text' const.
     Revision:
-      srvx--devo--1.3--patch-6
+      srvx--devo--1.3--patch-34
 
-    src/alloc-srvx.c (*_MAGIC): ASk recognized the CCSDS ASM sequence.
-    (srvx_free): Overwrite with 0xDE bytes to distinguish from
-    uninitialized values.  As SailorFrag suggested, only overwrite the
-    user region.
+    src/chanserv.c (chanserv_ctcp_check): Make 'text' parameter const.
     
-    src/dict-splay.c (dict_insert): Check whether free functions need to
-    be worked around here as well.
+    src/mod-helpserv.c (helpserv_usermsg): Likewise.
+      (helpserv_botmsg): Likewise.
+    
+    src/modcmd.c (svccmd_invoke): Likewise.
+      (modcmd_privmsg): Likewise.
+      (modcmd_chanmsg): Likewise.
+    
+    src/modcmd.h (SVCMSG_HOOK): Likewise.
+    
+    src/proto.h (chanmsg_func_t): Likewise.
+      (privmsg_func_t): Likewise.
 
     modified files:
-     ChangeLog src/alloc-srvx.c src/dict-splay.c
+     ChangeLog src/chanserv.c src/mod-helpserv.c src/modcmd.c
+     src/modcmd.h src/proto.h
 
 
-2005-01-21 00:48:35 GMT        Michael Poole <mdpoole@troilus.org>     patch-5
+2006-09-22 01:23:43 GMT        Michael Poole <mdpoole@troilus.org>     patch-33
 
     Summary:
-      Add redzone and statistics reporting to debug allocator.
+      Add autogen.sh to distribution tarball.
     Revision:
-      srvx--devo--1.3--patch-5
+      srvx--devo--1.3--patch-33
+
+    Makefile.am: Add autogen.sh to the "extra" distributed files.
+
+    modified files:
+     ChangeLog Makefile.am
 
-    src/alloc-srvx.c (redzone): New variable to detect buffer overwrites.
-    (alloc_count, alloc_size): New variables to track allocation stats.
-    (srvx_malloc, srvx_realloc, srvx_free): Use the above.
+
+2006-09-11 01:03:14 GMT        Michael Poole <mdpoole@troilus.org>     patch-32
+
+    Summary:
+      Support and use G-line lastmod timestamp.
+    Revision:
+      srvx--devo--1.3--patch-32
+
+    src/gline.c (KEY_LASTMOD): New key string.
+      (gline_add): Use new parameter to set lastmod.
+      (gline_add_record): Look for KEY_LASTMOD values.
+      (gline_write_entry): Set KEY_LASTMOD if lastmod is set.
+      (gline_discrim_create): Allow specification of lastmod criteria.
+      (gline_discrim_match): Check lastmod if appropriate.
+    
+    src/gline.h (struct gline): Add lastmod field.
+      (struct gline_discrim): Add lastmod fields.
+      (gline_add): New parameter.
+    
+    src/mod-sockcheck.c (sockcheck_issue_gline): Set lastmod.
+    
+    src/opserv.c (OSMSG_NO_GLINE): New format string.
+      (opserv_block): Set lastmod.
+      (cmd_gline): Set lastmod.
+      (cmd_stats_glines): Allow searching for a particular G-line (just like
+        gtrace).
+      (opserv_new_user_check): Set lastmod.
+      (gtrace_print_func): Use intervals rather than fixed dates and show
+        lastmod.
+    
+    src/opserv.help (GTRACE CRITERIA): Mention lastmod criteria.
     
-    src/opserv.c (OSMSG_STATS_MEMORY): New translation string.
-    (cmd_stats_memory): New (conditional) command function.
-    (init_opserv): Conditionally provide cmd_stats_memory.
+    src/proto-p10.c (irc_gline): Send lastmod if it is set.
+      (cmd_num_gline): Parse out lastmod if it is set.
+      (cmd_gline): Parse out lastmod if it is set.
 
     modified files:
-     ChangeLog src/alloc-srvx.c src/opserv.c
+     ChangeLog src/gline.c src/gline.h src/mod-sockcheck.c
+     src/opserv.c src/opserv.help src/proto-p10.c
 
 
-2005-01-20 23:41:17 GMT        Michael Poole <mdpoole@troilus.org>     patch-4
+2006-09-09 21:37:28 GMT        Michael Poole <mdpoole@troilus.org>     patch-31
 
     Summary:
-      Add built-in debug malloc wrapper.
+      Network event handler fixup when ChanServ is disabled.
     Revision:
-      srvx--devo--1.3--patch-4
+      srvx--devo--1.3--patch-31
+
+    src/chanserv.c (init_chanserv): Do not register network event handlers if
+        ChanServ is disabled.
+
+    modified files:
+     ChangeLog src/chanserv.c
+
+
+2006-09-03 15:24:48 GMT        Michael Poole <mdpoole@troilus.org>     patch-30
+
+    Summary:
+      Make srvx compile on cygwin again.
+    Revision:
+      srvx--devo--1.3--patch-30
 
-    TODO: Remove the completed TODO item.
+    configure.in (AC_CHECK_HEADERS): Look for <arpa/inet.h>.
+      (AC_CHECK_FUNCS): Look for inet_aton().
+    
+    src/compat.c: Try to include <arpa/inet.h> so we get inet_addr().
+      (getaddrinfo): If inet_aton() is not provided, use inet_addr() instead.
+    
+    src/compat.h (AI_NUMERICHOST): Define this too.
     
-    configure.in: Add --with-malloc=srvx support.
+    src/tools.c (irc_pton): Use the pedantically correct type for ip4.
+
+    modified files:
+     ChangeLog configure.in src/compat.c src/compat.h src/tools.c
+
+
+2006-09-03 15:21:10 GMT        Michael Poole <mdpoole@troilus.org>     patch-29
+
+    Summary:
+      DelChannelUser call and semantic fixups
+    Revision:
+      srvx--devo--1.3--patch-29
+
+    src/hash.c (DelChannel): Fix type of 'reason' arg to DelChannelUser().
+      (DelChannelUser): Only send part message if user is local.
     
-    src/Makefile.am: Add alloc-srvx.c to extra sources.
+    src/proto-bahamut.c (DelUser): Unswap arguments to DelChannelUser().
+      (cmd_part): Move to proto-common.c.
     
-    src/common.h: Reindent debug malloc directives; add directives for
-    WITH_MALLOC_SRVX.
+    src/proto-common.c (part_desc): New structure type.
+      (part_helper): Use it to capture user and reason.
+      (cmd_part): New common function.
     
-    src/dict-splay.c: Kludge around free() as macro vs function.
+    src/proto-p10.c (cmd_part): Move to proto-common.c.
+      (DelUser): Unswap arguments to DelChannelUser().
+
+    modified files:
+     ChangeLog src/hash.c src/proto-bahamut.c src/proto-common.c
+     src/proto-p10.c
 
-    new files:
-     src/.arch-ids/alloc-srvx.c.id src/alloc-srvx.c
+
+2006-09-03 15:17:05 GMT        Michael Poole <mdpoole@troilus.org>     patch-28
+
+    Summary:
+      Do not try to moderate join-flood channels with no OpServ.
+    Revision:
+      srvx--devo--1.3--patch-28
+
+    src/opserv.c (opserv_join_check): As feigling points out, it is bad for a
+        service that does not exist to join a channel and hack modes.
 
     modified files:
-     ChangeLog TODO configure.in src/Makefile.am src/common.h
-     src/dict-splay.c
+     ChangeLog src/opserv.c
 
 
-2005-01-20 22:51:54 GMT        Michael Poole <mdpoole@troilus.org>     patch-3
+2006-09-03 15:13:31 GMT        Michael Poole <mdpoole@troilus.org>     patch-27
 
     Summary:
-      various bugfixes and IPv6 preparation work
+      Fix ounregnick access check.
     Revision:
-      srvx--devo--1.3--patch-3
+      srvx--devo--1.3--patch-27
+
+    src/nickserv.c (cmd_ounregnick): Use the standard rank-checking function.
+
+    modified files:
+     ChangeLog src/nickserv.c
+
+
+2006-09-03 15:11:29 GMT        Michael Poole <mdpoole@troilus.org>     patch-26
+
+    Summary:
+      Fix giveownership to how it should be
+    Revision:
+      srvx--devo--1.3--patch-26
+
+    src/chanserv.c (cmd_giveownership): Only require confirmation code if the
+      user has real (normal) access and is not forcing the giveownership.
+
+    modified files:
+     ChangeLog
+
+
+2006-09-03 15:10:58 GMT        Michael Poole <mdpoole@troilus.org>     patch-25
+
+    Summary:
+      Fix giveownership to how it should be
+    Revision:
+      srvx--devo--1.3--patch-25
+
+    src/chanserv.c (cmd_giveownership): Only require confirmation code if the
+      user has real (normal) access and is not forcing the giveownership.
+
+    modified files:
+     ChangeLog src/chanserv.c
+
+
+2006-08-19 13:31:08 GMT        Michael Poole <mdpoole@troilus.org>     patch-24
+
+    Summary:
+      Mark channels as visited when high-level users leave.
+    Revision:
+      srvx--devo--1.3--patch-24
+
+    src/chanserv.c (handle_part): At ThiefMaster's suggestion, update a
+      channel's visited time when a high-level user leaves (parts, gets
+      kicked, or quits).
+
+    modified files:
+     ChangeLog src/chanserv.c
+
+
+2006-08-07 03:11:10 GMT        Michael Poole <mdpoole@troilus.org>     patch-23
+
+    Summary:
+      Require confirmation cookie for giveownership.
+    Revision:
+      srvx--devo--1.3--patch-23
+
+    src/chanserv.c (CSMSG_CONFIRM_GIVEOWNERSHIP): New translation string.
+      (cmd_giveownership): Fail for non-force unconfirmed giveownerships.
+
+    modified files:
+     ChangeLog src/chanserv.c
+
+
+2006-07-29 01:36:39 GMT        Michael Poole <mdpoole@troilus.org>     patch-22
+
+    Summary:
+      Add CSMSG_INVALID_CFLAG string.
+    Revision:
+      srvx--devo--1.3--patch-22
+
+    src/chanserv.c (msgtab): Add entry for "CSMSG_INVALID_CFLAG".
+
+    modified files:
+     ChangeLog src/chanserv.c
+
+
+2006-07-29 01:34:17 GMT        Michael Poole <mdpoole@troilus.org>     patch-21
+
+    Summary:
+      Fix ?csearch max timestamp default value.
+    Revision:
+      srvx--devo--1.3--patch-21
+
+    src/opserv.c (opserv_cdiscrim_create): Fix default value for max_ts.
+        (With an expression only a coder could love.  Improvements wanted.)
+
+    modified files:
+     ChangeLog src/opserv.c
 
-    src/modcmd.c (modcmd_privmsg): Fix CTCP PING response type.
+
+2006-07-18 03:13:31 GMT        Michael Poole <mdpoole@troilus.org>     patch-20
+
+    Summary:
+      Update arch-inventory files for in-tree builds.
+    Revision:
+      srvx--devo--1.3--patch-20
+
+    .arch-inventory: Add "libtool" as a preserved file.
     
-    src/opserv.help: Add column headers for command lists.
+    src/.arch-inventory: Add ".libs" as a preserved directory.  Put a \
+        before the . in .cvsignore to avoid capturing too much.
+
+    modified files:
+     .arch-inventory ChangeLog src/.arch-inventory
+
+
+2006-07-18 02:48:32 GMT        Michael Poole <mdpoole@troilus.org>     patch-19
+
+    Summary:
+      Make !bans searching more flexible
+    Revision:
+      srvx--devo--1.3--patch-19
+
+    src/chanserv.c (cmd_bans): Allow specifying a complete hostmask or a
+        nickname when searching bans.
     
-    src/tools.c (is_gline, split_ircmask): Accept colons in hostnames.
+    src/chanserv.help (BANS): Document the searching functions.
 
     modified files:
-     ChangeLog src/modcmd.c src/opserv.help src/tools.c
+     ChangeLog src/chanserv.c src/chanserv.help
 
 
-2005-01-05 01:03:05 GMT        Michael Poole <mdpoole@troilus.org>     patch-2
+2006-07-18 01:49:56 GMT        Michael Poole <mdpoole@troilus.org>     patch-18
 
     Summary:
-      Add MODE_REGISTERED as +z for P10.
+      Simplify cdiscrim_match() max tests.
     Revision:
-      srvx--devo--1.3--patch-2
+      srvx--devo--1.3--patch-18
 
-    Add MODE_REGISTERED as +z for P10.
+    src/opserv.c (opserv_cdiscrim_create): Explicitly initialize max_users
+        and max_ts.
+      (cdiscrim_match): Simplify the bounds tests for timestamp and users.
+
+    modified files:
+     ChangeLog src/opserv.c
+
+
+2006-07-18 01:46:10 GMT        Michael Poole <mdpoole@troilus.org>     patch-17
+
+    Summary:
+      Fix reclaim KILL behavior.
+    Revision:
+      srvx--devo--1.3--patch-17
+
+    src/nickserv.c (nickserv_reclaim): Use DelUser() instead of irc_kill(),
+        so that srvx's databases are appropriately updated.
+
+    modified files:
+     ChangeLog src/nickserv.c
+
+
+2006-07-18 01:12:16 GMT        Michael Poole <mdpoole@troilus.org>     patch-16
+
+    Summary:
+      Fix typo in English error message text.
+    Revision:
+      srvx--devo--1.3--patch-16
+
+    src/chanserv.c (CSMSG_TOPICMASK_CONFLICT2): Add missing "is".  Reported
+      by Harm, by way of Byte.
+
+    modified files:
+     ChangeLog src/chanserv.c
+
+
+2006-05-14 02:54:24 GMT        Michael Poole <mdpoole@troilus.org>     patch-15
+
+    Summary:
+      Update version tag for 1.3.1 release.
+    Revision:
+      srvx--devo--1.3--patch-15
+
+    configure.in: Update version tag for 1.3.1 release.
+
+    modified files:
+     ChangeLog configure.in
+
+
+2006-05-02 02:46:39 GMT        Michael Poole <mdpoole@troilus.org>     patch-14
+
+    Summary:
+      Make some ChanServ ban checks see through hidden hosts.
+    Revision:
+      srvx--devo--1.3--patch-14
+
+    src/chanserv.c (handle_join): Make this function see through hidden
+        hosts when matching users against bans.  Add comment before the
+        non-burst section; remove a redundant burst check there.
+      (handle_auth): See through hidden hosts when checking against active
+        bans.  Inactive ban check keeps MATCH_VISIBLE since bans on the true
+        hostname should have already been applied.
+      (handle_nick_change): Same as handle_auth.
+
+    modified files:
+     ChangeLog src/chanserv.c
+
+
+2006-04-29 03:11:35 GMT        Michael Poole <mdpoole@troilus.org>     patch-13
+
+    Summary:
+      Fix visible matching for fake and +x-hidden hosts.
+    Revision:
+      srvx--devo--1.3--patch-13
+
+    src/tools.c (user_matches_glob): Use correct test to determine whether
+        the user's host is hidden.
+
+    modified files:
+     ChangeLog src/tools.c
+
+
+2006-04-07 00:56:38 GMT        Michael Poole <mdpoole@troilus.org>     patch-12
+
+    Summary:
+      Fix a +o mode parsing error.
+    Revision:
+      srvx--devo--1.3--patch-12
+
+    src/proto-p10.c (mod_chanmode_parse): Check that the input argument after
+        +o is a valid one.
 
     modified files:
      ChangeLog src/proto-p10.c
 
 
-2005-01-04 19:35:57 GMT        Michael Poole <mdpoole@troilus.org>     patch-1
+2006-04-06 02:19:47 GMT        Michael Poole <mdpoole@troilus.org>     patch-11
 
     Summary:
-      Rotate ChangeLog for new repository; clarify documentation files
+      Fix some IPv6 address compatibility issues.
     Revision:
-      srvx--devo--1.3--patch-1
+      srvx--devo--1.3--patch-11
+
+    src/proto-p10.c (irc_p10_pton): Mark valid IPv4 addresses as v4-mapped.
+      (irc_p10_ntop): Emit invalid IPs as AAAAAA (but it could be _ for +6
+        flagged hubs).
 
-    Rotate ChangeLog to show changes for srvx@srvx.net--2005-srvx repo.
+    modified files:
+     ChangeLog src/proto-p10.c
+
+
+2006-04-05 02:07:30 GMT        Michael Poole <mdpoole@troilus.org>     patch-10
+
+    Summary:
+      Fix a possible warning without debugging.
+    Revision:
+      srvx--devo--1.3--patch-10
+
+    src/alloc-slab.c (slab_unalloc): If assert() is #define'd to be empty,
+        then size is unused.  Include a (void)size to quash a warning.
+
+    modified files:
+     ChangeLog src/alloc-slab.c
+
+
+2006-04-05 02:02:21 GMT        Michael Poole <mdpoole@troilus.org>     patch-9
+
+    Summary:
+      Fix hostmask error from last year's patch-28.
+    Revision:
+      srvx--devo--1.3--patch-9
+
+    src/proto-common.c (generate_hostmask): When generating a strict hostmask
+        not by IP, we should keep the original hostname.
+
+    modified files:
+     ChangeLog src/proto-common.c
+
+
+2006-04-05 01:59:54 GMT        Michael Poole <mdpoole@troilus.org>     patch-8
+
+    Summary:
+      Fix compilation error with slab allocator and no debugging.
+    Revision:
+      srvx--devo--1.3--patch-8
+
+    src/alloc-slab.c (verify): Undefine as a macro before defining as a
+        function.
+
+    modified files:
+     ChangeLog src/alloc-slab.c
+
+
+2006-04-05 00:24:50 GMT        Michael Poole <mdpoole@troilus.org>     patch-7
+
+    Summary:
+      Fix backtracking bug after an escaped character.
+    Revision:
+      srvx--devo--1.3--patch-7
+
+    src/tools.c (match_ircglob): Fix backtracking behavior when an escaped
+        character did not match.
+
+    modified files:
+     ChangeLog src/tools.c
+
+
+2006-04-05 00:11:31 GMT        Michael Poole <mdpoole@troilus.org>     patch-6
+
+    Summary:
+      Advise the kernel that we will scan DB files sequentially.
+    Revision:
+      srvx--devo--1.3--patch-6
+
+    src/recdb.c (parse_database): Advise the kernel that we will scan the
+        recdb file sequentially, just in case it cannot notice the access
+        pattern on its own.
+
+    modified files:
+     ChangeLog src/recdb.c
+
+
+2006-04-05 00:09:48 GMT        Michael Poole <mdpoole@troilus.org>     patch-5
+
+    Summary:
+      Correctly implement AsLL pong.
+    Revision:
+      srvx--devo--1.3--patch-5
+
+    src/proto-p10.c (irc_pong_asll): New function.
+      (cmd_ping): Use it.
+
+    modified files:
+     ChangeLog src/proto-p10.c
+
+
+2006-04-05 00:08:04 GMT        Michael Poole <mdpoole@troilus.org>     patch-4
+
+    Summary:
+      Add missing underscore in translation key string.
+    Revision:
+      srvx--devo--1.3--patch-4
+
+    src/mod-helpserv.c (helpserv_usermsg): Add a missing underscore between
+        REQUEST and NOT.
+
+    modified files:
+     ChangeLog src/mod-helpserv.c
+
+
+2006-04-05 00:05:59 GMT        Michael Poole <mdpoole@troilus.org>     patch-3
+
+    Summary:
+      Update configure.in; support both baz and tla; avoid using dirent.
+    Revision:
+      srvx--devo--1.3--patch-3
+
+    configure.in: Remove AC_PROG_RANLIB since we never use ranlib.  Add
+        AC_PROG_LIBTOOL since we do use libtool.  Set GNU_ARCH and
+        HAS_GNU_ARCH based on whether the system has baz or tla.  Do not
+        check for dirent.d_type.
     
-    Fix various file permissions to 664 instead of 620.
+    src/Makefile.am: Make the "checkversion" target conditional on
+        HAS_GNU_ARCH, and use the detected $(GNU_ARCH).
     
-    Update FAQ and TODO.  Add UPGRADE file to arch and to distribution.
+    src/helpfile.c (language_read): Report error text when unable to open a
+        language directory.
+      (language_read_list): Always stat the language entry to determine
+        whether it is a directory; Cygwin has no dirent.d_type and ReiserFS
+        has a broken one.
 
-    new files:
-     .arch-ids/ChangeLog.id .arch-ids/UPGRADE.id ChangeLog UPGRADE
+    modified files:
+     ChangeLog configure.in src/Makefile.am src/helpfile.c
 
-    removed files:
-     .arch-ids/ChangeLog.id ChangeLog
+
+2006-04-05 00:00:57 GMT        Michael Poole <mdpoole@troilus.org>     patch-2
+
+    Summary:
+      Update ChangeLog (again?!), ltmain.sh and rx/Makefile.in
+    Revision:
+      srvx--devo--1.3--patch-2
+
+    ChangeLog: Update again (it didn't take, for some strange reason).
+    
+    ltmain.sh: Update to current version.
+    
+    rx/Makefile.in: Regenerate to match.
 
     modified files:
-     FAQ INSTALL Makefile.am TODO languages/de/chanserv.help
-     languages/de/global.help languages/de/modcmd.help
-     languages/de/nickserv.help languages/de/strings.db
-     languages/en_UK/chanserv.help languages/en_UK/strings.db
-     src/chanserv.help
+     ChangeLog ltmain.sh rx/Makefile.in
+
+
+2006-04-04 23:58:31 GMT        Michael Poole <mdpoole@troilus.org>     patch-1
+
+    Summary:
+      Rotate ChangeLog for the new year's archive.
+    Revision:
+      srvx--devo--1.3--patch-1
+
+    ChangeLog: Update for the new year's archive.
+
+    modified files:
+     .arch-ids/ChangeLog.id ChangeLog
 
 
-2005-01-04 19:16:14 GMT        Michael Poole <mdpoole@troilus.org>     base-0
+2006-04-04 23:42:39 GMT        Michael Poole <mdpoole@troilus.org>     base-0
 
     Summary:
-      tag of srvx@srvx.net--2004-srvx/srvx--devo--1.3--patch-84
+      tag of srvx@srvx.net--2005-srvx/srvx--devo--1.3--patch-36
     Revision:
       srvx--devo--1.3--base-0
 
     (automatically generated log message)
 
     new patches:
+     sp@gamesurge.net--2005/srvx--sp--1.3--patch-1
+     sp@gamesurge.net--2005/srvx--sp--1.3--patch-2
      srvx@srvx.net--2004-srvx/srvx--devo--1.3--base-0
      srvx@srvx.net--2004-srvx/srvx--devo--1.3--patch-1
      srvx@srvx.net--2004-srvx/srvx--devo--1.3--patch-2
      srvx@srvx.net--2004-srvx/srvx--devo--1.3--patch-82
      srvx@srvx.net--2004-srvx/srvx--devo--1.3--patch-83
      srvx@srvx.net--2004-srvx/srvx--devo--1.3--patch-84
+     srvx@srvx.net--2005-srvx/srvx--devo--1.3--base-0
+     srvx@srvx.net--2005-srvx/srvx--devo--1.3--patch-1
+     srvx@srvx.net--2005-srvx/srvx--devo--1.3--patch-2
+     srvx@srvx.net--2005-srvx/srvx--devo--1.3--patch-3
+     srvx@srvx.net--2005-srvx/srvx--devo--1.3--patch-4
+     srvx@srvx.net--2005-srvx/srvx--devo--1.3--patch-5
+     srvx@srvx.net--2005-srvx/srvx--devo--1.3--patch-6
+     srvx@srvx.net--2005-srvx/srvx--devo--1.3--patch-7
+     srvx@srvx.net--2005-srvx/srvx--devo--1.3--patch-8
+     srvx@srvx.net--2005-srvx/srvx--devo--1.3--patch-9
+     srvx@srvx.net--2005-srvx/srvx--devo--1.3--patch-10
+     srvx@srvx.net--2005-srvx/srvx--devo--1.3--patch-11
+     srvx@srvx.net--2005-srvx/srvx--devo--1.3--patch-12
+     srvx@srvx.net--2005-srvx/srvx--devo--1.3--patch-13
+     srvx@srvx.net--2005-srvx/srvx--devo--1.3--patch-14
+     srvx@srvx.net--2005-srvx/srvx--devo--1.3--patch-15
+     srvx@srvx.net--2005-srvx/srvx--devo--1.3--patch-16
+     srvx@srvx.net--2005-srvx/srvx--devo--1.3--patch-17
+     srvx@srvx.net--2005-srvx/srvx--devo--1.3--patch-18
+     srvx@srvx.net--2005-srvx/srvx--devo--1.3--patch-19
+     srvx@srvx.net--2005-srvx/srvx--devo--1.3--patch-20
+     srvx@srvx.net--2005-srvx/srvx--devo--1.3--patch-21
+     srvx@srvx.net--2005-srvx/srvx--devo--1.3--patch-22
+     srvx@srvx.net--2005-srvx/srvx--devo--1.3--patch-23
+     srvx@srvx.net--2005-srvx/srvx--devo--1.3--patch-24
+     srvx@srvx.net--2005-srvx/srvx--devo--1.3--patch-25
+     srvx@srvx.net--2005-srvx/srvx--devo--1.3--patch-26
+     srvx@srvx.net--2005-srvx/srvx--devo--1.3--patch-27
+     srvx@srvx.net--2005-srvx/srvx--devo--1.3--patch-28
+     srvx@srvx.net--2005-srvx/srvx--devo--1.3--patch-29
+     srvx@srvx.net--2005-srvx/srvx--devo--1.3--patch-30
+     srvx@srvx.net--2005-srvx/srvx--devo--1.3--patch-31
+     srvx@srvx.net--2005-srvx/srvx--devo--1.3--patch-32
+     srvx@srvx.net--2005-srvx/srvx--devo--1.3--patch-33
+     srvx@srvx.net--2005-srvx/srvx--devo--1.3--patch-34
+     srvx@srvx.net--2005-srvx/srvx--devo--1.3--patch-35
+     srvx@srvx.net--2005-srvx/srvx--devo--1.3--patch-36