This is UnrealIRCd 6.1.0 stable. It is the direct successor to 6.0.7, there will be no 6.0.8.
This release contains several channel mode
+f enhancements and introduces a new channel mode
+F which works with flood profiles like
+F normal and
+F strict. It is much easier for users than the scary looking mode
UnrealIRCd 6.1.0 also contains lots of JSON-RPC improvements, which is used by the UnrealIRCd admin panel. Live streaming of logs has been added and the webpanel now communicates to UnrealIRCd which web user issued a command (e.g.: who issued a kill, who changed a channel mode, ..).
Other improvements are whowasdb (persistent
WHOWAS history) and a new guide on running a Tor Onion service. The release also fixes a crash bug related to remote includes and fixes multiple memory leaks.
+F(uppercase F). This allows the user to choose a "flood profile", which (behind the scenes) translates to something similar to an
+fmode. This so end-users can simply choose an
+Fprofile without having to learn the complex channel mode
+F normaleffectively results in
+fwill override the ones of the
+Fprofile. To see the effective flood settings, use
MODE #channel F.
set::anti-flood::channel::default-profile. This profile is used if the channel is
-F. If the user does not want channel flood protection then they have to use an explicit
+Fdetect that a flood is caused by >75% of "unknown-users", the server will now set a temporary ban on
~security-group:unknown-users. It will still set
+iand other modes if the flood keeps on going (e.g. is caused by known-users).
+Fjoin-flood protection for 75 seconds (
set::anti-flood::channel::split-delay). This because a server splitting could mean that server has network problems or has died (or restarted), in which case the clients would typically reconnect to the remaining other servers, triggering an
+Fjoin-flood and channels ending up being
+iand such. That is not good because UnrealIRCd wants
+Fto be as effortless as possible, with as little false positives as possible.
0. This because in such a scenario only 1/5th (20%) of the users would reconnect and hopefully don't trigger
WHOWAShistory): this saves the
WHOWAShistory on disk periodically and when UnrealIRCd terminates, so next server boot still has the
WHOWAShistory. This module is currently not loaded by default.
listen::spoof-ip, only valid when using UNIX domain sockets (so
listen::file). This way you can override the IP address that users come online with when they use the socket (default was and still is
listen::spoof-ipand optionally requires a services account.
+R) has been improved, it now shows:
user.getnow support an optional argument
object_detail_levelwhich specifies how detailed the Channel and User response object will be. Especially useful if you don't need all the details in the list calls.
log.unsubscribeto allow real-time streaming of JSON log events.
rpc.set_issuerto indiciate who is actually issuing the requests. The admin panel uses this to communicate who is logged in to the panel so this info can be used in logging.
rpc.del_timerso you can schedule JSON-RPC calls, like stats.get, to be executed every xyz msec.
unrealircd.org/issued-bywhich is IRCOp-only (and used intra-server) to communicate who actually issued a command. See docs.
modules.list. The default configuration does NOT enable the webserver nor does it cause listening on any socket for RPC, for that you need to follow the JSON-RPC instructions.
::1from banning by default (hardcoded in the source). Previously UnrealIRCd exempted whole
127.*but that gets in the way if you want to allow Tor with a require authentication block or soft-ban. Now you can just tell Tor to bind to
127.0.0.2so its not affected by the default exemption.
WSOP_PONGframe is unmasked (now permitted).
cmode.free_paramdefinition changed. It now has an extra argument
int softand for return value you will normally
return 0here. You can
return 1if you resist freeing, which is rare and only used by
cmode.flood_type_actionwhich can be used to indicate a channel mode can be used from +f/+F as an action. You need to specify for which flood type your mode is, e.g.
cmode.flood_type_action = 'j';for joinflood.
\n(newline) so multiple parallel requests can be handled properly.
unrealircd.org/issued-by, sent to IRCOps only. See docs.
Please login to add feedback.