X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=ChangeLog;h=69a966b850ff5261a4f10e4f7fbaf9caa3bbff79;hb=0f4cd319f2b9cc9eb39380f2d2f3aa0d970a20d7;hp=039ccec7cf8482ee70e9881c0114728a1a355783;hpb=80611d80c383d603b56ded62a0fdbca43ca40268;p=ircu2.10.12-pk.git diff --git a/ChangeLog b/ChangeLog index 039ccec..69a966b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,1342 @@ +2004-09-19 Michael Poole + + * acinclude.m4: Clean up AC_DEFINE()s so we no longer need + acconfig.h. + + * acconfig.h: Remove since it is now redundant. + + * aclocal.m4, config.h.in, configure: Regenerate. + +2004-09-19 hikari + + * configure.in: Fixed configure script rules to fail if (f)lex or yacc/bison + aren't found as they're essential for compilation. Regenerated files with + autreconf. + +2004-09-18 Michael Poole + + * doc/example.conf: Add NETWORK feature example. Fix typos in + eaxmples for HANGONGOODLINK and IRCD_RES_TIMEOUT. + + * include.class.h: Make max_links and ref_count unsigned ints. + Make ping_freq and conn_freq unsigned short. (No more negative + numbers in /stats y.) + + * ircd/ircd.c: Report configuration file name for "ircd -k". + +2004-09-18 hikari + + * ircd/Makefile.in: Fixed a missing internal build dependency. + +2004-09-16 Michael Poole + + * INSTALL: Fix name of example.conf and mention its installed + location. + + * include/supported.h (FEATURESVALUES2): Fix a reference to + channel mode +u that escaped earlier rename attempts. + + * ircd/ircd_auth.c (iauth_connect): Assign port number after + zeroing out the destination address. + Add some additional debug statements to help follow operations. + + * ircd/ircd_parser.y (iauthblock): Do not require "name" to be set. + +2004-09-11 Bas Steendijk + + * include/channel.h, include/supported.h, ircd/channel.c, + ircd/s_err.c: Use +U instead of +u for user keys. + +2004-09-13 Michael Poole + + * doc/example.conf: Remove sample VIRTUAL_HOST setting. + + * doc/readme.features: Remove VIRTUAL_HOST documentation, and + update NODNS documentation to match current behavior. + + * include/s_conf.h: Remove now-unused vhost_address field and + set_virtual_host() function. + + * include/ircd_features.h, ircd/ircd_features.c, ircd/s_debug.c: + Remove VIRTUAL_HOST. + + * ircd/ircd_auth.c, ircd/s_bsd.c: Use VirtualHost as local address + if we do not have a more specific alternate. + + * ircd/ircd_parser.y: Check for sanity in General blocks (from old + conf_add_local()) and assign vhost directly to VirtualHost. + + * ircd/ircd_res.c (irc_in_addr_valid): Fix thinko; obviously any + value will be either != 0 or != 0xffff. + + * ircd/os_generic.c: Use AF_INET instead of AF_INET6 when the + local addresses are specified as IPv4 addresses. + + * ircd/s_conf.c: Remove unused conf_add_local() and + set_virtual_host(). + +2004-09-13 Michael Poole + + * ircd/listener.c (add_listener): Consolidate duplicated code, and + make sure listener->server is set before calling inetport() on it. + +2004-09-12 Michael Poole + + * include/channel.c (mode_parse_upass, mode_parse_apass): Only let + services (not normal opers) force a change of +A or +u. + +2004-09-11 Michael Poole + + * include/s_stats.h: Add sd_name to struct StatDesc. Stop + publishing the statsinfo and statsmap arrays; replace them with + stats_find(). Change argument list of StatFunc() to work with + names. + + * ircd/m_stats.c: Use stats_find() instead of statsmap[]. Use the + full argument instead of just the first character in reports. + + * ircd/s_stats.c: Adapt individual stats handler functions to new + argument list. Add long names to statsinfo[]. Add new functions + stats_cmp(), stats_search(), stats_find(). Sort statsinfo[] in + stats_init(). + + * ircd/s_err.c: Change ENDOFSTATS to display a string rather than + a single character. + + * ircd/s_user.c: Send an error to the user when a message loses + its target in transit. + + * include/class.h include/gline.h include/ircd_features.h + include/listener.h include/motd.h include/msgq.h include/res.h + include/s_debug.h include/s_misc.h include/userload.h ircd/class.c + ircd/gline.c ircd/ircd_features.c ircd/ircd_res.c ircd/listener.c + ircd/motd.c ircd/msgq.c ircd/s_debug.c ircd/s_misc.c + ircd/userload.c: Adjust stats handlers to new argument list. + +2004-09-11 Michael Poole + + * include/numeric.h, ircd/s_err.c: Remove RPL_TRACEPING, and + replace with RPL_TRACEEND. + + * ircd/s_trace.c: Move all the duplicated code in m*_trace() to + do_trace(). Implement RPL_TRACEEND, per RFE#830291. + +2003-06-20 Alexander Maassen + + * ircd/m_topic.c : Don't allow banned users to set a topic in a + channel. + +2004-09-11 Kevin L Mitchell + + * config.h.in, tools/Makefile.crypt: Remove wrong pathname from + comment in header. + + * ircd/m_clearmode.c, ircd/m_opmode.c: Fix wrong pathname in + header comment. + + * ircd/m_away.c, ircd/m_kill.c, ircd/m_notice.c, ircd/m_ping.c, + ircd/m_pong.c, ircd/m_privmsg.c, ircd/m_quit.c, ircd/m_topic.c, + ircd/m_version.c: Remove "template" moniker from comments. + + * ircd/test/ircd_chattr.0.dat (IsChannelPrefix): Drop + from + channel prefix list. + +2004-09-11 Michael Poole + + * doc/example.conf: Add examples for FEAT_HIS_* features. + +2003-06-08 Matthias Crauwels + [Feature renamed to FEAT_HIS_WHOIS_LOCALCHAN by Michael Poole.] + + * include/ircd_features.h: new feature FEAT_HIS_LOCAL_CHAN_WHOIS + + * ircd/ircd_features.c: new feature FEAT_HIS_LOCAL_CHAN_WHOIS + + * ircd/m_whois.c: hide local channels in local WHOIS, this breaks HIS + + * doc/readme.features: documented FEAT_HIS_LOCAL_CHAN_WHOIS + + * doc/ircd.conf.sample: default value for FEAT_HIS_LOCAL_CHAN_WHOIS + +2004-09-11 Michael Poole + + * ircd/ircd_relay.c (server_relay_channel_message, + server_relay_channel_notice): Do not allow other servers to send + or relay to local channels. + + * ircd/m_wallchops (ms_wallchops): Likewise. + + * ircd/m_wallvoices (ms_wallvoices): Likewise. + +2004-09-11 Kevin L Mitchell + + * ircd/gline.c (gline_add): fix GLINE logging (Bug #750927) + + * ircd/channel.c: removing limits shouldn't gobble an argument; + this was a subtle interaction issue with modebuf...fixed by adding + MODE_LIMIT to modebuf_flush_int() and short-circuiting + modebuf_mode_uint() to add MODE_LIMIT to mbuf->mb_rem in the + removal case. Note that this is not proof against the sequence, + "modebuf_mode_uint(mbuf, MODE_ADD | MODE_LIMIT, 10); + modebuf_mode_uint(mbuf, MODE_DEL | MODE_LIMIT, 10);" + (Bug #916138) + +2004-09-11 Michael Poole + + * include/supported.h: Kev pointed out I misinterpreted the + meaning of CHANMODES; fix this. Also define CHANNELLEN and + STATUSMSG from the ISUPPORT draft. + +2004-09-10 Michael Poole + + * include/supported.h (FEATURESVALUES2): Include A,u, in CHANMODES + when oplevels are enabled. + +2004-09-10 Michael Poole + + * ircd/channel.c (send_channel_modes): Only send oplevels for + channels that actually use them -- for -A channels, send chanops + as :o even if OPLEVELS is enabled. + + * ircd/ircd.c: Fix -k (chkconf mode) and show in usage help. + + * ircd/numnicks.c (base64toip): Fill in the right number of 0 + words when we see _ in a base64-encoded IPv6 address. + +2004-09-10 Michael Poole + + * ircd/ircd.c: Add -k as a chkconf-like option to exit after + reading the configuration file. + + * ircd/chkconf.c: Remove as unused. + + * ircd/Makefile.in: Remove last mentions of chkconf from Makefile. + +2004-09-10 Michael Poole + + * doc/example.conf: Remove examples for unused features (TIMESEC, + CRYPT_OPER_PASSWORD) and add for new feature (ANNOUNCE_INVITES). + + * doc/readme.features: Remove documentation for unused features + (TIMESEC, CRYPT_OPER_PASSWORD, oper/locop privileges, + HIS_DESYNCS), update defaults for SOCKSENDBUF and SOCKRECVBUF, and + add documentation for ANNOUNCE_INVITES. + + * include/ircd_features.h: Remove unused features (TIMESEC, + CRYPT_OPER_PASSWORD, LIST_CHAN, HIS_DESYNCS). + + * include/ircd_features.c: Likewise. + + * ircd/ircd_res.c: Actually use FEAT_IRCD_RES_RETRIES and + FEAT_IRCD_RES_TIMEOUT where appropriate. + + * ircd/s_debug.c: Do not display setting of unused (and now + non-existent) FEAT_CRYPT_OPER_PASSWORD. + +2004-09-10 Michael Poole + + * ircd/os_generic.c (sockaddr_from_irc): Fix IPv4 implementation + to use the correct address family and IP offset. + +2004-09-10 Michael Poole + + * include/s_conf.h (struct ConfItem): Add origin and origin_name + fields. + + * ircd/ircd_parser.y: Add new global variable "origin." Add a new + "connectionvhost" production that accepts vhost = "IP" inside a + Connect block and assigns the IP to origin_name. + + * ircd/s_bsd (connect_inet): If aconf has a valid origin, use it + as the local address. Otherwise, fall back to the old logic (if + VIRTUAL_HOST="TRUE", use the virtual host setting). + + * ircd/s_conf.c (lookup_confhost): If the ConfItem has an + origin_name, try to parse it as an IP address. + +2004-04-17 Isomer + * ircd/parse.c: Don't rate limit /gline messages + +2004-09-10 Michael Poole + + * ircd/ircd_parser.y: Replace references to yylval.whatever with + references to the appropriate term. This fixes bugs like + "1 hour 30 minutes" being misrecognized as 30 seconds. + +2004-09-10 Michael Poole + + * ircd/ircd_features.c (features): Change default values for + SOCKSENDBUF and SOCKRECVBUF to SERVER_TCP_WINDOW, so that users + need not specify them in ircd.conf. + +2004-09-10 Michael Poole + + * ircd/ircd_parser.y (serverblock): Server blocks should default + to CONF_LEAF status. + + * doc/example.conf: Update example to reflect this. + +2004-09-10 Michael Poole + + * ircd/parse.c (msg_tree_parse): Reject commands that contain + non-alphabetic characters. + +2004-09-09 Michael Poole + + * config.h.in: Remove duplicated and unused macro definitions. + +2004-08-24 Michael Poole + + * ircd/client.h: Properly parenthesize "flag" argument to + FLAGSET_INDEX() and FLAGSET_MASK() macros. + +2004-08-22 Michael Poole + + * ircd/channel.c (send_channel_modes): If oplevels are disabled, + send 'o' for chanops instead of the member's oplevel. + +2004-08-22 Michael Poole + + * ircd/s_conf.c: find_conf_byip() should use irc_in_addr_cmp() + instead of memcmp(). (Fixes IPv4 servers linking to an IPv6 + server.) + +2004-08-22 Alex Badea + + * include/ircd_defs.h: increased SOCKIPLEN to fit ipv6 addresses + +2004-08-19 Michael Poole + + * include/res.h: Remove unused function gethost_byname_type(). + + * ircd/ircd_res.c: Likewise, and clean up some small functions + only used once (remove_dlink(), timeout_resolver()). Use rand() + for random request IDs instead of the deprecated *rand48(). Make + resolver timeout event fire only when needed instead of once a + second. + +2004-08-17 Michael Poole + + IPv6 support, with lots of code and design borrowed from a patch + by Alex Badea. + + * config.h.in: Add place to #define IPV6 support. + + * configure.in: Check for struct sockaddr_in6, and use that as + the default choice for IPv6 support. + + * configure: Regenerate. + + * include/IPcheck.h, include/client.h, include/gline.h, + include/ircd_string.h, include/listener.h, include/match.h, + include/res.h, include/s_bsd.h: Convert from struct in_addr (from + ) to struct irc_in_addr (from "res.h"). + + * include/ircd_osdep.h, include/s_conf.h, include/uping.h: Convert + from struct sockaddr_in (from ) to struct + irc_sockaddr (from "res.h"). Add new functions os_socket(), + os_accept(), os_sendto_nonb() to help abstract away actual + sockaddr types. + + * include/ircd_chattr.h, ircd/table_gen.c: Define new bit to mark + characters valid in IPv6 addresses. + + * include/numnicks.h, ircd/numnicks.c: New functions iptobase64() + and base64toip() to convert from base64 to struct irc_in_addr. + + * ircd/IPcheck.c, ircd/channel.c, ircd/m_nick.c, ircd/m_oper.c, + ircd/m_userip.c, ircd/m_who.c, ircd/m_whois.c, ircd/s_misc.c, + ircd/s_serv.c, ircd/s_user.c, ircd/whocmds.c: Use struct + irc_in_addr instead of unsigned int or struct in_addr. + + * ircd/gline.c: Use new more-generic ipmask functions. + + * ircd/ircd.c: Use struct irc_sockaddr instead of separate port + fields. + + * ircd/ircd_reslib.c: Use struct irc_sockaddr and ircd_aton() + instead of irc_ssaddr and irc_getaddrinfo(). + + * ircd/ircd_string.c: Implement new functions: IPv6-capable + ircd_ntoa_r(), ircd_aton_ip4(), ircd_aton(). + + * ircd/match.c: Delete IPv4-only matchcompIP(). Replace with + IPv6-capable ipmask_parse() and ipmask_check(). + + * ircd/numnicks.c: Implement new functions: iptobase64() and + base64toip(). + + * ircd/os_generic: Convert external parameters to be struct + irc_addrinfo. When using IPv6 support, sockaddr_in6 is native. + Implement new functions os_sendto_nonb(), os_socket() and + os_accept(). + + * ircd/ircd_auth.c, ircd/ircd_parser.y, ircd/ircd_res.c, + ircd/listener.c, ircd/m_connect.c, ircd/s_auth.c, ircd/s_bsd.c, + ircd/s_conf.c, ircd/s_stats.c, ircd/uping.c: Use struct + irc_sockaddr instead of separate in_addr and port fields and new + OS support functions. + + * include/ircd_addrinfo.h, ircd/ircd_getaddrinfo.c, + ircd/ircd_getnameinfo.c: Remove, since these functions are no + longer used. + + * ircd/os_bsd.c, ircd/os_linux.c, ircd/os_openbsd.c, + ircd/os_solaris.c, ircd/res_adns.c, ircd/res_libresolv.c: Remove, + since these are unused and not compatible with IPv6 support. + + * ircd/Makefile.in: Remove references to ircd_getXxxxinfo.c. + Regenerate dependencies. + +2004-08-17 Michael Poole + + * ircd/ircd_lexer.l: Change tokenizer to reduce number of lexer + states and be case-insensitive again. + +2004-08-15 Michael Poole + + * 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 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 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 + + * 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 + + * ircd/ircd_parser.y: Remove redundant semicolon; it causes + errors on some versions of yacc. + +2004-07-21 Michael Poole + + * 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 + + 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 + + * doc/readme.features: Change references to O:, Y:, etc lines into + references to the appropriate block types. + +2004-07-01 Michael Poole + + * include/fileio.h: Elaborate on "works for any file descriptor." + + * include/iauth.h: Remove unused file. + +2004-07-01 Michael Poole + + * 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 + + * 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 + + * ircd/ircd_log.c, ircd/send.c: va_list is not a scalar type + +2004-04-02 Gavin Grieve + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * ircd/parse.c: don't let rank-and-file users escape HIS + limitations with /jupe... + +2004-06-18 Alex Badea + + * 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 + * 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) + + * configure.in: allow ircu to build on OS X. + +2004-05-24 Michael Poole + + * 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 + + 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 + + * ircd/res_adns.c (res_ourserver): Remove unused function. + (validate_name): Likewise. + +2004-05-17 Michael Poole + + * 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 + + * doc/example.conf: Make this show the new NICKLEN default. + +2004-05-14 Kevin L Mitchell + + * ircd/ircd_features.c: per CFV-0243, NICKLEN default is increased + to 12 + +2004-05-14 Kevin L Mitchell + + * ircd/s_user.c: process account creation timestamp if present in + user mode portion of a N protocol message; add account creation + timestamp to outgoing N protocol messages if that timestamp is + non-zero + + * ircd/m_account.c: process account creation timestamp if present + in AC protocol message + + * include/struct.h: add account creation timestamp + +2004-05-16 Michael Poole + + * doc/example.conf: Document operator privilege settings. + +2004-05-16 Michael Poole + + Get rid of CONF_LOCOP; use PRIV_PROPAGATE instead. + + * ircd/ircd_parser.y (invert): New variable. + (operlocal): Remove production. + (operpriv): Use "invert" variable. + (privtype): Add LOCAL alternative production. + + * ircd/m_oper.c (m_oper): Remove references to CONF_LOCOP; replace + with CONF_OPERATOR or PRIV_PROPAGATE checks, as appropriate. + + * ircd/s_conf.c (AuthorizationCheckResult, find_conf_exact): + Likewise. + + * ircd/s_stats.c (report_array, statsinfo): Likewise. + + * ircd/s_user.c (set_user_mode): Likewise. + +2004-05-15 Michael Poole + + * patches/diffs/astralnet.diff, patches/diffs/nocfv.diff: Remove + patches obsoleted by F: lines. + + * patches/diffs/topicburst.diff: Remove patch that was integrated + into the main code. + +2004-05-15 Isomer + + [Original ChangeLog date: 2003-11-05 -MDP] + + * ircd/m_whois.c: On remote whois, show +s local channels with a * + prefix to opers. + +2004-05-15 Michael Poole + + * include/gline.h, ircd/gline.c, ircd/s_err.c: Forward port a lot + of gline-related fixes from 2.10.11. Things that work are due to + Kev, Isomer, Spike, hikari, and probably others; CVS makes it hard + to figure out who did what. Any mistakes are mine. + +2004-05-15 Isomer + + [Original ChangeLog date: 2003-11-05 -MDP] + + * ircd/s_misc.c, ircd/s_user.c: added numnick to SNO_CONNEXIT + messages (so you can match EXIT's to CONN's) + +2004-05-15 Reed Loden + + [Original ChangeLog date: 2003-05-01 -MDP] + + * ircd/s_err.c: Added network to text and edited 001 a bit. + + * ircd/s_user.c: Send network with 001. + +2004-05-15 Michael Poole + + * ircd/s_user.c (add_target): Move free target invite check... + + * ircd/s_user.c (check_target_limit): to here, matching 2.10.11's + behavior. + +2004-05-15 Isomer + + [Original ChangeLog date: 2003-11-23 -MDP] + + * ircd/s_user.c: Don't credit users with an extra attempt if they + are klined/glined, throttle them! + +2004-05-15 Jeekay + + [Original ChangeLog date: 2003-04-24 -MDP] + + * ircd/s_user.c: Altered (K-lined) to depend on find_kill type + +2004-05-15 splidge + + [Original ChangeLog date: 2003-09-03 -MDP] + + * ircd/s_user.c: Made hide_hostmask() not show bogus joins for + channels where the user is a zombie. + +2004-05-15 beware + + [Original ChangeLog date: 2003-10-25 -MDP] + + * ircd/m_whois.c: Fixed /whois comma separated list with wildcards + cpu hog bug + +2004-05-15 Michael Poole + + * ircd/s_conf.c (rehash): Call clear_quarantines on rehash since + 2.10.11 does. Show ident and IP for clients being killed by new + G-lines and K-lines. + +2004-05-15 hikari + + [Original ChangeLog date: 2003-06-27 -MDP] + + * ircd/ircd.c: After thought, update the next check time based on + when an unregistered client should expire. + +2004-05-15 hikari + + [Original ChangeLog date: 2003-06-22 -MDP] + + * ircd/ircd.c: Fixed check_pings() - shouldn't be any problem with + clients not being able to connect anymore. + +2004-05-15 Michael Poole + + * ircd/channel.c (can_join): Revert to using IsInvited() rather + than walking the list directly. + (modebuf_flush_int): Fix errant HEAD_IN_SAND_SNOTICES check to + use feature_bool(FEAT_HIS_SNOTICES) instead. + +2004-05-15 Kevin L Mitchell + + [Original ChangeLog date: 2004-01-31 -MDP] + + * ircd/channel.c (mode_parse_key): don't allow , in keys! + +2003-04-12 David Mansell (splidge) + + [Original ChangeLog date: 2003-04-14 -MDP] + + * ircd/channel.c: When keys and limits conflict on burst, the key + which is first alphabetically or the limit which is lower will be + used by both servers. This matches pre-2.10.11 behaviour. + Closes: (#713930) + +2004-05-15 David Mansell + + [Original ChangeLog date: 2002-12-28 -MDP] + + * ircd/channel.c (mode_parse_limit): don't allow -l when no limit is + set, don't allow -l with negative parameter (or unsigned >2^31). + +2004-05-15 David Mansell + + [Original ChangeLog date: 2002-12-31 -MDP] + + * ircd/m_burst.c (ms_burst): when kicking net riders, clear + invites too. + +2004-05-15 Isomer + + [Original ChangeLog date: 2003-11-04 -MDP] + + * ircd/s_serv.c: Burst glines/jupes early + +2004-05-15 volta + + [Original ChangeLog date: 2003-04-26 -MDP] + + * ircd/m_userip.c, ircd/m_userhost.c: Small fix, that + allows users to see their own ip & hostname. (Should solve + all problems with dcc) + +2004-05-15 Kevin L Mitchell + + [Original ChangeLog date: 2003-06-13 -MDP] + + * ircd/m_settime.c: it's supposed to be %ld, not %l + +2004-05-15 Isomer + + [Original ChangeLog date: 2004-03-20 -MDP] + + * ircd/m_invite.c: Disallow invites to non existant channels + +2004-05-15 David Mansell + + [Original ChangeLog date: 2003-04-26 -MDP] + + * ircd/m_invite.c: let +k users invite into channels they aren't on. + +2004-05-15 hikari + + [Original ChangeLog date: 2003-07-13 -MDP] + + * ircd/IPcheck.c: Fixed (another) overflow problem in + ip_registry_check_local() + + [Original ChangeLog date: 2003-06-29 -MDP] + + * ircd/IPcheck.c: Fixed overflow problem in + ip_registry_connect_fail() + +2004-05-15 Isomer + + [Original ChangeLog date: 2003-05-02 -MDP] + + * ircd/IPcheck.c: Added assert()'s to check for underflow + +2004-05-15 Kevin L Mitchell + + [Original ChangeLog date: 2003-11-22 -MDP] + + * tools/wrapper.c: commit uid on chroot fix from ubra + + * ircd/version.c.SH: fix generation generation + +2004-05-15 Isomer + + [Original ChangeLog date: 2003-11-23 -MDP] + + * ircd/os_*.c, ircd/ircd_features.c: Default changing window sizes + to off. if an admin is smart enough to understand these features + they can enable them manually. + +2004-05-15 splidge + + [Original ChangeLog date: 2003-03-26 -MDP] + + * ircd/include/ircd_features.h, include/ircd_osdep.h, + ircd/ircd_features.c, ircd/listener.c, ircd/os_bsd.c, + ircd/os_generic.c, ircd/os_linux.c, ircd/os_openbsd.c + ircd/os_solaris.c, ircd/s_bsd.c: Patch to allow socket bufs to be + altered via F: lines + +2004-05-15 Isomer + + [Original ChangeLog date: 2003-11-18 -MDP] + + * ircd/s_auth.c, ircd/res_libresolv.c, ircd/res_adns.c: Clean up + the preregistration subsystem allowing customisation of timers, + make the dns resolver stats oper only, and make it much more clear + what all the numbers are. + +2004-05-15 Spike + + [Original ChangeLog date: 2003-11-23 -MDP] + + * ircd/IPcheck.c: Make IPcheck constants configurable + +2004-05-14 Kevin L Mitchell + + [Original ChangeLog date: 2003-11-22 -MDP] + + * ircd/m_nick.c (m_nick): truncate the nickname to the minimum of + the maximum allowed length (NICKLEN) or the allowed nickname + length specified as the NICKLEN feature + + * ircd/ircd_features.c: declare NICKLEN and set its default value + to 9 + + * include/supported.h: add MAXNICKLEN to ISUPPORT and do a little + rearranging... + + * include/ircd_features.h: add NICKLEN feature + + * include/ircd_defs.h (NICKLEN): raise max NICKLEN to 15 + + * doc/readme.features: document new NICKLEN feature + + * doc/example.conf: list new NICKLEN F-line + +2004-05-14 Matthias Crauwels + + [Original ChangeLog date: 2003-06-08 -MDP] + + * ircd/gline.c: fixed the counting bug in gline_memory_count + + * ircd/jupe.c: fixed the counting bug in jupe_memory_count + +2004-05-14 Michael Poole + + * ircd/m_mode.c (ms_mode): Do not always try to call + set_user_mode() when parv[1] is a channel name. + +2004-05-10 Michael Poole + + Implement a per-connection-class default usermode option. + + * doc/example.conf: Illustrate how to use the option. + + * include/class.h (struct ConnectionClass): New "default_umode" + field. + (ConfUmode): New macro. + + * include/client.h (client_get_default_umode): New function. + + * ircd/client.c (client_get_default_umode): Implement it. + + * ircd/ircd_lexer.l (usermode): New token. + + * ircd/ircd_parser.y (classblock, etc): New syntax. + + * ircd/s_user.c (register_user): Set default user modes for user. + This sends the new mode to the user, so the explicit send later + is no longer necessary. + +2004-05-10 Michael Poole + + Forward port of asuka-topicburst.patch from Quakenet's "Asuka" + patch set. + + * include/ircd_features.h (FEAT_TOPIC_BURST): Add new feature. + + * ircd/channel.c (send_channel_modes): If F:TOPIC_BURST:TRUE, + also send a TOPIC to the peer. + + * ircd/ircd_features.c (FEAT_TOPIC_BURST): Add new boolean + feature, defaulting to FALSE. + + * ircd/m_topic.c (do_settopic): Add argument for topic timestamp, + and allow F:HIS_BANWHO to hide the originator of the topic. + (ms_topic): Parse optional timestamp arguments to TOPIC, and use + them to decide whether to ignore the topic. + +2004-05-10 Michael Poole + + Forward port of delayed-join.patch from Quakenet's "Asuka" patch + set (which was a port of code I wrote for the other ircu). + + * include/channel.h (CHFL_DELAYED): New membership flag. + (MODE_DELJOINS, MODE_WASDELJOINS): New channel modes. + (infochanmodes): Add +D to list of supported channel modes. + (IsDelayedJoin, SetDelayedJoin, ClearDelayedJoin): New macros. + (member_can_send_to_channel, client_can_send_to_channel): Add + "reveal" parameter to indicate whether a request should cause + a join-delayed user to become visible. + (RevealDelayedJoin, CheckDelayedJoins): New functions. + + * include/numeric.h (RPL_DELNAMREPLY): New numeric. + + * include/s_user.h (NAMES_DEL): New flag for do_names(). + + * include/supported.h (FEATURESVALUES2): Add +D to list of + supported channel modes. + + * ircd/channel.c (remove_member_from_channel, + member_can_send_to_channel, client_can_send_to_channel, + joinbuf_join): Handle join-delayed users. + (channel_modes, modebuf_flush_int, modebuf_mode, modebuf_flush, + modebuf_extract, mode_process_clients, mode_parse_mode, + mode_parse): Handle delayed-join channels. + (RevealDelayedJoin, CheckDelayedJoins): New functions. + + * ircd/ircd_relay.c (relay_channel_message, relay_channel_notice, + server_relay_channel_message, server_relay_channel_notice): Add + argument for "reveal" parameter to client_can_send_to_channel(). + + * ircd/m_burst.c (ms_burst): Support MODE_DELJOINS channels. + + * ircd/m_clearmode.c (do_clearmode): Support clearing mode +D. + + * ircd/m_join.c (join0): Pass the CHFL_DELAYED flag when parting a + channel with JOIN 0. + + * ircd/m_kick.c (m_kick): For join-delayed members, only send the + KICK to the kicker and kickee. Then check whether +d can be + removed. + + * ircd/m_names.c (do_names): Show join-delayed users if and only + if the NAMES_DEL flag is given. If NAMES_DEL is given, also use + RPL_DELNAMREPLY instead of RPL_NAMREPLY. + (m_names): If NAMES -D, pass NAMES_DEL to do_names(). + + * ircd/m_part.c (m_part, ms_part): Add "reveal" argument for + member_can_send_to_channel(). Set CHFL_DELAYED join in joinbuf if + the user is join-delayed. + + * ircd/m_quit.c (m_quit): Handle join-delayed users and new + argument for member_can_send_to_channel(). + + * ircd/m_topic.c (do_settopic): If a join-delayed channel member + changes the topic, reveal the member. + + * ircd/m_wallchops.c (m_wallchops, ms_wallchops): Add argument for + "reveal" parameter to client_can_send_to_channel(). + + * ircd/m_wallvoices.c (m_wallvoices, ms_wallvoices): Likewise. + + * ircd/m_who.c (m_who): Skip join-delayed members where we skip + zombies. + + * ircd/m_whois.c (do_whois): Use '<' as a prefix for join-delayed + users. Use slightly more efficient macros rather than function + calls to test for ops and voice. + + * ircd/s_err.c (RPL_DELNAMREPLY): New numeric response string. + + * ircd/s_user.c (hide_hostmask): For users with no modes in a + join-delayed channel, do not send JOIN to other members after the + QUIT :Registered. + + * ircd/send.c (sendcmdto_common_channels_butone): Skip + join-delayed users where we skip zombies. + +2004-05-10 Michael Poole + + * ircd/ircd_events.c: Actually reference and try to use the epoll + event engine. Omitted from yesterday's commit. + +2004-05-09 Michael Poole + + Forward port of Paul "Zoot" Chang's pseudo-command.patch and + pseudo-support.patch. + + * doc/example.conf: Illustrate how to use the feature. + + * include/handlers.h (m_pseudo): Declare new handler function. + + * include/ircd_features.h (HIS_STATS_R): Add a feature to control + user visibility of the pseudo-commands. + + * include/msg.h: Add flag and field for the extra information used + to select a pseudo-command's target. + + * include/numeric.h (RPL_STATSRLINE, ERR_SERVICESDOWN): Add + definitions. + + * include/parse.h (register_mapping, unregister_mapping): Declare. + + * include/s_conf.h (struct nick_host, struct s_map, + GlobalServiceMapList): Define. + + * ircd/Makefile.in: Add m_pseudo.c to IRCD_SRC. Add generated + files to "make depend" dependency list. Update dependencies. + + * ircd/ircd_features.c (HIS_STATS_R): Define feature type and + default value. + + * ircd/ircd_lexer.l (pseudo, prepend): Recognize new tokens. + + * ircd/ircd_parser.y: Support "Pseudo" configuration blocks. + + * ircd/parse.c (msgtab): Add initializer for field "extra" to all + commands. + (msg_tree_insert, msg_tree_remove, register_mapping, + unregister_mapping): New functions. + (parse_client): Implement MFLG_EXTRA extra argument passing. + + * ircd/s_conf.c (GlobalServiceMapList): New variable. + + * ircd/s_err.c (RPL_STATRLINE, ERR_SERVICESDOWN): Add format + strings for new numeric responses. + + * ircd/s_stats.c (stats_mapping): New function. + (statsinfo): Add entry for /stats R and make old /stats r entry + case-sensitive. + +2004-05-09 Michael Poole + + * ircd/ircd_parser.y (parse_error): Convert to being a wrapper for + yyerror() so that configuration errors all go to the same place. + + * ircd/s_conf.c: New variables conf_error and conf_already_read. + conf_error is cleared by read_configuration_file() and set by + yyerror(); conf_already_read is set by read_configuration_file() + and never cleared. Make yyerror() display error to stderr before + conf_already_read is set. Make configuration errors a fatal + condition in init_conf(). + +2004-05-09 Michael Poole + + * ircd/Makefile.in: Pass the source directory as an argument to + version.c.SH so it knows where to find the source files for an + out-of-srcdir build. + + * ircd/version.c.SH: Use that information. + +2004-05-09 Michael Poole + + * Makefile.in: Ensure ${prefix}/include exists, since the adns + install puts files in that directory. (The adns Makefile does + not use configure's ${includedir}.) + +2004-05-09 Michael Poole + + * doc/readme.features: The logic for F:AUTOHIDE was removed, but + not its documentation. Fix that omission. + + * include/ircd_features.h, ircd/ircd_features.c: Remove the unused + definitions for FEATURE_AUTOHIDE. + +2004-05-09 Michael Poole + + * doc/readme.who: Document the support for account matching and + display in the WHO command. + +2004-05-09 Michael Poole + + * ircd/ircd.c (main): Move check_pid() call until after we read + the configuration file so that F:PPATH works correctly. + +2004-05-09 Michael Poole + + * ircd/match.c (match): Use ToLower() instead of tolower() for + character comparisons. + +2004-05-09 Michael Poole + + * ircd/s_user.c (register_user): Initialize "flag" (user's old + modes) passed to send_umode() so that the real set of modes are + sent to the user. + +2004-05-09 Michael Poole + + * ircd/m_server.c (ms_server): Apply +h/+s flags only to the new + server, not to a hub between us and the new server. + + * ircd/ircd_relay.c (relay_directed_message): Check FLAG_SERVICE + on target server rather than FLAG_CHSERV (so that directed + messages work at all). + +2004-05-09 Michael Poole + + * configure.in: Add checks for epoll_* system call family. + + * configure: Regenerate. + + * ircd/engine_epoll.c: New file; forward ported from 2.10.11 + branch. + +2004-05-09 Michael Poole + + * include/ircd_alloc.h: Add definitions for MyRealloc, since they + are needed by kqueue and epoll event engines; kill #if 0'd block. + + * include/memdebug.h: Declare dbg_realloc() helper function. + + * ircd/ircd_alloc.c: Implement DoRealloc() helper function. + + * ircd/memdebug.c: Implement dbg_realloc() helper function. + +2004-05-09 Michael Poole + + * ircd/channel.c (find_no_nickchange_channel): Disallow nick + changes on a moderated channel with neither ops nor voice. + + * ircd/s_err.c: Update ERR_BANNICKCHANGE message to match. + +2004-01-20 Perry Lorier + + * ircd/ircd_parser.y: Fixed parser to work with a more modern bison + +2004-01-21 Gavin Grieve + + * ircd/channel.c, include/channel.h: bring forward the IsUserParting() + code to resolve the multiple part messages bug written by Entrope. + +2003-08-12 Timothy Vogelsang + + * ircd/match.c: (match) rewrote function based on existing + code from the hybrid ircd -- death to goto + +2003-07-07 Bas Steendijk + + * ircd/s_user.c: invalidate ban cache for user on host hiding/account + +2003-07-04 Bas Steendijk + + * include/client.h, ircd/m_userhost.c, ircd/m_userip.c, ircd/m_who.c, + ircd/m_whois.c, ircd/whocmds.c: the same code, for "can user A see user + B is an oper", appeared in a lot of places. made it a define SeeOper. + +2003-07-04 Bas Steendijk + * ircd/s_user.c: umode_str (user modes in N token) internal flags var + was not initialized to the user's flags, returned a string with + random modes set. + +2003-07-01 Bas Steendijk + + * ircd/m_names.c: length counter being incremented one too many + for each nick, resulting names reply messages are about 50 chars + shorter than possible. fixed. + +2003-06-29 Bas Steendijk + + * ircd/channel.c: don't ever send mode changes for local channels to + servers. + +2003-06-27 Bas Steendijk + + * include/channel.h, include/client.h, ircd/s_user.c, ircd/s_err.c: + moved the supported channel/user mode strings of the 004 reply from + s_err.c to the header files where the channels/user modes are + defined, and show or hide +Au based on OPLEVELS setting. + +2003-06-25 Bas Steendijk + + * ircd/m_burst.c: Clear topic set by netrider on burst. + +2003-08-05 Diane Bruce + + * ircd/parse.c: Fixed the typo the fix of the typo created + +2003-08-01 Diane Bruce + + * ircd/parse.c: Fixed typo + 2003-06-22 Diane Bruce * ircd/parse.c: Completely rewritten June 2, 2003 - Dianora