Sendmail-8.14.7 doesn't work with MS DNS in IPv4 network

Lee Dilkie lee at dilkie.com
Wed Aug 7 18:22:29 UTC 2013


On 8/7/2013 12:05 PM, Gregory Shapiro wrote:
>> I found a problem in new FreeBSD 9.2-{BETA2,RC1} which uses Sendmail-8.14.7.
>> If you try to send email from FreeBSD 9.2 in IPv4 network with MS DNS
>> you won't receive it.
>> But in same time email passes from FreeBSD 9.1-RELEASE which uses
>> Sendmail-8.14.5.
> The recent release made the following change:
>
> --- sendmail/conf.c	25 Jan 2011 18:31:30 -0000	8.1168
> +++ sendmail/conf.c	5 Apr 2013 17:39:09 -0000	8.1182
> @@ -4726,7 +4726,12 @@
>  #else /* (SOLARIS > 10000 && SOLARIS < 20400) || (defined(SOLARIS) && SOLARIS < 204) || (defined(sony_news) && defined(__svr4)) */
>  	int nmaps;
>  # if NETINET6
> -	int flags = AI_DEFAULT|AI_ALL;
> +#  ifndef SM_IPNODEBYNAME_FLAGS
> +    /* For IPv4-mapped addresses, use: AI_DEFAULT|AI_ALL */
> +#   define SM_IPNODEBYNAME_FLAGS	AI_ADDRCONFIG
> +#  endif /* SM_IPNODEBYNAME_FLAGS */
> +
> +	int flags = SM_IPNODEBYNAME_FLAGS;
>  	int err;
>  # endif /* NETINET6 */
>  	char *maptype[MAXMAPSTACK];
>
> Which is described in this release note:
>
>         Drop support for IPv4-mapped IPv6 addresses to prevent the MTA
>                 from using a mapped address over a legitimate IPv6 address
>                 and to enforce the proper semantics over the IPv6
>                 connection.  Problem noted by Ulrich Sporlein.
>
> It looks like that SERVFAIL from Microsoft's DNS server is getting
> in the way of that.  I can look at adding this exception to
> WorkAroundBrokenAAAA as a possibility for a future release.
>
> I'd also like to hear feedback on whether the above change (changing
> getipnodebyname() flags from 'AI_DEFAULT | AI_ALL' to 'AI_ADDRCONFIG' went
> too far and what the accepted norm is for getipnodebyname().
>

getipnodebyname() is deprecated... getaddrinfo() should be used in this ipv6 world instead.

-lee




More information about the freebsd-stable mailing list