From d9148bd101bc55f84095598dcd355771b1e56d6b Mon Sep 17 00:00:00 2001 From: Karel Bilek Date: Tue, 4 Mar 2025 08:53:56 +0100 Subject: [PATCH] lua ComboAddress: add, simplify getRaw, ca -> addr * chage CA to addr in all lua bindings to make linter happy * use toByteString that already exists instead of reimplementing it * add getRaw to CA binding in dnsdist --- pdns/dnsdistdist/dnsdist-lua-bindings.cc | 1 + pdns/lua-base4.cc | 26 +++++++++--------------- 2 files changed, 11 insertions(+), 16 deletions(-) diff --git a/pdns/dnsdistdist/dnsdist-lua-bindings.cc b/pdns/dnsdistdist/dnsdist-lua-bindings.cc index a7b5458f2f..0a4c26772c 100644 --- a/pdns/dnsdistdist/dnsdist-lua-bindings.cc +++ b/pdns/dnsdistdist/dnsdist-lua-bindings.cc @@ -249,6 +249,7 @@ void setupLuaBindings(LuaContext& luaCtx, bool client, bool configCheck) luaCtx.registerFunction("__tostring", [](const ComboAddress& addr) { return addr.toString(); }); luaCtx.registerFunction("toString", [](const ComboAddress& addr) { return addr.toString(); }); luaCtx.registerFunction("toStringWithPort", [](const ComboAddress& addr) { return addr.toStringWithPort(); }); + luaCtx.registerFunction("getRaw", [](const ComboAddress& addr) { return addr.toByteString(); }); luaCtx.registerFunction("getPort", [](const ComboAddress& addr) { return ntohs(addr.sin4.sin_port); }); luaCtx.registerFunction("truncate", [](ComboAddress& addr, unsigned int bits) { addr.truncate(bits); }); luaCtx.registerFunction("isIPv4", [](const ComboAddress& addr) { return addr.sin4.sin_family == AF_INET; }); diff --git a/pdns/lua-base4.cc b/pdns/lua-base4.cc index 141996d62d..21f10aa5fb 100644 --- a/pdns/lua-base4.cc +++ b/pdns/lua-base4.cc @@ -147,22 +147,16 @@ void BaseLua4::prepareContext() { d_lw->registerFunction("disabled", [](DNSResourceRecord& rec) { return rec.disabled; }); // ComboAddress - d_lw->registerFunction("isIPv4", [](const ComboAddress& ca) { return ca.sin4.sin_family == AF_INET; }); - d_lw->registerFunction("isIPv6", [](const ComboAddress& ca) { return ca.sin4.sin_family == AF_INET6; }); - d_lw->registerFunction("getPort", [](const ComboAddress& ca) { return ntohs(ca.sin4.sin_port); } ); - d_lw->registerFunction("isMappedIPv4", [](const ComboAddress& ca) { return ca.isMappedIPv4(); }); - d_lw->registerFunction("mapToIPv4", [](const ComboAddress& ca) { return ca.mapToIPv4(); }); - d_lw->registerFunction("truncate", [](ComboAddress& ca, unsigned int bits) { ca.truncate(bits); }); - d_lw->registerFunction("toString", [](const ComboAddress& ca) { return ca.toString(); }); - d_lw->registerToStringFunction([](const ComboAddress& ca) { return ca.toString(); }); - d_lw->registerFunction("toStringWithPort", [](const ComboAddress& ca) { return ca.toStringWithPort(); }); - d_lw->registerFunction("getRaw", [](const ComboAddress& ca) { - if(ca.sin4.sin_family == AF_INET) { - auto t=ca.sin4.sin_addr.s_addr; return string((const char*)&t, 4); - } - else - return string((const char*)&ca.sin6.sin6_addr.s6_addr, 16); - } ); + d_lw->registerFunction("isIPv4", [](const ComboAddress& addr) { return addr.sin4.sin_family == AF_INET; }); + d_lw->registerFunction("isIPv6", [](const ComboAddress& addr) { return addr.sin4.sin_family == AF_INET6; }); + d_lw->registerFunction("getPort", [](const ComboAddress& addr) { return ntohs(addr.sin4.sin_port); } ); + d_lw->registerFunction("isMappedIPv4", [](const ComboAddress& addr) { return addr.isMappedIPv4(); }); + d_lw->registerFunction("mapToIPv4", [](const ComboAddress& addr) { return addr.mapToIPv4(); }); + d_lw->registerFunction("truncate", [](ComboAddress& addr, unsigned int bits) { addr.truncate(bits); }); + d_lw->registerFunction("toString", [](const ComboAddress& addr) { return addr.toString(); }); + d_lw->registerToStringFunction([](const ComboAddress& addr) { return addr.toString(); }); + d_lw->registerFunction("toStringWithPort", [](const ComboAddress& addr) { return addr.toStringWithPort(); }); + d_lw->registerFunction("getRaw", [](const ComboAddress& addr) { return addr.toByteString(); }); d_lw->writeFunction("newCA", [](const std::string& a) { return ComboAddress(a); }); d_lw->writeFunction("newCAFromRaw", [](const std::string& raw, boost::optional port) { -- 2.47.2