[Pdns-users] TXT record with embedded tab causes thread to die.

Christopher Pruden cdpruden at liquidweb.com
Tue Mar 27 13:43:27 UTC 2012


Hi,

I'm working on a PowerDNS setup, with the gpgsql backend, and think I'm running into ticket #356.  I tried this with 3.0.1 initially, and now 3.1rc1 (static RPM for both).

Initially, data was loaded by setting PowerDNS as a slave to a bind master, and using AXFR to get everything across.  This seemed to work well, although I've found a few records that ended up in the DB that can't be retrieved.  Specifically, it seems to be TXT records with an embedded tab (the greater than sign is the tab):

db=> select * from dns_record where name='example.com' and type='TXT';
id    | zone_id |         name          | type |              rdata              | ttl | prio | change_date
---------+---------+-----------------------+------+---------------------------------+-----+------+-------------
2610172 |  269911 | example.com | TXT  | "v=spf1 a mx ip4:127.0.0.1>?all" | 300 |    0 |
(1 row) 


Querying bind: 

$ dig +short TXT example.com
"v=spf1 a mx ip4:127.0.0.1\009?all"


Querying PowerDNS:

$ dig  TXT example.com @10.30.152.98

; <<>> DiG 9.7.3-P3 <<>> TXT example.com @10.30.152.98
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 45631
;; flags: qr aa rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;example.com.>  >   IN> TXT

;; Query time: 54 msec
;; SERVER: 10.30.152.98#53(10.30.152.98)
;; WHEN: Mon Mar 26 17:08:59 2012
;; MSG SIZE  rcvd: 39


The logs show this (including embedded tab):

Mar 27 09:29:00 authdns1 pdns[28480]: AXFR of domain 'example.com' initiated by 10.30.152.99
Mar 27 09:29:00 authdns1 pdns[28480]: TCP Connection Thread died because of STL error: Unable to parse DNS TXT '"v=spf1 a mx ip4:127.0.0.1	?all"'


I actually have another case, as well, of not being able to parse a TXT record, that seems a bit different (I don't believe there are any embedded tabs or other characters in it):

Mar 27 09:29:00 authdns1 pdns[28480]: TCP Connection Thread died because of STL error: Unable to parse DNS TXT '"example.net.	 IN TXT	" "v=spf1" "a" "mx" "ip4:72.52.197.100" "~all" ""'

bookkeep=> select * from dns_record where name='example.net' and type='TXT';
   id    | zone_id |       name        | type |                rdata                 | ttl | prio | change_date 
---------+---------+-------------------+------+--------------------------------------+-----+------+-------------
 2395887 |  248632 | example.net | TXT  | "v=spf1 a mx ip4:127.0.0.100 ~all" | 300 |    0 |            
(1 row)




Does this seem like ticket #356 coming back?  Any ideas on workarounds for the time being?

Thanks in advance,
Chris
 


More information about the Pdns-users mailing list