On Tue, May 17, 2016 at 08:27:42AM -0500, Brent Cook wrote:
> This patch came by way of the openntpd github. Linux (and possibly others)
> will attempt to bind to 0.0.0.0 when binding to '::' and return an error if
> it can't, unless IPV6_V6ONLY is set. See
> https://github.com/openntpd-portable/openntpd-portable/issues/19
> 
> OK as an in-tree patch? OpenBSD seems to adopt a more liberal
> interpretation and not return a failure in the same scenario. (The patch
> against the 5.7 tree, but you get the idea)
> 

I'm ok as far as I'm concerned and would like to do the same with
OpenSMTPD to reduce delta with portable ;-)

I haz an ok from jca@ on the idea


> diff -uNr openntpd-5.7p4/src/server.c new/src/server.c
> --- openntpd-5.7p4/src/server.c 2015-03-25 04:18:56.000000000 +0300
> +++ new/src/server.c    2016-03-05 18:06:07.946888570 +0300
> @@ -40,6 +40,7 @@
>         size_t                   sa6len = sizeof(struct in6_addr);
>         u_int                    new_cnt = 0;
>         int                      tos = IPTOS_LOWDELAY;
> +       int                      on = 1;
>         int                      rdomain, fd;
> @@ -139,6 +140,12 @@
>                     IPPROTO_IP, IP_TOS, &tos, sizeof(tos)) == -1)
>                         log_warn("setsockopt IPTOS_LOWDELAY");
> 
> +#ifdef IPV6_V6ONLY
> +               if (la->sa.ss_family == AF_INET6 && setsockopt(la->fd,
> +                   IPPROTO_IPV6, IPV6_V6ONLY, &on, sizeof(on)) == -1)
> +                       log_warn("setsockopt IPV6_V6ONLY");
> +#endif
> +
>                 if (la->rtable != -1 &&
>                     setsockopt(la->fd, SOL_SOCKET, SO_RTABLE, &la->rtable,

-- 
Gilles Chehade

https://www.poolp.org                                          @poolpOrg

Reply via email to