Changeset 1089

Show
Ignore:
Timestamp:
09/03/07 13:08:50 (1 year ago)
Author:
ahu
Message:

fix use of 'original' zone state instead of a safe copy in Bind2Backend::getUpdatedMasters, issue spotted by Stefan Schmidt
plus s/Master/Slave/ in a somewhat important place

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/pdns/pdns/backends/bind/bindbackend2.cc

    r1057 r1089  
    226226{ 
    227227  SOAData soadata; 
    228  
    229   //  Lock l(&s_state_lock); // we don't really change the zone map, just flip a bit 
    230  
    231   for(id_zone_map_t::iterator i = s_state->id_zone_map.begin(); i != s_state->id_zone_map.end() ; ++i) { 
     228  shared_ptr<State> state = s_state; 
     229 
     230  for(id_zone_map_t::const_iterator i = state->id_zone_map.begin(); i != state->id_zone_map.end() ; ++i) { 
    232231    if(!i->second.d_masters.empty()) 
    233232      continue; 
     
    244243    di.backend=this; 
    245244    di.kind=DomainInfo::Master; 
    246     if(!i->second.d_lastnotified)            // don't do notification storm on startup  
    247       i->second.d_lastnotified=soadata.serial; 
     245    if(!i->second.d_lastnotified)  {          // don't do notification storm on startup  
     246      Lock l(&s_state_lock); 
     247      s_state->id_zone_map[i->first].d_lastnotified=soadata.serial; 
     248    } 
    248249    else 
    249250      if(soadata.serial!=i->second.d_lastnotified) 
  • trunk/pdns/pdns/backends/gsql/gsqlbackend.cc

    r1084 r1089  
    111111  } 
    112112  else if(iequals(type,"MASTER")) 
    113     di.kind=DomainInfo::Slave
     113    di.kind=DomainInfo::Master
    114114  else  
    115115    di.kind=DomainInfo::Native;