Fixes to improve portability (especially to OS X, Solaris, OpenBSD).
[ircu2.10.12-pk.git] / ChangeLog
index 6e209def4bee96bfe139552f4cb2c17bd6d61bff..0c9200a0533da943eaf956c023e6b00050827a6a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,336 @@
+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
+       active
+
+       * ircd/s_conf.c (find_kill): don't check for active gline,
+       since gline_lookup does now
+
+2002-11-11  hikari <shadow@undernet.org>
+       * ircd/ircd.c: added call to irc_crypt_init() - someone hurry up and 
+       modularise :P
+
+       * ircd/ircd_xopen.c: removed, superseded by new crypto system.
+
+       * ircd/ircd_crypt.c: wrote scary ircd_crypt() interface function,
+       wrote ircd_crypt_mech_register() function, various other bits 
+       designed to create a near-pluggable crypto system for ircu.  currently
+       this code also loads the various mechanisms i've written code for.
+
+       * ircd/ircd_crypt_smd5.c: imported the crypt_md5 function from 
+       elsewhere, manipulated to suit ircu, returns a salted MD5 password.
+
+       * ircd/ircd_crypt_native.c: replaces the old ircd_xopen.c file,
+       generate a crypted password using the systems native crypt() function.
+
+       * ircd/ircd_crypt_plain.c: plain text crypt mechanism, should really
+       only be used for testing purposes.
+
+       * ircd/ircd_md5.c: main gubbins of the MD5 hashing code, lifted from
+       elsewhere, ircuified.
+
+       * ircd/umkpasswd.c: mkpasswd program for ircu.
+
+       * include/ircd_xopen.h: removed, superseded by new crypto system.
+
+       * include/ircd_crypt.h: external definitions for the new ircd_crypt()
+       function and definition of the ircd_crypt_mech structure for containing
+       crypto mechanism data.
+
+       * include/ircd_crypt_smd5.h: sundary definitions for the salted MD5
+       mechanism.
+
+       * include/ircd_crypt_native.h: sundary definitions for the native 
+       crypt() mechanism.
+
+       * include/ircd_crypt_plain.h: sundary definitions for the plain text
+       mechanism.
+
+       * include/umkpasswd.h: fluff for umkpasswd.
+
+2003-03-11  Landon Fuller (landonf) <landonf@sf.net>
+
+       * configure.in: allow ircu to build on OS X.
+
+2004-05-24  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/m_invite.c (m_invite): Include channel name in invitation
+       announcements.
+       (ms_invite): Likewise, and also fix a use-before-assignment bug in
+       them.
+
+2004-05-18  Michael Poole <mdpoole@troilus.org>
+
+       Announce invitations to other channel operators.
+
+       * include/ircd_features.h, ircd/ircd_features.c
+       (ANNOUNCE_INVITES): Add new boolean feature, default off.
+
+       * include/numeric.h, ircd/s_err.c (RPL_ISSUEDINVITE): Add new
+       reply.
+
+       * include/send.h, ircd/send.c (sendcmdto_channel_butserv_butone):
+       Add 'skip' parameter that is needed elsewhere.
+       (sendcmdto_channel_servers_butone): New function.
+
+       * ircd/channel.c, ircd/m_burst.c, ircd/m_kick.c, ircd/m_topic.c,
+       ircd/s_user.c: Add argument for 'skip' to calls to s_c_b_b.
+
+       * ircd/m_invite.c (m_invite, ms_invite): If ANNOUNCE_INVITES, send
+       the INVITE message to all interested servers, and send a numeric
+       to all local chanops.
+
+2004-05-18  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/res_adns.c (res_ourserver): Remove unused function.
+       (validate_name): Likewise.
+
+2004-05-17  Michael Poole <mdpoole@troilus.org>
+
+       * include/ircd_features.h, ircd/ircd_features.c, ircd/s_debug.c:
+       Rip out feature settings related to oper privileges.
+
+       * include/client.h: Comment a few unexplained privileges.
+
+       * ircd/ircd_lexer.l: Rename privilege keywords to match their
+       names in code and /PRIVS output.  Add support for two "new"
+       privileges (FORCE_OPMODE, FORCE_LOCAL_OPMODE).
+
+       * include/class.h, ircd/client.c, ircd/ircd_parser.y,
+       ircd/m_oper.c: Replace the removed feature settings with
+       per-connection class operator privileges.
+
+       * doc/example.conf: Document the change.
+
+       * ircd/ircd_parser.y (portblock): Fix slight memory leak.
+
+2004-05-16  Michael Poole <mdpoole@troilus.org>
+
+       * doc/example.conf: Make this show the new NICKLEN default.
+
+2004-05-14  Kevin L Mitchell  <klmitch@mit.edu>
+
+       * ircd/ircd_features.c: per CFV-0243, NICKLEN default is increased
+       to 12
+
 2004-05-14  Kevin L Mitchell  <klmitch@mit.edu>
 
        * ircd/s_user.c: process account creation timestamp if present in
        * 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