[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

irc 2.11.0 fdopen bug



Hello,

I am sorry to inform that some platforms (Solaris[1], SGI[2]) have
fdopen implementation, which doesn't work with fd bigger than 255.

This affects ircd 2.11.0 if compiled with CONFIG_DIRECTIVE_INCLUDE
define (default off) and MAXCONNECTIONS more than about 250. It is
triggered by REHASH (either oper-issued or kill -HUP), when open()
for ircd.conf returns fd bigger than 255.

A quick program to check:
    http://42.pl/ircd/patches/test-fdopen.c
Note that it only checks 256 limit; your fdopen() may behave wrong
for bigger fds, check on your own with MAXCONNECTIONS.

There's a patch to apply to ircd, if you are affected:
    http://42.pl/ircd/patches/irc2.11.0-fdopen.diff
    ftp://ftp.irc.org/irc/server/irc2.11.0-fdopen.diff

Workaround: do not rehash. ;-)

Once again I am sorry for that.

p.

[1] Checked on 2.6, 8 and 9.
[2] So I've heard.

-- 
Beware of he who would deny you access to information, for in his
heart he dreams himself your master.   -- Commissioner Pravin Lal
http://nerdquiz.sgh.waw.pl/  -- polska wersja quizu dla nerdów ;)