# arch-tag: automatic-ChangeLog--srvx@srvx.net--2005-srvx/srvx--devo--1.3
#
+2005-02-11 03:10:49 GMT Michael Poole <mdpoole@troilus.org> patch-17
+
+ Summary:
+ Mention 'slab' in --with-malloc docs. Merge fakehosts when merging accounts.
+ Revision:
+ srvx--devo--1.3--patch-17
+
+ configure.in (--with-malloc): Mention the awesome 'slab' allocator option.
+
+ src/nickserv.c (cmd_merge): Copy fakehost to target account if appropriate.
+
+ modified files:
+ ChangeLog configure.in src/nickserv.c
+
+
+2005-02-08 04:42:43 GMT Michael Poole <mdpoole@troilus.org> patch-16
+
+ Summary:
+ Fix memory corruption when removing certain bans from a channel.
+ Revision:
+ srvx--devo--1.3--patch-16
+
+ 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.
+
+ modified files:
+ ChangeLog src/proto-common.c
+
+
+2005-02-05 13:03:21 GMT Michael Poole <mdpoole@troilus.org> patch-15
+
+ Summary:
+ Rearrange slab allocation header; minor slab fixes.
+ Revision:
+ srvx--devo--1.3--patch-15
+
+ 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)
+
+ modified files:
+ ChangeLog src/alloc-slab.c
+
+
+2005-02-05 03:52:51 GMT Michael Poole <mdpoole@troilus.org> patch-14
+
+ Summary:
+ Even more slab allocator updates.
+ Revision:
+ srvx--devo--1.3--patch-14
+
+ 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.
+
+ modified files:
+ ChangeLog src/alloc-slab.c
+
+
+2005-02-04 16:36:40 GMT Michael Poole <mdpoole@troilus.org> patch-13
+
+ Summary:
+ more debugging updates
+ Revision:
+ srvx--devo--1.3--patch-13
+
+ 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.
+
+ src/log.c: Make struct logEntry *last static, to make sure gcc does
+ not optimize it away.
+
+ modified files:
+ ChangeLog src/alloc-slab.c src/log.c
+
+
+2005-01-31 22:28:59 GMT Michael Poole <mdpoole@troilus.org> patch-12
+
+ Summary:
+ More slab allocator updates.
+ Revision:
+ srvx--devo--1.3--patch-12
+
+ 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.
+
+ src/chanserv.h: Can only be off-channel with off_channel > 1.
+
+ src/main.c: Update years in copyright notice.
+
+ src/opserv.c: Remove OSMSG_STATS_MEMORY. Make cmd_stats_memory()
+ allocator-specific.
+
+ modified files:
+ ChangeLog src/alloc-slab.c src/chanserv.h src/main.c
+ src/opserv.c
+
+
+2005-01-31 11:08:15 GMT Michael Poole <mdpoole@troilus.org> patch-11
+
+ Summary:
+ Add "?stats memory" and optional alloc_header to slab.
+ Revision:
+ srvx--devo--1.3--patch-11
+
+ src/alloc-slab.c: Add alloc_header (but no redzone) debug support,
+ enabled by default. Update alloc_count and alloc_size.
+
+ src/opserv.c: Provide "stats memory" command for slab allocator.
+
+ modified files:
+ ChangeLog src/alloc-slab.c src/opserv.c
+
+
+2005-01-31 05:14:52 GMT Michael Poole <mdpoole@troilus.org> patch-10
+
+ Summary:
+ Add slab allocator; reduce delta with srvx-gs.
+ Revision:
+ srvx--devo--1.3--patch-10
+
+ configure.in: Check for getpagesize(). Support --with-malloc=slab.
+
+ src/Makefile.am: Add alloc-slab.c as an extra source file.
+
+ src/alloc-srvx.c: Clean up srvx_free() slightly. Check for previously
+ allocated blocks.
+
+ 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/log.c: Assert and _exit() on fatal log messages.
+
+ src/opserv.c: Clarify logic for modes to set on join floods.
+
+ src/proto-common.c: Accept off-channel commands in registered channels.
+
+ new files:
+ src/.arch-ids/alloc-slab.c.id src/alloc-slab.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
+
+
+2005-01-26 21:16:54 GMT Michael Poole <mdpoole@troilus.org> patch-9
+
+ Summary:
+ offchannel fixes; more memory verification
+ Revision:
+ srvx--devo--1.3--patch-9
+
+ src/chanserv.c (cmd_register): Do not join channels if the default
+ options include being offchannel.
+
+ src/common.h: Verify list allocations when appending or removing.
+
+ src/hash.c (GetUserMode): Verify channel and user list allocations.
+
+ src/log.c (log_entry_search): Keep pointer to last visited log entry.
+
+ src/proto-p10.c (mod_chanmode_parse): Fail if trying to change +z when
+ passed MCP_REGISTERED.
+
+ modified files:
+ ChangeLog src/chanserv.c src/common.h src/hash.c src/log.c
+ src/proto-p10.c
+
+
+2005-01-24 17:12:38 GMT Michael Poole <mdpoole@troilus.org> patch-8
+
+ Summary:
+ typo fix in alloc-srvx.c; avoid dereferencing free()'d bans
+ Revision:
+ srvx--devo--1.3--patch-8
+
+ src/alloc-srvx.c (srvx_realloc): Fix argument list to srvx_free().
+
+ 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/opserv.c (cmd_clearbans): Likewise.
+
+ modified files:
+ ChangeLog src/alloc-srvx.c src/chanserv.c src/opserv.c
+
+
+2005-01-24 16:45:44 GMT Michael Poole <mdpoole@troilus.org> patch-7
+
+ Summary:
+ More allocation debugging support.
+ Revision:
+ srvx--devo--1.3--patch-7
+
+ src/alloc-srvx.c (srvx_realloc): Reorganize.
+ (verify): New function.
+
+ src/common.h (verify): Define and/or declare suitably.
+
+ 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/hash.c (DelChannel): Verify channel before deletion.
+ (GetUserMode): Verify channel, user, and each modeNode.
+
+ 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/proto-p10.c (DelUser): Verify user before deletion.
+
+ 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
+
+
+2005-01-21 15:10:49 GMT Michael Poole <mdpoole@troilus.org> patch-6
+
+ Summary:
+ More debug allocator fixes and enhancements
+ Revision:
+ srvx--devo--1.3--patch-6
+
+ 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/dict-splay.c (dict_insert): Check whether free functions need to
+ be worked around here as well.
+
+ modified files:
+ ChangeLog src/alloc-srvx.c src/dict-splay.c
+
+
+2005-01-21 00:48:35 GMT Michael Poole <mdpoole@troilus.org> patch-5
+
+ Summary:
+ Add redzone and statistics reporting to debug allocator.
+ Revision:
+ srvx--devo--1.3--patch-5
+
+ 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.
+
+ src/opserv.c (OSMSG_STATS_MEMORY): New translation string.
+ (cmd_stats_memory): New (conditional) command function.
+ (init_opserv): Conditionally provide cmd_stats_memory.
+
+ modified files:
+ ChangeLog src/alloc-srvx.c src/opserv.c
+
+
+2005-01-20 23:41:17 GMT Michael Poole <mdpoole@troilus.org> patch-4
+
+ Summary:
+ Add built-in debug malloc wrapper.
+ Revision:
+ srvx--devo--1.3--patch-4
+
+ TODO: Remove the completed TODO item.
+
+ configure.in: Add --with-malloc=srvx support.
+
+ src/Makefile.am: Add alloc-srvx.c to extra sources.
+
+ src/common.h: Reindent debug malloc directives; add directives for
+ WITH_MALLOC_SRVX.
+
+ src/dict-splay.c: Kludge around free() as macro vs function.
+
+ new files:
+ src/.arch-ids/alloc-srvx.c.id src/alloc-srvx.c
+
+ modified files:
+ ChangeLog TODO configure.in src/Makefile.am src/common.h
+ src/dict-splay.c
+
+
+2005-01-20 22:51:54 GMT Michael Poole <mdpoole@troilus.org> patch-3
+
+ Summary:
+ various bugfixes and IPv6 preparation work
+ Revision:
+ srvx--devo--1.3--patch-3
+
+ src/modcmd.c (modcmd_privmsg): Fix CTCP PING response type.
+
+ src/opserv.help: Add column headers for command lists.
+
+ src/tools.c (is_gline, split_ircmask): Accept colons in hostnames.
+
+ modified files:
+ ChangeLog src/modcmd.c src/opserv.help src/tools.c
+
+
+2005-01-05 01:03:05 GMT Michael Poole <mdpoole@troilus.org> patch-2
+
+ Summary:
+ Add MODE_REGISTERED as +z for P10.
+ Revision:
+ srvx--devo--1.3--patch-2
+
+ Add MODE_REGISTERED as +z for P10.
+
+ modified files:
+ ChangeLog src/proto-p10.c
+
+
2005-01-04 19:35:57 GMT Michael Poole <mdpoole@troilus.org> patch-1
Summary: