X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=ChangeLog;h=679f92b002f799cb9d57c375d1e77a27c0df8ea2;hb=ab92e415c2830825e90398a776313fb0a7ab1728;hp=49c5f5162025e5be29a3b5e0434a9eca2904f11e;hpb=d85115293499a5f1dc13f17af91a53fa79695712;p=ircu2.10.12-pk.git diff --git a/ChangeLog b/ChangeLog index 49c5f51..679f92b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,380 @@ +2007-07-20 Kevin L. Mitchell + + * ircd/m_gline.c: create abs_expire() macro to convert an expire + timestamp from the network into an absolute time, if needed; + rename expire_off to expire globally, since it now represents an + absolute expiration time; use expire - CurrentTime in gline + forwarding statements; in ms_gline(), use abs_expire() to convert + network expiration timestamp into absolute timestamp; in + mo_gline(), add CurrentTime to oper-provided expiration offset to + convert to absolute timestamp + + * ircd/gline.c: assume expire and lifetime arguments to + gline_add() and gline_modify() are already absolute timestamps; + send lifetime parameter as an absolute timestamp, but leave expire + timestamp as relative as first part of a 2-phase update + +2007-07-12 Perry Lorier + Reconsider how we manage modes before registration, to avoid stats + getting out of sync. + + * ircd/s_user.c (set_user_mode): Add new parameter to set_user_mode to + ignore some modes. + (register_user): Use set_user_mode to parse default usermode for + users. + + * ircd/m_user.c: Add extra parameter to set_user_mode call + + * ircd/s_auth.c: Add extra parameter to set_user_mode call + + * ircd/m_mode.c: Add extra parameter to set_user_mode call + + * ircd/s_misc.c: Verify stats are consistant. + + * include/s_user.h: Change prototype, add flag definitions. + + * ircd/m_lusers.c (m_users): Assert that we're generating sane stats, + include "unknowns" in the total user connections to avoid negative + wrap arounds. + +2007-07-12 Perry Lorier + + * ircd/m_user.c (m_luser): Fix broken RFC 2812 on connect user mode + setting + +2007-05-28 Michael Poole + + * include/numeric.h (ERR_INPUTTOOLONG): New numeric. + + * ircd/s_bsd.c (read_packet): Use it. + + * ircd/s_err.c (replyTable): Give it a format string. + +2007-05-20 Michael Poole + + * ircd/m_burst.c (ms_burst): Do not let bursting servers join a + user to a channel more than once. + +2007-05-20 Michael Poole + + * ircd/ircd_features.c (feature_set): Report new value of feature + for /set. + (feature_reset): Likewise, for /reset. + +2007-05-20 Michael Poole + + * ircd/m_burst.c (netride_modes): Return -1 if someone tries to + remove modes in the burst. + (ms_burst): Check for, and handle, that protocol violation. + +2007-05-20 Michael Poole + + * ircd/m_privs.c (mo_privs): Report "no such nickname" for unknown + nicks in the list. (Unfortunately, the nick is lost before ms_privs.) + +2007-05-20 Michael Poole + + * ircd/listener.c (show_ports): Actually hide hidden ports from + clients that should not see them. + +2007-05-20 Michael Poole + + * ircd/s_err.c (ERR_DONTCHEAT): Add apparently missing %s. + +2007-05-20 Michael Poole + + * ircd/m_connect.c (mo_connect): Return an error to a locop who + tries to do a remote connect. + +2007-05-20 Michael Poole + + * ircd/parse.c (msgtab): Make SETTIME consistent with other + oper commands, in using m_not_oper for non-opered clients. + +2007-05-20 Michael Poole + + * ircd/ircd_parser.y (pseudoblock): Forbid pseudo commands that + are not all alphabetic characters. + +2007-05-20 Michael Poole + + * configure.in (maxcon): Check that maximum connections is + sufficiently large to avoid underflow in MAXCLIENTS. + +2007-05-20 Michael Poole + + * include/supported.h (FEATURES2): Remove extra space. + + * ircd/m_admin.c (m_admin): Only check server mask against our + name, so that it cannot leak information about other linked + servers. + + * ircd/m_version.c (m_version): Likewise. + +2007-04-15 Kevin L. Mitchell + + * ircd/m_gline.c: fix minor typo in code that forwards remote + local activations/deactivations: %c takes characters, not + pointers! + (mo_gline): fix similar typo in code forwarding remote local + G-lines by opers + +2007-04-10 Michael Poole + + * ircd/ircd_parser.y (iauth): Avoid problems related to MyFree's + multiple evaluation of its argument. + +2007-04-10 Kevin L. Mitchell + + * ircd/m_gline.c (ms_gline): lastmod must be non-zero + +2007-04-04 Michael Poole + + * ircd/s_conf.c (rehash): Restart resolver after reading the + config file; this un-breaks the resolver after /rehash if the + ircd.conf contains no "dns server = ;" lines. + +2007-04-01 J. R. Lenz + + * ircd/s_user.c (register_user): Check for host-hiding when fully + registering a user. [Comment added by Entrope.] + +2007-03-31 Michael Poole + + * doc/readme.iauth (IAuth M): Document new command. + + * ircd/m_user.c (m_user): Recognize RFC 2812 mode request and a + saner usermode request. + + * ircd/s_auth.c (iauth_cmd_usermode): New command. + (iauth_parse): Dispatch to it. + + * ircd/s_user.c (set_user_mode): Only broadcast usermode changes + for registered clients. + + * tools/iauth-test (127.0.1.3): Test the new M command. + +2007-03-31 Michael Poole + + * ircd/m_mode.c (m_mode): Check and report target/source + violations before calling set_user_mode(). + (ms_mode): Likewise. + + * ircd/s_user.c (set_user_mode): Remove those checks from here. + +2007-03-31 Michael Poole + + * include/ircd_events.h (struct Generators): Convert elements to + be struct GenHeader*. + (timer_next): Update to match. + + * ircd/ircd_events.c (timer_enqueue): Update to match. + (signal_callback): Likewise. + (timer_init): Remove a typecast with something slightly safer. + (timer_run): Update to deal with new type of Generator.g_timer. + (signal_add): Likewise. + (socket_add): Likewise. + +2007-03-28 Michael Poole + + * ircd/m_asll.c (ms_asll): Count hits and report at the end, so + that a client is told whether any match (and has a hint that only + directly linked servers are checked). + (mo_asll): Likewise. + +2007-03-26 Michael Poole + + * ircd/s_stats.c (m_stats): Move check for STAT_FLAG_LOCONLY (and + the assignment to "param") to the hunted server. + +2007-03-26 Michael Poole + + * ircd/s_auth.c (iauth_parse): Check for missing arguments when + parsing the iauth message. + + * tests/bug-1685648.cmd: New file to test this. + + * tests/iauth-test: New file to exercise the code path. + + * tests/ircd.conf: Use the iauth-test helper program. + +2007-03-26 Michael Poole + + * ircd/m_silence.c (forward_silences): Do not try twice to process + silences that were both added and deleted. + +2007-03-26 Michael Poole + + * ircd/ircd_parser.y (portblock): Restore old behavior for Port + blocks with no host listed. + +2007-03-26 Michael Poole + + * doc/readme.iauth (iauth I): Fix example and syntax. + +2007-03-18 Michael Poole + + * acinclude.m4 (unet_NONBLOCKING): Properly quote function name. + (unet_SIGNALS): Likewise. + (unet_CHECK_TYPE_SIZES): Likewise. + (AC_LIBRARY_NET): Likewise. + +2007-03-18 Kevin L. Mitchell + + * ircd/m_gline.c (mo_gline): add permissions checks I kept + forgetting to add--remote local modifications require + FEAT_CONFIG_OPERCMDS and PRIV_GLINE, local G-lines require + PRIV_LOCAL_GLINE, and global G-line changes (excluding local + activation/deactivation) require FEAT_CONFIG_OPERCMDS and + PRIV_GLINE + +2007-03-17 Michael Poole + + * doc/example.conf (CRule): Document the support for multiple + server masks in a single CRule block. + (Port): Document the optional additional field for vhost entries. + Document the support for multiple vhost entries in a single Port + block. + + * ircd/ircd_parser.y (USE_IPV4): Shift up by 16 bytes. + (USE_IPV6): Likewise. + (portblock): Iterate over hosts rather than using the single host. + (portitem): Add portvhostnumber alternative production. + (portnumber): Check port number here. If valid, combine address + family and port number in "port" variable. If a port-less item + exists in "hosts", set its port number. + (portvhost): Prepend mask to "hosts" list. + (portvhostnumber): New production. + (cruleblock): Iterate over hosts rather than using the single + host. + (cruleserver): Prepend server mask to "hosts" list. + +2007-03-17 Michael Poole + + * ircd/listener.c (add_listener): Only try to create IPv6 sockets + for IPv6-compatible addresses; likewise for IPv4. + +2007-03-17 Michael Poole + + * doc/example.conf (Operator): Update documentation to mention + more than one host entry is allowed. + (Motd): Likewise. + + * ircd/ircd_parser.y (hosts): New file-scope variable. + (free_slist): New helper function. + (operblock): Iterate over hosts instead of using the single host. + (operhost): Prepend the mask to hosts. + (motdblock): Iterate over hosts instead of using the single host. + (motdhost): Prepend the mask to hosts. + (motdfile): Fix possible leak of "pass" string (the filename). + + * ircd/s_conf.c (conf_parse_userhost): Stop freeing the host + string; operblock (the only caller) frees it now. + +2007-03-17 Michael Poole + + * ircd/list.c (free_link): Only decrement the in-use count of + links if we free a link. + +2007-03-17 Kevin L. Mitchell + + * ircd/s_err.c: update replies to handle new fields in + RPL_STATSGLINE and RPL_GLIST--new fields indicate G-line lastmod, + G-line lifetime, and local activation status + + * ircd/m_gline.c: update function documentation for ms_gline(); + move test for server to before mask processing; don't look up + remote server too early; add code to process local activations and + deactivations early in ms_gline(); implement adding and destroying + local G-lines; don't try to locally activate or deactivate G-lines + that don't exist; add code to keep track of which fields were + available to ms_gline(); implement G-line modification and + creation; remove old ms_gline() code; convert + sendwallto_group_butone() calls to Debug() calls; reimplement + mo_gline() to take into account new syntax + + * ircd/gline.c: change gl_rexpire to gl_lifetime to better reflect + its meaning; make sure to set gl_state to GLOCAL_GLOBAL when + G-line expires; add lifetime parameter to make_gline(); disable + overlapping G-line check; initialize gl_lifetime from lifetime + parameter; initialize gl_state to GLOCAL_GLOBAL; update + gline_propagate() to send lifetime parameter; add lifetime + parameter to gline_add(); remove some old code in gline_add(); + figure out lifetime to set on new G-line; remove test for + make_gline() returning NULL, since it should never do so now; add + modify_gline() for modifying global G-lines; add gline_destroy() + for destroying local G-lines; update gline_burst() to send + lifetime parameter; update gline_resend() to send lifetime + parameter; update gline_list() to add lastmod, lifetime, and local + status indicators; update gline_stats() to send lastmod, lifetime, + and local status indicators; count BADCHANs in + gline_memory_count() + + * include/gline.h: add enum GlineLocalState for keeping track of + local state changes to global G-lines; store state in struct + Gline; document enum GlineAction; add GLINE_EXPIRE, + GLINE_LIFETIME, and GLINE_REASON flags to indicate the presence of + those fields to gline_modify(); add GLINE_UPDATE mask for checking + for the above flags; update GlineIsActive() to take into account + new gl_state field in struct Gline; add lifetime to gline_add(); + add gline_modify() for modifying existing global G-lines, and + gline_destroy() for destroying local G-lines + + * doc/readme.gline: update documentation to reflect changes made + to G-line command syntax + +2007-03-17 Michael Poole + + * ircd/umkpasswd.c (parse_arguments): Exit cleanly rather than + aborting on unrecognized arguments. It isn't nice to core on + "umkpasswd --help".. + +2007-03-16 Michael Poole + + * doc/example.conf (Class): Move the "Recommended client classes" + comment to a better place (and stop recommending them). Clarify + what maxlinks does. Make it clear that Operator password entries + only support umkpasswd formats. + +2007-03-16 Michael Poole + + * ircd/ircd.c (parse_command_line): Emit a warning if using -x + when DEBUGMODE is disabled. + +2007-03-16 Michael Poole + + * ircd/s_conf.c (find_conf_exact): Treat maxlinks == 0 as being + unlimited here, to match attach_conf()'s behavior. + +2007-03-16 Kevin L. Mitchell + + * ircd/s_conf.c (find_kill): check FEAT_DISABLE_GLINES prior to + checking for a G-line matching a new user + + * ircd/m_gline.c (ms_gline): rework ms_gline() to handle new + command syntax--although it can parse the new syntax, it doesn't + yet perform the actions demanded by that syntax + + * ircd/ircd_features.c: trap-door feature FEAT_DISABLE_GLINES to + disable G-lines + + * ircd/gline.c: create gliter() macro which performs an iteration + over all G-lines in a specified G-line list; initialize record + expire in make_gline() (to be redone); check FEAT_DISABLE_GLINES + in do_gline(); add and document what happens if GLINE_LOCAL is + passed to gline_find() + + * include/ircd_features.h: trap-door feature FEAT_DISABLE_GLINES + to disable G-lines; intended use: accidental G-line of *@* + + * include/gline.h: add rexpire (record expiration time) field to + gline description structure; add GlineAction enumeration (still + undocumented) to describe actions that may be performed on G-lines + +2007-03-09 Michael Poole + + * include/patchlevel.h (PATCHLEVEL): Bump for .pre11 development. + 2007-03-09 Michael Poole * include/patchlevel.h (PATCHLEVEL): Bump for u2.10.12.10 release.