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:
And as usual: a big THANKS to all users, bug reporters, contributors,
packagers, and supporters!
I'm looking forward to use ngIRCd on my Debian box. I need simple as
possible ircd with one feature: allow users to protect his nick names from
overtaking. It can be done with NICKSERV bots. Unfortunately Debian has no
nickserv services packaged yet and this is not an option.
I see ngIRCd has PAM module authentication support which can help me a lot.
I can configure ngIRCd to use PAM but I do not know how to allow non
registered users to join using PAM.
Can you suggest PAM configuration file, which is going to allow ALL users
to connect, but ask for password for registered users on system (or pwd
file). This will allow me to protect registred names and allow guests to
connect to the server.
That would be nice if this will appears in ngIRCd documentation as well.
I'm trying to switch my very old IRC server from using ircd (from 10 years
ago) to the newer ngircd. I've been mulling over the old ircd config trying
to understand the Y, C and H lines that were put there long ago.
However, I'm having trouble figuring out how to translate all these old
config lines into the ngircd format.
Has anyone else ported over old configs understand them enough to provide
ngIRCd 21.1 has been configured with the following options:
Compiler: /usr/local/musl/bin/musl-gcc -std=gnu99
Compiler flags: -g -O2 -pipe -W -Wall -Wpointer-arith -Wstrict-prototypes -fstack-protector -DSYSCONFDIR='"$(sysconfdir)"' -DDOCDIR='"$(docdir)"'
'ngircd' binary: /usr/local/sbin
Configuration file: /usr/local/etc
Manual pages: /usr/local/share/man
Syslog support: yes Enable debug code: no
zlib compression: no IRC sniffer: no
Use TCP Wrappers: no Strict RFC mode: no
IDENT support: no IRC+ protocol: yes
IPv6 protocol: no I/O backend: epoll(), select()
PAM support: no SSL support: no
libiconv support: no
the executable works ("runs") as expected --+
tests run successfully ("make check") --+ |
ngIRCd compiles ("make") --+ | |
./configure works --+ | | |
| | | |
Platform Compiler ngIRCd Date Tester C M T R *
--------------------------- ------------ ---------- -------- -------- - - - - -
x86_64/unknown/linux-gnu gcc 4.4.5 21.1 14-09-13 goetz Y Y Y Y 1
$ uname -a
Linux s1.hoffart.de 2.6.32-5-amd64 #1 SMP Sat Jul 12 16:47:57 UTC 2014 x86_64 GNU/Linux
$ cat /etc/debian_version
the username length is set to 20 in the source code. (defines.h CLIENT_USER_LEN)
I need to use authentication on our irc server. But unfortunately our user id that we can use is the email address. There is no other shorter uid yet.
The email addresses are of course longer then 20 for most of the users.
Do you see a problem of increasing this value to 50? Except that max messages length will be shorter.
I mean if I would change it, do other parts of the code need to be changed? Or could there maybe strange problems in whatever cases?
I tested it and it works in general, but I still wanted to ask.
Is it possible to connect couple of ngircds using '/connect <IP-address>' command when you are IRCOP?
I tried such command in irc-client (Xchat):
/connect 192.168.1.2 6667
In both cases I saw message: ' 192.168.1.2 : No such server '
In configuration file I have no any [Server] sections except default where all directives are commented.
Hmm... config file is fully default actually :)