]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Make lib/dns/dnstap.pb-c.h private header
authorOndřej Surý <ondrej@sury.org>
Fri, 22 Mar 2019 09:36:25 +0000 (10:36 +0100)
committerOndřej Surý <ondrej@sury.org>
Fri, 22 Mar 2019 11:07:31 +0000 (12:07 +0100)
This changes dns_dtdata struct to not expose data types from dnstap.pb-c.h to
prevent the need for including this header where not really needed.

(cherry picked from commit 8ccce7e24b6aff6e02745b64d66ef50842763543)

bin/tools/dnstap-read.c
configure
configure.ac
lib/dns/Makefile.in
lib/dns/dnstap.c
lib/dns/include/dns/Makefile.in
lib/dns/include/dns/dnstap.h
lib/dns/tests/dnstap_test.c

index 347327ab1e28ebe1531984b749195be1fa24b234..899a0bf1dac87b4e1879841dc5b1bf5b6c8fd0a2 100644 (file)
@@ -48,6 +48,9 @@
 #include <dns/name.h>
 #include <dns/result.h>
 
+#include <protobuf-c/protobuf-c.h>
+#include "lib/dns/dnstap.pb-c.h"
+
 isc_mem_t *mctx = NULL;
 bool memrecord = false;
 bool printmessage = false;
index 4c97c8c48ffae8f2482e3123e8ea4fbee2c6f801..7470a5b9553790cae6881b313eba247d96f37e67 100755 (executable)
--- a/configure
+++ b/configure
@@ -697,7 +697,6 @@ W3M
 DBLATEX
 PDFLATEX
 LATEX
-DNSTAP_PB_C_H
 DNSTAPTARGETS
 DNSTAPOBJS
 DNSTAPSRCS
@@ -18258,7 +18257,6 @@ DNSTAP=
 DNSTAPSRCS=
 DNSTAPOBJS=
 DNSTAPTARGETS=
-DNSTAP_PB_C_H=
 if test "x$use_dnstap" != "xno"; then
 
 # Check whether --with-protobuf-c was given.
@@ -18591,14 +18589,12 @@ $as_echo "#define HAVE_DNSTAP 1" >>confdefs.h
        DNSTAPSRCS='${DNSTAPSRCS}'
        DNSTAPOBJS='${DNSTAPOBJS}'
        DNSTAPTARGETS='${DNSTAPTARGETS}'
-       DNSTAP_PB_C_H="dnstap.pb-c.h"
 fi
 
 
 
 
 
-
 #
 #  The following sets up how non-blocking i/o is established.
 #  cygwin and solaris 2.x (x<5) require special handling.
index d090484f7fcaecf520ce533addbd1875868fdfcd..0f3e70fe54041a30bbce307cbe6413999c37f2c7 100644 (file)
@@ -2074,7 +2074,6 @@ DNSTAP=
 DNSTAPSRCS=
 DNSTAPOBJS=
 DNSTAPTARGETS=
-DNSTAP_PB_C_H=
 if test "x$use_dnstap" != "xno"; then
        AC_ARG_WITH([protobuf-c],
                    AS_HELP_STRING([--with-protobuf-c=path],
@@ -2127,13 +2126,11 @@ if test "x$use_dnstap" != "xno"; then
        DNSTAPSRCS='${DNSTAPSRCS}'
        DNSTAPOBJS='${DNSTAPOBJS}'
        DNSTAPTARGETS='${DNSTAPTARGETS}'
-       DNSTAP_PB_C_H="dnstap.pb-c.h"
 fi
 AC_SUBST(DNSTAP)
 AC_SUBST(DNSTAPSRCS)
 AC_SUBST(DNSTAPOBJS)
 AC_SUBST(DNSTAPTARGETS)
-AC_SUBST(DNSTAP_PB_C_H)
 
 #
 #  The following sets up how non-blocking i/o is established.
index eb3346af2c414a25eb896712425dfb044a57d3dc..dc9d521632aad2614aa6a5aeb8daf72df1155c78 100644 (file)
@@ -189,7 +189,7 @@ clean distclean::
        rm -f libdns.@A@ timestamp
        rm -f gen code.h include/dns/enumtype.h include/dns/enumclass.h
        rm -f include/dns/rdatastruct.h
-       rm -f dnstap.pb-c.c dnstap.pb-c.h include/dns/dnstap.pb-c.h
+       rm -f dnstap.pb-c.c dnstap.pb-c.h
 
 newrr::
        rm -f code.h include/dns/enumtype.h include/dns/enumclass.h
@@ -204,9 +204,8 @@ ${OBJS}: include
 # dnstap
 dnstap.@O@: dnstap.c dnstap.pb-c.c
 
-dnstap.pb-c.c dnstap.pb-c.h include/dns/dnstap.pb-c.h: dnstap.proto
+dnstap.pb-c.c dnstap.pb-c.h: dnstap.proto
        $(PROTOC_C) --c_out=. --proto_path ${srcdir} dnstap.proto
-       cp -f dnstap.pb-c.h include/dns
 
 dnstap.pb-c.@O@: dnstap.pb-c.c
 
index bf312ed6febf9f9acc37743e7441a09869635ce4..d9f9d070ecddfdd3682deba0c6cde122140e8d05 100644 (file)
@@ -78,8 +78,8 @@
 #include <dns/types.h>
 #include <dns/view.h>
 
-#include <dns/dnstap.pb-c.h>
 #include <protobuf-c/protobuf-c.h>
+#include "dnstap.pb-c.h"
 
 #define DTENV_MAGIC                    ISC_MAGIC('D', 't', 'n', 'v')
 #define VALID_DTENV(env)               ISC_MAGIC_VALID(env, DTENV_MAGIC)
@@ -1101,6 +1101,7 @@ dns_dt_close(dns_dthandle_t **handlep) {
 isc_result_t
 dns_dt_parse(isc_mem_t *mctx, isc_region_t *src, dns_dtdata_t **destp) {
        isc_result_t result;
+       Dnstap__Dnstap *frame;
        Dnstap__Message *m;
        dns_dtdata_t *d = NULL;
        isc_buffer_t b;
@@ -1119,10 +1120,12 @@ dns_dt_parse(isc_mem_t *mctx, isc_region_t *src, dns_dtdata_t **destp) {
        if (d->frame == NULL)
                CHECK(ISC_R_NOMEMORY);
 
-       if (d->frame->type != DNSTAP__DNSTAP__TYPE__MESSAGE)
+       frame = (Dnstap__Dnstap *)d->frame;
+
+       if (frame->type != DNSTAP__DNSTAP__TYPE__MESSAGE)
                CHECK(DNS_R_BADDNSTAP);
 
-       m = d->frame->message;
+       m = frame->message;
 
        /* Message type */
        switch (m->type) {
index 77df509c71b6f2e8593b93d4fafdf54cb734f123..f16ec752536dbf7cb02d630d46ee298dbad7b0fc 100644 (file)
@@ -33,7 +33,7 @@ HEADERS =     acl.h adb.h badcache.h bit.h byaddr.h \
                update.h validator.h version.h view.h xfrin.h \
                zone.h zonekey.h zoneverify.h zt.h
 
-GENHEADERS =   @DNSTAP_PB_C_H@ enumclass.h enumtype.h rdatastruct.h
+GENHEADERS =   enumclass.h enumtype.h rdatastruct.h
 
 SUBDIRS =
 TARGETS =
index e27c95e8a041dea797b2df743e43241999cbeb64..2e948ebe2474628f4af4f0a11800e6d3ceb859dc 100644 (file)
@@ -29,7 +29,6 @@
 #ifdef HAVE_DNSTAP
 #include <fstrm.h>
 #include <protobuf-c/protobuf-c.h>
-#include <dns/dnstap.pb-c.h>
 #else
 struct fstrm_iothr_options;
 #endif /* HAVE_DNSTAP */
@@ -99,7 +98,7 @@ typedef struct dns_dthandle dns_dthandle_t;
 struct dns_dtdata {
        isc_mem_t *mctx;
 
-       Dnstap__Dnstap *frame;
+       void *frame;
 
        bool query;
        bool tcp;
index 916bd72856c0ac5d70ac1cc0f3dd81ec2f684701..35e1016bbb7f4c2eec462713a20df3fd57295ba0 100644 (file)
@@ -38,7 +38,7 @@
 #include "dnstest.h"
 
 #ifdef HAVE_DNSTAP
-#include <dns/dnstap.pb-c.h>
+
 #include <protobuf-c/protobuf-c.h>
 
 #define TAPFILE "testdata/dnstap/dnstap.file"