]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
dnsdist: Clean up FFI types
authorRemi Gacogne <remi.gacogne@powerdns.com>
Mon, 6 Jan 2020 15:59:24 +0000 (16:59 +0100)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Tue, 11 Feb 2020 10:49:58 +0000 (11:49 +0100)
pdns/dnsdistdist/dnsdist-lua-ffi-interface.h
pdns/dnsdistdist/dnsdist-lua-ffi.cc
pdns/dnsdistdist/dnsdist-lua-ffi.hh
regression-tests.dnsdist/test_DOH.py
regression-tests.dnsdist/test_EDNSOptions.py

index daf4a50ebdb6e8152dd87d95cbcdcc46ddd5a9f0..f1ae6cacdd7425e0b07a6909d77b1fa0d4d6bffd 100644 (file)
@@ -23,21 +23,22 @@ typedef struct dnsdist_ffi_dnsquestion_t dnsdist_ffi_dnsquestion_t;
 typedef struct dnsdist_ffi_servers_list_t dnsdist_ffi_servers_list_t;
 typedef struct dnsdist_ffi_server_t dnsdist_ffi_server_t;
 
-typedef struct dnsdist_ednsoption {
+typedef struct dnsdist_ffi_ednsoption {
   uint16_t    optionCode;
   uint16_t    len;
   const void* data;
-} dnsdist_ednsoption_t;
+} dnsdist_ffi_ednsoption_t;
 
-typedef struct dnsdist_http_header {
+typedef struct dnsdist_ffi_http_header {
   const char* name;
   const char* value;
-} dnsdist_http_header_t;
+} dnsdist_ffi_http_header_t;
 
-typedef struct dnsdist_tag {
+typedef struct dnsdist_ffi_tag {
   const char* name;
   const char* value;
-} dnsdist_tag_t;
+} dnsdist_ffi_tag_t;
+
 
 void dnsdist_ffi_dnsquestion_get_localaddr(const dnsdist_ffi_dnsquestion_t* dq, const void** addr, size_t* addrSize) __attribute__ ((visibility ("default")));
 uint16_t dnsdist_ffi_dnsquestion_get_local_port(const dnsdist_ffi_dnsquestion_t* dq) __attribute__ ((visibility ("default")));
@@ -70,9 +71,9 @@ const char* dnsdist_ffi_dnsquestion_get_http_host(dnsdist_ffi_dnsquestion_t* dq)
 const char* dnsdist_ffi_dnsquestion_get_http_scheme(dnsdist_ffi_dnsquestion_t* dq) __attribute__ ((visibility ("default")));
 
 // returns the length of the resulting 'out' array. 'out' is not set if the length is 0
-size_t dnsdist_ffi_dnsquestion_get_edns_options(dnsdist_ffi_dnsquestion_t* ref, const dnsdist_ednsoption_t** out) __attribute__ ((visibility ("default")));
-size_t dnsdist_ffi_dnsquestion_get_http_headers(dnsdist_ffi_dnsquestion_t* ref, const dnsdist_http_header_t** out) __attribute__ ((visibility ("default")));
-size_t dnsdist_ffi_dnsquestion_get_tag_array(dnsdist_ffi_dnsquestion_t* ref, const dnsdist_tag_t** out) __attribute__ ((visibility ("default")));
+size_t dnsdist_ffi_dnsquestion_get_edns_options(dnsdist_ffi_dnsquestion_t* ref, const dnsdist_ffi_ednsoption_t** out) __attribute__ ((visibility ("default")));
+size_t dnsdist_ffi_dnsquestion_get_http_headers(dnsdist_ffi_dnsquestion_t* ref, const dnsdist_ffi_http_header_t** out) __attribute__ ((visibility ("default")));
+size_t dnsdist_ffi_dnsquestion_get_tag_array(dnsdist_ffi_dnsquestion_t* ref, const dnsdist_ffi_tag_t** out) __attribute__ ((visibility ("default")));
 
 void dnsdist_ffi_dnsquestion_set_result(dnsdist_ffi_dnsquestion_t* dq, const char* str, size_t strSize) __attribute__ ((visibility ("default")));
 void dnsdist_ffi_dnsquestion_set_rcode(dnsdist_ffi_dnsquestion_t* dq, int rcode) __attribute__ ((visibility ("default")));
index efb7695854ca75e20ccee41db68cc9160a6f0068..f709feaa5d101adb248c10c6f89ca93d19503c25 100644 (file)
@@ -240,7 +240,7 @@ const char* dnsdist_ffi_dnsquestion_get_http_scheme(dnsdist_ffi_dnsquestion_t* d
   return nullptr;
 }
 
-static void fill_edns_option(const EDNSOptionViewValue& value, dnsdist_ednsoption_t& option)
+static void fill_edns_option(const EDNSOptionViewValue& value, dnsdist_ffi_ednsoption_t& option)
 {
   option.len = value.size;
   option.data = nullptr;
@@ -251,7 +251,7 @@ static void fill_edns_option(const EDNSOptionViewValue& value, dnsdist_ednsoptio
 }
 
 // returns the length of the resulting 'out' array. 'out' is not set if the length is 0
-size_t dnsdist_ffi_dnsquestion_get_edns_options(dnsdist_ffi_dnsquestion_t* dq, const dnsdist_ednsoption_t** out)
+size_t dnsdist_ffi_dnsquestion_get_edns_options(dnsdist_ffi_dnsquestion_t* dq, const dnsdist_ffi_ednsoption_t** out)
 {
   if (dq->dq->ednsOptions == nullptr) {
     parseEDNSOptions(*(dq->dq));
@@ -280,7 +280,7 @@ size_t dnsdist_ffi_dnsquestion_get_edns_options(dnsdist_ffi_dnsquestion_t* dq, c
   return totalCount;
 }
 
-size_t dnsdist_ffi_dnsquestion_get_http_headers(dnsdist_ffi_dnsquestion_t* dq, const dnsdist_http_header_t** out)
+size_t dnsdist_ffi_dnsquestion_get_http_headers(dnsdist_ffi_dnsquestion_t* dq, const dnsdist_ffi_http_header_t** out)
 {
   if (dq->dq->du == nullptr) {
     return 0;
@@ -307,7 +307,7 @@ size_t dnsdist_ffi_dnsquestion_get_http_headers(dnsdist_ffi_dnsquestion_t* dq, c
 #endif
 }
 
-size_t dnsdist_ffi_dnsquestion_get_tag_array(dnsdist_ffi_dnsquestion_t* dq, const dnsdist_tag_t** out)
+size_t dnsdist_ffi_dnsquestion_get_tag_array(dnsdist_ffi_dnsquestion_t* dq, const dnsdist_ffi_tag_t** out)
 {
   if (dq->dq->qTag == nullptr || dq->dq->qTag->size() == 0) {
     return 0;
index ca3e8d4edbd37e1e21f64feb3b301a855ff4aff7..63156db080aedf11cb10766b3107ea248012ebe8 100644 (file)
@@ -46,9 +46,9 @@ struct dnsdist_ffi_dnsquestion_t
   }
 
   DNSQuestion* dq{nullptr};
-  std::vector<dnsdist_ednsoption_t> ednsOptionsVect;
-  std::vector<dnsdist_http_header_t> httpHeadersVect;
-  std::vector<dnsdist_tag_t> tagsVect;
+  std::vector<dnsdist_ffi_ednsoption_t> ednsOptionsVect;
+  std::vector<dnsdist_ffi_http_header_t> httpHeadersVect;
+  std::vector<dnsdist_ffi_tag_t> tagsVect;
   std::unordered_map<std::string, std::string> httpHeaders;
   std::string trailingData;
   ComboAddress maskedRemote;
index eb4b1cfcbffbe110a223de385d75d8dff9c85849..d8041a72d7a5ef3ee866bb5993e3872d2052221f 100644 (file)
@@ -907,8 +907,8 @@ class TestDOHFFI(DNSDistDOHTest):
       local query_string = ffi.string(ffi.C.dnsdist_ffi_dnsquestion_get_http_query_string(dq))
       if scheme == 'https' and host == '%s:%d' and path == '/' and query_string == '' then
         local foundct = false
-        local headers_ptr = ffi.new("const dnsdist_http_header_t *[1]")
-        local headers_ptr_param = ffi.cast("const dnsdist_http_header_t **", headers_ptr)
+        local headers_ptr = ffi.new("const dnsdist_ffi_http_header_t *[1]")
+        local headers_ptr_param = ffi.cast("const dnsdist_ffi_http_header_t **", headers_ptr)
 
         local headers_count = tonumber(ffi.C.dnsdist_ffi_dnsquestion_get_http_headers(dq, headers_ptr_param))
         if headers_count > 0 then
index 7b1c8bbeff7eb62f5b3c4c25e74d727eed4a515c..f1e386e82546fc40a81ab819f370e54903f972e4 100644 (file)
@@ -391,8 +391,8 @@ class TestEDNSOptionsLuaFFI(DNSDistTest):
     local ffi = require("ffi")
 
     function testEDNSOptions(dq)
-      local options_ptr = ffi.new("const dnsdist_ednsoption_t *[1]")
-      local ret_ptr_param = ffi.cast("const dnsdist_ednsoption_t **", options_ptr)
+      local options_ptr = ffi.new("const dnsdist_ffi_ednsoption_t *[1]")
+      local ret_ptr_param = ffi.cast("const dnsdist_ffi_ednsoption_t **", options_ptr)
 
       local options_count = tonumber(ffi.C.dnsdist_ffi_dnsquestion_get_edns_options(dq, ret_ptr_param))