// I think this has to do with interlocking transactions between B and DK, but unsure.
void rectifyZone(DNSSECKeeper& dk, const std::string& zone)
{
- scoped_ptr<UeberBackend> B(new UeberBackend("default"));
+ UeberBackend B("default");
bool doTransaction=true; // but see above
SOAData sd;
sd.db = (DNSBackend*)-1;
- if(!B->getSOA(zone, sd)) {
+ if(!B.getSOA(zone, sd)) {
cerr<<"No SOA known for '"<<zone<<"', is such a zone in the database?"<<endl;
return;
}
void rectifyAllZones(DNSSECKeeper &dk)
{
- scoped_ptr<UeberBackend> B(new UeberBackend("default"));
+ UeberBackend B("default");
vector<DomainInfo> domainInfo;
- B->getAllDomains(&domainInfo);
+ B.getAllDomains(&domainInfo);
BOOST_FOREACH(DomainInfo di, domainInfo) {
cerr<<"Rectifying "<<di.zone<<": ";
rectifyZone(dk, di.zone);
cout<<"Rectified "<<domainInfo.size()<<" zones."<<endl;
}
-int checkZone(DNSSECKeeper &dk, UeberBackend *B, const std::string& zone)
+int checkZone(DNSSECKeeper &dk, UeberBackend &B, const std::string& zone)
{
SOAData sd;
sd.db=(DNSBackend*)-1;
- if(!B->getSOA(zone, sd)) {
+ if(!B.getSOA(zone, sd)) {
cout<<"No SOA for zone '"<<zone<<"'"<<endl;
return -1;
}
int checkAllZones(DNSSECKeeper &dk)
{
- scoped_ptr<UeberBackend> B(new UeberBackend("default"));
+ UeberBackend B("default");
vector<DomainInfo> domainInfo;
- B->getAllDomains(&domainInfo);
+ B.getAllDomains(&domainInfo);
int errors=0;
BOOST_FOREACH(DomainInfo di, domainInfo) {
- if (checkZone(dk, B.get(), di.zone) > 0)
+ if (checkZone(dk, B, di.zone) > 0)
errors++;
}
cout<<"Checked "<<domainInfo.size()<<" zones, "<<errors<<" had errors."<<endl;
cerr << "Syntax: pdnssec check-zone ZONE"<<endl;
return 0;
}
- scoped_ptr<UeberBackend> B(new UeberBackend("default"));
- exit(checkZone(dk, B.get(), cmds[1]));
+ UeberBackend B("default");
+ exit(checkZone(dk, B, cmds[1]));
}
else if (cmds[0] == "check-all-zones") {
exit(checkAllZones(dk));