[icinga-devel] [patch] IPv6 support for nrpe and check_nrpe

Florian Obser florian at narrans.de
Fri Aug 27 00:45:49 CEST 2010


On 08/25/2010 05:46 PM, MIke Becker wrote:
> Hi,
> Thanks for the submission. I have tried the Patch also on my icinga-nrpe
> branch. It seems to work very good but it seems that depending on the
> glibc Version the default socket is different (at my side the default
> one was an IPv4 Socket). Also i have thought about the problem that IPv4

Can you provide information on what OS and or distribution this happens?

> is in the RFC a Part of IPv6 why not making IPv6 default and mapping
> IPv4 requests in it ?

getaddrinfo is supposed to do exactly this. But this will only work on
hybrid IPv4/IPv6 stacks. On systems where the stacks are separate, the
feature is disabled or not implemented at all you will get a a socket
listening on one address family. This is only an issue with in6addr_any,
e.g. no server_address was configured.
The correct and portable solution for this seems to be listening on two
sockets one for INADDR_ANY (IPv4) and one for in6addr_any (IPv6). I have
to read up on the details on how this works. But I expect it to be a
total pain in the ass. For completeness sake I'm probably going to
implement it.

One could always run the daemon from inetd and only use the patched
check_nrpe binary.

(There is the second issue of getaddrinfo being a superset of what the
original nrpe does: One can now configure a name for server_address but
one will only get one listening socket. I'm not going to address this
issue because server_address is supposed to be an address if provided. I
would consider raising an error if a name is configure if I can figure
out how to do this).

> Regards,
> Mike

More information about the icinga-devel mailing list