Cyrus imapd 2.3.7 mupdate - getaddrinfo: service not supported for ai_socktype

Phil Pennock info-cyrus-spodhuis at spodhuis.org
Fri Nov 3 10:09:01 EST 2006


On 2006-11-03 at 06:14 -0800, Mark wrote:
> I'm in the process of setting up Cyrus imapd 2.3.7 on OpenBSD 4.0
> server.
> This is a back end server, to be part of 2.2.12 murder setup already in
> place. master starts fine, then when it executes ctl_mboxlist -m it
> failes with this error in syslog:
> Nov  3 03:00:26 testimap ctl_mboxlist[90]: getaddrinfo(192.168.20.8)
> failed: service not supported for ai_socktype
> 
> Version 2.2.12 works fine and connect to murder master without errors.

On the same system?

> Does anyone have any ideas what might be happening?

That error message is a complaint that the service (port) name can't be
mapped, so getaddrinfo() is returning EAI_SERVICE.

Are you sure that "imap" is listed in /etc/services as a tcp service?

Checking the OpenBSD source for 4.0, <URL:http://www.openbsd.org/cgi-bin/
cvsweb/src/lib/libc/net/getaddrinfo.c?rev=1.56&content-type=text/
x-cvsweb-markup>, there are four places which can return EAI_SERVICE.
The first three don't apply, since imapd isn't asking for a raw socket
and isn't specifying a number (and even if it were it's SOCK_STREAM so
numbers are allowed).  That just leaves a failure of getservbyname().

getservbyname() does no fancy stuff, it just asks for the various
services, looping through them all until it finds the right item.
AFAIK, OpenBSD doesn't support nsswitch; I could be wrong.  So there's
just a file lookup.

So it looks like an /etc/services issue.  OpenBSD's services includes
imap by default; has it been removed?

Regards,
-Phil


More information about the Info-cyrus mailing list