+2005-05-02 Michael Poole <mdpoole@troilus.org>
+
+ * include/numeric.h (ERR_UPASS_SAME_APASS): New error message when
+ trying to set +U pass to the same as the +A pass.
+
+ * ircd/channel.c (mode_parse_upass): Use it.
+
+ * ircd/ircd_auth.c (iauth_exit_client): Only send ExitUser if
+ there is an active IAuth connection, fixing PR#1193808.
+ (iauth_dispose_request): Only delete the timer if it is active.
+
+ * ircd/m_invite.c (m_invite): Always forward the invite in the
+ correct direction, and then skip it as 'one' if announcing.
+ (ms_invite): Likewise.
+
+ * ircd/numnicks.c (base64toip): Do not interpret AAAAAA as
+ ::ffff:0.0.0.0; keep it as ::.
+
+ * ircd/s_err.c (replyTable): Add ERR_UPASS_SAME_APASS.
+
+2005-05-01 Michael Poole <mdpoole@troilus.org>
+
+ * doc/readme.log: Document IAUTH log target, remove docs for
+ OLDLOG log target.
+
+ * include/ircd_log.h: Add LS_IAUTH target, remove LS_OLDLOG.
+
+ * ircd/ircd_log.c (logDesc): Likewise.
+
+ * ircd/engine_epoll.c (engine_loop): Handle EPOLLHUP for all
+ sockets (e.g. when connecting) and do not generate read/write
+ events in the same pass as error or EOF events.
+
+ * ircd/ircd_auth.c: Convert old sendto and debug messages to use
+ the LS_IAUTH log target. Consistently use IAUTH_CONNECTED flag
+ instead of comparing fd to -1.
+ (iauth_reconnect): If already connected, disconnect and schedule a
+ reconnect later, since an immediate reconnect can cause assertion
+ failure in the event engine. Also schedule a reconnect when the
+ connection attempt fails.
+ (iauth_read): Reconnect on IO_FAILURE.
+ (iauth_sock_callback): Disconnect and schedule a reconnect on both
+ error (after reporting the error) and EOF.
+ (iauth_start_client): Record the IAuth request in the client.
+ (iauth_exit_client): Report the client exit.
+
+ * ircd/s_misc.c (exit_one_client): Fix formatting.
+
+2005-04-30 Michael Poole <mdpoole@troilus.org>
+
+ * ircd/ircd_auth.c (iauth_connect): Initialize (but do not add)
+ timer here and set fd to -1.
+ (iauth_schedule_reconnect): Rewrite to handle previously
+ initialized timer.
+ (iauth_reconnect): If server is connected, disconnect first.
+ Update socket generator fd before calling socket_add().
+ (iauth_read): When reading 0 bytes (EOF), reconnect.
+
+2005-04-27 Michael Poole <mdpoole@troilus.org>
+
+ * ircd/ircd_parser.y: Report non-existent class names as errors
+ earlier, and do not fall back to "default" for Client blocks.
+
+2005-04-25 Reed Loden <reed@reedloden.com>
+
+ * ircd/ircd_lexer.l: Add missing header to squash a warning.
+
+2005-04-25 Michael Poole <mdpoole@troilus.org>
+
+ * ircd/s_user.c (register_user): Replace call with set_user_mode()
+ with a direct parsing of user modes. To match this, revert the
+ initial display of usermode to how it was done before.
+
+2005-04-24 Michael Poole <mdpoole@troilus.org>
+
+ * doc/example.conf: Document new autoconnect field of Connect.
+
+ * include/s_conf.h: Add CONF_AUTOCONNECT and field for it.
+
+ * ircd/ircd.c (try_connections): Skip non-autoconnect servers.
+
+ * ircd/ircd_lexer.l: Recognize autoconnect token.
+
+ * ircd/ircd_parser.y: Add autoconnect= option to Connect block.
+
+ * ircd/m_invite.c (m_invite): Avoid sending channel timestamp to
+ user being invited.
+ (ms_invite): Likewise.
+
+ * ircd/s_user.c (register_user): Show class name rather than
+ pointer-as-integer.
+
+2005-04-24 Michael Poole <mdpoole@troilus.org>
+
+ * ircd/ircd_parser.y: Rewrite so each error condition gets its own
+ error message, and so that invalid parameters are printed out.
+
+2005-04-23 Michael Poole <mdpoole@troilus.org>
+
+ * ircd/channel.c (apply_ban): Consistently free newban->banstr
+ when the function fails.
+ (mode_process_bans): Free banstr for all BAN_DEL bans.
+
+ * ircd/ircd_parser.y: Fix a few memory leaks from previous commit.
+
+2005-04-23 Michael Poole <mdpoole@troilus.org>
+
+ * include/patchlevel.h: Bump to being a beta.
+
+ * ircd/ircd_lexer.l (QSTRING): Return a copy of the string so that
+ parser actions don't have to be immediately after a QSTRING.
+
+ * ircd/ircd_parser.y (FNAME): Remove unused token.
+ (QSTRING): Adjust for QSTRING being an already-copied version.
+
+2005-04-23 Michael Poole <mdpoole@troilus.org>
+
+ * doc/example.conf (UWorld): Illustrate new config extension.
+
+ * ircd/ircd_parser.y (uworldblock): Do the expected thing when
+ multiple name= entries are present.
+
+2005-04-22 Michael Poole <mdpoole@troilus.org>
+
+ * RELEASE.NOTES: Silence exceptions use ~, not -. Oops!
+
+ * doc/example.conf: Fix typo in example Kill block.
+
+ * ircd/channel.c (mode_parse_ban): Use correct test for flag_p.
+
+ * ircd/m_silence.c (apply_silence): Make mask pretty so that later
+ processing does not convert * to @ (and match no one).
+
+2005-04-21 Kevin L. Mitchell <klmitch@mit.edu>
+
+ * ircd/m_userip.c (userip_formatter): /userip should *never*
+ report the user's real IP unless its answering the user
+ him/herself
+
+ * ircd/m_userhost.c (userhost_formatter): /userhost should *never*
+ report the user's real host unless its answering the user
+ him/herself
+
+2005-04-20 Michael Poole <mdpoole@troilus.org>
+
+ * ircd/ircd.c (parse_command_line): Update usage text.
+
+ * ircd/numnicks.c (base64toip): Use v4mapped address range instead
+ of v4compat address range, fixing IPv4-based /who.
+
+2005-04-19 Michael Poole <mdpoole@troilus.org>
+
+ * configure.in: When --enable-profile, add -pg to LDFLAGS.
+
+ * configure: Regenerate.
+
+2005-04-19 Michael Poole <mdpoole@troilus.org>
+
+ * ircd/match.c (check_if_ipmask): Fix brown-paper-bag typo.
+
+ * ircd/s_conf.c (conf_debug_iline): Look for matching Kill blocks
+ once a matching Client block is found.
+
+ * ircd/m_whowas.c (m_whowas): Change strcmp() to ircd_strcmp().
+
+2005-04-18 Michael Poole <mdpoole@troilus.org>
+
+ * ircd/match.c (check_if_ipmask): Do not interpret masks that
+ start with . or / as IP-based host masks.
+
+2005-04-17 Michael Poole <mdpoole@troilus.org>
+
+ * ircd/channel.c (mode_process_clients): Only prohibit deops of
+ users with the same or higher oplevel where apass is set.
+ Likewise, when opping users, give them MAXOPLEVEL for non-apass
+ channels.
+ (joinbuf_join): Give new ops MAXOPLEVEL for non-apass channels.
+
+ * ircd/m_kick.c (m_kick): Only prohibit kicks of users with the
+ same or higher oplevel where apass is set.
+
+ * ircd/s_user.c (register_user): Fix order of server version vs
+ various mode strings.
+
+ * tools/linesync/linesync.sh: Add revision id field.
+
+2005-04-17 Michael Poole <mdpoole@troilus.org>
+
+ * tools/linesync/linesync.sh: Fix typo comment. Check for
+ multiple blocks per line in the linesync input.
+
+2005-04-17 Dan <daniel@undernet.org>
+
+ * tools/linesync/linesync.sh: Update to support new syntax and to
+ avoid rehashing the ircd when the config is the same.
+
+ * tools/linesync/linesync.conf: Update allowed conf items.
+
+2005-04-16 Michael Poole <mdpoole@troilus.org>
+
+ * doc/example.conf (Kill): Document newly supported syntax.
+
+ * include/s_conf.h (DenyConf): Split realname mask into its own
+ field. Remove the unused DENY_FLAGS_{IP,REALNAME}.
+
+ * ircd/ircd_parser.y (Kill): Only require one of usermask,
+ hostmask, realmask to be set for a valid block.
+ (killitem): Add new production killusername.
+
+ * ircd/s_conf.c (conf_erase_deny_list): Free realmask field.
+ (find_kill): Rearrange slightly to clarify control flow.
+
+ * ircd/s_err.c (RPL_STATSKLINE): Stick usermask before hostmask,
+ so the old usermask field can be adopted for realname mask. Add
+ double quotes around the realmask field.
+
+ * ircd/s_stats.c (report_deny_list): Do so.
+ (stats_klines): Likewise.
+
+2005-04-17 Perry Lorier <isomer@undernet.org>
+
+ * tools/convert-conf.py: Fix lots of conversion problems with
+ oper privielges (now they are converted),
+ features (deprecated features commented out, most converted to
+ priviliges),
+ realname klines (also add host= lines)
+ quarintines (generate blocks for them),
+ connect blocks (don't generate empty port config lines)
+ etc...
+
+2005-04-16 Michael Poole <mdpoole@troilus.org>
+
+ * ircd/gline.c (do_gline): Fix typo when activating IP-based
+ G-lines.
+
+2005-04-16 Michael Poole <mdpoole@troilus.org>
+
+ * ircd/class.c (free_class): Free default_umode field.
+
+ * ircd/ircd_parser.y (classblock): Free default_umode field before
+ overwriting it.
+
+ * ircd/s_conf.c (free_conf): Free username, origin_name, hub_limit
+ fields.
+ (find_kill): Realname Kill blocks no longer have $R at the start,
+ so do not skip over the first two characters of the mask.
+
+2005-04-15 Michael Poole <mdpoole@troilus.org>
+
+ * doc/example.conf (Operator): Properly qualify plaintext password.
+ (Quarantine): Document (new) syntax.
+
+ * ircd/ircd.c: Add <sys/time.h> to make <sys/resource.h> compile
+ correctly on BSDs.
+
+ * ircd/ircd_parser.y (qconf): Remove global variable.
+ (killuhost): Null terminate username when present.
+ (quarantineblock): Replace with a syntax that works.
+
+ * ircd/s_stats.c: #include <querycmds.h> for UserStats.
+ (stats_server_verbose): Reinstate check for UserStats.
+
2005-04-09 Kevin L. Mitchell <klmitch@mit.edu>
* ircd/ircd.c: conditionally include sys/resource.h; otherwise,