1
0
mirror of https://github.com/unrealircd/unrealircd.git synced 2026-06-12 17:14:46 +02:00
Bram Matthys 31005e18b1 Fix extbans in +I not being converted to letter bans to older servers.
This affects servers without NEXTBANS, such as anope 2.0.x series
(anope 2.1.x is not affected as it supports NEXTBANS).

Non-NEXTBANS servers only support letter extbans so we are supposed
to convert ~security-group:known-users to ~G:known-users when sending
to such a server, in unreal_server_compat. And we did this well for
the MODE command for +beI. In SJOIN we did this correctly for +b/+e
but not for +I due to a silly code mistake.

This bug is present since 6.0.0 but wasn't noticed until now.

To be a real problem you need something like:
1. Anope 2.0.x series (or other services without NEXTBANS)
2. A channel with +I extbans
3. KEEPMODES set on that channel

Then what happens is when services boot:
1. UnrealIRCd will sync with anope 2.0.x and incorrectly send
   named bans, which will confuse anope. But nothing strange
   happens yet at this point.
2. Then on next server sync (eg anope restart or unreal restart)
   anope will try to restore these but they end up with weird
   entries like +I *!*@~security-group:known-users
   (note the *!*@ prefix)

And it should be noted that this would also happen in a situation
with UnrealIRCd 5 + UnrealIRCd 6 servers, but UnrealIRCd 5 is
End Of Life anyway.

Reported by BlackBishop and Sadie two days ago. Thanks!
2026-03-13 13:57:41 +01:00
2026-03-04 11:01:05 +01:00
2026-03-06 08:23:30 +01:00
2023-10-04 05:11:12 +00:00
2026-03-06 08:23:30 +01:00
2026-03-06 08:23:30 +01:00
2026-03-06 08:23:30 +01:00
2021-12-06 13:36:12 +01:00
2026-03-04 09:18:20 +01:00

Mastodon Follow Twitter Follow Linux CI

About UnrealIRCd

UnrealIRCd is an Open Source IRC Server, serving thousands of networks since 1999. It runs on Linux, OS X and Windows and is currently the most widely deployed IRCd with a market share of 37%. UnrealIRCd is a highly advanced IRCd with a strong focus on modularity and security. It uses an advanced and highly configurable configuration file. Other key features include: full IRCv3 support, SSL/TLS, cloaking, JSON-RPC, advanced anti-flood and anti-spam systems, GeoIP, remote includes, and lots of other features. We are also particularly proud on our extensive online documentation.

Versions

  • UnrealIRCd 6 is the stable series since December 2021. It is the only supported version.
  • For full details of release scheduling and EOL dates, see UnrealIRCd releases on the wiki

How to get started

Follow the installation guide on the wiki. See:

Documentation and Support

You can find all documentation online at: https://www.unrealircd.org/docs/

We also have a good FAQ: https://www.unrealircd.org/docs/FAQ

If you are in need of support, you can pop up on #unreal-support on irc.unrealircd.org or ask your question on the forums.

Supported systems

We try to support all major *NIX systems: all Linux distros but also NetBSD, OpenBSD and macOS, provided the OS version was released within the past ~5 years.

We use a private BuildBot instance to test each commit. The tested systems are (others are likely to work too):

  • Linux: Debian (10, 11, 12, 13), Ubuntu (18.04, 20.04, 22.04, 24.04, 26.04)
  • FreeBSD: 15
  • Windows: Visual Studio 2019

UnrealIRCd is architecture-agnostic. Most of the BuildBot workers run on x64 but we also have some on x86 and arm64 to ensure these work as well.

S
Description
Languages
C 94.6%
M4 1.8%
Shell 1.5%
Rich Text Format 1%
Makefile 0.6%
Other 0.5%