Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 7 Aug 2013 09:05:29 -0700
From:      Gregory Shapiro <gshapiro@freebsd.org>
To:        Pavel Timofeev <timp87@gmail.com>
Cc:        freebsd-stable@freebsd.org
Subject:   Re: Sendmail-8.14.7 doesn't work with MS DNS in IPv4 network
Message-ID:  <20130807160528.GC13555@minime.local>
In-Reply-To: <CAAoTqfurC_A8EsSz=jz4Cpkxj1=JutVnYQ-rpaB5eVyshm1g8w@mail.gmail.com>
References:  <CAAoTqfurC_A8EsSz=jz4Cpkxj1=JutVnYQ-rpaB5eVyshm1g8w@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
> 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().




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20130807160528.GC13555>