When a module was unloaded (for good) that used MODDATATYPE_CLIENT or MODDATATYPE_LOCAL_CLIENT we walked the client_list/lclient_list and freed the moddata entry for all these clients, but we did not walk the unknown_list, so connections in process. That's bad, because sometimes such moddata is allocated in HOOKTYPE_HANDSHAKE or in other routines pre-connect and since we skipped freeing them while the module was still loaded, it means we leak memory since it is also not freed on user exit. Since unloading modules permanently is not a common procedure, combined with the timing of it happening during a handshake, it took a while before this issue was found (and then easily fixed). There's also another moddata issue, but that is for next commit. [skip 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 38%. 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, 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. All new features go in there.
- UnrealIRCd 5 is the oldstable series. It is End Of Life. Only security bugs will be fixed until June 30, 2023, after which all support will stop.
- 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 & FAQ
You can find all 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