Tip of the day: Check out Special users on how to give trusted users/bots more rights without making them IRCOp.

Libraries used by UnrealIRCd

From UnrealIRCd documentation wiki
Jump to navigation Jump to search

This is a list of libraries that UnrealIRCd uses (or can use):

Library name Required Shipped Windows Reason for use License
OpenSSL or LibreSSL Yes No Yes Support for SSL/TLS and for other cryptographic functions Dual OpenSSL/SSLeay license or
Apache License v2 (OpenSSL 3.0.0+)
c-ares Yes Yes Yes For DNS lookups MIT license
pcre2 Yes Yes Yes Regular expressions (regex) support in Spamfilter BSD-license
argon2 Yes Yes Yes For Argon2 password hashes support in Authentication types and in encrypted db files Dual: CC0 1.0 or Apache License v2
libsodium Yes Yes Yes For cryptographic functions, mainly for encrypted db files ISC License
jansson Yes Yes Yes JSON library, used by JSON logging and JSON-RPC MIT license
GeoIP No Yes Yes GeoIP lookups by the geoip_classic module LGPL 2.1 or later
curl No No Yes For (better) Remote includes support MIT-like license
libmaxminddb No No No GeoIP lookups by the geoip_maxmind module Apache license v2

On *NIX you only need OpenSSL or LibreSSL on the system. Nearly all other libraries are included in the .tar.gz and used as a fallback, automatically compiled if they are not present on the system. So, installing the libraries on the system is optional (but usually a good idea), as explained in Installing from source.

On Windows the installer includes almost all libraries. The only library that is left out is libmaxminddb. This is due to a (possible) licensing restriction. This isn't important, as most people don't use geoip_maxmind but will use geoip_classic instead (which is the default).

See also