virtual void lookup(const QType &qtype, const string &qdomain, DNSPacket *pkt_p=0, int zoneId=-1)=0;
virtual bool get(DNSResourceRecord &)=0; //!< retrieves one DNSResource record, returns false if no more were available
- virtual bool getBeforeAndAfterNamesAbsolute(uint32_t id, const std::string& qname, std::string& unhashed, std::string& before, std::string& after)
- {
- std::cerr<<"Default beforeAndAfterAbsolute called!"<<std::endl;
- abort();
- return false;
- }
-
- bool getBeforeAndAfterNames(uint32_t id, const std::string& zonename, const std::string& qname, std::string& before, std::string& after);
-
- virtual bool updateDNSSECOrderAndAuth(uint32_t domain_id, const std::string& zonename, const std::string& qname, bool auth)
- {
- return false;
- }
-
- virtual bool updateDNSSECOrderAndAuthAbsolute(uint32_t domain_id, const std::string& qname, const std::string& ordername, bool auth)
- {
- return false;
- }
-
//! Initiates a list of the specified domain
/** Once initiated, DNSResourceRecord objects can be retrieved using get(). Should return false
virtual ~DNSBackend(){};
- struct KeyData {
- unsigned int id;
- unsigned int flags;
- bool active;
- std::string content;
- };
-
//! fills the soadata struct with the SOA details. Returns false if there is no SOA.
virtual bool getSOA(const string &name, SOAData &soadata, DNSPacket *p=0);
//! Calculates a SOA serial for the zone and stores it in the third argument.
virtual bool calculateSOASerial(const string& domain, const SOAData& sd, time_t& serial);
+ // the DNSSEC related (getDomainMetadata has broader uses too)
virtual bool getDomainMetadata(const string& name, const std::string& kind, std::vector<std::string>& meta) { return false; }
virtual bool setDomainMetadata(const string& name, const std::string& kind, const std::vector<std::string>& meta) {return false;}
+
+ struct KeyData {
+ unsigned int id;
+ unsigned int flags;
+ bool active;
+ std::string content;
+ };
+
virtual bool getDomainKeys(const string& name, unsigned int kind, std::vector<KeyData>& keys) { return false;}
virtual bool removeDomainKey(const string& name, unsigned int id) { return false; }
virtual int addDomainKey(const string& name, const KeyData& key){ return -1; }
virtual bool getTSIGKey(const string& name, string* algorithm, string* content) { return false; }
+ virtual bool getBeforeAndAfterNamesAbsolute(uint32_t id, const std::string& qname, std::string& unhashed, std::string& before, std::string& after)
+ {
+ std::cerr<<"Default beforeAndAfterAbsolute called!"<<std::endl;
+ abort();
+ return false;
+ }
+
+ bool getBeforeAndAfterNames(uint32_t id, const std::string& zonename, const std::string& qname, std::string& before, std::string& after);
+
+ virtual bool updateDNSSECOrderAndAuth(uint32_t domain_id, const std::string& zonename, const std::string& qname, bool auth)
+ {
+ return false;
+ }
+
+ virtual bool updateDNSSECOrderAndAuthAbsolute(uint32_t domain_id, const std::string& qname, const std::string& ordername, bool auth)
+ {
+ return false;
+ }
+
+ // end DNSSEC
+
//! returns true if master ip is master for domain name.
virtual bool isMaster(const string &name, const string &ip)
{