[ircd-ratbox] ircd-ratbox-2.0.4 released

Lee H lee at leeh.co.uk
Thu Dec 2 20:32:52 EST 2004

Not wishing to incite murphy here, but we're hoping that this release
fixes the last major bug thats known and whats been preventing 2.0.x 
being reclassified as 'stable'.  Time will tell..

md5sum: 1e622d96bf8fa345db3cdb118597acb1

This is the current release version of the 'testing' tree of ircd-ratbox.

NOTE: Whilst every effort has been made to make sure this code is usable, it
      is still not classified as a stable release.  You assume full
      responsibility for running this on a production network.

doc/whats-new.txt contains important lists of changes between 2.0 and 1.5 -
it is important you read this file before upgrading.

-- ircd-ratbox-2.0.4
- fix a core when an oper did /quote uid
- revert kqueue code to that from 1.x 
- allow remote xlines that match existing xlines to propagate
- fix an adns compile error
- allow local opers to squit local servers
- new config option in general {}; default_invisible = yes|no; default no.
  controls whether users are made +i by default on connect
- move stats A to RPL_STATSDEBUG, removing RPL_STATSALINE
- fix a memory leak in the auth code
- disable oneshot with kqueue, it appears to fix the IO errors

-- ircd-ratbox-2.0.3
- disable '"' as a valid char in xline/resv reasons 
- disable "\"," in an xline - it makes it unparsable
- add translation of \s in an xline to a space
- invite_ops_only = yes|no; default yes
  controls whether unopped users may issue invites to a -i channel
- default reject cache to on
- various unkline related cleanups
- tweak memory allocation sizes for large networks, this increases
  startup memory by quite a bit, so unless you are on a 5000+ user
  network pass --enable-small-net
- merge upstream version of adns
- fix another possible double exit of clients
- new format of RPL_LOCALUSERS and RPL_GLOBALUSERS (265/266) which makes
  them parsable, in coordination with ircnet:
  :%s 265 %s %d %d :Current local users %d, max %d
-- ircd-ratbox-2.0.2
- fix a possible overflow with SJOIN when converting nicks -> ids
- new flags in shared {};, tkline, txline and tresv, allowing temp only of
  kline, xline and resv respectively.
- new flags in cluster {}; tkline, txline and tresv which will cluster
  only the temp of each type.  kline, xline and resv will now *only*
  cluster the permanent ones of each type.
- enforce top-down ordering of shared {}; blocks.  The first one that
  matches on server and user at host will be used.  The users access will then
  depend on that shared blocks privs and we will NOT fallback to another
  that matches and has the right privs.
- cluster {}; no longer allows remote opers to apply remote klines etc, it
  simply dictates who we send our bans to.  To allow remote servers to
  cluster to a server it must have its own shared {}; block.
- fix possible server exists issue whilst waiting for connect callback
- exempt users messaging themselves from +g
- fix a core with removing accepts
- fix connect {}; to refcount classes properly
- memleak fixes with operator {}; passwords, conf parser and dns code
- fix some padding issues with ipv6
- added umode +C, an extended version of +c thats machine parsable and gives
  the two other fields given in the USER command
- add some debugging code to help track down a problem with the abort_list
- fix a problem with --with-nicklen in configure

-- ircd-ratbox-2.0.1
- fix sending UIDs out on modes for voiced users
- fix a core with the patricia and ipv4 builds
- memory cleanups
  - dynamically allocate channel name
  - dynamically allocate channel bans
  - cleanups to struct LocalUser
  - stuff moved from struct Client -> struct LocalUser
  - build defaulted to ipv4, ip storage cleanups

-- ircd-ratbox-2.0.0
- fix another memleak with capab
- fix a core when exiting an unknown client and generating an io error
- check for auth {}; not having any valid user at host's, so we dont add an
  empty ConfItem to lists
- make servermodes come from actual server, not local server
- new conf option to general {};, disable_fake_channels which disallows
  creation/joining of channels with bold, underline, reverse, mirc colour
  and hard space.  Note, this may impact some non-english charsets.
- fix location of pid path back to etc/
- fix autoconf msg result on --enable-profile

-- ircd-ratbox-2.0rc9
- fixed default module dirs being removed on rehash
- fix spy notices for info/links/motd
- fix '@' and '#' in resvs
- fix reject cache expiration
- fix a memory leak with stacked user at hosts in oper {};
- fix a minor buffer overflow with oper privs
- fix bitlens in reject cache
- fix rejected clients possibly being exited twice
- MyFree() no longer resets what its free()'ing to NULL, fixed associated 
- fix memleak with capab

-- ircd-ratbox-2.0rc8
- fix silly autoconf issues
- fix an old reject cache bug
- fix a getopt bug

-- ircd-ratbox-2.0rc7
- try to autoconnect on startup
- nick resvs now allow @ and # like xlines do
- refix poll() brokeness
- fix redundant dline checking
- fix fuserlog and failed connection notices to show where a user is identd
  or not
- rename invisible to hidden_oper for 1.x compatability
- remove restricted flag from auth {};
- add support for make DESTDIR and configure allowing more configurable 
  paths for modules, helpfiles, etc..
- fix resource exhaustion issue with unregistered clients
- fix stats Z counter rollerover issue, report kB instead of bytes

-- ircd-ratbox-2.0rc6
- we werent opening logfiles properly on boot
- stats T shows how many clients are in delayed exit
- fix a core with logging glines from hyb6 servers
- add a "client_auth" hook so people can hook into clients connecting
- add back io send debug hooks
- nick delay length is now in stats z
- kills are now in their own logfile, fname_killlog and formatted nicer
- kline log has been rewritten to be machine parsable
  see doc/logfiles.txt
- unresv over encap had wrong parc count
- add operspy/hidden_oper to shown operprivs
- fix for poll() issues with cpu
- contrib/m_olist.c now has operspy logging
- cleaned up how we test and mark clients as dead to (hopefully) fix a core

-- ircd-ratbox-2.0rc5
- fix rejected clients sometimes also ending up on the abort_list
- append reason to joining juped channel notice
- dont replace a clients ident when theyre unidented, if its supposed
  to be spoofed

-- ircd-ratbox-2.0rc4
- fix expiry of temp xlines/resvs
- split stats q/Q and x/X to show temp/perm
- fix problem with ::1 as a host
- fix select() support
- fix operspy logging on /who !*mask*
- add ELIST 005 numeric
- allow servers to issue version requests, for compatibility
- /quote set maxclients is now an alias for /quote set max
- update of manpage via Jeremy
- raise default split_delay to 60s
- add rehash TXLINES/TRESVS
- fix reject cache free()'ing a dlink_node it doesnt allocate
- all /quote set options now use n!u at h{oper} instead of nick
- fix a couple of tests for deadness after parsing data
- fix coming out of splitmode when we use split_delay and we arent
  out of split anymore when the delay ends
- fix a possible double exit of aborted clients
- prefix the exempt notice for Y: properly

-- ircd-ratbox-2.0rc3
- dont allow external messages to a +m channel
- fix an IO error with rejected clients
- match() speedup for special case of "*"
- remove some debug asserts that are quite evil
- fix propagation of TS6 JOIN on +k channels
- DEFAULT_SENDQ is now 20mb
- default sendq_eob is now 0 rather than DEFAULT_SENDQ, so itll just fall
  back to class sendq if its not set.
- EOB command is gone, now always emulated over PING/PONG, fixing a
  bug with sendq_eob
- fix SID leak in PONG
- fix invalid error string in "Error connecting to.." notice on timeout
- fix a memory leak with local clients
- add sendq_eob to stats Y
- fix the reject cache list ordering
- quick and simple channel list searches on min/max users: LIST <n,>m
- misplaced ':' in stats T
- remove bogus assert in free_conf()

-- ircd-ratbox-2.0rc2
- only attempt to propagate modes if we actually need to
- updated convertilines to take account of new conf format
- ilog() now properly handles an error during writing
- rehash/SIGHUP now close/reopen logfiles
- reject list is now ordered by time, for efficiency
- fix the time_t formatting stuff, now always uses %ld, casted to (long)
- fix remote klines that werent accepted causing a rehash
- fix no libz and compression check in parser
- we were (wrongly) showing 'E' in stats C if a servers password is
- added an (unused) type field to xlines over ENCAP, for compatibility with
  other ircds which have it.  Temporary xlines, or xlines sent over a hyb6
  hub will NOT work between between 2.0rc2 and earlier versions anymore.
- implemented operspy stuff, same as 1.x
- added m_testmask.c, given a user at host mask, gives anonymous stats on how
  many local/remote clients match the mask:
  <- :stable.lan 724 anfl *@*.goat 1 0 :Local/remote clients match
- fixed problems when removing modes due to an SJOIN/JOIN if MAXMODEPARAMS
  wasnt 4
- fix a buffer overflow when removing bans
- ignore ERR_NOSUCHSERVER directed at us, happens naturally now.
- removed warning when clock runs backwards, happens naturally from ntp
- first param of RPL_STATSXLINE is now the amount of times that xline has
  been used to reject a client
- "SAFELIST" added to 005
- rewrote testline to be somewhat more useful
- added testgecos to test a gecos against xlines
- fix a core on an external privmsg to a -n channel
- check for empty sjoins more thoroughly

-- ircd-ratbox-2.0rc1
- fix servlink errors with high fds
- fix typo in conf parser, "autocon" instead of "autoconn"
- add a quick netwide EOB via PING/PONG
- add challenge.pl, for irssi
- fixed LOCOPS to go over ENCAP when no CAP_CLUSTER is available
- fix core on passworded auth when user doesnt send a password
- added hash statistics via stats B
- fixed the server ip hiding mess.  HIDE_SERVERS_IPS now either hides to
  everyone or noone.
- fix core in CIDR channel bans
- make channel hash bigger for better results
- fixed dead clients ending up on abort list
- operspy log [and others] had a double \n
- fix core in AWAY
- gline/klinelog were inverted
- fix possible core in rejectcache when walking the patricia
- ClearOper() was setting clients to have local handlers
- fix a buffer overflow in MODE
- fix a nick delay core
- unglines are now logged in a consistent format with glines
- balloc now memset()'s on alloc
- locops propagation was missing a ':'
- convertconf is gone
- default compression_level is now 4
- fixed remote ban logic, which caused a desync
- always use "0::1" etc instead of "::1" in sockhost, as it breaks TS6.

-- ircd-ratbox-2.0b5
- AWAYLEN added to 005, shows maximum length of an away message.  Default is
  now 90, not TOPICLEN
- kick/part/quit now use REASONLEN (120) rather than TOPICLEN
- challenge.irc update
- fix a core when using rsa keys in operator {};
- fix challenge not working for the first user=""; line in operator {};
- log for outbound connect is now "*[name] @host" over "*[host] @host"
- updated example_module.c documenting new API [via koitsu]
- {compressed|encrypted|topicburst|autoconn} = {yes|no} is gone in connect
  {}; - replaced with flags = compressed, encrypted, topicburst, autoconn;
  for consistency
- fixed problem with long passwords
- fixed strdup() check
- fix servlink overstepping bounds of array
- fixed global capabs to not lose capabilities we dont ourselves support
- disallow servernames beginning with a digit, as they break TS6
- fix errors when attempting to send to clients we just had a read error for
- allow blank gecos fields
- fixed modules not removing hooks properly on unload

-- ircd-ratbox-2.0b4
- fixed stats L
- fixed hunt_server() breaking parv[]
- fix the configure tests for darwin
- fix the hostname hash
- HTM is gone - it didnt work properly
- TRACE no longer lists unknowns to remote opers
- fixed kline checking on spoofs, need to test bitmask rather than
- fixed a core when a user on a TS6 server joined a +lk channel
- m_join.c is now a core module
- fixed a core in /info
- fixed /who leaking hopcount during flatten_links
- fixed serverhiding leaks
- fixed dns/host issue with ::1
- fixed local +beI to collapse ** into *

-- ircd-ratbox-2.0b3
- fix ipv6 on openbsd
- fix a possible core when parsing auth {};
- spoofs are now checked against klines
- speedups to kline finding
- fixed up contrib/
- ltrace/omode in contrib are gone
- added LOC_CHANNELLEN, max length of a channel local user may join,
  currently 50
- fix the user exit log
- trace spy now contains target param if its a single user
- fixed KILL logic for TS6
- fixed error logging in init_netio()
- fixed PRIVMSG/NOTICE to not bounce back to source on fake direction

-- ircd-ratbox-2.0b2
- new hash function which should ease collisions on UIDs
- fix to remove local clients from &me.serv->clients, which broke map count
- broken writev() support removed
- fixed problem with kill reasons
- fixed trace
- removed support for sigio
- support for global capabilities
- support for propagating temp xlines/resvs, note these can only be done to
  2.x servers
- remote servers can now introduce nicks beginning with a digit
- fix a core with invalid nicks
- added SIDs to /map
- support for remote commands (kline, unkline etc) over ENCAP
- proper encap handlers in struct Message.  This breaks any modules designed
  for 2.0b1 -- to fix add "mg_ignore," after the server handler.
- fix various problems with connect blocks that are marked for removal being
- UIDs from a remote server are now validated

-- ircd-ratbox-2.0b1
No release notes, please see whats-new.txt


BUGS: Major bugs in this release are listed in BUGS

BUG REPORTS: If you run this code and encounter problems, you must report
the bug by EMAIL to ircd-ratbox at lists.ratbox.org

Please include a gdb backtrace and keep the core file, binaries and 
modules in case the developers need them.

DISCUSSION: There is a mailing list for discussion of ratbox issues,
 To subscribe, visit:

You may also (if youre lucky) find us on #ratbox at EFNet

Other files recommended for reading: BUGS, README.FIRST, INSTALL

$Id: RELNOTES,v 2004/12/03 01:18:57 leeh Exp $

More information about the ircd-ratbox mailing list