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

Christopher Pruden cdpruden at liquidweb.com
Tue Mar 27 18:58:30 UTC 2012


Hi Ruben,

Is the record that you show with a tab, or the '>' sign?  The issue I'm running into is with an embedded tab, it got mixed up a bit in the email.

Here's what the records table looks like:

\d+ dns_record;
                                           Table "public.dns_record"
   Column    |          Type           |                        Modifiers                        | Description 
-------------+-------------------------+---------------------------------------------------------+-------------
 id          | integer                 | not null default nextval('dns_record_id_seq'::regclass) | 
 zone_id     | integer                 |                                                         | 
 name        | character varying(255)  |                                                         | 
 type        | character varying(10)   |                                                         | 
 rdata       | character varying(4096) |                                                         | 
 ttl         | integer                 |                                                         | 
 prio        | integer                 |                                                         | 
 change_date | integer                 |                                                         | 
Indexes:
    "dns_record_pkey" PRIMARY KEY, btree (id)
    "nametype_index" btree (name, "type")
    "rec_name_index" btree (name)
    "zone_id" btree (zone_id)
Foreign-key constraints:
    "domain_exists" FOREIGN KEY (zone_id) REFERENCES dns_zone(id) ON DELETE CASCADE
Has OIDs: no


On Mar 27, 2012, at 2:35 PM, Ruben d'Arco wrote:

> Hi Chris,
> 
> I've tried to reproduce your issue with the latest PDNS. Here's my record:
> pdnstest=> select * from records where id=20172;
>  id   | domain_id |      name      | type |             content              | ttl  | prio | change_date | ordername | auth
> -------+-----------+----------------+------+----------------------------------+------+------+-------------+-----------+------
> 20172 |         3 | text.wtest.com | TXT  | "v=spf1 a mx ip4:127.0.0.1>?all" | 3600 |      |             |           |
> (1 row)
> 
> 
> This is the result of my dig for that record:
> $ dig -p 5300 @127.0.0.2 TXT text.wtest.com +short
> "v=spf1 a mx ip4:127.0.0.1>?all"
> 
> Could you provide us with some more information about your postgresql database and the output of '\d+ records' ?
> 
> Kind regards,
> 	Ruben
> 
> 
> 
> 
> 
> On Tue, Mar 27, 2012 at 11:09:29AM -0400, Christopher Pruden wrote:
>>>> On Tue, Mar 27, 2012 at 09:43:27AM -0400, Christopher Pruden wrote:
>>>>> 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):
>> 
>> I believe I've found the spot that is causing this issue.  I haven't tested this patch, as I've run into trouble getting PowerDNS to compile on Cent, but I believe the below patch (against svn) would take care of it.  I suspect there are other characters that should be handled in it as well though -- vertical tab, maybe \r, etc.
>> 
>> 
>> Index: pdns/dnsparser.cc
>> ===================================================================
>> --- pdns/dnsparser.cc	(revision 2538)
>> +++ pdns/dnsparser.cc	(working copy)
>> @@ -393,6 +393,9 @@
>>     if(*i=='\n') {  // XXX FIXME this should do a way better job!
>>       ret += "\\010";
>>     }
>> +    else if(*i=='\t') {
>> +      ret += "\\009";
>> +    }
>>     else if(*i=='"' || *i=='\\'){
>>       ret += '\\';
>>       ret += *i;
>> 
>> 
>> _______________________________________________
>> Pdns-users mailing list
>> Pdns-users at mailman.powerdns.com
>> http://mailman.powerdns.com/mailman/listinfo/pdns-users
> _______________________________________________
> Pdns-users mailing list
> Pdns-users at mailman.powerdns.com
> http://mailman.powerdns.com/mailman/listinfo/pdns-users




More information about the Pdns-users mailing list