Archived

This forum has been archived. Please start a new discussion on GitHub.

Resolved: DNSException on FreeBSD

When creating an object adapter without specifying a host/ip address (so listen on all interfaces) you will get a DNSException (error code 9) on FreeBSD.

This is caused by the call to getaddrinfo in Network.cpp, which passes a port number and not a service name in the servname argument. FreeBSD's implementation of getaddrinfo is not RFC-compliant (RFC3493) in that respect, because it does report this error, when a port number is given as servname and ai_socktype is not specified in the hints structure passed.

To make a long story short: The bug in FreeBSD's implementation of getaddrinfo finally has been fixed and FreeBSD 7.2 (which will be released within the next few weeks), should contain that fix.

Anybody who is facing these issues on FreeBSD should upgrade or apply the patch presented in the PR at:
bin/51827: [libc] [patch] getaddrinfo(3) is broken with numeric service

The scary part is, that this PR originally dates back to 2003 (FreeBSD 4.8).