Hello again!
I tagged the first release candidate for our upcoming next „feature release“ of ngIRCd today: ngIRCd Release 22~rc1.
There have been more than 100 individual commits since ngIRCd 21, the NEWS file lists 20 new „features“, please pick your favorite yourself:
• Sync "except lists" between servers: Up to now, ban, invite, and G-Line lists have been synced between servers while linking -- but obviously nobody noticed that except list have been missing ever since. Until now. Thanks to "j4jackj", who reported this issue in #ngircd. • Allow longer user names (up to 63 characters) for authentication. • Increase MAX_SERVERS from 16 to 64: There are installations out there that would like to configure more than 16 links per server, so increase this limit. Best would be to get rid of MAX_SERVERS altogether and make if fully dynamic, but start with this quick and dirty hack ... • Test suite/platformtest.sh: Detect when tests have been skipped. • Allow "DefaultUserModes" to set all possible modes, including modes only settable by IRC Operators. • Implement user mode "F": "relaxed flood protection". Clients with mode "F" set are allowed to rapidly send data to the daemon. This mode is only settable by IRC Operators and can cause problems in the network -- so be careful and only set it on "trusted" clients! User mode "F" is used by Bahamut for this purpose, for example. • Use server password when PAM is compiled in but disabled. • Streamline punctuation of log messages. • Return ISUPPORT(005) numerics on "VERSION". This is how ircd-seven, Charybdis, Hybrid, and InspIRCd behave, for example. • configure: Only link "contrib/Debian" if it exists, which isn't the case on "VPATH builds", for example. • Show the account name in WHOIS. This uses the same numeric as Charybdis and ircu families: WHOISLOGGEDIN(330). • Pattern matching: Remove "range matching" in our pattern matching code using the "[...]" syntax, because [ and ] are valid characters in nick names and one has to quote them currently using the "" character, which is quite unexpected for users. • platformtest.sh: New option "-x", don't regenerate build system and allow using separate source and build trees. • Test suite: explicitly enable glibc memory checking. • Make "MODE -k" handling more robust and compatible, send "fake '*' key" in all replies. • portabtest: Actually test the functions snprintf(), strlcpy(), strlcat(), and vsnprintf() for correctness, not only existence (which was quite useless, because if they weren't available, the program could not have been linked at all ...). • Implement new configuration option "Network": it is used to set the (completely optional) "network name", to which this instance of the daemon belongs. When set, this name is used in the ISUPPORT(005) numeric which is sent to all clients connecting to the server after logging in. • Update doc/Platforms.txt. • Various code cleanups, remove unused code, streamline error handling. Remove all imp.h and exp.h header files, support non-standard vsnprintf() return codes, and fix some K&R C portability issues. Streamline DEBUG_ARRAY, DEBUG_BUFFER, DEBUG_IO, DEBUG_ZIP definitions. • Increase penalty time to 10 seconds when handling OPER commands with an invalid password.
Please test this release candidate thoroughly and report all glitches, problems, errors, and regressions you encounter! Best is to file bugs and feature requests here:
ngIRCd Bug Tracker: http://ngircd.barton.de/bugzilla/
You can find more information on our homepage at http://ngircd.barton.de/ and its mirror http://http://ngircd.mirror.3rz.org/.
The primary download locations is:
• http://ngircd.barton.de/pub/ngircd/
And as usual: a big THANKS to all users, bug reporters, contributors, packagers, and supporters!
Have fun! Alex