From: Remi Gacogne Date: Wed, 25 Sep 2019 15:03:43 +0000 (+0200) Subject: auth: Use shared pointers for the DNSPacket Lua bindings X-Git-Tag: dnsdist-1.4.0-rc3~5^2~1 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4c93dbb23f8c75288a97269c1dbcd670188e9b4a;p=pdns auth: Use shared pointers for the DNSPacket Lua bindings --- diff --git a/pdns/lua-auth4.cc b/pdns/lua-auth4.cc index a6841680a..e075b6eb2 100644 --- a/pdns/lua-auth4.cc +++ b/pdns/lua-auth4.cc @@ -56,8 +56,8 @@ void AuthLua4::postPrepareContext() { }); /* DNSPacket */ - d_lw->writeFunction("newDNSPacket", [](bool isQuery) { return make_unique(isQuery); }); - d_lw->writeFunction("dupDNSPacket", [](const std::unique_ptr &orig) { return make_unique(*orig); }); + d_lw->writeFunction("newDNSPacket", [](bool isQuery) { return std::make_shared(isQuery); }); + d_lw->writeFunction("dupDNSPacket", [](const std::shared_ptr &orig) { return std::make_shared(*orig); }); d_lw->registerFunction("noparse", [](DNSPacket &p, const char *mesg, size_t len){ return p.noparse(mesg, len); }); d_lw->registerFunction("parse", [](DNSPacket &p, const char *mesg, size_t len){ return p.parse(mesg, len); }); d_lw->registerFunction("getString", [](DNSPacket &p) { return p.getString(); }); @@ -79,7 +79,7 @@ void AuthLua4::postPrepareContext() { d_lw->registerFunction >&)>("addRecords", [](DNSPacket &p, const vector >& records){ for(const auto &dr: records){ DNSZoneRecord dzr; dzr.dr = std::get<1>(dr); dzr.auth = true; p.addRecord(dzr); }}); d_lw->registerFunction("setQuestion", [](DNSPacket &p, unsigned int opcode, const DNSName &name, const string &type){ QType qtype; qtype = type; p.setQuestion(static_cast(opcode), name, static_cast(qtype.getCode())); }); d_lw->registerFunction("isEmpty", [](DNSPacket &p){return p.isEmpty();}); - d_lw->registerFunction()>("replyPacket",[](DNSPacket& p){ return p.replyPacket();}); + d_lw->registerFunction()>("replyPacket",[](DNSPacket& p){ return p.replyPacket();}); d_lw->registerFunction("hasEDNSSubnet", [](DNSPacket &p){return p.hasEDNSSubnet();}); d_lw->registerFunction("hasEDNS",[](DNSPacket &p){return p.hasEDNS();}); d_lw->registerFunction("getEDNSVersion",[](DNSPacket &p){return p.getEDNSVersion();});