From 6fa36d75053fd7811c7e7ef3cd962f4054c5112d Mon Sep 17 00:00:00 2001 From: Aki Tuomi Date: Tue, 15 Jul 2014 18:54:23 +0300 Subject: [PATCH] isMaster implementation --- modules/remotebackend/remotebackend.cc | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/modules/remotebackend/remotebackend.cc b/modules/remotebackend/remotebackend.cc index 14bde799a..b494ca401 100644 --- a/modules/remotebackend/remotebackend.cc +++ b/modules/remotebackend/remotebackend.cc @@ -647,6 +647,23 @@ void RemoteBackend::setNotified(uint32_t id, uint32_t serial) { } } +bool RemoteBackend::isMaster(const string &name, const string &ip) +{ + rapidjson::Document query,answer; + rapidjson::Value parameters; + + query.SetObject(); + JSON_ADD_MEMBER(query, "method", "isMaster", query.GetAllocator()); + parameters.SetObject(); + JSON_ADD_MEMBER(parameters, "name", name.c_str(), query.GetAllocator()); + JSON_ADD_MEMBER(parameters, "ip", ip.c_str(), query.GetAllocator()); + query.AddMember("parameters", parameters, query.GetAllocator()); + if (this->send(query) == false || this->recv(answer) == false) + return false; + + return true; +} + bool RemoteBackend::superMasterBackend(const string &ip, const string &domain, const vector&nsset, string *nameserver, string *account, DNSBackend **ddb) { rapidjson::Document query,answer; -- 2.49.0