Hello again, on a dual stacked system, having shishid(8) listen on a naive AF_INET6 wildcard address, is causing a bind failure for any AF_INET wildcard address. It is better to set the socket option IPV6_V6ONLY on all AF_INET6 listening sockets in order that no AF_INET socket be rejected, causing an annoying error message of no use. Patch included.
Best regards, Mats E A
>From e32501684d96e690d56c76dca1b0856edbfe81b3 Mon Sep 17 00:00:00 2001 From: Mats Erik Andersson <[email protected]> Date: Wed, 15 Aug 2012 09:39:28 +0200 Subject: [PATCH] shishid: Use single stacked AF_INET6 sockets. On dual stacked hosts, running an AF_INET6 wildcard socket blocks AF_INET wildcards. Make it single stacked using IPV6_V6ONLY instead. --- src/shishid.c | 11 +++++++++++ 1 files changed, 11 insertions(+), 0 deletions(-) diff --git a/src/shishid.c b/src/shishid.c index ebc128d..25fd468 100644 --- a/src/shishid.c +++ b/src/shishid.c @@ -63,6 +63,17 @@ kdc_listen (void) goto error; } +#ifdef IPV6_V6ONLY + if (ls->ai.ai_family == AF_INET6) + { + yes = 1; + if (setsockopt (ls->sockfd, IPPROTO_IPV6, IPV6_V6ONLY, + (char *) &yes, sizeof (yes)) < 0) + error (0, errno, "Cannot restrict %s to AF_INET6 only.", + ls->addrname); + } +#endif + yes = 1; if (setsockopt (ls->sockfd, SOL_SOCKET, SO_REUSEADDR, (char *) &yes, sizeof (yes)) < 0) -- 1.7.2.5
_______________________________________________ Help-shishi mailing list [email protected] https://lists.gnu.org/mailman/listinfo/help-shishi
