Gregory's new patch for sm_os_freebsd.h worked.
2013/8/9 Gregory Shapiro <[email protected]>: > Can you put back the original sendmail/conf.c file and try this patch instead > to verify it works? If so, I can plan to commit it to HEAD and MFC to the > various branches (with re permission to the 9.2 branch). This would be a > short term fix until the next sendmail release where we will revisit this > section of code. > > --- contrib/sendmail/include/sm/os/sm_os_freebsd.h 2008-08-27 > 22:53:56.000000000 -0700 > +++ contrib/sendmail/include/sm/os/sm_os_freebsd.h 2013-08-09 > 10:21:12.000000000 -0700 > @@ -39,3 +39,7 @@ > #ifndef SM_CONF_MSG > # define SM_CONF_MSG 1 > #endif /* SM_CONF_MSG */ > + > +#ifndef SM_IPNODEBYNAME_FLAGS > +# define SM_IPNODEBYNAME_FLAGS AI_DEFAULT|AI_ALL > +#endif /* SM_IPNODEBYNAME_FLAGS */ > > > > On Fri, Aug 09, 2013 at 10:34:14AM +0400, Pavel Timofeev wrote: >> I agree with Mark Felder. >> >> 2013/8/8 Pavel Timofeev <[email protected]>: >> > 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 <[email protected]>: >> >>> 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(). >> >> >> _______________________________________________ [email protected] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "[email protected]"
