Bind2Backend bb2;
bb2.queueReloadAndStore(bbd.d_id);
safeGetBBDomainInfo(zone, &bbd); // Read the *new* domain status
- ret<< *i << ": "<< (bbd.d_loaded ? "": "[rejected]") <<"\t"<<bbd.d_status<<"\n";
+ ret<< *i << ": "<< (bbd.d_wasRejectedLastReload ? "[rejected]": "") <<"\t"<<bbd.d_status<<"\n";
}
else
ret<< *i << " no such domain\n";
return;
parseZoneFile(&bbold);
bbold.d_checknow=false;
+ bbold.d_wasRejectedLastReload=false;
safePutBBDomainInfo(bbold);
L<<Logger::Warning<<"Zone '"<<bbold.d_name<<"' ("<<bbold.d_filename<<") reloaded"<<endl;
}
msg<<" error at "+nowTime()+" parsing '"<<bbold.d_name<<"' from file '"<<bbold.d_filename<<"': "<<ae.reason;
L<<Logger::Warning<<" error parsing '"<<bbold.d_name<<"' from file '"<<bbold.d_filename<<"': "<<ae.reason<<endl;
bbold.d_status=msg.str();
+ bbold.d_wasRejectedLastReload=true;
safePutBBDomainInfo(bbold);
}
catch(std::exception &ae) {
msg<<" error at "+nowTime()+" parsing '"<<bbold.d_name<<"' from file '"<<bbold.d_filename<<"': "<<ae.what();
L<<Logger::Warning<<" error parsing '"<<bbold.d_name<<"' from file '"<<bbold.d_filename<<"': "<<ae.what()<<endl;
bbold.d_status=msg.str();
+ bbold.d_wasRejectedLastReload=true;
safePutBBDomainInfo(bbold);
}
}
unsigned int d_id; //!< internal id of the domain
mutable bool d_checknow; //!< if this domain has been flagged for a check
bool d_loaded; //!< if a domain is loaded
+ bool d_wasRejectedLastReload{false}; //!< if the domain was rejected during Bind2Backend::queueReloadAndStore
private:
time_t getCtime();