Add CHANNELLEN feature, analogous to NICKLEN feature.
[ircu2.10.12-pk.git] / ChangeLog
index 8ba3eb9180b6543d98dc14b23a221b993268c202..d0c853e8aabf119e5bdb9ffb21e86a6d31d24f87 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,277 @@
+2005-07-11  Michael Poole <mdpoole@troilus.org>
+
+       * doc/readme.features: Document FEAT_CHANNELLEN.
+
+       * doc/example.conf: Give an example of it.
+
+       * ircd/m_join.c (ms_join): Do not clean channel names from remote
+       servers, to avoid desynchs.
+
+       * ircd/m_names.c (ms_names): Likewise.
+
+2005-07-11  Stephan Peijnik <speijnik@gmail.com>
+
+       * include/ircd_features.h: Declare new FEAT_CHANNELLEN.
+
+       * include/supported.h: Add it to the ISUPPORT display.
+
+       * ircd/channel.c (clean_channelname): Impose the lower limit
+       between FEAT_CHANNELLEN and CHANNELLEN.
+
+       * ircd/ircd_features.c: Define FEAT_CHANNELLEN.
+
+2005-07-11  Reed Loden <reed@reedloden.com>
+
+       * include/sys.h: Move FD_SETSIZE redefinition to engine_select.c.
+
+       * ircd/s_bsd.c: Move FD_SETSIZE sanity check to engine_select.c
+       Remove unused #include <sys/poll.h>.
+
+       * ircd/engine_select.c: Put FD_SETSIZE redefinition and sanity
+       checks here, since they are not used elsewhere in the daemon.
+       [Order slightly changed by Michael Poole to compile.]
+
+2005-07-03  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/convert-conf.c: New file.
+
+       * ircd/Makefile: Compile it.
+
+2005-06-27  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/s_bsd.c (add_connection): Split logic for server versus
+       client listeners; only do IPcheck for client connections.
+
+       * ircd/s_serv.c (server_estab): There is no longer a need to
+       remove IPcheck reference, so don't.
+
+2005-06-27  Michael Poole <mdpoole@troilus.org>
+
+       * include/client.h (struct Connection): Remove con_dns_reply (and
+       associated macros).
+
+       * include/res.h (gethost_byname): Change calling signature to
+       clarify memory ownership.
+       (gethost_byaddr): Likewise.
+
+       * include/s_bsd.h (release_dns_reply): Remove function.
+
+       * ircd/hash.c: #include "match.h" to quash warning.
+
+       * ircd/ircd_auth.c (struct IAuth): Remove i_query field.
+       (iauth_dns_callback): Adjust for new gethost_byname signature.
+       (iauth_reconnect): Likewise.
+
+       * ircd/ircd_res.c (struct reslist): Make elements of query field
+       inline rather than in a contained structure.
+       (make_request): Reflect removal of DNSQuery.
+       (do_query_name): Likewise.
+       (do_query_number): Likewise.
+       (make_dnsreply): Remove now-unused function.
+       (timeout_resolver): Adjust to new callback signature.
+       (delete_resolver_queries): Reflect removal of DNSQuery.
+       (gethost_byname): Update to new signature.
+       (gethost_byaddr): Likewise.
+       (res_readreply): Reflect removal of DNSReply.
+
+       * ircd/list.c (dealloc_connection): con_dns_reply no longer
+       exists, so do not free it.
+
+       * ircd/s_auth.c (auth_verify_hostname): constify.
+       (auth_dns_callback): Adjust to new callback signature.
+       (start_auth): Adjust to new gethost_byaddr() signature.
+
+       * ircd/s_bsd.c (connect_dns_callback): Adjust to new callback
+       signature.
+       (release_dns_reply): Remove unused function.
+       (connect_server): Adjust to new gethost_byname() signature.
+
+       * ircd/s_conf.c (conf_dns_callback): Adjust to new callback
+       signature.
+       (conf_dns_lookup): Adjust to new gethost_byname() signature.
+       (attach_iline): Use cli_sockhost() instead of DNS reply.
+       (conf_check_server): Simplify use of DNS results.
+
+       * ircd/s_serv.c (server_estab): Remove call to removed function.
+
+       * ircd/s_user.c (register_user): Remove call to removed function.
+
+2005-06-27  Michael Poole <mdpoole@troilus.org>
+
+       * include/s_misc.h (get_sockhost): Remove the unused (and
+       deceptively named) get_sockhost().
+
+       * ircd/s_misc.c (get_sockhost): Likewise.
+
+2005-06-25  Andrew Miller  <a1kmm@amxl.com>
+
+       * ircd/ircd_crypt.c (ircd_crypt): strdup is not allowed, change to
+       DupStr so memdebug works.
+
+       * doc/debug_memleak_gc.patch : Update to gc6.5
+       
+2005-06-24  Andrew Miller  <a1kmm@amxl.com>
+       * ircd/m_invite.c (m_invite): Don't propagate invites to local channels.
+       
+2005-06-21  Andrew Miller  <a1kmm@amxl.com>
+
+       * ircd/m_list.c (param_parse): Add support for channel wildcards.
+       * ircd/m_list.c (show_usage): Document the new format.
+       * ircd/hash.c (list_next_channels): Check channel wildcard in list.
+       * include/channel.h (ListingArgs): Add the wildcard member.
+
+2005-06-19  Andrew Miller  <a1kmm@amxl.com>
+
+       * ircd/ircd_res.c (proc_answer): Deal with unexpected record types more
+       gracefully.
+
+       * ircd/ircd_res.c (res_readreply): Check res_ourserver before walking
+       the pending request list, to make DoS attacks harder.
+
+       * ircd/m_invite.c (m_invite): Give no such channel rather than not on
+       channel when the channel being invited to does not exist.
+       
+2005-06-18  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/s_debug.c (count_memory): Consolidate several lines; make
+       initial letter capitalization consistent.
+
+2005-06-19  Andrew Miller  <a1kmm@amxl.com>
+
+       * ircd/s_stats.c: Remove the "debug only" label on memusage stats,
+       since it no longer applies.
+
+2005-05-16  Michael Poole <mdpoole@troilus.org>
+
+       * include/channel.h (struct Ban): Make 'who' and 'banstr' direct
+       arrays, rather than pointers.
+
+       * ircd/channel.c (bans_alloc): New variable to count number of ban
+       structures allocated.
+       (bans_inuse): New variable to count number of ban structures
+       currently in use.
+       (set_banmask): Adapt to changes in struct Ban.
+       (make_ban): Likewise, and update ban counts.
+       (free_ban): Likewise.
+       (bans_send_meminfo): New function.
+       (apply_ban): Adapt to changes in struct Ban.
+       (mode_parse_ban): Likewise.
+       (mode_process_bans): Likewise.
+       (mode_parse): Likewise.
+       (RevealDelayedJoin): Fix brace placement.
+       (CheckDelayedJoins): Fix brace placement and whitespace.
+
+       * ircd/list.c (struct liststats): Add new fields to eliminate the
+       separate count variables.
+       (init_list): Adapt to those changes.
+       (alloc_client): Likewise.
+       (dealloc_client): Likewise.
+       (alloc_connection): Likewise.
+       (dealloc_connection): Likewise.
+       (make_server): Likewise.
+       (remove_client_from_list): Likewise.
+       (verify_client_list): Likewise.
+       (make_link): Likewise.
+       (free_link): Likewise.
+       (send_liststats): New function.
+       (send_listinfo): Rewrite to use new struct liststats layout.
+
+       * ircd/m_burst.c (ms_burst): Adapt to changes in struct Ban.
+
+       * ircd/m_clearmode.c (do_clearmode): Adapt to changes in struct
+       Ban.
+
+       * ircd/s_stats.c (stats_meminfo): Define unconditionally and call
+       bans_send_meminfo().
+       (statsinfo): Always give access to stats_meminfo.
+
+2005-06-16  Michael Poole <mdpoole@troilus.org>
+
+       * include/ircd_string.h: Include necessary <string.h> header.
+
+       * ircd/test/.cvsignore: Ignore log output files.
+
+       * ircd/test/Makefile.in: Remove log output files.
+
+       * ircd/test/kill-block-1.cmd: Add sleeps to try to trigger Kills.
+
+       * ircd/test/run-tests.sh: Switch sense of argument.  Send an IRC
+       debug dump to log files.
+
+2005-06-13  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/s_user.c (make_user): Unconditionally increment userCount.
+       (free_user): Unconditionally decrement it here.
+
+       * ircd/s_conf.c (make_conf): Unconditionally increment
+       GlobalConfCount.
+       (free_conf): Unconditionally decrement it here.
+
+       * ircd/s_debug.c (count_memory): Fix termination condition for
+       ban-walking loop.  Add missing "e" to "members".
+
+
+2005-06-10  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/match.c (check_if_ipmask): Strings that contain '?' cannot
+       be true IP masks.
+
+2005-05-30  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/test/Makefile.in: Add LDFLAGS variable for profiling purposes.
+
+       * ircd/test/ircd_match_t.c: Test recovery from backtracking.
+
+       * ircd/test/channel-1.cmd: Modify to improve code coverage.
+
+       * ircd/test/client-1.cmd: Likewise.
+
+       * ircd/test/gline-1.cmd: Likewise.
+
+       * ircd/test/ircd-t1.conf: Likewise.
+
+       * ircd/test/stats-1.cmd: Likewise.
+
+       * ircd/test/run-tests.sh: Explicitly start ircds.  Add new test scripts.
+
+       * ircd/test/test-driver.pl: Silently handle more signals from IRC.
+
+       * ircd/test/commands-1.cmd: New test script.
+
+       * ircd/test/feature-1.cmd: New test script.
+
+       * ircd/test/jupe-1.cmd: New test script.
+
+       * ircd/test/kill-block-1.cmd: New test script.
+
+       * ircd/test/ircd-t1-2.conf: New configuration file for test scripts.
+
+       * ircd/test/ircd-t2.conf: Likewise.
+
+2005-05-30  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/s_debug.c (count_memory): Use count_listener_memory() to
+       report memory used by listener structures.
+
+2005-05-30  Michael Poole <mdpoole@troilus.org>
+
+       * include/class.h (get_con_freq): Remove unused function.
+
+       * include/list.h (find_user_link): Remove unused function.
+
+       * include/class.c (get_con_freq): Remove.
+
+       * ircd/list.c (find_user_link): Remove.
+
+       * include/string.h (string_is_hostname, string_is_address,
+       strnChattr): Remove unused functions.
+       (init_string): Remove function that becomes a noop.
+
+       * ircd/string.h (init_string): Remove.
+       (string_is_hostname, string_is_address, strnChattr): Likewise.
+
+       * ircd/ircd.c (main): Remove call to init_string().
+
 2005-05-30  Michael Poole <mdpoole@troilus.org>
 
        * include/numeric.h (RPL_TRACELOG, RPL_MYPORTIS,