1
0
mirror of https://github.com/unrealircd/unrealircd.git synced 2026-07-07 13:23:13 +02:00
Bram Matthys b078a9c8b5 Fix cut-off and expansion issues with MODE, which is a possible problem when
using mixed UnrealIRCd 5 and UnrealIRCd 6 networks.

This is a slightly complex rewrite of make_mode_str() and do_mode(),
as we nog go from single mode lines to potentially multiple mode lines.

In short: whenever we would be near buffer cut-off point (the famous
512 byte limit) then previously we would prevent the mode, though not
succesfully in all cases where a network consists of mixed 5.x and 6.x.
From this point onward we no longer do that. Instead we convert one
MODE command to two MODE lines if that is needed.
The benefit of this is that we no longer prevent it BEFORE processing
the MODE, which is a flawed method and could be wrong (causing desyncs).
And also, we no longer partially ignore MODE lines from clients when
they would cause the limit to be exceeded, as we replace them with
two MODE lines instead.

These are more changes than I wanted at such a late point but.. they seem
to be necessary to prevent U5-U6 compatibility issues.
2021-11-19 13:53:21 +01:00
2021-11-06 19:05:14 +01:00
2021-11-06 19:05:14 +01:00
2000-02-28 22:45:44 +00:00
2019-08-18 11:19:18 +02:00
2021-09-24 11:33:26 +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%