From: Remi Gacogne Date: Fri, 16 Jun 2023 08:14:21 +0000 (+0200) Subject: dnsdist: Add a regression test for the Lua FFI raw tag interface X-Git-Tag: rec-5.0.0-alpha1~164^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=refs%2Fpull%2F12924%2Fhead;p=thirdparty%2Fpdns.git dnsdist: Add a regression test for the Lua FFI raw tag interface --- diff --git a/regression-tests.dnsdist/test_LuaFFI.py b/regression-tests.dnsdist/test_LuaFFI.py index 22d2deafb8..3fef2cdb18 100644 --- a/regression-tests.dnsdist/test_LuaFFI.py +++ b/regression-tests.dnsdist/test_LuaFFI.py @@ -83,6 +83,16 @@ class TestAdvancedLuaFFI(DNSDistTest): print(ffi.string(tag)) return false end + + local raw_tag_buf_size = 255 + local raw_tag_buf = ffi.new("char [?]", raw_tag_buf_size) + local raw_tag_size = ffi.C.dnsdist_ffi_dnsquestion_get_tag_raw(dq, 'raw-tag', raw_tag_buf, raw_tag_buf_size) + if ffi.string(raw_tag_buf, raw_tag_size) ~= 'a\0b' then + print('invalid raw tag value') + print(ffi.string(raw_tag_buf, raw_tag_size)) + return false + end + return true end @@ -105,7 +115,14 @@ class TestAdvancedLuaFFI(DNSDistTest): return DNSAction.None end + function luaffiactionsettagraw(dq) + local value = "a\0b" + ffi.C.dnsdist_ffi_dnsquestion_set_tag_raw(dq, 'raw-tag', value, #value) + return DNSAction.None + end + addAction(AllRule(), LuaFFIAction(luaffiactionsettag)) + addAction(AllRule(), LuaFFIAction(luaffiactionsettagraw)) addAction(LuaFFIRule(luaffirulefunction), LuaFFIAction(luaffiactionfunction)) -- newServer{address="127.0.0.1:%s"} """