fix: populate ldns submodule and add autotools to LDNS build stage
- Re-cloned zonemaster-ldns with --recurse-submodules so the bundled ldns C library source (including Changelog and configure.ac) is present - Added autoconf, automake, libtool to Dockerfile.backend ldns-build stage so libtoolize + autoreconf can generate ldns/configure during make Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
126
zonemaster-ldns/ldns/lua/rns-lib.lua
Normal file
126
zonemaster-ldns/ldns/lua/rns-lib.lua
Normal file
@@ -0,0 +1,126 @@
|
||||
-- ldns defines - need a better way to keep these current
|
||||
LDNS_SECTION_QUESTION = 0
|
||||
LDNS_SECTION_ANSWER = 1
|
||||
LDNS_SECTION_AUTHORITY = 2
|
||||
LDNS_SECTION_ADDITIONAL = 3
|
||||
LDNS_SECTION_ANY = 4
|
||||
LDNS_SECTION_ANY_NOQUESTION = 5
|
||||
|
||||
-- rdf types
|
||||
LDNS_RDF_TYPE_NONE = 0
|
||||
LDNS_RDF_TYPE_DNAME = 1
|
||||
LDNS_RDF_TYPE_INT8 = 1
|
||||
LDNS_RDF_TYPE_INT16 = 3
|
||||
LDNS_RDF_TYPE_INT32 = 4
|
||||
LDNS_RDF_TYPE_A = 5
|
||||
LDNS_RDF_TYPE_AAAA = 6
|
||||
LDNS_RDF_TYPE_STR = 7
|
||||
LDNS_RDF_TYPE_APL = 8
|
||||
LDNS_RDF_TYPE_B32_EXT = 9
|
||||
LDNS_RDF_TYPE_B64 = 10
|
||||
LDNS_RDF_TYPE_HEX = 11
|
||||
LDNS_RDF_TYPE_NSEC = 12
|
||||
LDNS_RDF_TYPE_TYPE = 13
|
||||
LDNS_RDF_TYPE_CLASS = 14
|
||||
LDNS_RDF_TYPE_CERT = 15
|
||||
LDNS_RDF_TYPE_ALG = 16
|
||||
LDNS_RDF_TYPE_UNKNOWN = 17
|
||||
LDNS_RDF_TYPE_TIME = 18
|
||||
LDNS_RDF_TYPE_PERIOD = 19
|
||||
LDNS_RDF_TYPE_TSIGTIME = 20
|
||||
LDNS_RDF_TYPE_HIP = 21
|
||||
LDNS_RDF_TYPE_INT16_DATA = 22
|
||||
LDNS_RDF_TYPE_SERVICE = 23
|
||||
LDNS_RDF_TYPE_LOC = 24
|
||||
LDNS_RDF_TYPE_WKS = 25
|
||||
LDNS_RDF_TYPE_NSAP = 26
|
||||
LDNS_RDF_TYPE_ATMA = 27
|
||||
LDNS_RDF_TYPE_IPSECKEY = 28
|
||||
|
||||
function lua_debug(...)
|
||||
print("[lua]", unpack(arg))
|
||||
end
|
||||
|
||||
-- transpose 2 rrs in a pkt --
|
||||
function lua_record_transpose(pkt, n1, n2)
|
||||
print("[info] [RR] transpose", n1, n2)
|
||||
local rr_n1 = packet.get_rr(pkt, n1)
|
||||
local rr_n2 = packet.set_rr(pkt, rr_n1, n2)
|
||||
local rr_tm = packet.set_rr(pkt, rr_n2, n1)
|
||||
record.free(rm_tm)
|
||||
end
|
||||
|
||||
-- _R := random
|
||||
function lua_record_transpose_R(pkt)
|
||||
local total = packet.rrcount(pkt) - 1
|
||||
local rn1 = math.random(0, total)
|
||||
local rn2 = math.random(0, total)
|
||||
lua_transpose_record(pkt, rn1, rn2)
|
||||
end
|
||||
|
||||
-- substitute, add, remove
|
||||
function lua_record_insert(pkt, r, n)
|
||||
print("[info] [RR] insert after", n)
|
||||
packet.insert_rr(pkt, r, n)
|
||||
end
|
||||
|
||||
-- add an rr to the end of a pkt --
|
||||
-- _E := end
|
||||
function lua_record_insert_E(pkt, r)
|
||||
local n = packet.rrcount(pkt) - 1
|
||||
print(n)
|
||||
lua_insert_rr(pkt, r, n)
|
||||
end
|
||||
|
||||
-- remove an rr from the end of a pkt --
|
||||
--pop??
|
||||
function lua_record_remove_E(pkt, n)
|
||||
print("[info] [RR] remove", "end")
|
||||
end
|
||||
|
||||
-- increment the ancount
|
||||
function lua_packet_ancount_incr(pkt, n)
|
||||
print("[info] [PKT] ancount incr", n)
|
||||
an = packet.ancount(pkt)
|
||||
n = an + n
|
||||
packet.set_ancount(pkt, n)
|
||||
end
|
||||
|
||||
---------------------------------
|
||||
-- higher level --
|
||||
---------------------------------
|
||||
|
||||
-- reverse all the rrs in a pkt --
|
||||
function lua_packet_reverse(pkt)
|
||||
local total = packet.rrcount(pkt) - 1
|
||||
for i=0, (total / 2) do
|
||||
lua_transpose_rr(pkt, i, total - i)
|
||||
end
|
||||
end
|
||||
|
||||
-- write a buffer to a socket
|
||||
function lua_udp_write(socket, buffer_wire, sock_from)
|
||||
-- convert the sockaddr_storage to something we
|
||||
-- can work with
|
||||
|
||||
-- checks
|
||||
if socket == 0 then return -1 end
|
||||
if buffer_wire == nil then return -1 end
|
||||
if sock_from == nil then return -1 end
|
||||
|
||||
rdf_listen, port_listen = rdf.sockaddr_to_rdf(sock_from)
|
||||
|
||||
bytes = udp.write(socket, buffer_wire, rdf_listen, port_listen)
|
||||
return bytes
|
||||
end
|
||||
|
||||
|
||||
-- initialize the pseudo random number generator
|
||||
-- frm: http://lua-users.org/wiki/MathLibraryTutorial
|
||||
function lua_rand_init()
|
||||
math.randomseed(os.time())
|
||||
math.random()
|
||||
math.random()
|
||||
math.random()
|
||||
end
|
||||
lua_rand_init()
|
||||
Reference in New Issue
Block a user