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:
2026-04-21 08:33:38 +02:00
parent 8d4eaa1489
commit eaaa8f6a11
541 changed files with 138189 additions and 0 deletions

View 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()