From: Bert Hubert Date: Wed, 21 Mar 2007 20:21:12 +0000 (+0000) Subject: fix TXT record serving + improve error messages creating packets X-Git-Tag: pdns-2.9.21~60 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=347427bd44e2c615898ec19d6a67486fe750494e;p=pdns fix TXT record serving + improve error messages creating packets git-svn-id: svn://svn.powerdns.com/pdns/trunk/pdns@985 d19b8d6e-7fed-0310-83ef-9ca221ded41b --- diff --git a/pdns/dnspacket.cc b/pdns/dnspacket.cc index 30c01c07f..f26d25acb 100644 --- a/pdns/dnspacket.cc +++ b/pdns/dnspacket.cc @@ -317,20 +317,23 @@ void DNSPacket::wrapup(void) pw.getHeader()->rd=d.rd; if(!rrs.empty()) { - for(pos=rrs.begin();posqtype.getCode()==QType::MX || pos->qtype.getCode() == QType::SRV) { - pos->content = lexical_cast(pos->priority) + " " + pos->content; - } - pw.startRecord(pos->qname, pos->qtype.getCode(), pos->ttl, 1, (DNSPacketWriter::Place)pos->d_place); - shared_ptr drc(DNSRecordContent::mastermake(pos->qtype.getCode(), 1, pos->content)); - drc->toPacket(pw); - } try { + for(pos=rrs.begin();posqtype.getCode()==QType::MX || pos->qtype.getCode() == QType::SRV) { + pos->content = lexical_cast(pos->priority) + " " + pos->content; + } + pw.startRecord(pos->qname, pos->qtype.getCode(), pos->ttl, 1, (DNSPacketWriter::Place)pos->d_place); + if(!pos->content.empty() && pos->content[0]!='"') { + pos->content="\""+pos->content+"\""; + } + shared_ptr drc(DNSRecordContent::mastermake(pos->qtype.getCode(), 1, pos->content)); + drc->toPacket(pw); + } pw.commit(); } catch(exception& e) { - cerr<<"Exception: "<