X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=ChangeLog;h=38627755d272683c46c247a2bd2d00245fe1fb7f;hb=6aada8b2ec0b01f23cd21e2e721a449258d11700;hp=d05c2b58a31a8fe4014c2dbdb9a6aad9f9f1ddb8;hpb=db7220775ae61f8488efaf8d1c58a4d47fbb12bc;p=ircu2.10.12-pk.git diff --git a/ChangeLog b/ChangeLog index d05c2b5..3862775 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,479 @@ +2007-03-05 Michael Poole + + * ircd/m_privs.c (ms_privs): Use the correct source when + forwarding the PRIVS request. + + * tests/bug-1674539.cmd: New file to test for this. + + * tests/test-driver.pl: Recognize "oper" command from scripts. + +2007-03-05 Michael Poole + + * tests/ircd.conf: Make into a hub. + + * tests/ircd-2.conf: New file, for a second server. + + * tests/ircd-3.conf: Configuration for a third server. + +2007-03-04 Michael Poole + + * ircd/whocmds.c (count_users): Fix length of ipbuf. (Spotted by + paulr.) + +2007-02-28 Michael Poole + + * ircd/os_generic.c (sockaddr_from_irc): Zero out socket address + before setting family, and regardless of whether we have an + irc_sockaddr template. + +2007-02-25 Michael Poole + + * doc/example.conf: Document new options for General block. + + * include/res.h (clear_nameservers): Declare new function. + (add_nameserver): Declare previously static function. + + * include/s_bsd.h (VirtualHost_dns_v4): Declare. + (VirtualHost_dns_v6): Likewise. + + * ircd/ircd_lexer.l (DNS): Recognize new token. + + * ircd/ircd_parser.y (DNS): Declare new token. + (generalitem): Allow new items for dns vhost(s) and dns servers. + (generaldnsvhost): New production. + (generaldnsserver): New production. + + * ircd/ircd_res.c (VirtualHost_dns_v4): New variable. + (VirtualHost_dns_v6): Likewise. + (clear_nameservers): New function. + (restart_resolver): Scan specified servers so we only try to open + DNS client sockets that we need. + + * ircd/ircd_reslib.c (irc_nscount): Remove redundant initializer. + (irc_res_init): Only read the resolver config file if there are no + nameservers provided. + (add_nameserver): Make non-static. Remove off-by-one check + against IRCD_MAXNS. + + * ircd/s_conf.c (read_configuration_file): Clear nameserver list + before reading the config file. + +2007-01-27 Jeannot Langlois + + * doc/example.conf (Features): Illustrate URLREG feature. + + * doc/readme.features (URLREG): Define new feature. + + * include/ircd_features.h (Feature): Add FEAT_URLREG. + + * ircd/ircd_features.c (features): Set the default value. + + * ircd/m_join.c (m_join): For ERR_NEEDREGGEDNICK, include the + URLREG value as a format argument. + + * ircd/s_err.c (replyTable): Update ERR_NEEDREGGEDNICK + appropriately. + +2007-02-03 Michael Poole + + * ircd/ircd_reply.c (protocol_violation): Avoid reusing the + va_list in vd. + + * ircd/send.c (sendcmdto_channel_butone): Warn against using %v in + the pattern -- that will cause incorrect behavior. + (sendwallto_group_butone): Likewise. + (sendcmdto_match_butone): Likewise. + +2007-01-22 Michael Poole + + * ircd/channel.c (find_delayed_joins): New function. + (modebuf_flush): Handle +D-D and related cases. + (mode_parse_mode): It is too early to handle +D here, so don't. + (CheckDelayedJoins): Use find_delayed_joins(). + +2007-01-22 Michael Poole + + * tests: New subdirectory for test framework. + + * tests/ircd.conf: Helper file for testing. + + * tests/readme.txt: Simple documentation of test framework. + + * tests/test-driver.pl: Testing script interpreter. + +2007-01-22 Michael Poole + + * doc/example.conf: Fix potentially confusing comment about ip + mask syntax. + +2007-01-22 Michael Poole + + * INSTALL: Mention source directory naming; update the reference + to the config file converter (hah); update CVS directions. + +2007-01-22 Michael Poole + + * include/supported.h: Move parameters from FEATURES1 to FEATURES2 + so that neither ISUPPORT line has more than 15 parameters. (Some + clients are picky about this.) + +2007-01-21 Michael Poole + + * include/patchlevel.h (PATCHLEVEL): Bump for pre10 development. + +2007-01-20 Michael Poole + + * include/patchlevel.h (PATCHLEVEL): Bump for 2.10.12.09 release. + +2007-01-15 Michael Poole + + * doc/readme.iauth (U): Document extended fields. + + * include/s_auth.h (auth_set_user): Declare new parameters. + + * ircd/m_user.c (m_user): Pass new parameters. + + * ircd/s_auth.c (auth_set_user): Accept new parameters. When + using Undernet extensions, forward them to the iauth process. + +2007-01-14 Michael Poole + + * ircd/os_generic.c (os_recv_nonb): Set errno to zero when + returning IO_FAILURE due to a closed connection. + +2006-12-31 Michael Poole + + * ircd/m_mode.c (ms_mode): Bounce modes from deopped members. + +2006-12-30 Michael Poole + + * ircd/ircd_string.c (ircd_strncpy): Make sure the output buffer + is terminated. We don't rely on the arguable strncpy semantics. + +2006-12-30 Michael Poole + + * include/struct.h (struct Server): Add asll_last field. + + * ircd/ircd.c (check_pings): Add check for asll_last. When a + server doesn't ping, use an old-style ping rather than AsLL ping. + + * ircd/m_pong.c (ms_pong): Use ClearPingSent() rather than + ClrFlag(). Set asll_last to current time. + (mr_pong): Use ClearPingSent() rather than ClrFlag(). + (m_pong): Likewise. + + * ircd/s_bsd.c (completed_connection): Likewise. + (read_packet): Likewise. Update cli_lasttime for servers in + addition to clients. + +2006-01-13 Michael Poole + + * ircd/m_burst.c (ms_burst): Properly handle member mode :ov. + +2006-01-13 Michael Poole + + * ircd/m_create.c (ms_create): Add channel name to the protocol + violation notice for a redundant CREATE. + +2006-01-13 Michael Poole + + * ircd/s_user.c (set_nick_name): Use user's account name rather + than the account parameter, in case the parameter contains a colon + (i.e. "account:1234" format). + +2006-01-13 Michael Poole + + * doc/readme.who: Document 'd' user-matching flag. + +2006-12-18 Michael Poole + + * ircd/m_jupe.c (mo_jupe): Fix which privilege is tested. + +2006-12-07 Michael Poole + + * ircd/listener.c (show_ports): Update to show '4' and/or '6' as + flags in response, with a '-' suffix if either one fails to open. + +2006-12-07 Michael Poole + + * doc/example.conf (Port): Document the method to select IPv4 or + IPv6 restriction for a port. + + * include/listener.h (LISTEN_IPV4): New listener flag. + (LISTEN_IPV6): New listener flag. + (struct Listener): Split 'fd' and 'socket' fields into two each. + + * ircd/ircd_lexer.l (gb): Move to be alphabetical. + (gigabytes): Likewise. + (ipv4): New token. + (ipv6): Likewise. + Adapted word matcher to handle digits in the non-leading character. + + * ircd/ircd_parser.y (USE_IPV4): New macro. + (USE_IPV6): Likewise. + (TOK_IPV4): New token. + (TOK_IPV6): Likewise. + (address_family): New non-terminal rule. + (portblock): Default to listening on both IPv4 and IPv6. + (portnumber): Add address_family element and use it. + (portvhost): Likewise. + + * ircd/listener.c (make_listener): Adjust for newly split fields + in struct Listener. + (inetport): Likewise. Adjust return value as well. + (add_listener): Update to handle both IPv4 and IPV6 support. + (close_listener): Likewise. + (accept_connection): Because each listener has two sockets, it is + no longer safe to free the listener when one is destroyed -- so + don't. Also accept() on the file descriptor from the incoming + event rather than on a fixed fd. + + * ircd/os_generic.c (os_socket): For platforms with IPV6_V6ONLY, + enable it for AF_INET6 sockets rather than disabling it for + unspecified sockets. + +2006-12-06 Michael Poole + + * include/listener.h (enum ListenerFlag): New enum. + (struct Listener): Convert "active", "hidden" and "server" to a + flagset. + (add_listener): Convert "is_server" and "is_hidden" arguments to + use the same flagset structure. + + * ircd/ircd_parser.y (listen_flags): New variable. + (general_vhost): Consolidate references to $3 to use a variable. + (portblock): Use listen_flags instead of tconn and tping. + (portserver): Likewise. + (porthidden): Likewise. + + * ircd/listener.c (show_ports): Use new field in Listener. + (set_listener_options): New function. + (inetport): Use it. + (add_listener): Use new field in Listener. When reusing an extant + listener, call set_listener_options() so the options are updated. + (mark_listeners_closing): Use new field in Listener. + (close_listeners): Use new helper macro to check activeness. + (release_listener): Likewise. + (accept_connection): Likewise. + + * ircd/s_bsd.c (report_error): Use the standard snotice rate + limiting here. + (add_connection): Use new helper macro to check serverness. + +2006-11-04 Michael Poole + + * ircd/m_nick.c (m_nick): If we get NICK on a server port, tell + the client to go away. + +2006-11-04 Michael Poole + + * ircd/version.c.SH: Skip version.c. + +2006-11-04 Michael Poole + + * doc/readme.who: Document new 'o' field flag. + + * include/whocmds.h (WHO_FIELD_OPL): New flag. + + * ircd/channel.c (send_channel_modes): Rename feat_oplevels to + send_oplevels and determine it automatically. + (modebuf_flush_int): Pass along oplevel if it's less than + MAXOPLEVEL. + (mode_process_clients): Allow oplevels to be inherited for -A + channels. Inherit the opper's oplevel if >= MAXOPLEVEL. + + * ircd/m_who.c (m_who): Recognize 'o' flag as WHO_FIELD_OPL. + + * ircd/whocmds.c (do_who): Send oplevel for WHO_FIELD_OPL, but + only show up to the requester's own oplevel. + +2006-10-21 Michael Poole + + * ircd/convert-conf.c (finish_connects): Fix error display for + missing C: lines when an H: line is present. + +2006-08-02 Michael Poole + + * ircd/ircd_parser.y (connectblock): Check for too-long password. + (operblock): Comment why we don't check password length. Move + PRIV_PROPAGATE test earlier (so a buggy edit, rehash, /oper will + not crash). + (clientblock): Check for too-long password. + +2006-08-02 Michael Poole + + * include/channel.h (struct Ban): Fix typo in doxygen comment. + +2006-07-09 Michael Poole + + * include/patchlevel.h (PATCHLEVEL): Bump for pre09. + +2006-07-09 Michael Poole + + * include/patchlevel.h (PATCHLEVEL): Bump for 2.10.12.08 release. + +2006-07-05 Michael Poole + + * ircd/s_auth.c (auth_freelist): New static variable. + (check_auth_finished): Move call to destroy_auth_request(). + (destroy_auth_request): Prepend auth request to freelist. + (start_auth): Use struct from auth freelist if possible. + +2006-06-30 Michael Poole + + * ircd/ircd_parser.y (iauth*): Avoid leaking program name string. + +2006-06-30 Michael Poole + + * ircd/s_auth.c (check_auth_finished): Free auth structure when + done with it. + (sendto_iauth): Free message buffer when done with it. + +2006-06-26 Michael Poole + + * include/patchlevel.h (PATCHLEVEL): Bump for pre08. + +2006-06-26 Michael Poole + + * include/patchlevel.h (PATCHEVEL): Bump for release. + +2006-06-17 Michael Poole + + * ircd/m_pass.c (mr_pass): Only back 'len' up when it's safe. + +2006-06-08 Michael Poole + + * ircd/m_whois.c (do_whois): Prefix '*' to names of secret (local) + channels for locops as well as global opers. + +2006-06-08 Michael Poole + + * ircd/m_gline.c (ms_gline): Use final argument as G-line reason. + +2006-06-08 Michael Poole + + * ircd/gline.c (gline_stats): Show activation state in /stats g. + + * ircd/s_err.c (RPL_STATSGLINE): Update format string to match. + +2006-06-07 Michael Poole + + * doc/example.conf: Document the list_chan privilege. + + * ircd/ircd_lexer.l: Recognize the token. + + * ircd/ircd_parser.y: Treat it appropriately. + +2006-06-07 Michael Poole + + * ircd/s_auth.c (auth_ping_timeout): If the client never had an + auth request, kill them on ping timeout. + +2006-06-05 Michael Poole + + * ircd/s_auth.c (auth_timeout_callback): Clear AR_DNS_PENDING when + destroying the lookup and reporting DNS failure. + +2006-05-28 Michael Poole + + * doc/readme.features (MAXBANS): Update default value. + (NICKLEN): Likewise. + (HIS_STATS_*): Sort alphabetically. + + * ircd/m_stats.c (m_stats): Describe the intention so that there + are not further questions about local opers and remote /stats. + Fix places that use cptr instead of sptr. + +2006-05-24 Michael Poole + + * ircd/s_auth.c (auth_dns_callback): Be more careful about + handling failed DNS lookups. Use a more standard function to + disconnect clients for IP mismatches. + (start_auth): Use a more standard function to disconnect clients + for peer or local socket address lookup failures. + +2006-05-17 Michael Poole + + * ircd/s_auth.c (auth_ping_timeout): Fix off-by-one error. + +2006-05-17 Michael Poole + + * ircd/Makefile.in (install-*): Install convert-conf. Install + umkpasswd when ${BINDIR}/ircd is not a symlink. + +2006-05-15 Michael Poole + + * ircd/s_auth.c (check_auth_finished): Only check passwords on + user ports. + +2006-05-14 Michael Poole + + * doc/example.conf (Connect): Mention the vhost option. + +2006-05-08 Michael Poole + + * ircd/m_pong.c (mr_pong): Move cli_lasttime update from here... + + * ircd/s_auth.c (auth_set_pong): ... to here. + +2006-05-07 Michael Poole + + * include/s_auth.h (auth_ping_timeout): Declare new function. + + * ircd/ircd.c (check_pings): Move auth timeout logic into that new + function. + + * ircd/s_auth.c (HeaderMessages): Insert new message. + (auth_ping_timeout): Define new function. + (auth_timeout_callback): Remove "hurry" notification from here. + +2006-05-07 Michael Poole + + * include/s_auth.h (destroy_auth_request): Remove second argument. + + * ircd/list.c (free_client): Update to match. + + * ircd/s_auth.c (check_auth_finished): Remove second argument and + update call to destroy_auth_request(). + (send_auth_query): Update call to destroy_auth_request(). + (destroy_auth_request): Remove second argument. + (auth_timeout_callback): Send timeout failure messages here + instead. Update call to check_auth_finished(). + (auth_dns_callback): Update call to check_auth_finished(). + (start_auth): Likewise. + (auth_set_pong): Likewise. + (auth_set_user): Likewise. + (auth_set_nick): Likewise. + (auth_cap_done): Likewise. + (iauth_parse): Likewise. + +2006-05-06 Michael Poole + + * ircd/s_auth.c (AuthRequestFlag): Add AR_PASSWORD_CHECKED. + (check_auth_finished): Move password check out of iauth-only part + and use AR_PASSWORD_CHECKED to make sure we only check it once. + +2006-04-28 Michael Poole + + * ircd/s_auth.c (AuthRequest): Clarify comment on 'timeout' field. + (check_auth_finished): Fix timeout update. + (destroy_auth_request): Only delete timer if it is active. + (auth_timeout_callback): Do not disconnect client on timeout, so + that the user can finish sending NICK/USER or doing iauth. + +2006-04-28 Michael Poole + + * doc/example.conf (Admin): Fix documentation of which line can be + listed twice. + + * ircd/ircd_parser.y (adminblock): Allow admin information to be + changed via /rehash. + +2006-04-06 Michael Poole + + * ircd/s_auth.c (start_auth): Add client to list after getting + endpoint names (which can apparently fail for some reason). + 2006-04-06 Michael Poole * ircd/ircd_snprintf.c: Use SIZEOF_LONG_LONG (which is 0 for @@ -55,12 +531,12 @@ * doc/readme.iauth: fix a minor typo in comments for 'd' and 'N' server messages -2006-06-18 Michael Poole +2006-03-18 Michael Poole * ircd/convert-conf.c (finish_features): Do not emit a feature setting that has no values. -2006-06-18 Michael Poole +2006-03-18 Michael Poole * ircd/channel.c (mode_parse_key): Outside of burst, allow overwriting of keys by a service when a key is already set. @@ -69,7 +545,7 @@ (mode_parse_apas): Likewise for Apass, but only allow overwiting an existing Apass in a BURST. -2006-06-18 Michael Poole +2006-03-18 Michael Poole * ircd/channel.c (modebuf_flush_int): Fix typo about changing oplevels. Send correct channel TS for modes to other servers.