#### Example JSON/RPC
Query:
```
-{"method":"getdomainkeys","parameters":{"name":"example.com.","kind":0}}
+{"method":"getdomainkeys","parameters":{"name":"example.com."}}
```
Response:
virtual bool getAllDomainMetadata(const DNSName& name, std::map<std::string, std::vector<std::string> >& meta);
virtual bool getDomainMetadata(const DNSName& name, const std::string& kind, std::vector<std::string>& meta);
virtual bool setDomainMetadata(const DNSName& name, const std::string& kind, const std::vector<std::string>& meta);
- virtual bool getDomainKeys(const DNSName& name, unsigned int kind, std::vector<KeyData>& keys);
+ virtual bool getDomainKeys(const DNSName& name, std::vector<KeyData>& keys);
virtual bool removeDomainKey(const DNSName& name, unsigned int id);
virtual bool addDomainKey(const DNSName& name, const KeyData& key, int64_t& id);
virtual bool activateDomainKey(const DNSName& name, unsigned int id);
bool Bind2Backend::setDomainMetadata(const DNSName& name, const std::string& kind, const std::vector<std::string>& meta)
{ return false; }
-bool Bind2Backend::getDomainKeys(const DNSName& name, unsigned int kind, std::vector<KeyData>& keys)
+bool Bind2Backend::getDomainKeys(const DNSName& name, std::vector<KeyData>& keys)
{ return false; }
bool Bind2Backend::removeDomainKey(const DNSName& name, unsigned int id)
return true;
}
-bool Bind2Backend::getDomainKeys(const DNSName& name, unsigned int kind, std::vector<KeyData>& keys)
+bool Bind2Backend::getDomainKeys(const DNSName& name, std::vector<KeyData>& keys)
{
if(!d_dnssecdb || d_hybrid)
return false;
return false;
}
-bool GeoIPBackend::getDomainKeys(const DNSName& name, unsigned int kind, std::vector<DNSBackend::KeyData>& keys) {
+bool GeoIPBackend::getDomainKeys(const DNSName& name, std::vector<DNSBackend::KeyData>& keys) {
if (!d_dnssec) return false;
ReadLock rl(&s_state_lock);
for(GeoIPDomain dom : s_domains) {
virtual bool doesDNSSEC() { return d_dnssec; };
virtual bool getAllDomainMetadata(const DNSName& name, std::map<std::string, std::vector<std::string> >& meta);
virtual bool getDomainMetadata(const DNSName& name, const std::string& kind, std::vector<std::string>& meta);
- virtual bool getDomainKeys(const DNSName& name, unsigned int kind, std::vector<DNSBackend::KeyData>& keys);
+ virtual bool getDomainKeys(const DNSName& name, std::vector<DNSBackend::KeyData>& keys);
virtual bool removeDomainKey(const DNSName& name, unsigned int id);
virtual bool addDomainKey(const DNSName& name, const KeyData& key, int64_t& id);
virtual bool activateDomainKey(const DNSName& name, unsigned int id);
return ok >= 0;
}
-bool LUABackend::getDomainKeys(const DNSName& name, unsigned int kind, std::vector<KeyData>& keys) {
- //what is kind used for?
-
+bool LUABackend::getDomainKeys(const DNSName& name, std::vector<KeyData>& keys) {
if(f_lua_getdomainkeys == 0)
return false;
if(logging)
- L << Logger::Info << backend_name << "(getDomainKeys) BEGIN name: '" << name << "' kind: '" << kind << endl;
+ L << Logger::Info << backend_name << "(getDomainKeys) BEGIN name: '" << name << endl;
lua_rawgeti(lua, LUA_REGISTRYINDEX, f_lua_getdomainkeys);
lua_pushstring(lua, name.toString().c_str());
- lua_pushinteger(lua, kind);
- if(lua_pcall(lua, 2, 1, f_lua_exec_error) != 0) {
+ if(lua_pcall(lua, 1, 1, f_lua_exec_error) != 0) {
string e = backend_name + lua_tostring(lua, -1);
- lua_pop(lua, 1);
throw runtime_error(e);
return false;
bool getDomainMetadata(const DNSName& name, const std::string& kind, std::vector<std::string>& meta) override;
bool setDomainMetadata(const DNSName& name, const std::string& kind, const std::vector<std::string>& meta) override;
- bool getDomainKeys(const DNSName& name, unsigned int kind, std::vector<KeyData>& keys) override ;
+ bool getDomainKeys(const DNSName& name, std::vector<KeyData>& keys) override ;
bool removeDomainKey(const DNSName& name, unsigned int id) override ;
bool activateDomainKey(const DNSName& name, unsigned int id) override ;
bool deactivateDomainKey(const DNSName& name, unsigned int id) override ;
end
-function getdomainkeys(name, kind)
- logger(log_debug, "(l_getdomainkeys) name:", name, 'kind', kind)
+function getdomainkeys(name)
+ logger(log_debug, "(l_getdomainkeys) name:", name)
return keys[name]
end
}
bool
-OracleBackend::getDomainKeys (const DNSName& name, unsigned int kind, vector<KeyData>& keys)
+OracleBackend::getDomainKeys (const DNSName& name, vector<KeyData>& keys)
{
if(!d_dnssecQueries)
return -1;
bool setTSIGKey(const DNSName& name, const DNSName& algorithm, const string& content);
bool getTSIGKeys(std::vector< struct TSIGKey > &keys);
- bool getDomainKeys(const DNSName& name, unsigned int kind, vector<KeyData>& keys);
+ bool getDomainKeys(const DNSName& name, vector<KeyData>& keys);
bool removeDomainKey(const DNSName& name, unsigned int id);
bool addDomainKey(const DNSName& name, const KeyData& key, int64_t& id);
bool activateDomainKey(const DNSName& name, unsigned int id);
}
-bool RemoteBackend::getDomainKeys(const DNSName& name, unsigned int kind, std::vector<DNSBackend::KeyData>& keys) {
+bool RemoteBackend::getDomainKeys(const DNSName& name, std::vector<DNSBackend::KeyData>& keys) {
// no point doing dnssec if it's not supported
if (d_dnssec == false) return false;
Json query = Json::object{
{ "method", "getDomainKeys" },
{ "parameters", Json::object{
- { "name", name.toString() },
- { "kind", static_cast<int>(kind) }
+ { "name", name.toString() }
}}
};
virtual bool getAllDomainMetadata(const DNSName& name, std::map<std::string, std::vector<std::string> >& meta);
virtual bool getDomainMetadata(const DNSName& name, const std::string& kind, std::vector<std::string>& meta);
- virtual bool getDomainKeys(const DNSName& name, unsigned int kind, std::vector<DNSBackend::KeyData>& keys);
+ virtual bool getDomainKeys(const DNSName& name, std::vector<DNSBackend::KeyData>& keys);
virtual bool getTSIGKey(const DNSName& name, DNSName* algorithm, std::string* content);
virtual bool getBeforeAndAfterNamesAbsolute(uint32_t id, const string& qname, DNSName& unhashed, string& before, string& after);
virtual bool setDomainMetadata(const DNSName& name, const string& kind, const std::vector<std::basic_string<char> >& meta);
std::vector<DNSBackend::KeyData> keys;
BOOST_TEST_MESSAGE("Testing getDomainKeys method");
// we expect to get two keys
- be->getDomainKeys(DNSName("unit.test."),0,keys);
+ be->getDomainKeys(DNSName("unit.test."),keys);
BOOST_CHECK_EQUAL(keys.size(), 2);
// in case we got more than 2 keys, which would be unexpected
// but not fatal
return keys.empty();
}
-bool GSQLBackend::getDomainKeys(const DNSName& name, unsigned int kind, std::vector<KeyData>& keys)
+bool GSQLBackend::getDomainKeys(const DNSName& name, std::vector<KeyData>& keys)
{
if(!d_dnssecQueries)
return false;
execute();
SSqlStatement::row_t row;
- // "select id, kind, active, content from domains, cryptokeys where domain_id=domains.id and name='%s'";
KeyData kd;
while(d_ListDomainKeysQuery_stmt->hasNextRow()) {
d_ListDomainKeysQuery_stmt->nextRow(row);
bool replaceRRSet(uint32_t domain_id, const DNSName& qname, const QType& qt, const vector<DNSResourceRecord>& rrset);
bool listSubZone(const DNSName &zone, int domain_id);
bool addDomainKey(const DNSName& name, const KeyData& key, int64_t& id);
- bool getDomainKeys(const DNSName& name, unsigned int kind, std::vector<KeyData>& keys);
+ bool getDomainKeys(const DNSName& name, std::vector<KeyData>& keys);
bool getAllDomainMetadata(const DNSName& name, std::map<std::string, std::vector<std::string> >& meta);
bool getDomainMetadata(const DNSName& name, const std::string& kind, std::vector<std::string>& meta);
bool setDomainMetadata(const DNSName& name, const std::string& kind, const std::vector<std::string>& meta);
DNSSECPrivateKey DNSSECKeeper::getKeyById(const DNSName& zname, unsigned int id)
{
vector<DNSBackend::KeyData> keys;
- d_keymetadb->getDomainKeys(zname, 0, keys);
+ d_keymetadb->getDomainKeys(zname, keys);
for(const DNSBackend::KeyData& kd : keys) {
if(kd.id != id)
continue;
keyset_t retkeyset;
vector<DNSBackend::KeyData> dbkeyset;
- d_keymetadb->getDomainKeys(zone, 0, dbkeyset);
+ d_keymetadb->getDomainKeys(zone, dbkeyset);
// Determine the algorithms that have a KSK/ZSK split
set<uint8_t> algoSEP, algoNoSEP;
bool DNSSECKeeper::checkKeys(const DNSName& zone)
{
vector<DNSBackend::KeyData> dbkeyset;
- d_keymetadb->getDomainKeys(zone, 0, dbkeyset);
+ d_keymetadb->getDomainKeys(zone, dbkeyset);
for(const DNSBackend::KeyData &keydata : dbkeyset) {
DNSKEYRecordContent dkrc;
bool active;
};
- virtual bool getDomainKeys(const DNSName& name, unsigned int kind, std::vector<KeyData>& keys) { return false;}
+ virtual bool getDomainKeys(const DNSName& name, std::vector<KeyData>& keys) { return false;}
virtual bool removeDomainKey(const DNSName& name, unsigned int id) { return false; }
virtual bool addDomainKey(const DNSName& name, const KeyData& key, int64_t& id){ return false; }
virtual bool activateDomainKey(const DNSName& name, unsigned int id) { return false; }
}
vector<DNSBackend::KeyData> dbkeyset;
- B.getDomainKeys(zone, 0, dbkeyset);
+ B.getDomainKeys(zone, dbkeyset);
for(DNSBackend::KeyData& kd : dbkeyset) {
DNSKEYRecordContent dkrc;
dpk.setKey(dke);
// make sure this key isn't being reused.
- B.getDomainKeys(zone, 0, keys);
+ B.getDomainKeys(zone, keys);
id = -1;
for(DNSBackend::KeyData& kd : keys) {
id = pdns_stou(cmds[3]);
std::vector<DNSBackend::KeyData> keys;
- if (!B.getDomainKeys(zone, 0, keys)) {
+ if (!B.getDomainKeys(zone, keys)) {
cerr << "No keys found for zone " << zone << std::endl;
return 1;
}
// temp var for KeyID
int64_t keyID;
std::vector<DNSBackend::KeyData> keys;
- if (src->getDomainKeys(di.zone, 0, keys)) {
+ if (src->getDomainKeys(di.zone, keys)) {
for(const DNSBackend::KeyData& k: keys) {
tgt->addDomainKey(di.zone, k, keyID);
nk++;
}
return false;
}
-bool UeberBackend::getDomainKeys(const DNSName& name, unsigned int kind, std::vector<DNSBackend::KeyData>& keys)
+bool UeberBackend::getDomainKeys(const DNSName& name, std::vector<DNSBackend::KeyData>& keys)
{
for(DNSBackend* db : backends) {
- if(db->getDomainKeys(name, kind, keys))
+ if(db->getDomainKeys(name, keys))
return true;
}
return false;
bool createDomain(const DNSName &domain);
bool addDomainKey(const DNSName& name, const DNSBackend::KeyData& key, int64_t& id);
- bool getDomainKeys(const DNSName& name, unsigned int kind, std::vector<DNSBackend::KeyData>& keys);
+ bool getDomainKeys(const DNSName& name, std::vector<DNSBackend::KeyData>& keys);
bool getAllDomainMetadata(const DNSName& name, std::map<std::string, std::vector<std::string> >& meta);
bool getDomainMetadata(const DNSName& name, const std::string& kind, std::vector<std::string>& meta);
bool setDomainMetadata(const DNSName& name, const std::string& kind, const std::vector<std::string>& meta);