Remove obsolete tools/crypter script. Allow Client blocks to
[ircu2.10.12-pk.git] / ChangeLog
index c57ab562bece243afcfe65201c54e3d6d2568686..d80d8bb1408bad7254a4997fe0619b08a7491482 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,183 @@
+2004-12-13  Michael Poole <mdpoole@troilus.org>
+
+       * doc/example.conf: Update configuration to move Client block
+       comment after sample Class blocks, and update entries in it.
+
+       * ircd/ircd_lexer.y: Recognize IP and USERNAME tokens.
+
+       * ircd/ircd_parser.y: Add ip and username global variables and IP
+       and USERNAME tokens.  Add clientip and clientusername alternatives
+       for clientitem, and update clientblock to correspond.
+
+       * ircd/ircd_res.c (delete_resolver_queries): Do not try to walk
+       the request_list before request_list is initialized.
+       (cres_mem): Likewise.
+
+       * ircd/os_generic.c (sockaddr_from_irc): Improve guessing of
+       proper address family.
+
+       * ircd/s_conf.c (attach_iline): Allow aconf->host == NULL, which
+       means DNS reply is optional.  If aconf->addrbits >= 0, test it.
+
+       * tools/crypter: Delete.
+
+2004-12-11  Kevin L Mitchell  <klmitch@mit.edu>
+
+       * ircd/*.c: use new assert() in ircd_log.h in preference to system
+       assert()
+
+       * ircd/umkpasswd.c: use new assert in ircd_log.h; add necessary
+       glue so that umkpasswd will successfully compile and link
+
+       * ircd/test/ircd_chattr_t.c: comment out include of assert.h since
+       there are no calls to assert()
+
+       * ircd/ircd_log.c: add sentinel (log_inassert) to prevent assert()
+       from looping should there be an assertion failure somewhere in the
+       logging subsystem
+
+       * include/ircd_log.h: custom implementation of assert() that calls
+       log_write()
+
+2004-11-21  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/channel.c (mode_parse_upass): Allow forced mode changes to
+       be done by non-channel-managers, fixing a crash from OPMODE.
+       (mode_parse_apass): Likewise.
+
+2004-11-20  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/m_create.c (ms_create): Complain if a user tries to CREATE
+       a channel they are already in, but do not add them again.
+
+2004-11-09  Michael Poole <mdpoole@troilus.org>
+
+       * include/res.h (init_resolver): Delete, and initialize lazily.
+
+       * ircd/ircd.c (main): Do not call init_resolver().
+
+       * ircd/ircd_res.c (restart_resolver): Use default VirtualHost for
+       local resolver socket address.
+       (init_resolver): Delete.
+       (make_request): Call restart_resolver() if necessary.
+       (query_name): Use ircrandom() instead of rand().
+
+       * ircd/os_generic.c (sockaddr_from_irc): Convert last argument to
+       a file descriptor that indicates the socket family to use.
+       (os_sendto_nonb,os_socket,os_connect_nonb): Update to match.
+
+2004-11-09  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/engine_epoll.c (engine_delete): Do not attempt to remove a
+       socket from epoll on delete, since the kernel does that for us.
+
+2004-11-07  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/m_server.c (m_server, ms_server): Assign timestamp before
+       it might be used in exit_new_server().
+
+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