Look up server configuration by directly connected server name.
[ircu2.10.12-pk.git] / ChangeLog
index bbc1a97e2e01a44b474ed44d105f5040da9bb323..7d00811887a6014690d4be406c526c879629fd0a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,334 @@
+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
+       modebuf_mode_uint() to add MODE_LIMIT to mbuf->mb_rem in the
+       removal case.  Note that this is not proof against the sequence,
+       "modebuf_mode_uint(mbuf, MODE_ADD | MODE_LIMIT, 10);
+       modebuf_mode_uint(mbuf, MODE_DEL | MODE_LIMIT, 10);"
+       (Bug #916138)
+
 2004-09-11  Michael Poole <mdpoole@troilus.org>
 
        * include/supported.h: Kev pointed out I misinterpreted the