This release comes with lots of features and enhancements. In particular, security groups and mask items now allow you to write cleaner and more flexible configuration files. There are also JSON logging enhancements and several bug fixes.
WHOIS
identified
, webirc
, tls
and reputation-score
can be used in allow::mask
etc.connect-time
: time a user is connected to IRCsecurity-group
: to check another security groupaccount
: services account namecountry
: country code, as found by GeoIPrealname
: realname (gecos) of the usercertfp
: certificate fingerprintexclude-country
. If a user matches any exclude-
option then it is considered not a match.except
sub-block which is a mask item. The old syntax (e.g. set::antirandom::except-webirc
) is still accepted by UnrealIRCd and converted to the appropriate new setting behind the scenes (set::antirandom::except::webirc
).except
block (a mask item).allow
, oper
, tld
, vhost
, deny channel
, allow channel
./* Spanish MOTD for Spanish speaking countries */
tld {
mask { country { ES; AR; BO; CL; CO; CR; DO; EC; SV; GT; HN; MX; NI; PA; PY; PE; PR; UY; VE; } }
motd "motd.es.txt";
rules "rules.es.txt";
}
security-group irccloud {
mask { ip1; ip2; ip3; ip4; }
}
allow {
mask { security-group irccloud; }
class clients;
maxperip 128;
}
except ban {
mask { security-group irccloud; }
type { blacklist; connect-flood; handshake-data-flood; }
}
password
in the oper block is optional now.oper::auto-login
, which means the user will become IRCOp automatically if they match the conditions on-connect. This can be used in combination with certificate fingerprint authentication for example:security-group Syzop { certfp "1234etc."; }
oper Syzop {
auto-login yes;
mask { security-group Syzop; }
operclass netadmin-with-override;
class opers;
}
except ban {
mask { security-group Syzop; }
type all;
}
geoip
: with subitem country_code
(e.g. NL)tls
: with subitems cipher
and certfp
users
:vhost
: if the visible host differs from the realhost then this is set (thus for both vhost and cloaked host)cloakedhost
: this is always set (except for e.g. services users), even if the user is not cloaked so you can easily search on a cloaked host.idle_since
: last time the user has spoken (local clients only)channels
: list of channels (array), with a maximum of 384 chars.+draft/channel-context
example.es.conf
(Spanish example configuration file)unrealircd.org/geoip
(only to IRCOps).link::outgoing::file
).except ban
with ~security-group:xyz
LINKS
was not blocked.+beI
lists of +P
channels.-o
a service bot (that has umode +S
)set::modes-on-join
did not work with +f
+ timed bans properly, e.g. [3t#b1]:10
set::reject-message
and in blacklist::reason
: previously short forms of variables were (unintentionally) expanded as well, such as $serv
for $server
. This is no longer supported, you need to use the correct full variable names.creationtime
is now communicated of users. Until now this information was only known locally (the thing that was communicated that came close was "last nick change" but that is not the same). This is synced via (early) moddata across servers. Module coders can use get_connected_time()
.RPL_HOSTHIDDEN
is now sent from userhost_changed()
so you don't explicitly send it yourself anymore.SVSO
command is back, so services can make people IRCOp again. See HELPOP SVSO
or the commit for more information.HOOKTYPE_LOCAL_OPER
parameters were changed.HOOKTYPE_JSON_EXPAND_CLIENT
. This is used by the geoip and tls modules.sudo dnf upgrade --refresh --advisory=FEDORA-2022-4a531dff43
Please login to add feedback.
This update has been submitted for testing by robert.
This update's test gating status has been changed to 'ignored'.
robert edited this update.
This update has been pushed to testing.
This update has been submitted for stable by bodhi.
This update has been pushed to stable.