Changeset 1591

Show
Ignore:
Timestamp:
04/30/10 22:47:12 (3 years ago)
Author:
ahu
Message:

make labelReverse properly turn '.' into ' ' to maintain DNSSEC canonical ordering

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/pdns/pdns/misc.cc

    r1557 r1591  
    629629    return qname; 
    630630 
     631 
     632  bool dotName = qname.find('.') != string::npos; 
     633 
    631634  vector<string> labels; 
    632   stringtok(labels, qname, "."); 
     635  stringtok(labels, qname, ". "); 
    633636  if(labels.size()==1) 
    634637    return qname; 
     638 
     639 
    635640 
    636641  string ret; 
    637642  for(vector<string>::const_reverse_iterator iter = labels.rbegin(); iter != labels.rend(); ++iter) { 
    638643    if(iter != labels.rbegin()) 
    639       ret.append(1,'.'); 
     644      ret.append(1, dotName ? ' ' : '.'); 
    640645    ret+=*iter; 
    641646  }