Reported by Adanaran in https://bugs.unrealircd.org/view.php?id=5698 Although voiced users normally bypass bans, it is not really logical for them to bypass filtering of banned words, since that is normally a policy decission by channel management. So +v will not bypass it. 1) The problem is that this is enforced at the ban layer API. The extban routines, textban in this case, are not called when the user is voiced, because voiced users bypass bans. If we would change that in the ban API then voiced users can also no longer talk through (=bypass) regular +b or other extended +b such as ~a (account) etc. 2) I figured we would then make +T not use the ban API but the can_send_to_channel hook instead. However, then you have to do manual looping through bans and such, it's rather ugly from a coding point of view, and you risk "missing" things like ~T stacked with ~t. 3) Then I went back to look if the ban API could be changed by having the textban module set a flag and then the ban api would call that specific module still for voiced users. While starting on that, unfortunately things (variables, arguments) cascaded quickly into having to change all kinds of underlying functions that would break the module API. 4) I then went back to option 2 and implemented it, trying to deal with all its caveats.
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 42%. UnrealIRCd is a highly advanced IRCd with a strong focus on modularity, an advanced and highly configurable configuration file. Key features include SSL/TLS, cloaking, its advanced anti-flood and anti-spam systems, swear filtering and module support. We are also particularly proud on our extensive online documentation.
How to get started
Please consult our excellent online documentation at https://www.unrealircd.org/docs/ when setting up the IRCd!
Step 1: Installation
Windows
Simply download the UnrealIRCd Windows version from www.unrealircd.org
Alternatively you can compile UnrealIRCd for Windows yourself. However this is not straightforward and thus not recommended.
*BSD/Linux/macOS
Do the following steps under a separate account for running UnrealIRCd, do NOT compile or run as root.
Step 1: Compile the IRCd
- Run
./Config - Run
make - Run
make install - Now change to the directory where you installed UnrealIRCd, e.g.
cd /home/xxxx/unrealircd
Step 2: Configuration
Configuration files are stored in the conf/ folder by default (eg: /home/xxxx/unrealircd/conf)
Create a configuration file
If you are new, then you need to create your own configuration file: Copy conf/examples/example.conf to conf/ and call it unrealircd.conf. Then open it in an editor and carefully modify it using the documentation and FAQ as a guide (see below).
Step 3: Booting
Linux/*BSD/macOS
Run ./unrealircd start in the directory where you installed UnrealIRCd.
Windows
Start -> All Programs -> UnrealIRCd -> UnrealIRCd
Documentation & FAQ
You can find the documentation online at: https://www.unrealircd.org/docs/
We also have a good FAQ: https://www.unrealircd.org/docs/FAQ
Website, support, and other links
- https://www.unrealircd.org - Our main website
- https://forums.unrealircd.org - Support
- https://bugs.unrealircd.org - Bug tracker
- ircs://irc.unrealircd.org:6697/unreal-support - IRC support