class FindNS
{
public:
- vector<string> lookup(const DNSName &name, UeberBackend *b, const DNSName& zone)
+ vector<string> lookup(const DNSName &name, UeberBackend *b)
{
vector<string> addresses;
this->resolve_name(&addresses, name);
if(b) {
- b->lookup(QType(QType::ANY),name);
- while (true) {
- try {
- DNSZoneRecord rr;
- if (!b->get(rr))
- break;
- if (rr.dr.d_type == QType::A || rr.dr.d_type == QType::AAAA)
+ b->lookup(QType(QType::ANY),name);
+ DNSZoneRecord rr;
+ while(b->get(rr))
+ if(rr.dr.d_type == QType::A || rr.dr.d_type==QType::AAAA)
addresses.push_back(rr.dr.d_content->getZoneRepresentation()); // SOL if you have a CNAME for an NS
- }
- // After an exception, b can be inconsistent so break
- catch (PDNSException &ae) {
- g_log << Logger::Error << "Could not lookup address for nameserver " << name << " in zone " << zone << ", cannot notify: " << ae.reason << endl;
- break;
- }
- catch (std::exception &e) {
- g_log << Logger::Error << "Could not lookup address for nameserver " << name << " in zone " << zone << ", cannot notify: " << e.what() << endl;
- break;
- }
- }
}
return addresses;
}