Changeset 1240

Show
Ignore:
Timestamp:
07/25/08 21:58:35 (2 years ago)
Author:
ahu
Message:

partial de-chompification, plus fix up bad SOA ttl usage in case of $TTL

Location:
trunk/pdns/pdns
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • trunk/pdns/pdns/zoneparser-tng.cc

    r1235 r1240  
    3030#include <boost/lexical_cast.hpp> 
    3131 
    32 ZoneParserTNG::ZoneParserTNG(const string& fname, const string& zname, const string& reldir) : d_reldir(reldir), d_zonename(zname), d_defaultttl(3600) 
     32ZoneParserTNG::ZoneParserTNG(const string& fname, const string& zname, const string& reldir) : d_reldir(reldir),  
     33                                                                                               d_zonename(zname), d_defaultttl(3600),  
     34                                                                                               d_havedollarttl(false) 
    3335{ 
    3436  d_zonename = toCanonic("", d_zonename); 
     
    228230    return false; 
    229231 
    230   chomp(d_line, " \r\n\x1a"); 
     232  boost::trim_right_if(d_line, is_any_of(" \r\n\x1a")); 
    231233 
    232234  parts_t parts; 
     
    241243  if(d_line[0]=='$') {  
    242244    string command=makeString(d_line, parts[0]); 
    243     if(iequals(command,"$TTL") && parts.size() > 1) 
     245    if(iequals(command,"$TTL") && parts.size() > 1) { 
    244246      d_defaultttl=makeTTLFromZone(trim_right_copy_if(makeString(d_line, parts[1]), is_any_of(";"))); 
     247      d_havedollarttl=true; 
     248    } 
    245249    else if(iequals(command,"$INCLUDE") && parts.size() > 1) { 
    246250      string fname=unquotify(makeString(d_line, parts[1])); 
     
    346350    if(!findAndElide(rr.content, ')')) { 
    347351      while(getLine()) { 
    348         chomp(d_line,"\t\r\n "); 
     352        trim_right(d_line); 
    349353        chopComment(d_line); 
    350354        trim(d_line); 
     
    385389        rr.content+=soaparts[n]; 
    386390 
    387       if(n==6) 
     391      if(n==6 && !d_havedollarttl) 
    388392        d_defaultttl=makeTTLFromZone(soaparts[n]); 
    389393    } 
  • trunk/pdns/pdns/zoneparser-tng.hh

    r1235 r1240  
    4747  string d_zonename; 
    4848  int d_defaultttl; 
     49  bool d_havedollarttl; 
    4950  uint32_t d_templatecounter, d_templatestop, d_templatestep; 
    5051  string d_templateline;