Regenerate files built from other files.
[ircu2.10.12-pk.git] / ChangeLog
index be3867cd546c395410b7fb98b14300a9b7949700..94ab467eab65f8a83f7ca49c3d9d1d75118789da 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,538 @@
+2004-11-07  Michael Poole <mdpoole@troilus.org>
+
+       * aclocal.m4, config.h.in, configure, ircd/Makefile.in: Regenerate
+       to reflect the changes since these files' last rebuild.
+
+2004-11-07  Michael Poole <mdpoole@troilus.org>
+
+       * include/ircd_crypt.h (ircd_crypt): This should return char*, not
+       const char*, since it does not own the returned pointer.
+
+       * ircd/ircd_crypt.c (ircd_crypt): Change return type.
+
+       * ircd/ircd_crypt_smd5.c (irc_crypt_smd5): Make passwd a static
+       field since it is returned but this function must own the buffer.
+
+       * ircd/m_oper.c (oper_password_match): Free the string returned by
+       ircd_crypt().
+
+       * ircd/engine_epoll.c (engine_loop): Fix a memory leak.
+
+2004-11-07  Michael Poole <mdpoole@troilus.org>
+
+       * acinclude.m4: Look for a 64-bit integer type.
+
+       * configure.in: Look for inttypes.h, since some systems have that
+       but not stdint.h (and define 64-bit integers therein).
+
+       * include/client.h: Delete con_sendK, con_receiveK.  Make
+       con_sendB and con_receiveB 64 bits wide.
+
+       * include/s_misc.h: Delete is_cks, is_ckr, is_sks, is_skr.
+       Convert the other byte counters and the connected time counters to
+       64 bits wide.
+
+       * ircd/ircd_snprintf.c (doprintf): Unconditionalize the
+       HAVE_LONG_LONG bits, and use the 64-bit integer types from above.
+
+       * ircd/packet.c (update_bytes_received): Remove use of
+       cli_receiveK().
+
+       * ircd/s_bsd.c (deliver_it): Likewise.
+       (close_connection): Likewise.
+
+       * ircd/s_misc.c (tstats): Likewise.  Update format strings to use
+       %Lu for 64-bit integer parameters.
+
+       * ircd/s_stats (stats_links): Convert cli_sendK() and
+       cli_receiveK() use shifted versions of the byte counters, and
+       update format strings to use %Lu for 64-bit integer parameters.
+
+2004-11-07  Michael Poole <mdpoole@troilus.org>
+
+       * include/s_user.h (add_silence): Delete.
+       (del_silence): Delete.
+
+       * include/struct.h (struct User): Convert silence list to struct Ban.
+
+       * ircd/m_silence.c (apply_silence, forward_silences): New functions.
+       (m_silence): Use forward_silences() instead of add_silence().
+       (ms_silence): Likewise.
+
+       * ircd/s_err.c (replyTable): Update RPL_SILELIST.
+
+       * ircd/s_misc.c (exit_one_client): Update to new silence list type.
+
+       * ircd/s_user.c (is_silenced): Use find_ban() to search for
+       silences.  If one is found, send it plus any silence exceptions.
+       (del_silence): Delete.
+       (add_silence): Delete.
+
+2004-11-07  Michael Poole <mdpoole@troilus.org>
+
+       * include/channel.h: Remove declarations for undefined functions
+       cancel_mode(), add_token_to_sendbuf(), IsMember().  Delete
+       add_banid(), next_removed_overlapped_ban().  Add BAN_EXCEPTION
+       flag and new functions find_ban(), apply_ban().
+
+       * ircd/channel.c (PartFmt*, next_ban, prev_ban, removed_bans_list,
+       LocalChanOperMode): Remove unused variable definitions.
+       (make_nick_user_host): Delete.
+       (add_banid): Delete.
+       (next_removed_overlapped_ban): Delete.
+       (find_ban): New function, which knows about exceptions.
+       (is_banned): Use find_ban() and only work on a struct Membership.
+       (bmatch): New function, which knows about CIDR bans.
+       (apply_ban): New function to replace add_banid().
+       (mode_parse_ban): Use apply_ban().
+
+2004-10-28  Michael Poole <mdpoole@troilus.org>
+
+       * configure.in (AC_PREREQ): Depend on autoconf 2.50 since we use
+       new macros like AC_LINK_IFELSE and AC_LANG_PROGRAM.
+
+2004-10-22  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/m_invite.c (m_invite, ms_invite): Fix INVITE forwarding
+       with announcements enabled (do not "announce" to the recipient,
+       and unconditionally send to the recipient).
+
+       * ircd/send.c (sendcmdto_channel_servers_butone): Properly skip
+       the "from" client and implement SKIP_NONOPS and SKIP_NONVOICES.
+
+2004-10-21  Michael Poole <mdpoole@troilus.org>
+
+       * include/channel.h (Ban): Add fields address, nu_len, addrbits to
+       support netmask-based bans.
+
+       * ircd/channel.c (set_ban_mask): New function to parse a ban as
+       either netmask-based or not.
+       (make_ban): Use set_ban_mask().
+       (make_nick_user_ip): Becomes unused; remove it.
+       (is_banned): Rewrite to match only once against the nick!user part
+       of a ban, and compare addresses if BAN_IPMASK is set.
+       (mode_parse_ban): Use set_ban_mask().
+
+2004-10-21  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/s_conf.c (attach_iline): Test resolved host names against
+       aconf->host, not the (NULL) aconf->name.
+
+2004-10-19  Michael Poole <mdpoole@troilus.org>
+
+       * include/channel.h: Move ban flags out of channel flags and
+       rename to reflect this.
+
+       * ircd/channel.c: Update ban constant names.
+
+       * ircd/m_burst.c: Likewise.
+
+2004-10-18  Michael Poole <mdpoole@troilus.org>
+
+       * include/list.h (SLink): Remove ban elements from here...
+
+       * include/channel.h (Ban): And move to the new struct Ban.
+       (Channel): Update banlist field to match.
+       (next_removed_overlapped_ban): Update return type to match.
+       (make_ban, free_ban): New functions.
+
+       * ircd/channel.c (next_ban, prev_ban, removed_bans_list): Update
+       list types.
+       (free_bans): New variable to hold unused Ban elements.
+       (make_ban, free_ban): New functions.
+       (destruct_channel, add_banid, next_removed_overlapped_ban): Update
+       to use struct Ban.
+       (is_banned, send_channel_modes, send_ban_list): Likewise.
+       (ParseState, mode_parse_ban, mode_process_bans): Likewise.
+       (mode_parse): Likewise.
+
+       * ircd/m_burst.c (ms_burst): Update to use struct Ban.
+
+       * ircd/m_clearmode.c (do_clearmode): Update to use struct Ban.
+
+       * ircd/s_debug.c (count_memory): Update to use struct Ban.
+
+2004-10-18  Kevin L Mitchell  <klmitch@mit.edu>
+
+       * ircd/gline.c (gline_find): unless we're looking for an exact
+       match, we should call match() on hostnames, not ircd_strcmp()
+
+2004-10-17  Michael Poole <mdpoole@troilus.org>
+
+       * include/s_conf.h (ConfItem): Add new field username.  Replace
+       unused field bits with addrbits.
+       (find_conf_exact): Replace user and host arguments with cptr.
+       (find_conf_name, read_tlines, find_restrict): Remove declaration
+       for undefined functions.
+       (conf_parse_userhost): New function.
+
+       * ircd/m_oper.c (m_oper): Update calls to find_conf_exact(): both
+       resolved hostname and IP are matched in one pass now.
+
+       * ircd/s_bsd.c (close_connection): Update call to find_conf_exact().
+
+       * ircd/s_conf.c (conf_parse_userhost): New function.
+       (check_limit_and_attach): Use correct ConfItem field to determine
+       maximum connections per IP.
+       (attach_iline): Replace user@host matching with shorter, clearer
+       matching against username and host/IP fields.
+       (find_conf_exact): Likewise.
+
+       * ircd/ircd_parser.y: Replace assignment to aconf->host for
+       CONF_CLIENT and CONF_OPERATOR with calls the CIDR-aware
+       conf_parse_userhost().  This means CONF_CLIENT ConfItems no longer
+       use the name field or the IP token.  Remove the latter.
+
+       * ircd/ircd_lexer.l: Remove unused token IP.
+
+2004-10-17  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/crule.c (crule_via): Simplify the lookup for the directly
+       connected server name.
+
+2004-10-16  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/class.c: Make find_class() return NULL for unknown classes,
+       rather than returning the start of connClassList.
+
+       * ircd/match.c (parse_ipmask): Translate IPv4 masks as
+       IPv4-compatible addresses.
+       (check_ipmask): Fix comparison of IP masks.
+
+       * ircd/motd.h, ircd/motd.c: Add a new MOTD type, MOTD_IPMASK, that
+       uses CIDR style masks in the hostname field of a Motd block.
+
+2004-10-16  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/numeric.h: Remove the unused RPL_STATMEM and
+       RPL_STATMEMTOT.  Move the RPL_BOUNCE comment to its current
+       value (the former RPL_STATMEM).
+
+       * ircd/s_err.c: Remove format strings for RPL_STATMEM and
+       RPL_STATMEMTOT.
+
+2004-10-16  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/m_server.c: Look up server configuration by name of our
+       directly connected peer rather than the server being introduced.
+
+2004-10-13  Michael Poole <mdpoole@troilus.org>
+
+       * include/channel.h: Delete MODE_LISTED and is_listed().  Replace
+       ListingArgs.chptr with ListingArgs.bucket.  Move declaration of
+       list_next_channels() to..
+
+       * include/hash.h: here, and drop the "nr" argument.
+
+       * ircd/channel.c: Remove redundant scan of local clients for
+       channels being listed.  Delete list_next_channels() function.
+
+       * ircd/hash.c: Add list_next_channels() here, revising to not use
+       MODE_LISTED and to use ListingArgs.bucket instead of chptr.  Also
+       decide when to stop sending RPL_LISTs based on a half-full sendq.
+
+       * ircd/m_burst.c, ircd/s_misc.c: Delete mention of MODE_LISTED.
+
+       * ircd/m_list.c: Delete mention of MODE_LISTED.  Unconditionally
+       call list_next_channels(sptr).
+
+       * ircd/s_bsd.c: Remove the "nr" argument to list_next_channels().
+
+       * ircd/Makefile.in: Update dependencies (for hash.c).
+
+2004-10-13  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/ircd_parser.y: Consistently zero out global variables after
+       they are used (prevents double frees and other problems).
+
+2004-10-12  Michael Poole <mdpoole@troilus.org>
+
+       * include/client.h: Rename FLAGSET_ISSET, _SET, _CLEAR to FlagHas,
+       Set, Clr respectively.  Get rid of FLAG_CHKACCESS and FLAG_LOCAL.
+       Delete con_fd (get from con_socket) and con_port.  Move sentalong
+       from send.c to struct Connection, and cli_lasttime and cli_since
+       from struct Client to struct Connection.  Update cli_*() macros to
+       use con_*(cli_connect(cli)).
+
+       * ircd/client.c: Replace PrivSet() with FlagSet(), PrivClr() with
+       FlagClr(), PrivHas() with FlagHas().
+
+       * ircd/ircd_parser.y: Likewise.
+
+       * ircd/list.c: Remove assignment to cli_local() since it is now a
+       calculated value.
+
+       * ircd/s_bsd.c: Remove uses of cli_port().
+
+       * ircd/s_conf.c: Remove uses of ClearAccess().
+
+       * ircd/send.c: Delete sentalong array and replace with references
+       to con_sentalong().
+
+2004-10-12  Michael Poole <mdpoole@troilus.org>
+
+       * doc/example.conf: Update example config to reflect the changes
+       made in the remainder of this patch.
+
+       * include/list.h: Make make_conf() take a type argument.
+
+       * include/s_conf.h: Delete CONF_LEAF and CONF_HUB.  Add "maximum"
+       and "hub_limit" to ConfItem to compensate.
+
+       * ircd/ircd_lexer.l: Recognize MAXHOPS token.
+
+       * ircd/ircd_parser.y: Get rid of aconf global variable and add
+       hub_limit global variable.  Add MAXHOPS token, and productions
+       inside connectblock to recognize it and hub masks.  Allow maxlinks
+       field in a Client block, rather than overloading password field.
+       Convert serverblock to uworldblock and remove extraneous fields.
+
+       * ircd/m_server.c: Make check_loop_and_lh() look up ConfItem and
+       calculate LHcptr and active_lh_line.  Merge some duplicated code
+       so handling active_lh_line cases is clearer.
+
+       * ircd/s_conf.c: Make make_conf() take a type argument.  Delete
+       CONF_LEAF and CONF_HUB.  Do not overwrite server name with what
+       is specified in the config file.
+
+       * ircd/s_err.c: Remove the unused RPL_STATSNLINE and
+       RPL_STATSHLINE.  Remove useless parameters and format fields from
+       RPL_STATSCLINE, RPL_STATSILINE, RPL_STATSLLINE, RPL_STATSOLINE and
+       RPL_STATSULINE.
+
+       * ircd/s_serv.c: Delete CONF_LEAF and CONF_HUB.
+
+       * ircd/s_stats.c: Get rid of report_array and make
+       stats_configured_links() directly use RPL_STATSxLINE (adding the
+       new fields for Server and Client blocks).  Remove /stats h, since
+       that has no meaning.
+
+2004-10-12  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/m_burst.c: Mask off channel modes in a wiped-out channel by
+       default rather than by listing which should be wiped out.
+
+2004-10-09  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/m_server.c: Forward port checks for leaf and hub config
+       rules, and reorganize mr_server() and ms_server() by moving out
+       common code.  Add doxygen comments for the file.
+
+2004-10-09  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/hash.c: Fix thinko in hash function: It is not indexed
+       simply by character value, so we cannot just remap the values
+       by case.
+
+2004-10-05  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/hash.c: Replace the old hash function with one based on
+       randomized CRC-32.  The new one avoids a big table from the old
+       function.
+
+2004-10-05  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/random.c: Convert to use ircd_md5 interface and hopefully
+       keep more internal random state.
+
+2004-10-05  Michael Poole <mdpoole@troilus.org>
+
+       * include/ircd_md5.h, ircd/ircd_md5.c, ircd_crypt_smd5.c,
+       ircd/umkpasswd.c: Get rid of the GoodMD5xxx/BrokenMD5xxx
+       prefixes.
+
+2004-10-05  Michael Poole <mdpoole@troilus.org>
+
+       * adns, lib/adns: Remove unused adns library.
+
+2004-10-05  Michael Poole <mdpoole@troilus.org>, hikari <hikari@undernet.org>, Perry Lorier <isomer@undernet.org>
+
+       * include/*.h, ircd/*.c: Convert comments to Doxygen-compatible
+       format, and add new comments where needed.
+
+       * Doxyfile: New file to tell Doxygen how to run.
+
+2004-09-21  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/s_auth.c (HeaderMessages): Make the compiler, not the
+       programmer, generate magic numbers.
+       (AuthIncompleteList): Remove.
+       (AuthPollList): Remove.
+
+2004-09-19  Michael Poole <mdpoole@troilus.org>
+
+       * acinclude.m4: Clean up AC_DEFINE()s so we no longer need
+       acconfig.h.
+
+       * acconfig.h: Remove since it is now redundant.
+
+       * aclocal.m4, config.h.in, configure: Regenerate.
+
+2004-09-19  hikari <hikari@undernet.org>
+
+       * configure.in: Fixed configure script rules to fail if (f)lex or yacc/bison 
+       aren't found as they're essential for compilation.  Regenerated files with 
+       autreconf.
+               
+2004-09-18  Michael Poole <mdpoole@troilus.org>
+
+       * doc/example.conf: Add NETWORK feature example.  Fix typos in
+       eaxmples for HANGONGOODLINK and IRCD_RES_TIMEOUT.
+
+       * include.class.h: Make max_links and ref_count unsigned ints.
+       Make ping_freq and conn_freq unsigned short. (No more negative
+       numbers in /stats y.)
+
+       * ircd/ircd.c: Report configuration file name for "ircd -k".
+
+2004-09-18  hikari <hikari@undernet.org>
+
+       * ircd/Makefile.in: Fixed a missing internal build dependency.
+       
+2004-09-16  Michael Poole <mdpoole@troilus.org>
+
+       * INSTALL: Fix name of example.conf and mention its installed
+       location.
+
+       * include/supported.h (FEATURESVALUES2): Fix a reference to
+       channel mode +u that escaped earlier rename attempts.
+
+       * ircd/ircd_auth.c (iauth_connect): Assign port number after
+       zeroing out the destination address.
+       Add some additional debug statements to help follow operations.
+
+       * ircd/ircd_parser.y (iauthblock): Do not require "name" to be set.
+
+2004-09-11  Bas Steendijk <steendijk@xs4all.nl>
+
+       * include/channel.h, include/supported.h, ircd/channel.c,
+       ircd/s_err.c: Use +U instead of +u for user keys.
+
+2004-09-13  Michael Poole <mdpoole@troilus.org>
+
+       * doc/example.conf: Remove sample VIRTUAL_HOST setting.
+
+       * doc/readme.features: Remove VIRTUAL_HOST documentation, and
+       update NODNS documentation to match current behavior.
+
+       * include/s_conf.h: Remove now-unused vhost_address field and
+       set_virtual_host() function.
+
+       * include/ircd_features.h, ircd/ircd_features.c, ircd/s_debug.c:
+       Remove VIRTUAL_HOST.
+
+       * ircd/ircd_auth.c, ircd/s_bsd.c: Use VirtualHost as local address
+       if we do not have a more specific alternate.
+
+       * ircd/ircd_parser.y: Check for sanity in General blocks (from old
+       conf_add_local()) and assign vhost directly to VirtualHost.
+
+       * ircd/ircd_res.c (irc_in_addr_valid): Fix thinko; obviously any
+       value will be either != 0 or != 0xffff.
+
+       * ircd/os_generic.c: Use AF_INET instead of AF_INET6 when the
+       local addresses are specified as IPv4 addresses.
+
+       * ircd/s_conf.c: Remove unused conf_add_local() and
+       set_virtual_host().
+
+2004-09-13  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/listener.c (add_listener): Consolidate duplicated code, and
+       make sure listener->server is set before calling inetport() on it.
+
+2004-09-12  Michael Poole <mdpoole@troilus.org>
+
+       * include/channel.c (mode_parse_upass, mode_parse_apass): Only let
+       services (not normal opers) force a change of +A or +u.
+
+2004-09-11  Michael Poole <mdpoole@troilus.org>
+
+       * include/s_stats.h: Add sd_name to struct StatDesc.  Stop
+       publishing the statsinfo and statsmap arrays; replace them with
+       stats_find().  Change argument list of StatFunc() to work with
+       names.
+
+       * ircd/m_stats.c: Use stats_find() instead of statsmap[].  Use the
+       full argument instead of just the first character in reports.
+
+       * ircd/s_stats.c: Adapt individual stats handler functions to new
+       argument list.  Add long names to statsinfo[].  Add new functions
+       stats_cmp(), stats_search(), stats_find().  Sort statsinfo[] in
+       stats_init().
+
+       * ircd/s_err.c: Change ENDOFSTATS to display a string rather than
+       a single character.
+
+       * ircd/s_user.c: Send an error to the user when a message loses
+       its target in transit.
+
+       * include/class.h include/gline.h include/ircd_features.h
+       include/listener.h include/motd.h include/msgq.h include/res.h
+       include/s_debug.h include/s_misc.h include/userload.h ircd/class.c
+       ircd/gline.c ircd/ircd_features.c ircd/ircd_res.c ircd/listener.c
+       ircd/motd.c ircd/msgq.c ircd/s_debug.c ircd/s_misc.c
+       ircd/userload.c: Adjust stats handlers to new argument list.
+
+2004-09-11  Michael Poole <mdpoole@troilus.org>
+
+       * include/numeric.h, ircd/s_err.c: Remove RPL_TRACEPING, and
+       replace with RPL_TRACEEND.
+
+       * ircd/s_trace.c: Move all the duplicated code in m*_trace() to
+       do_trace().  Implement RPL_TRACEEND, per RFE#830291.
+
+2003-06-20  Alexander Maassen <outsider@key2peace.org>
+
+       * ircd/m_topic.c : Don't allow banned users to set a topic in a
+       channel.
+
 2004-09-11  Kevin L Mitchell  <klmitch@mit.edu>
 
+       * config.h.in, tools/Makefile.crypt: Remove wrong pathname from
+       comment in header.
+
+       * ircd/m_clearmode.c, ircd/m_opmode.c: Fix wrong pathname in
+       header comment.
+
+       * ircd/m_away.c, ircd/m_kill.c, ircd/m_notice.c, ircd/m_ping.c,
+       ircd/m_pong.c, ircd/m_privmsg.c, ircd/m_quit.c, ircd/m_topic.c,
+       ircd/m_version.c: Remove "template" moniker from comments.
+
+       * ircd/test/ircd_chattr.0.dat (IsChannelPrefix): Drop + from
+       channel prefix list.
+
+2004-09-11  Michael Poole <mdpoole@troilus.org>
+
+       * doc/example.conf: Add examples for FEAT_HIS_* features.
+
+2003-06-08 Matthias Crauwels <ultimate_@wol.be>
+       [Feature renamed to FEAT_HIS_WHOIS_LOCALCHAN by Michael Poole.]
+
+       * include/ircd_features.h: new feature FEAT_HIS_LOCAL_CHAN_WHOIS
+
+       * ircd/ircd_features.c: new feature FEAT_HIS_LOCAL_CHAN_WHOIS
+
+       * ircd/m_whois.c: hide local channels in local WHOIS, this breaks HIS
+
+       * doc/readme.features: documented FEAT_HIS_LOCAL_CHAN_WHOIS
+
+       * doc/ircd.conf.sample: default value for FEAT_HIS_LOCAL_CHAN_WHOIS
+
+2004-09-11  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/ircd_relay.c (server_relay_channel_message,
+       server_relay_channel_notice): Do not allow other servers to send
+       or relay to local channels.
+
+       * ircd/m_wallchops (ms_wallchops): Likewise.
+
+       * ircd/m_wallvoices (ms_wallvoices): Likewise.
+
+2004-09-11  Kevin L Mitchell  <klmitch@mit.edu>
+
+       * ircd/gline.c (gline_add): fix GLINE logging (Bug #750927)
+
        * ircd/channel.c: removing limits shouldn't gobble an argument;
        this was a subtle interaction issue with modebuf...fixed by adding
        MODE_LIMIT to modebuf_flush_int() and short-circuiting