]> granicus.if.org Git - pdns/commitdiff
allow newDN to take a DNSName in
authorPeter van Dijk <peter.van.dijk@powerdns.com>
Mon, 8 Aug 2016 19:06:15 +0000 (21:06 +0200)
committerPeter van Dijk <peter.van.dijk@powerdns.com>
Thu, 11 Aug 2016 08:47:57 +0000 (10:47 +0200)
pdns/lua-recursor4.cc

index 0db7ef432fc14bf2c14a896864fd5164268ff6aa..4e7bdf0c9bae8a822719f1b201b625088c954b54 100644 (file)
@@ -229,7 +229,12 @@ RecursorLua4::RecursorLua4(const std::string& fname)
   d_lw->registerFunction<int(dnsheader::*)()>("getNSCOUNT", [](dnsheader& dh) { return ntohs(dh.nscount); });
   d_lw->registerFunction<int(dnsheader::*)()>("getARCOUNT", [](dnsheader& dh) { return ntohs(dh.arcount); });
 
-  d_lw->writeFunction("newDN", [](const std::string& dom){ return DNSName(dom); });  
+  d_lw->writeFunction("newDN", [](boost::variant<const std::string, const DNSName> dom){
+    if(dom.which() == 0)
+      return DNSName(boost::get<const std::string>(dom));
+    else
+      return DNSName(boost::get<const DNSName>(dom));
+  });
   d_lw->registerFunction("isPartOf", &DNSName::isPartOf);
   d_lw->registerFunction<bool(DNSName::*)(const std::string&)>("equal",
                                                              [](const DNSName& lhs, const std::string& rhs) { return lhs==DNSName(rhs); });