Mats Erik Andersson <[email protected]> writes:

> This behaviour is present if GNU Inetutils is compiled with IPv6 support:
>
>    $ ./src/logger -6 -h gnu.org -p user.debug Testing IU-logger
>    ./src/logger: no address associated with name, gnu.org:syslog.
>
>    $ echo $?
>    1
>
> It is in a situation where compilation was done without IPv6 support,
> that the logger client takes the liberty of ignoring `-6', uses IPv4,
> sends the message, and emits a warning for the user. Thus it is really
> single stacked IPv4-machines that are expected to rescue the user.
> On all up to date machines the options `-4' and `-6' will abort with
> errors if the host, port, and source are not able to fit the chosen
> domain.

Ah, right.  How does 'telnet' behave if IPv6 is not supported and the
user provides -6?

>> 
>> Typically users won't use --ipv4 or --ipv6 but rather use a hostname,
>> and let the getaddrinfo() do its magic of selecting ipv4 vs ipv6, right?
>
> This is an important point. Presently I have set AF_UNSPEC when both
> flags are missing (and the compilation had "#define HAVE_IPV6 1").
> Since UDP is carrying the message, this means that any dual stacked
> host with existing A and AAAA DNS-entries might be contacted via a
> domain where the syslog service does not listen, if it was set up
> in an asymmetric manner.
>
> Can it be argued that AF_INET still should be the default?
> Bearing in mind that the migration to IPv6 is still in its
> beginning. I do not know for certain yet.

I suspect we won't know the best long-term solution here, but I mildly
prefer AF_UNSPEC too but realize that some people may find that
problematic.

/Simon

Reply via email to