Implement a progressive iauth system.
[ircu2.10.12-pk.git] / ChangeLog
index 9dbdc70e1cd8698905efe22906642aea48ecab16..8e6a0fdf77bdcfac34c469f71b538773919e9aae 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,164 @@
+2006-02-15  Michael Poole <mdpoole@troilus.org>
+
+       * doc/example.conf: Include new HIS_STATS_IAUTH feature.
+
+       * doc/readme.features: Document the feature.
+
+       * doc/readme.iauth: Rewrite to reflect the new progressive iauth
+       protocol, based on IRCnet's iauth.
+
+       * doc/snomask.html: Document SNO_AUTH server notice flag.
+
+       * include/client.h (FLAG_IAUTHED): Delete.
+       (con_cookie): Delete.
+       (con_unreg): Delete.
+       (con_auth): Make comment capitalization consistent.
+       (con_iauth): Delete.
+       (CLIREG_*): Delete.
+       (cli_unreg): Delete.
+       (cli_cookie): Delete.
+       (cli_iauth): Delete.
+       (con_unreg): Delete.
+       (con_iauth): Delete.
+       (IsIAuthed): Delete.
+       (SetIAuthed): Delete.
+       (SNO_AUTH): New server notice flag.
+       (SNO_ALL): Update to include SNO_AUTH.
+       (SNO_OPER): Update to include SNO_AUTH.
+
+       * include/ircd_auth.h: Delete file.
+
+       * include/ircd_features.h (HIS_STATS_IAUTH): New feature.
+
+       * include/s_auth.h: Rewrite almost everything for new auth system.
+
+       * include/s_user.h (COOKIE_VERIFIED): Delete.
+       (register_user): Remove redundant nick and username arguments.
+
+       * ircd/ircd_auth.c: Delete file.
+
+       * ircd/ircd_features.c (HIS_STATS_IAUTH): New feature.
+
+       * ircd/ircd_lexer.l (PROGRAM): New token in grammar.
+
+       * ircd/ircd_log.c (masks): Add SNO_AUTH flag.
+
+       * ircd/ircd_parser.y (stringlist): Simplify production.
+       (iauthblock): Revise to only include a PROGRAM production.
+
+       * ircd/list.c (make_client): Do not assign to deleted field.
+
+       * ircd/m_cap.c (cap_ls): Use auth_cap_start() instead of
+       cli_unreg().
+       (cap_req): Likewise.
+       (cap_end): Use auth_cap_done() instead of cli_unreg().
+
+       * ircd/m_pass.c (mr_pass): Merge arguments to PASS.  Use
+       auth_set_password() to notify iauth of password.
+
+       * ircd/m_pong.c (mr_pong): Use auth_set_pong() instead of
+       cli_cookie() and cli_unreg().
+
+       * ircd/m_user.c (m_user): Use auth_set_user() instead of
+       cli_unreg(), etc.
+
+       * ircd/s_auth.c: Rewrite most of the infrastructure for the new
+       auth system.
+
+       * ircd/s_conf.c (rehash): Call auth_*() instead of iauth_*().
+
+       * ircd/s_misc.c (exit_one_client): Do not use iauth_exit_client().
+       (exit_client): Use auth_send_exit() instead.
+
+       * ircd/s_stats.c (statsinfo): Include iauth and iauthconf.
+
+       * ircd/s_user.c (clean_user_id): Delete (moved into s_auth.c).
+       (register_user): Remove nick and username parameters; move conf
+       interactions and username validation to s_auth.c.
+       (set_nick_name): Use auth_set_nick() instead of cli_cookie(),
+       cli_unreg(), etc.
+
+       * tools/iauth-test: Implementation of iauth for testing purposes.
+
+2006-02-15  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/ircd_snprintf.c (doprintf): Fix typecast for %hu.
+
+2006-02-15  Michael Poole <mdpoole@troilus.org>
+
+       * include/ircd_signal.h (SigChldCallBack): New typedef.
+       (register_child): Declare.
+       (unregister_child): Declare.
+       (reap_children): Declare.
+
+       * ircd/ircd_signal.c (alloc_crec): New function.
+       (release_crec): New function.
+       (register_child): New function.
+       (do_unregister_child): New function.
+       (unregister_child): New function.
+       (sigchld_callback): New function.
+       (setup_signals): Hook SIGCHLD.
+       (reap_children): New function.
+
+       * ircd/ircd.c (server_restart): Call reap_children() on exit.
+
+2006-02-15  Michael Poole <mdpoole@troilus.org>
+
+       * include/ircd_osdep.h (os_socketpair): Declare.
+
+       * ircd/os_generic.c (is_blocked): New local function.
+       (os_*): Use is_blocked() instead of cut-and-pasted code.
+       (os_socketpair): New function.
+
+2006-02-15  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/match.c (match): Fix backtracking bug after an escape
+       (reported by Michael, I think).
+
+2006-02-04  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/ircd.c (try_connections): Scan all Connect blocks for the
+       earliest hold time (suggested by Michael).
+
+2006-02-04  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/m_join.c (m_join): Remove #if 0 code and update comment.
+
+       * ircd/m_mode.c (ms_mode): Remove self-op support.
+
+2006-01-12  Michael Poole <mdpoole@troilus.org>
+
+       * include/patchlevel.h (PATCHLEVEL): Update for 2.10.12.pre06.
+
+2006-01-12  Michael Poole <mdpoole@troilus.org>
+
+       * include/patchlevel.h (PATCHLEVEL): Update for release.
+
+2006-01-11  Michael Poole <mdpoole@troilus.org>
+
+       * doc/Makefile.in: Make install target VPATH-safe.
+
+       * doc/example.conf: Comment out example IAuth block.
+
+       * ircd/m_burst.c (ms_burst): Change isdigit() to IsDigit(),
+       silencing a warning on Solaris.
+
+2006-01-09  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/s_user.c (register_user): Do not send +r flag to user when
+       they first connect.
+
+2006-01-09  Michael Poole <mdpoole@troilus.org>
+
+       * include/ircd_features.h (FEAT_ZANNELS): Actually, put it back.
+
+       * ircd/ircd_features.c (FEAT_ZANNELS): Likewise.
+
+2006-01-06  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/channel.c (mode_process_clients): Do not reveal zombies who
+       are being opped (MODE and KICK crossed).  Reported by coekie.
+
 2006-01-06  Michael Poole <mdpoole@troilus.org>
 
        * ircd/m_join.c (ms_join): Wipe out all modes (not just chanops)