imclient broken on Solaris 9
Stephen Grier
s.e.grier at qmul.ac.uk
Wed Mar 16 06:33:50 EST 2005
Dear all,
We've got Cyrus-imapd-2.2.10 running on on a Solaris 9 box, and
everything is fine, except for the cyradm utility, which fails with:
cyradm --user admin imap-test
imclient_connect: unknown host "imap-test" at /usr/local/lib/perl5/site_perl/5.8.5/sun4-solaris/Cyrus/IMAP/Admin.pm line 71.
Having done some debugging, the problem appears to be the getaddrinfo()
call of the imclient_connect() function of lib/imclient.c. It does not
appear to like the AI_CANONNAME flag as defined in netdb.h, and returns
EAI_BADFLAGS "invalid ai_flags". If I change line 238 to:
hints.ai_flags = 2;
(which is how AI_CANONNAME is defined in lib/gai.h) cyradm works as
expected.
So the getaddrinfo() call in imclient_connect seems to expect
AI_CANONNAME to be as defined in lib/gai.h rather than as defined in
netdb.h. And this only seems to happen on Solaris 9, not Solaris 7/8.
Does anyone know why this is happening? I have found a couple of
references on this issue in the info-cyrus archives, but nothing
conclusive. We can work with the above fix for now, but I'd rather know
exactly what's going on here.
Regards,
Stephen
--
Stephen Grier
Systems Developer
Computing Services
Queen Mary, University of London
---
Cyrus Home Page: http://asg.web.cmu.edu/cyrus
Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
More information about the Info-cyrus
mailing list