[ something ate my message, second try ]
Hello,
there's a longstanding issue in ngircd, at least on (Debian) Linux using glibc: Some tests in src/festsuite rely on a certain order of the entries in /etc/hosts.
Appearently the first entry that points to 127.0.0.1 is returned when getnameinfo, same for gethostbyaddr, is called for that IP address. Up to three tests (misc, who, whois) assume the result is or begins with "localhost", and will fail otherwise.
This usually happens if the administrator of the site where ngircd is built has decided to have an entry about the host name at the first place in /etc/hosts. Now I'm not aware whether there's a rule about this at all. And even if, it is violated that often I'd call it a bad idea to try educating users. Instead, ngircd should work around it.
Two ways I can think of:
Before running the tests, call getnameinfo on 127.0.0.1 and patch any non-"localhost*" result into the expect files. This looks kludgy, especially since some tests use pattern matching like in 'send "who ??cal*ho*\r"'. So after a few hours of trying, a second idea:
Enhance ngircd's resolver to resolve 127.0.0.1 into "localhost" no matter what. To avoid surprises, this should be controllable by another command line option. Using LD_PRELOAD during the tests was a variant.
Thoughts?
Christoph