]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
doh: remember source transport
authorPetr Špaček <petr.spacek@nic.cz>
Wed, 3 Apr 2019 13:12:38 +0000 (15:12 +0200)
committerPetr Špaček <petr.spacek@nic.cz>
Thu, 11 Apr 2019 07:12:48 +0000 (09:12 +0200)
daemon/lua/kres-gen.lua
lib/resolve.h
modules/http/http_doh.lua

index 1b7571fbdaa78b1846010ae7f0b61dfd0fc0708c..4989c02c7fecf3a1cc16263c646d10b1887bf3f1 100644 (file)
@@ -166,6 +166,7 @@ struct kr_rplan {
 struct kr_request_qsource_flags {
        _Bool tcp : 1;
        _Bool tls : 1;
+       _Bool http : 1;
 };
 struct kr_request {
        struct kr_context *ctx;
index 60d80bb295bdee602280b94e92ac71dfed5d5824..ae695b9136dc6207159cded2b8ceed6c66159b25 100644 (file)
@@ -179,6 +179,7 @@ struct kr_context
 struct kr_request_qsource_flags {
        bool tcp:1; /**< true if the request is on TCP (or TLS); only meaningful if (dst_addr). */
        bool tls:1; /**< true if the request is on TLS; only meaningful if (dst_addr). */
+       bool http:1; /**< true if the request is on HTTP; only meaningful if (dst_addr). */
 };
 
 /**
index 4088ad07bed232bd7ee7e75cd1a1cf71e660c20d..68ee3b17728a51b6fcb58be5cadb2f2f574ef82c 100644 (file)
@@ -92,6 +92,10 @@ local function serve_doh(h, stream)
        local function init_cb(req)
                req.qsource.addr = convert_sockaddr(stream:peername())
                req.qsource.dst_addr = convert_sockaddr(stream:localname())
+               req.qsource.flags.tcp = true
+               req.qsource.flags.tls = (stream.connection:checktls() ~= nil)
+               print(req.qsource.flags.tls)
+               req.qsource.flags.http = true
        end
 
        -- resolve query