1
0
mirror of https://github.com/unrealircd/unrealircd.git synced 2026-07-10 17:23:13 +02:00
Bram Matthys 57d0efbc58 Recode textbans so voiced users cannot bypass them.
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.
2020-09-26 13:43:46 +02:00
2020-07-15 13:47:49 +02:00
2020-07-15 13:47:49 +02:00
2019-12-06 11:00:35 +01:00
2020-07-15 13:47:49 +02:00
2020-07-15 13:47:49 +02:00
2020-07-15 13:47:49 +02:00
2000-02-28 22:45:44 +00:00
2019-08-18 11:19:18 +02:00

Twitter Follow

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

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