]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
kr_request: move ::qsource.tcp to ::qsource.flags.tcp
authorVladimír Čunát <vladimir.cunat@nic.cz>
Mon, 12 Nov 2018 15:37:07 +0000 (16:37 +0100)
committerVladimír Čunát <vladimir.cunat@nic.cz>
Mon, 12 Nov 2018 15:53:16 +0000 (16:53 +0100)
daemon/lua/kres-gen.lua
daemon/lua/kres-gen.sh
daemon/worker.c
lib/resolve.h
modules/dnstap/dnstap.c

index c96037db3f9440236819446c3cbed00de2f3de29..4d6c07ffde48bf84fe4d010980f31140468617ae 100644 (file)
@@ -163,6 +163,9 @@ struct kr_rplan {
        knot_mm_t *pool;
        uint32_t next_uid;
 };
+struct kr_request_qsource_flags {
+       _Bool tcp : 1;
+};
 struct kr_request {
        struct kr_context *ctx;
        knot_pkt_t *answer;
@@ -171,7 +174,7 @@ struct kr_request {
                const struct sockaddr *addr;
                const struct sockaddr *dst_addr;
                const knot_pkt_t *packet;
-               _Bool tcp;
+               struct kr_request_qsource_flags flags;
                size_t size;
        } qsource;
        struct {
index afc1460f555b1e865cd72480ae759fda67d3d7b2..73e16b46caedf3c7d0d64c1588b4f82410370750 100755 (executable)
@@ -74,6 +74,7 @@ genResType "knot_rrset_t" | sed 's/\<owner\>/_owner/; s/\<ttl\>/_ttl/'
        struct kr_zonecut
        kr_qarray_t
        struct kr_rplan
+       struct kr_request_qsource_flags
        struct kr_request
        enum kr_rank
        struct kr_cache
index 9a17058c98fa5d95c670558b4fa3182771974890..040dffce1cdfb23b9c76c9b03d0324a9f95f93a7 100644 (file)
@@ -321,12 +321,12 @@ static struct request_ctx *request_create(struct worker_ctx *worker,
                if (uv_udp_getsockname((uv_udp_t *)handle, dst_addr, &addr_len) == 0) {
                        req->qsource.dst_addr = dst_addr;
                }
-               req->qsource.tcp = false;
+               req->qsource.flags.tcp = false;
        } else if (handle->type == UV_TCP) {
                if (uv_tcp_getsockname((uv_tcp_t *)handle, dst_addr, &addr_len) == 0) {
                        req->qsource.dst_addr = dst_addr;
                }
-               req->qsource.tcp = true;
+               req->qsource.flags.tcp = true;
        }
 
        return ctx;
index 4075d339a78b4c42433ef1073f89a84100a9ed76..598500171d5d927ff38c28636922861f6338c0fa 100644 (file)
@@ -174,6 +174,12 @@ struct kr_context
        knot_mm_t *pool;
 };
 
+/* Kept outside, because kres-gen.lua can't handle this depth
+ * (and lines here were too long anyway). */
+struct kr_request_qsource_flags {
+       bool tcp:1; /**< true if the request is on tcp; only meaningful if (dst_addr). */
+};
+
 /**
  * Name resolution request.
  *
@@ -194,7 +200,7 @@ struct kr_request {
                /** Address that accepted the request.  NULL for internal origin. */
                const struct sockaddr *dst_addr;
                const knot_pkt_t *packet;
-               bool tcp; /**< true if the request is on tcp; only meaningful if (dst_addr) */
+               struct kr_request_qsource_flags flags; /**< See definition above. */
                size_t size; /**< query packet size */
        } qsource;
        struct {
index f0eae82803d83598bbaa6b37aa50c5f5c60adf97..520ce33844b4db95ed04ae7bf66555a3ad063b58 100644 (file)
@@ -121,7 +121,7 @@ static int dnstap_log(kr_layer_t *ctx) {
        }
 
        if (req->qsource.dst_addr) {
-               if (req->qsource.tcp) {
+               if (req->qsource.flags.tcp) {
                        m.socket_protocol = DNSTAP__SOCKET_PROTOCOL__TCP;
                } else {
                        m.socket_protocol = DNSTAP__SOCKET_PROTOCOL__UDP;