+local kluautil = {}
-- Get length of table
-function kr_table_len (t)
+function kluautil.kr_table_len(t)
local len = 0
for _ in pairs(t) do
len = len + 1
end
-- Fetch over HTTPS
-function kr_https_fetch (url, ca_file, file)
+function kluautil.kr_https_fetch(url, ca_file, file)
local http_ok, http_request = pcall(require, 'http.request')
local openssl_ok, openssl_ctx = pcall(require, 'openssl.ssl.context')
return true
end
+return kluautil
todname = kres.str2dname
end
--- Binding lua helper
-kluautil = require('kluautil')
-
worker.resolve_pkt = function (pkt, options, finish, init)
options = kres.mk_qflags(options)
local task = ffi.C.worker_resolve_start(pkt, options)
-- Fetch root anchors in XML over HTTPS, returning a zone-file-style string
-- or false in case of error, and a message.
local function bootstrap(url, ca)
- local kluautil = pcall(require, 'kluautil')
+ local kluautil = require('kluautil')
local file = io.tmpfile()
-- RFC 7958, sec. 2, but we don't do precise XML parsing.
-- @todo ICANN certificate is verified against current CA
end
local function test_mirror()
- local socket = require("cqueues.socket")
- local cond = require("cqueues.condition")
+ local kluautil = require('kluautil')
+ local socket = require('cqueues.socket')
+ local cond = require('cqueues.condition')
local cv = cond.new()
local queries = {}
local srv = socket.listen({
-- UDP server for test
worker.bg_worker.cq:wrap(function()
- local err, msg = mirror_parser(srv, cv, kr_table_len(queries))
+ local err, msg = mirror_parser(srv, cv, kluautil.kr_table_len(queries))
ok(err, msg)
end)
end
local function download(url, fname)
- local kluautil = pcall(require, 'kluautil')
+ local kluautil = require('kluautil')
local file, rcode, errmsg
file, errmsg = io.open(fname, 'w')
if not file then