Make server blocks default to leaf.
[ircu2.10.12-pk.git] / ChangeLog
index ebfcee6a5489322241e191803de2770a7f755da1..6dd1aedc3480c5cd29d368b1f9730902e9e80a57 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,345 @@
+2004-09-10  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/ircd_parser.y (serverblock): Server blocks should default
+       to CONF_LEAF status.
+
+       * doc/example.conf: Update example to reflect this.
+
+2004-09-10  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/parse.c (msg_tree_parse): Reject commands that contain
+       non-alphabetic characters.
+
+2004-09-09  Michael Poole <mdpoole@troilus.org>
+
+       * config.h.in: Remove duplicated and unused macro definitions.
+
+2004-08-24  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/client.h: Properly parenthesize "flag" argument to
+       FLAGSET_INDEX() and FLAGSET_MASK() macros.
+
+2004-08-22  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/channel.c (send_channel_modes): If oplevels are disabled,
+       send 'o' for chanops instead of the member's oplevel.
+
+2004-08-22  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/s_conf.c: find_conf_byip() should use irc_in_addr_cmp()
+       instead of memcmp().  (Fixes IPv4 servers linking to an IPv6
+       server.)
+
+2004-08-22  Alex Badea  <decampos@users.sourceforge.net>
+
+       * include/ircd_defs.h: increased SOCKIPLEN to fit ipv6 addresses
+
+2004-08-19  Michael Poole <mdpoole@troilus.org>
+
+       * include/res.h: Remove unused function gethost_byname_type().
+
+       * ircd/ircd_res.c: Likewise, and clean up some small functions
+       only used once (remove_dlink(), timeout_resolver()).  Use rand()
+       for random request IDs instead of the deprecated *rand48().  Make
+       resolver timeout event fire only when needed instead of once a
+       second.
+
+2004-08-17  Michael Poole <mdpoole@troilus.org>
+
+       IPv6 support, with lots of code and design borrowed from a patch
+       by Alex Badea.
+
+       * config.h.in: Add place to #define IPV6 support.
+
+       * configure.in: Check for struct sockaddr_in6, and use that as
+       the default choice for IPv6 support.
+
+       * configure: Regenerate.
+
+       * include/IPcheck.h, include/client.h, include/gline.h,
+       include/ircd_string.h, include/listener.h, include/match.h,
+       include/res.h, include/s_bsd.h: Convert from struct in_addr (from
+       <netinet/in.h>) to struct irc_in_addr (from "res.h").
+
+       * include/ircd_osdep.h, include/s_conf.h, include/uping.h: Convert
+       from struct sockaddr_in (from <netinet/in.h>) to struct
+       irc_sockaddr (from "res.h").  Add new functions os_socket(),
+       os_accept(), os_sendto_nonb() to help abstract away actual
+       sockaddr types.
+
+       * include/ircd_chattr.h, ircd/table_gen.c: Define new bit to mark
+       characters valid in IPv6 addresses.
+
+       * include/numnicks.h, ircd/numnicks.c: New functions iptobase64()
+       and base64toip() to convert from base64 to struct irc_in_addr.
+
+       * ircd/IPcheck.c, ircd/channel.c, ircd/m_nick.c, ircd/m_oper.c,
+       ircd/m_userip.c, ircd/m_who.c, ircd/m_whois.c, ircd/s_misc.c,
+       ircd/s_serv.c, ircd/s_user.c, ircd/whocmds.c: Use struct
+       irc_in_addr instead of unsigned int or struct in_addr.
+
+       * ircd/gline.c: Use new more-generic ipmask functions.
+
+       * ircd/ircd.c: Use struct irc_sockaddr instead of separate port
+       fields.
+
+       * ircd/ircd_reslib.c: Use struct irc_sockaddr and ircd_aton()
+       instead of irc_ssaddr and irc_getaddrinfo().
+
+       * ircd/ircd_string.c: Implement new functions: IPv6-capable
+       ircd_ntoa_r(), ircd_aton_ip4(), ircd_aton().
+
+       * ircd/match.c: Delete IPv4-only matchcompIP().  Replace with
+       IPv6-capable ipmask_parse() and ipmask_check().
+
+       * ircd/numnicks.c: Implement new functions: iptobase64() and
+       base64toip().
+
+       * ircd/os_generic: Convert external parameters to be struct
+       irc_addrinfo.  When using IPv6 support, sockaddr_in6 is native.
+       Implement new functions os_sendto_nonb(), os_socket() and
+       os_accept().
+
+       * ircd/ircd_auth.c, ircd/ircd_parser.y, ircd/ircd_res.c,
+       ircd/listener.c, ircd/m_connect.c, ircd/s_auth.c, ircd/s_bsd.c,
+       ircd/s_conf.c, ircd/s_stats.c, ircd/uping.c: Use struct
+       irc_sockaddr instead of separate in_addr and port fields and new
+       OS support functions.
+
+       * include/ircd_addrinfo.h, ircd/ircd_getaddrinfo.c,
+       ircd/ircd_getnameinfo.c: Remove, since these functions are no
+       longer used.
+
+       * ircd/os_bsd.c, ircd/os_linux.c, ircd/os_openbsd.c,
+       ircd/os_solaris.c, ircd/res_adns.c, ircd/res_libresolv.c: Remove,
+       since these are unused and not compatible with IPv6 support.
+
+       * ircd/Makefile.in: Remove references to ircd_getXxxxinfo.c.
+       Regenerate dependencies.
+
+2004-08-17  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/ircd_lexer.l: Change tokenizer to reduce number of lexer
+       states and be case-insensitive again.
+
+2004-08-15  Michael Poole <mdpoole@troilus.org>
+
+       * aclocal.m4: Check for uintNN_t instead of u_intNN_t, since the
+       former is from C99 (and the latter is absent on Solaris).
+
+       * configure.in: Remove check for inttypes.h (which is a C99 format
+       string header); replace with check for stdint.h.  Add checks for
+       sys/param.h and sys/socket.h.  Check for socklen_t being defined
+       (OS X does not set it).  Run program tests for lex and yacc, and
+       use them rather than assuming flex and bison.  Remove OSDEP_C and
+       mention to adns.  Remove check for res_mkquery().
+
+       * config.h.in: Update u_intNN_t #undef lines.  Add #undef
+       socklen_t so configure test can set it.
+
+       * configure: Regenerate.
+
+       * include/ircd_addrinfo.h: #include headers needed for netdb.h and
+       to define struct addrinfo and uintNN_t.
+
+       * include/ircd_reslib.h: Replace u_intNN_t with uintNN_t.
+
+       * include/res.h: #include "ircd_addrinfo.h" to get proper type
+       definitions.  #define INADDR_NONE if it is not defined (as on
+       Solaris).
+
+       * ircd/Makefile.in: Replace LEX and YACC definitions.  Remove
+       OSDEP_C and OSDEP_SRC; always compile os_generic.c.  Remove adns
+       directory from CPPFLAGS.  Regenerate dependencies.
+
+       * ircd/client.c: Return when no propagation set for oper, to
+       squash warning about use of "defaults" before it is set.
+
+       * ircd/engine_epoll.c: #include correct C99 integer header.
+
+       * ircd/engine_poll.c: Last argument to getsockopt() should be of
+       socklen_t, not size_t; fix.
+
+       * ircd/engine_select.c: Squash warning about bzero().
+
+       * ircd/ircd_auth.c: OS X does not define in_addr_t, so replace it
+       with uint32_t.  We need <stdint.h> for that, so include it.
+
+       * ircd/ircd_getnameinfo.c, ircd/memdebug.c: Replace u_int32_t with
+       uint32_t.
+
+       * ircd/ircd_lexer.l: Replace flex-isms with portable syntax.
+       There is no portable way to do %option, so remove that.  lex on
+       Solaris needs several of its internal tables to be bigger, so
+       increase those sizes.
+
+       * ircd/ircd_parser.y: Remove the second declarations of two
+       tokens, since standard yacc warns about changing precedence.
+
+       * ircd/os_generic.c: Make this compile on common OSes (Linux,
+       Solaris, OS X, FreeBSD, OpenBSD).
+
+       * ircd/table_gen.c: Make arguments to isprint() all unsigned char
+       to squash warnings on Solaris that array index is "char."
+
+       * ircd/umkpasswd.c: Remove #include <libgen.h> since it is not
+       portable, and replace basename() with an equivalent.
+
+       * ircd/uping.c: Typecast printf arguments for 64-bit OSes.
+
+2004-07-27  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/m_burst.c: Add new netride_modes() function to check
+       which modes could be used in a net.ride.  Use this instead
+       of the old check for just +i or +k.
+       (Based on patches by beware and pomac.)
+
+2004-07-25  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/ircd_parser.y: Remove redundant semicolon; it causes
+       errors on some versions of yacc.
+
+2004-07-21  Michael Poole <mdpoole@troilus.org>
+
+       * include/client.h, ircd/ircd_auth.c, ircd/ircd_crypt_smd5.c,
+       ircd/ircd_reslib.c: Fix warnings from gcc -pedantic.
+
+2004-07-21  Michael Poole <mdpoole@troilus.org>
+
+       New DNS resolver code, courtesy of Dianora and the rest of the
+       Hybrid team.  (Bugs are of course my fault.)
+
+       * configure.in, Makefile.in, ircd/Makefile.in: Remove adns and
+       libresolv from the build process.  Update dependencies.
+
+       * configure: Regenerate.
+
+       * include/client.h: Change connection's DNS reply type.
+
+       * include/ircd_features.h, ircd/ircd_features.c: New HIS_STATS_a.
+
+       * include/numeric.h, ircd/s_err.c, ircd/s_stats.c: Add new
+       RPL_STATSALINE and /stats a to list DNS servers.
+
+       * include/ircd_addrinfo.h, include/ircd_reslib.h, include/res.h,
+       ircd/ircd_getaddrinfo.c, ircd/ircd_getnameinfo.c, ircd/ircd_res.c,
+       ircd/ircd_reslib.c: New resolver files.
+
+       * ircd/ircd_auth.c, ircd/s_auth.c, ircd/s_bsd.c, ircd/s_conf.c:
+       Update to new resolver callback interface and to only deal with
+       one IP and one name per DNS reply.
+
+       * ircd/parse.c: Remove /DNS command, since new resolver does not
+       track those statistics.
+
+2004-07-20  Michael Poole <mdpoole@troilus.org>
+
+       * doc/readme.features: Change references to O:, Y:, etc lines into
+       references to the appropriate block types.
+
+2004-07-01  Michael Poole <mdpoole@troilus.org>
+
+       * include/fileio.h: Elaborate on "works for any file descriptor."
+
+       * include/iauth.h: Remove unused file.
+
+2004-07-01  Michael Poole <mdpoole@troilus.org>
+
+       * include/map.h, ircd/map.c: Remove unused code.
+
+       * ircd/m_links.c, ircd/m_map.c, ircd/s_misc.c: Remove includes of
+       map.h and a call to map_update().
+
+       * ircd/Makefile.in: Remove map.c and regenerate dependencies.
+
+       * ircd/ircd_parser.y: Recognize Diane Bruce as a copyright holder
+       for the new config parser.
+
+       * ircd/match.c: Remove pointless pointer dereference (Reed points
+       out that this generates a warning with old gcc).
+
+       * ircd/s_user.c: Display connection class in CONNEXIT connection
+       notice as a string rather than an integer.
+
+       * tools/ringlog.c, tools/ringlog.pl: At Kevin's request, remove
+       lines (falsely) identifying ringlog as related to IRC; the files
+       are general purpose.
+
+       * configure.in, include/ircd_snprintf.h: Add checks for
+       va_copy()-like alternatives and use them if va_copy() is missing.
+
+       * configure, config.h.in: Regenerate.
+
+2004-02-01  beware <steendijk@xs4all.nl>
+
+       * ircd/channel.c: Check bans that look like IP bans against user's
+       hostname just in case they have a host like 1234.domain.tld.
+
+2003-12-18  Timothy Grant Vogelsang <net@astrolink.org>
+
+       * ircd/ircd_log.c, ircd/send.c: va_list is not a scalar type
+
+2004-04-02  Gavin Grieve <hektik@dimebox.net>
+
+       * ircd/ircd_parser.y: Fix rehash warnings for servername and
+       numeric so they only warn if changed in the config file.
+
+2004-06-30  Michael Poole <mdpoole@troilus.org>
+
+       * doc/readme.iauth, include/ircd_auth.h, ircd/ircd_auth.c: New
+       files.
+
+       * doc/example.conf: Illustrate IAUTH configuration.
+
+       * include/client.h: Add fields to record IAUTH status.
+
+       * ircd/Makefile.in: Add ircd_auth.c to Makefile.
+
+       * ircd/ircd_lexer.l, ircd/ircd_parser.y: Add new IAUTH section.
+
+       * ircd/s_conf.c: Notify IAUTH code when reloading a configuration
+       so that an obsolete connection can be abandoned.
+
+       * ircd/s_misc.c: Report client exits via IAUTH.
+
+       * ircd/s_user.c: If IAUTH is active and a connecting user has not
+       been checked against it, interrogate the IAUTH server.
+
+2004-06-25  Michael Poole <mdpoole@troilus.org>
+
+       * configure.in: Check for crypt.h as well.
+
+       * configure: Regenerate.
+
+       * ircd/ircd_crypt_native.c: Move XOPEN defines earlier so they
+       affect the first includes of system headers.  Include crypt.h if
+       it is available.
+
+       * ircd/umkpasswd.c: Quash a gcc warning.
+       
+2004-06-23  Michael Poole <mdpoole@troilus.org>
+
+       * doc/Authors: Add contributors to ircu2.10.11 and myself.
+
+       * ircd/gline.c: Fix buglet in my forward port of Alex Badea's fix.
+
+       * configure.in: Add missing check for inttypes.h; remove obsolete
+       display of Head-in-sand, add display of epoll() engine.
+
+       * INSTALL, INSTALL_FR, doc/readme.cvs: Update descriptions of how
+       to use SourceForge's CVS server, from the u2.10.11 branch.
+
+2003-11-09 beware <steendijk@xs4all.nl>
+
+        * ircd/s_user.c: move assigning a numeric to a local client from
+       when nick is set, to when connection becomes client, to not waste
+       numerics.
+
+2004-06-08  Kevin L Mitchell  <klmitch@mit.edu>
+
+       * ircd/parse.c: don't let rank-and-file users escape HIS
+       limitations with /jupe...
+
 2004-06-18  Alex Badea  <decampos@users.sourceforge.net>
 
        * ircd/gline.c (gline_lookup): only return a gline if it's
        * ircd/res_adns.c: included sys/types.h, for non-Linux
        headers
 
->>>>>>> 1.388
 2003-03-06  Kevin L. Mitchell  <klmitch@mit.edu>
 
        * libs/dbprim: database primitives library, including