Known problems in ircd v2.9

This is a list of known problems with ircd 2.9.5:

Please report problems to

This is a list of known problems with ircd 2.9.4:
Linking of the irc(1) client can fail on some (freebsd) systems because of curses library problems. By default ncurses is used if such exists. Use of old curses can be enforced by editing Makefile or by using configure option.

This is a list of known problems with ircd 2.9.3:
Service compability with 2.9.2
The server version 2.9.2 had incomplete and partly broken implementation of services. Service object being passed on from 2.9.3 (or 2.9.2+services) server to 2.9.2 server without service support generates warning messages in both ends of the link.

This is a list of known problems with ircd 2.9.2:
Old resolver code in ircd inherited from ancient bind version allows some abuse.

This is a list of known problems with ircd 2.9.1p1:
mirc client fails on LIST
At least older mirc clients (Win/PC) have been reported to have problems with LIST command. The channels don't get properly shown in the client. To support older versions of mirc, the server admin can #define MIRC_KLUDGE in server to enable the old style LIST reply.
lag on idle connections
The server doesn't process all of its connections properly in all cases. If there is no activity on a client connection, it might get ignored by the server. This can show up as lag for client waiting for data, or as idle 'ghost' session if the client has died.
internal resolver bug
The resolver functions in ircd code have incorrect reference to a data structure. This might cause unpredictable errors.
tune.file corruption
The server can fail to update its ircd.tune file, if there are 256+ connections in use.
duplicate entries in rejects file
Some entries in rejects file get logged twice.

This is a list of known problems with ircd 2.9.1. These problems have been fixed in the patch release(s) above:
Note is broken
The note feature will crash the server if enabled in config.h.
Syslog for connection logging is broken
If both USE_SYSLOG and SYSLOG_CONN are defined, the server will crash.
Error notices about (who)was
There is a harmless initialization error in whowas history code, which causes error notices generated (&ERRORS channel). The notices can be ignored, and they will stop when server has stabilized and restarted.
Debugmode dies easily
Defining DEBUGMODE in config.h makes server die easily. That is because strict triggers for debug purposes.
Server can drop all connections
If the server fails to update its ircd.tune file and specifically the last line there (bufferpool size), it can show up as sudden droppings of all connections. This can be fixed by /die'ing the server, editing the ircd.tune to have bigger value in last line and starting the server again. A value of one megabyte is a good average.
The ircd.tune file is supposed to be updated automatically by the server to keep optimal initialization values over restart.
Resolver code conflicts
On some systems the resolver functions have compiling problems because of conflicts between system and ircd definitions. Often this shows up as redefinition of variable _res. At least resolv+ is known to die on it.
make install
The "make install" fails on some environments. It is recommended that user copies the necessary files by hand to proper destination paths.
HUB makes server slow
The server by default priorizes server connections, and users are served in the second place. The bigger value is defined for HUB in config.h, the slower the server might feel for users. A value of 0 is good for minor hubs. Pure leaf servers for clients can #undef HUB to get best performance.