Re: [Pdns-users] Recursor v3.2 and v3.3 malformed answer in case of big response from authoritative

2011-04-12 Thread bert hubert
On Mon, Apr 11, 2011 at 05:11:41PM +0200, bert hubert wrote:
 On Mon, Apr 11, 2011 at 04:53:16PM +0200, Thor Spruyt wrote:
  Last week I discovered an issue with recursor v3.2.

Hi Thor,

Thanks! You've uncovered an interesting bug which was quite devious. It has
been solved in http://wiki.powerdns.com/trac/changeset/2150

The problem was that powerdns would indeed try to serve infinitely large
answers over TCP/IP, even though TCP/IP answers are still limited to 65KB.

However, since yesterday the domain auinmeio.com.br appears to have
developed its own problems, so it still does not resolve, but for a new
reason. It looks like it is just broken.

Can you verify using
http://svn.powerdns.com/snapshots/pdns-recursor-3.4-pre.tar.bz2 ?

Bert
___
Pdns-users mailing list
Pdns-users@mailman.powerdns.com
http://mailman.powerdns.com/mailman/listinfo/pdns-users


Re: [Pdns-users] Recursor v3.2 and v3.3 malformed answer in case of big response from authoritative

2011-04-12 Thread Thor Spruyt
Bert,

Quick check is looking good ...

[thor@tns125 named]$ dig -t MX auinmeio.com.br @195.130.158.234
;; Truncated, retrying in TCP mode.

;  DiG 9.3.6-P1-RedHat-9.3.6-4.P1.el5_4.2  -t MX auinmeio.com.br 
@195.130.158.234
;; global options:  printcmd
;; Got answer:
;; -HEADER- opcode: QUERY, status: NOERROR, id: 24511
;; flags: qr rd ra; QUERY: 1, ANSWER: 1569, AUTHORITY: 0, ADDITIONAL: 1353
;; Query time: 282 msec
;; SERVER: 195.130.158.234#53(195.130.158.234)
;; WHEN: Wed Apr 13 01:22:30 2011
;; MSG SIZE  rcvd: 65531

Apr 13 01:22:30 tns125 pdns_recursor[16024]: 1 [36] question for 
'auinmeio.com.br.|MX' from 195.130.158.234
Apr 13 01:22:30 tns125 pdns_recursor[16024]: 1 [36] answer to question 
'auinmeio.com.br.|MX': 19 answers, 0 additional, took 0 packets, 0 throttled, 0 
timeouts, 0 tcp connections, rcode=0
Apr 13 01:22:30 tns125 pdns_recursor[16024]: 1 [37] TCP question for 
'auinmeio.com.br.|MX' from 195.130.158.234
Apr 13 01:22:30 tns125 pdns_recursor[16024]: 1 [37] answer to question 
'auinmeio.com.br.|MX': 1569 answers, 1353 additional, took 0 packets, 0 
throttled, 0 timeouts, 0 tcp connections, rcode=0

Kind regards,
Thor.

- Original Message -
From: bert hubert bert.hub...@netherlabs.nl
To: Thor Spruyt thor.spr...@telenet.be
Cc: pdns-users@mailman.powerdns.com
Sent: Tuesday, April 12, 2011 3:38:26 PM GMT +01:00 Amsterdam / Berlin / Bern / 
Rome / Stockholm / Vienna
Subject: Re: [Pdns-users] Recursor v3.2 and v3.3 malformed answer in case of 
big response from authoritative

On Mon, Apr 11, 2011 at 05:11:41PM +0200, bert hubert wrote:
 On Mon, Apr 11, 2011 at 04:53:16PM +0200, Thor Spruyt wrote:
  Last week I discovered an issue with recursor v3.2.

Hi Thor,

Thanks! You've uncovered an interesting bug which was quite devious. It has
been solved in http://wiki.powerdns.com/trac/changeset/2150

The problem was that powerdns would indeed try to serve infinitely large
answers over TCP/IP, even though TCP/IP answers are still limited to 65KB.

However, since yesterday the domain auinmeio.com.br appears to have
developed its own problems, so it still does not resolve, but for a new
reason. It looks like it is just broken.

Can you verify using
http://svn.powerdns.com/snapshots/pdns-recursor-3.4-pre.tar.bz2 ?

Bert
___
Pdns-users mailing list
Pdns-users@mailman.powerdns.com
http://mailman.powerdns.com/mailman/listinfo/pdns-users


[Pdns-users] Recursor v3.2 and v3.3 malformed answer in case of big response from authoritative

2011-04-11 Thread Thor Spruyt
Hi,

Last week I discovered an issue with recursor v3.2.
It appears to return a malformed answer to the client in case the data (incl. 
additional data) exceeds the 65536 maximum (2 bytes length field).

An example real-life lookup which has this issue as a result is MX of 
auinmeio.com.br 

When asking one of the authoritative servers, dig yields (note ANSWER, 
ADDITIONAL and MSG SIZE):

[thor@tns125 named]$ dig -t MX auinmeio.com.br @ns1.auinmeio.com.br
;; Truncated, retrying in TCP mode.

;  DiG 9.3.6-P1-RedHat-9.3.6-4.P1.el5_4.2  -t MX auinmeio.com.br 
@ns1.auinmeio.com.br
;; global options:  printcmd
;; Got answer:
;; -HEADER- opcode: QUERY, status: NOERROR, id: 25661
;; flags: qr aa rd; QUERY: 1, ANSWER: 1569, AUTHORITY: 6, ADDITIONAL: 1376

;; QUESTION SECTION:
;auinmeio.com.br.   IN  MX

snip

;; Query time: 765 msec
;; SERVER: 65.98.112.162#53(65.98.112.162)
;; WHEN: Mon Apr 11 16:16:25 2011
;; MSG SIZE  rcvd: 65531

When asking powerdns v3.3, dig yields (note ANSWER, ADDITIONAL and MSG SIZE):

[thor@tns125 named]$ dig -t MX auinmeio.com.br @195.130.158.234
;; Truncated, retrying in TCP mode.
;; Warning: Message parser reports malformed message packet.

;  DiG 9.3.6-P1-RedHat-9.3.6-4.P1.el5_4.2  -t MX auinmeio.com.br 
@195.130.158.234
;; global options:  printcmd
;; Got answer:
;; -HEADER- opcode: QUERY, status: NOERROR, id: 11531
;; flags: qr rd ra; QUERY: 1, ANSWER: 1569, AUTHORITY: 0, ADDITIONAL: 1569

;; QUESTION SECTION:
;auinmeio.com.br.   IN  MX

snip

;; Query time: 63 msec
;; SERVER: 195.130.158.234#53(195.130.158.234)
;; WHEN: Mon Apr 11 16:19:00 2011
;; MSG SIZE  rcvd: 4427


From a packet trace, I see that the UDP answer is correct with 20 MX answered 
in a truncated reponse.

The client then asks the same question via TCP:
Domain Name System (query)
[Response In: 8]
Length: 33
Transaction ID: 0x2648
Flags: 0x0100 (Standard query)
0...    = Response: Message is a query
.000 0...   = Opcode: Standard query (0)
 ..0.   = Truncated: Message is not truncated
 ...1   = Recursion desired: Do query recursively
  .0..  = Z: reserved (0)
  ...0  = Non-authenticated data OK: Non-authenticated data 
is unacceptable
Questions: 1
Answer RRs: 0
Authority RRs: 0
Additional RRs: 0
Queries
auinmeio.com.br: type MX, class IN
Name: auinmeio.com.br
Type: MX (Mail exchange)
Class: IN (0x0001)

And then powerdns answers with:
Domain Name System (response)
[Request In: 6]
[Time: 0.055456000 seconds]
Length: 4465
Transaction ID: 0x2648
Flags: 0x8180 (Standard query response, No error)
1...    = Response: Message is a response
.000 0...   = Opcode: Standard query (0)
 .0..   = Authoritative: Server is not an authority for 
domain
 ..0.   = Truncated: Message is not truncated
 ...1   = Recursion desired: Do query recursively
  1...  = Recursion available: Server can do recursive 
queries
  .0..  = Z: reserved (0)
  ..0.  = Answer authenticated: Answer/authority portion 
was not authenticated by the server
    = Reply code: No error (0)
Questions: 1
Answer RRs: 1569
Authority RRs: 0
Additional RRs: 1569
Queries
auinmeio.com.br: type MX, class IN
Name: auinmeio.com.br
Type: MX (Mail exchange)
Class: IN (0x0001)
Answers
auinmeio.com.br: type MX, class IN, preference 0, mx 
pm02-58.auinmeio.com.br
Name: auinmeio.com.br
Type: MX (Mail exchange)
Class: IN (0x0001)
Time to live: 1 minute, 25 seconds
Data length: 12
Preference: 0
Mail exchange: pm02-58.auinmeio.com.br
snip
auinmeio.com.br: type MX, class IN
Name: auinmeio.com.br
Type: MX (Mail exchange)
Class: IN (0x0001)
Time to live: 1 minute, 25 seconds
Data length: 12
[Malformed Packet: DNS]
[Expert Info (Error/Malformed): Malformed Packet (Exception occurred)]
[Message: Malformed Packet (Exception occurred)]
[Severity level: Error]
[Group: Malformed]
[Malformed Packet: DNS]
[Expert Info (Error/Malformed): Malformed Packet (Exception occurred)]
[Message: Malformed Packet (Exception occurred)]
[Severity level: Error]
[Group: Malformed]
Domain Name System (query)
Length: 1889
Transaction ID: 0x6c35
Flags: 0x372d (Unknown operation)
0...    = Response: Message is a query
.011 0...   = Opcode: Unknown (6)
 ..1.   = Truncated: Message is truncated
 ...1   = Recursion desired: Do query 

Re: [Pdns-users] Recursor v3.2 and v3.3 malformed answer in case of big response from authoritative

2011-04-11 Thread bert hubert
On Mon, Apr 11, 2011 at 04:53:16PM +0200, Thor Spruyt wrote:
 Last week I discovered an issue with recursor v3.2.

This is probably fixed in 3.3.1:
Discovered by John J and Robin J, the PowerDNS Recursor did not process
packets that were truncated in mid-record, and also did not act on the
'truncated' (TC) flag in that case. This broke a very small number of
domains, most of them served by very old versions of the PowerDNS
Authoritative Server. Fix in commit 1740.

3.3.1 has not been formally released, but is in wide production and can be
found on http://svn.powerdns.com/snapshots/pdns-recursor-3.3.1.tar.bz2

3.3.1 here resolves auinmeio.com.br|MX just fine, although it takes a
stunning 193 packets (!!).

However, it does end up delivering a slightly weird answer, which we are
investigating (trailing bytes).

Can you open a ticket on http://wiki.powerdns.com? 

thanks!

___
Pdns-users mailing list
Pdns-users@mailman.powerdns.com
http://mailman.powerdns.com/mailman/listinfo/pdns-users