]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
createSlaveDomain implementation
authorAki Tuomi <cmouse@desteem.org>
Sat, 1 Jun 2013 18:41:53 +0000 (21:41 +0300)
committerAki Tuomi <cmouse@desteem.org>
Tue, 4 Jun 2013 07:33:03 +0000 (10:33 +0300)
modules/remotebackend/remotebackend.cc

index 3207b709176ae23f801d5737ab0d3c449acb0b8f..ef259729df3d6e7f3a20f382a5067294569da4b2 100644 (file)
@@ -545,7 +545,20 @@ bool RemoteBackend::superMasterBackend(const string &ip, const string &domain, c
    return true;
 }
 
-bool RemoteBackend::createSlaveDomain(const string &ip, const string &domain, const string &account) { return false; }
+bool RemoteBackend::createSlaveDomain(const string &ip, const string &domain, const string &account) {
+   rapidjson::Document query,answer;
+   rapidjson::Value parameters;
+   query.SetObject();
+   JSON_ADD_MEMBER(query, "method", "superMasterBackend", query.GetAllocator());
+   parameters.SetObject();
+   JSON_ADD_MEMBER(parameters, "ip", ip.c_str(), query.GetAllocator());
+   JSON_ADD_MEMBER(parameters, "domain", domain.c_str(), query.GetAllocator());
+   JSON_ADD_MEMBER(parameters, "account", account.c_str(), query.GetAllocator());
+   if (connector->send(query) == false || connector->recv(answer) == false)
+     return false;
+   return true;
+}
+
 bool RemoteBackend::replaceRRSet(uint32_t domain_id, const string& qname, const QType& qt, const vector<DNSResourceRecord>& rrset) { return false; }
 bool RemoteBackend::feedRecord(const DNSResourceRecord &r, string *ordername) { return false; }
 bool RemoteBackend::feedEnts(int domain_id, set<string>& nonterm) { return false; }