static pthread_mutex_t instances_lock;
static bool loadmodule(const string &name);
+ static bool loadModules(const vector<string>& modules, const string& path);
static void go(void);
void lookup(const QType &, const DNSName &qdomain, DNSPacket *pkt_p=0, int zoneId=-1);
- bool getAuth(DNSPacket *p, SOAData *sd, const DNSName &target);
- bool getSOA(const DNSName &domain, SOAData &sd, DNSPacket *p=0);
- bool getSOAUncached(const DNSName &domain, SOAData &sd, DNSPacket *p=0); // same, but ignores cache
+ /** Determines if we are authoritative for a zone, and at what level */
+ bool getAuth(const DNSName &target, const QType &qtype, SOAData* sd, bool cachedOk=true);
+ bool getSOA(const DNSName &domain, SOAData &sd);
+ /** Load SOA info from backends, ignoring the cache.*/
+ bool getSOAUncached(const DNSName &domain, SOAData &sd);
bool get(DNSZoneRecord &r);
void getAllDomains(vector<DomainInfo> *domains, bool include_disabled=false);
void getUnfreshSlaveInfos(vector<DomainInfo>* domains);
void getUpdatedMasters(vector<DomainInfo>* domains);
- bool getDomainInfo(const DNSName &domain, DomainInfo &di);
+ bool getDomainInfo(const DNSName &domain, DomainInfo &di, bool getSerial=true);
bool createDomain(const DNSName &domain);
bool doesDNSSEC();