Date: Fri, 9 Aug 2013 10:34:14 +0400 From: Pavel Timofeev <timp87@gmail.com> To: Gregory Shapiro <gshapiro@freebsd.org> Cc: freebsd-stable@freebsd.org Subject: Re: Sendmail-8.14.7 doesn't work with MS DNS in IPv4 network Message-ID: <CAAoTqfuvud8rhtWqzFJAyGvqhUDVw-2-Z2c5pHTK%2BoizsXgbcA@mail.gmail.com> In-Reply-To: <CAAoTqfvxwFkPb_MVKEPeRW4s2S5oGUO-s0TFQR%2Bq5BvBUGTKyQ@mail.gmail.com> References: <CAAoTqfurC_A8EsSz=jz4Cpkxj1=JutVnYQ-rpaB5eVyshm1g8w@mail.gmail.com> <20130807160528.GC13555@minime.local> <CAAoTqfvxwFkPb_MVKEPeRW4s2S5oGUO-s0TFQR%2Bq5BvBUGTKyQ@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
I agree with Mark Felder. 2013/8/8 Pavel Timofeev <timp87@gmail.com>: > I tried to revert mentioned patch, i.e. applied this > > --- sendmail/conf.c.orig 2013-08-08 12:28:40.000000000 +0400 > +++ sendmail/conf.c 2013-08-08 12:31:17.000000000 +0400 > @@ -4294,12 +4294,7 @@ > #else /* (SOLARIS > 10000 && SOLARIS < 20400) || (defined(SOLARIS) && > SOLARIS < 204) || (defined(sony_news) && defined(__svr4)) */ > int nmaps; > # if NETINET6 > -# 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 flags = AI_DEFAULT|AI_ALL; > int err; > # endif /* NETINET6 */ > char *maptype[MAXMAPSTACK]; > > Sendmail started to work > > 2013/8/7 Gregory Shapiro <gshapiro@freebsd.org>: >>> 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?CAAoTqfuvud8rhtWqzFJAyGvqhUDVw-2-Z2c5pHTK%2BoizsXgbcA>