]> granicus.if.org Git - pdns/commitdiff
Use correct TSIG method signatures
authorAki Tuomi <cmouse@cmouse.fi>
Wed, 17 Jun 2015 07:25:30 +0000 (10:25 +0300)
committermind04 <mind04@monshouwer.org>
Tue, 30 Jun 2015 06:12:49 +0000 (08:12 +0200)
modules/remotebackend/remotebackend.cc
modules/remotebackend/remotebackend.hh

index daecda4a2b55c34af2668d928838a13fccedf17c..1405d71e83d8e91ffd58e0445de1483ad38327e5 100644 (file)
@@ -501,7 +501,7 @@ bool RemoteBackend::doesDNSSEC() {
    return d_dnssec;
 }
 
-bool RemoteBackend::getTSIGKey(const std::string& name, std::string* algorithm, std::string* content) {
+bool RemoteBackend::getTSIGKey(const DNSName& name, DNSName* algorithm, std::string* content) {
    rapidjson::Document query,answer;
    rapidjson::Value parameters;
 
@@ -510,7 +510,7 @@ bool RemoteBackend::getTSIGKey(const std::string& name, std::string* algorithm,
    query.SetObject();
    JSON_ADD_MEMBER(query, "method", "getTSIGKey", query.GetAllocator());
    parameters.SetObject();
-   JSON_ADD_MEMBER(parameters, "name", name.c_str(), query.GetAllocator());
+   JSON_ADD_MEMBER_DNSNAME(parameters, "name", name, query.GetAllocator());
    query.AddMember("parameters", parameters, query.GetAllocator());
 
    if (this->send(query) == false || this->recv(answer) == false)
@@ -521,13 +521,13 @@ bool RemoteBackend::getTSIGKey(const std::string& name, std::string* algorithm,
        !answer["result"].HasMember("content")) 
      throw PDNSException("Invalid response to getTSIGKey, missing field(s)");
 
-   algorithm->assign(getString(answer["result"]["algorithm"]));
+   (*algorithm) = getString(answer["result"]["algorithm"]);
    content->assign(getString(answer["result"]["content"]));
    
    return true;
 }
 
-bool RemoteBackend::setTSIGKey(const std::string& name, const std::string& algorithm, const std::string& content) {
+bool RemoteBackend::setTSIGKey(const DNSName& name, const DNSName& algorithm, const std::string& content) {
    rapidjson::Document query,answer;
    rapidjson::Value parameters;
 
@@ -536,8 +536,8 @@ bool RemoteBackend::setTSIGKey(const std::string& name, const std::string& algor
    query.SetObject();
    JSON_ADD_MEMBER(query, "method", "setTSIGKey", query.GetAllocator());
    parameters.SetObject();
-   JSON_ADD_MEMBER(parameters, "name", name.c_str(), query.GetAllocator());
-   JSON_ADD_MEMBER(parameters, "algorithm", algorithm.c_str(), query.GetAllocator());
+   JSON_ADD_MEMBER_DNSNAME(parameters, "name", name, query.GetAllocator());
+   JSON_ADD_MEMBER_DNSNAME(parameters, "algorithm", algorithm, query.GetAllocator());
    JSON_ADD_MEMBER(parameters, "content", content.c_str(), query.GetAllocator());
    query.AddMember("parameters", parameters, query.GetAllocator());
    if (connector->send(query) == false || connector->recv(answer) == false)
@@ -546,7 +546,7 @@ bool RemoteBackend::setTSIGKey(const std::string& name, const std::string& algor
    return true;
 }
 
-bool RemoteBackend::deleteTSIGKey(const std::string& name) {
+bool RemoteBackend::deleteTSIGKey(const DNSName& name) {
    rapidjson::Document query,answer;
    rapidjson::Value parameters;
 
@@ -555,7 +555,7 @@ bool RemoteBackend::deleteTSIGKey(const std::string& name) {
    query.SetObject();
    JSON_ADD_MEMBER(query, "method", "deleteTSIGKey", query.GetAllocator());
    parameters.SetObject();
-   JSON_ADD_MEMBER(parameters, "name", name.c_str(), query.GetAllocator());
+   JSON_ADD_MEMBER_DNSNAME(parameters, "name", name, query.GetAllocator());
    query.AddMember("parameters", parameters, query.GetAllocator());
    if (connector->send(query) == false || connector->recv(answer) == false)
      return false;
index 6334cd09f8bcdc5a2cb9c49d9d357de5ad3f49aa..38f0667592899fa5938cc6cdc0990484a4bbee73 100644 (file)
@@ -140,7 +140,7 @@ class RemoteBackend : public DNSBackend
   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 getTSIGKey(const std::string& name, std::string* algorithm, std::string* content);
+  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);
   virtual bool removeDomainKey(const DNSName& name, unsigned int id);
@@ -161,8 +161,8 @@ class RemoteBackend : public DNSBackend
   virtual bool commitTransaction();
   virtual bool abortTransaction();
   virtual bool calculateSOASerial(const DNSName& domain, const SOAData& sd, time_t& serial);
-  virtual bool setTSIGKey(const std::string& name, const string& algorithm, const string& content);
-  virtual bool deleteTSIGKey(const std::string& name);
+  virtual bool setTSIGKey(const DNSName& name, const DNSName& algorithm, const string& content);
+  virtual bool deleteTSIGKey(const DNSName& name);
   virtual bool getTSIGKeys(std::vector< struct TSIGKey > &keys);
 
   static DNSBackend *maker();