1
0
mirror of https://github.com/unrealircd/unrealircd.git synced 2026-07-04 14:53:12 +02:00
Files
unrealircd/doc/RELEASE-NOTES.md
T
2021-08-27 20:16:32 +02:00

3.4 KiB

UnrealIRCd 6

This is UnrealIRCd 6's latest git, bleeding edge. Do not use on production servers!

  • Newlog:
    • Explain basic idea
    • New log format on disk
    • Messages can be multiline (+)
    • New log { } block format (TODO: auto-convert old style?)
    • JSON logging (optional)
    • Snomasks work different now
    • Colored logs, explain where/when used and how to turn off
    • CAP unrealircd.org/json-log
  • Named extbans
  • Geo ip: tell how it works and where it is available/used/shown main configuration:
  set { geoip {
    check-on-load yes; // check all users already connected and add geoip info to them on module load
    whois-for-anyone no; // display country info in whois: yes for all users, no for opers only
  };};

geoip_csv module: always compiled, file locations:

  set { geoip-csv {
    ipv4-blocks-file "GeoLite2-Country-Blocks-IPv4.csv"; // don't set for ipv6-only
    ipv6-blocks-file "GeoLite2-Country-Blocks-IPv6.csv"; // don't set for ipv4-only
    countries-file "GeoLite2-Country-Locations-en.csv"; // required
  };};

geoip_maxmind module: compiled when system libmaxminddb is present, file location:

  set { geoip-maxmind {
    database "GeoLite2-Country.mmdb";
  };};

geoip_classic module: compiled when --enable-geoip-classic=yes added to configure, file locations:

  set { geoip-classic {
    ipv4-database "GeoIP.dat"; // don't set for ipv6-only
    ipv6-database "GeoIPv6.dat"; // don't set for ipv4-only
  };};

None of these modules are loaded by default

  • TLS cipher and some other information is now visible for remote clients as well, also in [secure: xyz] connect line.
  • Remote includes support:
    • Use an URL anywhere that you use a file
    • Support for https:// is always available, even without curl
  • IRCv3: MONITOR, invite-notify, setname, draft/metadata, draft/extended-monitor
  • Lots of code cleanups / API breakage
  • We now (try to) kill the "old" server when a server links in with the same name, handy when the old server is a zombie waiting for ping timeout.
  • Error messages in remote includes use the url instead of temp file
  • Something with cloaking
  • Downgrading is only supported down to 5.2.0, not lower, otherwise make a copy of your reputation db etc.
  • Antirandom no longer has fullstatus-on-load: maybe warn and ignore the option rather than failing? Was this in the default conf?
  • /REHASH -motd and -opermotd are gone, just use /REHASH
  • Invite: set set::normal-user-invite-notification yes; to make chanops receive information about normal users inviting someone to their channel. (Not completely sure about the setting name)
  • Websocket: you can add a listen::options::websocket::forward 1.2.3.4 option to make unrealircd accept a Forwarded (RFC 7239) header from a reverse proxy connecting from 1.2.3.4 (plans to accept legacy X-Forwarded-For and a proxy password too)

API:

  • Bump from unrealircd-5 to unrealircd-6
  • Where do I start...
  • Newlog
  • ConfigEntry, ConfigFile (c22207c4ca)
  • get_channel() is now make_channel() and creates if needed, otherwise use find_channel()
  • Extban api breakage
  • Message tag api breakage
  • ModData MODDATA_SYNC_EARLY
  • For adjusting fake lag use add_fake_lag(client, msec)
  • Some client/user struct changes: eg client->uplink->name, check log for all..

Protocol:

  • SJOIN followups
  • NEXTBANS
  • Bounced modes are gone
  • SLOG

FIXME: (wrong) server delinking in case of error may be an issue