Mailing List Archive

CNAME Lookup Failure, after BIGDNS Patch
I have verified that the C.K.Davis's BigDNS Patch has been applied to my
NetQmail System. However, the 64K limit is being exceeded by at least one
domain, fb.com,
and qmail keeps querying for more records than it needs, it ultimately
bounces with a CNAME lookup failure.

How can this be resolved?

Thanks
Re: CNAME Lookup Failure, after BIGDNS Patch [ In reply to ]
Thus said Michael DiMartino on Fri, 16 Oct 2015 11:13:35 -0400:

> I have verified that the C.K.Davis's BigDNS Patch has been applied to
> my NetQmail System. However, the 64K limit is being exceeded by at
> least one domain, fb.com, and qmail keeps querying for more records
> than it needs, it ultimately bounces with a CNAME lookup failure.

I've never used the BigDNS patch. You probably really want this:

http://marc.info/?l=qmail&m=134062672511072&w=2

Andy
--
TAI64 timestamp: 400000005621efe0
RE: CNAME Lookup Failure, after BIGDNS Patch [ In reply to ]
Andy,

Thank you for getting back me, much appreciated.

I have a question re: this patch. The file dns.c has already been patched with the BigDNS patch. Should I run the patch on the patched file or should I get a fresh copy, patch it, and then run make setup check?

-----Original Message-----
From: "Andy Bradford" <amb-sendok-1447656636.hkefmchejfmdcinejnfa@bradfords.org>
Sent: ‎10/‎17/‎2015 2:58 AM
To: "Michael DiMartino" <michael@hudsonstreet.us>
Cc: "qmail List" <qmail@list.cr.yp.to>
Subject: Re: CNAME Lookup Failure, after BIGDNS Patch

Thus said Michael DiMartino on Fri, 16 Oct 2015 11:13:35 -0400:

> I have verified that the C.K.Davis's BigDNS Patch has been applied to
> my NetQmail System. However, the 64K limit is being exceeded by at
> least one domain, fb.com, and qmail keeps querying for more records
> than it needs, it ultimately bounces with a CNAME lookup failure.

I've never used the BigDNS patch. You probably really want this:

http://marc.info/?l=qmail&m=134062672511072&w=2

Andy
--
TAI64 timestamp: 400000005621efe0
Re: CNAME Lookup Failure, after BIGDNS Patch [ In reply to ]
Hi Michael,

this patch essentially *disables* the DNS ANY query with is the source of your problem.

You can guess it, since this is the essential part which became removed:

- switch(resolve(sa,T_ANY))
- {
- case DNS_MEM: return DNS_MEM;
- case DNS_SOFT: return DNS_SOFT;
- case DNS_HARD: return loop;
- default:
- while ((r = findname(T_CNAME)) != 2)
- {
- if (r == DNS_SOFT) return DNS_SOFT;
- if (r == 1)
- {
- if (!stralloc_copys(sa,name)) return DNS_MEM;
- break;
- }
- }
- if (r == 2) return loop;
- }

The patch leaves the CNAME query useless:

int dns_cname(sa)
stralloc *sa;
{
+ return 0;
}

If you delete the respective lines in your version within dns.c you are done.

regards.
—eh.


Am 17.10.2015 um 18:05 schrieb Michael Di Martino <mdm100@gmail.com>:

> http://marc.info/?l=qmail&m=134062672511072&w=2

---
Dr. Erwin Hoffmann | FEHCom | http://www.fehcom.de | PGP Key-Id: 7E4034BE
RE: CNAME Lookup Failure, after BIGDNS Patch [ In reply to ]
Erwin,

Just to be clear delete the respective lines and run make setup check?

Thanks..

Mike D

Sent from my Windows Phone

-----Original Message-----
From: "Erwin Hoffmann" <feh@fehcom.de>
Sent: ‎10/‎17/‎2015 12:30 PM
To: "Michael Di Martino" <mdm100@gmail.com>
Cc: "qmail List" <qmail@list.cr.yp.to>; "Andy Bradford" <amb-sendok-1447656636.hkefmchejfmdcinejnfa@bradfords.org>
Subject: Re: CNAME Lookup Failure, after BIGDNS Patch

Hi Michael,


this patch essentially *disables* the DNS ANY query with is the source of your problem.


You can guess it, since this is the essential part which became removed:


- switch(resolve(sa,T_ANY))
- {
- case DNS_MEM: return DNS_MEM;
- case DNS_SOFT: return DNS_SOFT;
- case DNS_HARD: return loop;
- default:
- while ((r = findname(T_CNAME)) != 2)
- {
- if (r == DNS_SOFT) return DNS_SOFT;
- if (r == 1)
- {
- if (!stralloc_copys(sa,name)) return DNS_MEM;
- break;
- }
- }
- if (r == 2) return loop;
- }

The patch leaves the CNAME query useless:


int dns_cname(sa)
stralloc *sa;
{+ return 0; }

If you delete the respective lines in your version within dns.c you are done.


regards.
—eh.




Am 17.10.2015 um 18:05 schrieb Michael Di Martino <mdm100@gmail.com>:


http://marc.info/?l=qmail&m=134062672511072&w=2


---
Dr. Erwin Hoffmann | FEHCom | http://www.fehcom.de | PGP Key-Id: 7E4034BE
Re: CNAME Lookup Failure, after BIGDNS Patch [ In reply to ]
Hi,

AFAIK, that would do it (I use a similar approach in my s/qmail).

It is indeed the ANY Query which kills the DNS due to the presence of (probably) DNSSEC and other RR for this CNAME.

regards.
—eh.

Am 17.10.2015 um 18:36 schrieb michael@hudsonstreet.us:

> Erwin,
>
> Just to be clear delete the respective lines and run make setup check?
>
> Thanks..
>
> Mike D
>
> Sent from my Windows Phone
> From: Erwin Hoffmann
> Sent: ‎10/‎17/‎2015 12:30 PM
> To: Michael Di Martino
> Cc: qmail List; Andy Bradford
> Subject: Re: CNAME Lookup Failure, after BIGDNS Patch
>
> Hi Michael,
>
> this patch essentially *disables* the DNS ANY query with is the source of your problem.
>
> You can guess it, since this is the essential part which became removed:
>
> - switch(resolve(sa,T_ANY))
> - {
> - case DNS_MEM: return DNS_MEM;
> - case DNS_SOFT: return DNS_SOFT;
> - case DNS_HARD: return loop;
> - default:
> - while ((r = findname(T_CNAME)) != 2)
> - {
> - if (r == DNS_SOFT) return DNS_SOFT;
> - if (r == 1)
> - {
> - if (!stralloc_copys(sa,name)) return DNS_MEM;
> - break;
> - }
> - }
> - if (r == 2) return loop;
> - }
>
> The patch leaves the CNAME query useless:
>
> int dns_cname(sa)
> stralloc *sa;
> {
> + return 0;
> }
>
> If you delete the respective lines in your version within dns.c you are done.
>
> regards.
> —eh.
>
>
> Am 17.10.2015 um 18:05 schrieb Michael Di Martino <mdm100@gmail.com>:
>
>> http://marc.info/?l=qmail&m=134062672511072&w=2
>
> ---
> Dr. Erwin Hoffmann | FEHCom | http://www.fehcom.de | PGP Key-Id: 7E4034BE
>
>

---
Dr. Erwin Hoffmann | FEHCom | http://www.fehcom.de | PGP Key-Id: 7E4034BE
Re: CNAME Lookup Failure, after BIGDNS Patch [ In reply to ]
Erwin

My issue is resolved now. Thank you for your assistance.

In review, i removed the following lines, as per Eriwin's
instructions, from the dns.c file and then ran "make setup check"

- switch(resolve(sa,T_ANY))
- {
- case DNS_MEM: return DNS_MEM;
- case DNS_SOFT: return DNS_SOFT;
- case DNS_HARD: return loop;
- default:
- while ((r = findname(T_CNAME)) != 2)
- {
- if (r == DNS_SOFT) return DNS_SOFT;
- if (r == 1)
- {
- if (!stralloc_copys(sa,name)) return DNS_MEM;
- break;
- }
- }
- if (r == 2) return loop;
- }




Mike Di Martino, CEO/Founder
M: +1 631 988 6060
F: +1 206 202 1807
E: michael@hudsonstreet.us
W: www.hudsonstreet.us



On Sat, Oct 17, 2015 at 1:06 PM, Erwin Hoffmann <feh@fehcom.de> wrote:

> Hi,
>
> AFAIK, that would do it (I use a similar approach in my s/qmail).
>
> It is indeed the ANY Query which kills the DNS due to the presence of
> (probably) DNSSEC and other RR for this CNAME.
>
> regards.
> —eh.
>
> Am 17.10.2015 um 18:36 schrieb michael@hudsonstreet.us:
>
> Erwin,
>
> Just to be clear delete the respective lines and run make setup check?
>
> Thanks..
>
> Mike D
>
> Sent from my Windows Phone
> ------------------------------
> From: Erwin Hoffmann <feh@fehcom.de>
> Sent: ‎10/‎17/‎2015 12:30 PM
> To: Michael Di Martino <mdm100@gmail.com>
> Cc: qmail List <qmail@list.cr.yp.to>; Andy Bradford
> <amb-sendok-1447656636.hkefmchejfmdcinejnfa@bradfords.org>
> Subject: Re: CNAME Lookup Failure, after BIGDNS Patch
>
> Hi Michael,
>
> this patch essentially *disables* the DNS ANY query with is the source of
> your problem.
>
> You can guess it, since this is the essential part which became removed:
>
> - switch(resolve(sa,T_ANY))
> - {
> - case DNS_MEM: return DNS_MEM;
> - case DNS_SOFT: return DNS_SOFT;
> - case DNS_HARD: return loop;
> - default:
> - while ((r = findname(T_CNAME)) != 2)
> - {
> - if (r == DNS_SOFT) return DNS_SOFT;
> - if (r == 1)
> - {
> - if (!stralloc_copys(sa,name)) return DNS_MEM;
> - break;
> - }
> - }
> - if (r == 2) return loop;
> - }
>
>
> The patch leaves the CNAME query useless:
>
> int dns_cname(sa)
> stralloc *sa;
> {
>
> + return 0;
>
> }
>
>
> If you delete the respective lines in your version within dns.c you are
> done.
>
> regards.
> —eh.
>
>
> Am 17.10.2015 um 18:05 schrieb Michael Di Martino <mdm100@gmail.com>:
>
> http://marc.info/?l=qmail&m=134062672511072&w=2
>
>
> ---
> Dr. Erwin Hoffmann | FEHCom | http://www.fehcom.de | PGP Key-Id: 7E4034BE
>
>
>
> ---
> Dr. Erwin Hoffmann | FEHCom | http://www.fehcom.de | PGP Key-Id: 7E4034BE
>
>
>