Skip site navigation (1)Skip section navigation (2)
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>