[PATCH 1/2] Fix sin_len/sin6_len handling

Timur I. Bakeyev timur at freebsd.org
Sun Jul 1 23:24:05 UTC 2018

Hi, James!

You seems did a big job chasing IPv6 address handling. I've recently hit
the same problem, but my fixes were not so extensive...

Couple of questions regarding your patch:

On 1 July 2018 at 21:16, James Clarke via samba-technical <
samba-technical at lists.samba.org> wrote:

> Signed-off-by: James Clarke <jrtc27 at jrtc27.com>
> -static bool parse_ipv6(const char *s, const char *ifaces, unsigned port,
> ctdb_sock_addr *saddr)
> +static bool parse_ipv6(const char *s, const char *ifaces, unsigned port,
> struct sockaddr_in6 *sin6)

What is the reason and benefit of going from  ctdb_sock_addr(which is a
union, that contains struct sockaddr_in6 as well) to struct sockaddr_in6?

> +    conf.CHECK_STRUCTURE_MEMBER('struct sockaddr_in6', 'sin6_len',
> +                                headers='sys/socket.h netinet/in.h',
> +                                define='HAVE_SOCK_SIN6_LEN')
> +

As I'd like this code to work on FreeBSD as well - can you, please, add
'netinet6/in6.h' to the list of the verified headers? It's safe to just add
it to the list - it won't be used if not present in the system.

With best regards,
Timur Bakeyev.

More information about the samba-technical mailing list