Temporarily using a local copy of dnstap.proto as new dnswire requires the latest git head of it.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
122ec9e91d
commit
80e25c81f2
4 changed files with 459 additions and 3 deletions
1
debian/control
vendored
1
debian/control
vendored
|
@ -4,7 +4,6 @@ Priority: optional
|
||||||
Maintainer: Daniel Baumann <daniel.baumann@progress-linux.org>
|
Maintainer: Daniel Baumann <daniel.baumann@progress-linux.org>
|
||||||
Build-Depends:
|
Build-Depends:
|
||||||
debhelper-compat (= 13),
|
debhelper-compat (= 13),
|
||||||
golang-github-dnstap-golang-dnstap-dev,
|
|
||||||
libprotobuf-c-dev,
|
libprotobuf-c-dev,
|
||||||
libtinyframe-dev,
|
libtinyframe-dev,
|
||||||
libuv1-dev,
|
libuv1-dev,
|
||||||
|
|
127
debian/copyright
vendored
127
debian/copyright
vendored
|
@ -11,6 +11,133 @@ Files: debian/*
|
||||||
Copyright: 2022 Daniel Baumann <daniel.baumann@progress-linux.org>
|
Copyright: 2022 Daniel Baumann <daniel.baumann@progress-linux.org>
|
||||||
License: LGPL-3+
|
License: LGPL-3+
|
||||||
|
|
||||||
|
Files: debian/local/dnstap.proto
|
||||||
|
Copyright: 2013-2014 Farsight Security, Inc.
|
||||||
|
License: CC0
|
||||||
|
|
||||||
|
License: CC0
|
||||||
|
Creative Commons Legal Code
|
||||||
|
.
|
||||||
|
CC0 1.0 Universal
|
||||||
|
.
|
||||||
|
CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
|
||||||
|
LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
|
||||||
|
ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
|
||||||
|
INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
|
||||||
|
REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
|
||||||
|
PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
|
||||||
|
THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
|
||||||
|
HEREUNDER.
|
||||||
|
.
|
||||||
|
Statement of Purpose
|
||||||
|
.
|
||||||
|
The laws of most jurisdictions throughout the world automatically confer
|
||||||
|
exclusive Copyright and Related Rights (defined below) upon the creator
|
||||||
|
and subsequent owner(s) (each and all, an "owner") of an original work of
|
||||||
|
authorship and/or a database (each, a "Work").
|
||||||
|
.
|
||||||
|
Certain owners wish to permanently relinquish those rights to a Work for
|
||||||
|
the purpose of contributing to a commons of creative, cultural and
|
||||||
|
scientific works ("Commons") that the public can reliably and without fear
|
||||||
|
of later claims of infringement build upon, modify, incorporate in other
|
||||||
|
works, reuse and redistribute as freely as possible in any form whatsoever
|
||||||
|
and for any purposes, including without limitation commercial purposes.
|
||||||
|
These owners may contribute to the Commons to promote the ideal of a free
|
||||||
|
culture and the further production of creative, cultural and scientific
|
||||||
|
works, or to gain reputation or greater distribution for their Work in
|
||||||
|
part through the use and efforts of others.
|
||||||
|
.
|
||||||
|
For these and/or other purposes and motivations, and without any
|
||||||
|
expectation of additional consideration or compensation, the person
|
||||||
|
associating CC0 with a Work (the "Affirmer"), to the extent that he or she
|
||||||
|
is an owner of Copyright and Related Rights in the Work, voluntarily
|
||||||
|
elects to apply CC0 to the Work and publicly distribute the Work under its
|
||||||
|
terms, with knowledge of his or her Copyright and Related Rights in the
|
||||||
|
Work and the meaning and intended legal effect of CC0 on those rights.
|
||||||
|
.
|
||||||
|
1. Copyright and Related Rights. A Work made available under CC0 may be
|
||||||
|
protected by copyright and related or neighboring rights ("Copyright and
|
||||||
|
Related Rights"). Copyright and Related Rights include, but are not
|
||||||
|
limited to, the following:
|
||||||
|
.
|
||||||
|
i. the right to reproduce, adapt, distribute, perform, display,
|
||||||
|
communicate, and translate a Work;
|
||||||
|
ii. moral rights retained by the original author(s) and/or performer(s);
|
||||||
|
iii. publicity and privacy rights pertaining to a person's image or
|
||||||
|
likeness depicted in a Work;
|
||||||
|
iv. rights protecting against unfair competition in regards to a Work,
|
||||||
|
subject to the limitations in paragraph 4(a), below;
|
||||||
|
v. rights protecting the extraction, dissemination, use and reuse of data
|
||||||
|
in a Work;
|
||||||
|
vi. database rights (such as those arising under Directive 96/9/EC of the
|
||||||
|
European Parliament and of the Council of 11 March 1996 on the legal
|
||||||
|
protection of databases, and under any national implementation
|
||||||
|
thereof, including any amended or successor version of such
|
||||||
|
directive); and
|
||||||
|
vii. other similar, equivalent or corresponding rights throughout the
|
||||||
|
world based on applicable law or treaty, and any national
|
||||||
|
implementations thereof.
|
||||||
|
.
|
||||||
|
2. Waiver. To the greatest extent permitted by, but not in contravention
|
||||||
|
of, applicable law, Affirmer hereby overtly, fully, permanently,
|
||||||
|
irrevocably and unconditionally waives, abandons, and surrenders all of
|
||||||
|
Affirmer's Copyright and Related Rights and associated claims and causes
|
||||||
|
of action, whether now known or unknown (including existing as well as
|
||||||
|
future claims and causes of action), in the Work (i) in all territories
|
||||||
|
worldwide, (ii) for the maximum duration provided by applicable law or
|
||||||
|
treaty (including future time extensions), (iii) in any current or future
|
||||||
|
medium and for any number of copies, and (iv) for any purpose whatsoever,
|
||||||
|
including without limitation commercial, advertising or promotional
|
||||||
|
purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
|
||||||
|
member of the public at large and to the detriment of Affirmer's heirs and
|
||||||
|
successors, fully intending that such Waiver shall not be subject to
|
||||||
|
revocation, rescission, cancellation, termination, or any other legal or
|
||||||
|
equitable action to disrupt the quiet enjoyment of the Work by the public
|
||||||
|
as contemplated by Affirmer's express Statement of Purpose.
|
||||||
|
.
|
||||||
|
3. Public License Fallback. Should any part of the Waiver for any reason
|
||||||
|
be judged legally invalid or ineffective under applicable law, then the
|
||||||
|
Waiver shall be preserved to the maximum extent permitted taking into
|
||||||
|
account Affirmer's express Statement of Purpose. In addition, to the
|
||||||
|
extent the Waiver is so judged Affirmer hereby grants to each affected
|
||||||
|
person a royalty-free, non transferable, non sublicensable, non exclusive,
|
||||||
|
irrevocable and unconditional license to exercise Affirmer's Copyright and
|
||||||
|
Related Rights in the Work (i) in all territories worldwide, (ii) for the
|
||||||
|
maximum duration provided by applicable law or treaty (including future
|
||||||
|
time extensions), (iii) in any current or future medium and for any number
|
||||||
|
of copies, and (iv) for any purpose whatsoever, including without
|
||||||
|
limitation commercial, advertising or promotional purposes (the
|
||||||
|
"License"). The License shall be deemed effective as of the date CC0 was
|
||||||
|
applied by Affirmer to the Work. Should any part of the License for any
|
||||||
|
reason be judged legally invalid or ineffective under applicable law, such
|
||||||
|
partial invalidity or ineffectiveness shall not invalidate the remainder
|
||||||
|
of the License, and in such case Affirmer hereby affirms that he or she
|
||||||
|
will not (i) exercise any of his or her remaining Copyright and Related
|
||||||
|
Rights in the Work or (ii) assert any associated claims and causes of
|
||||||
|
action with respect to the Work, in either case contrary to Affirmer's
|
||||||
|
express Statement of Purpose.
|
||||||
|
.
|
||||||
|
4. Limitations and Disclaimers.
|
||||||
|
.
|
||||||
|
a. No trademark or patent rights held by Affirmer are waived, abandoned,
|
||||||
|
surrendered, licensed or otherwise affected by this document.
|
||||||
|
b. Affirmer offers the Work as-is and makes no representations or
|
||||||
|
warranties of any kind concerning the Work, express, implied,
|
||||||
|
statutory or otherwise, including without limitation warranties of
|
||||||
|
title, merchantability, fitness for a particular purpose, non
|
||||||
|
infringement, or the absence of latent or other defects, accuracy, or
|
||||||
|
the present or absence of errors, whether or not discoverable, all to
|
||||||
|
the greatest extent permissible under applicable law.
|
||||||
|
c. Affirmer disclaims responsibility for clearing rights of other persons
|
||||||
|
that may apply to the Work or any use thereof, including without
|
||||||
|
limitation any person's Copyright and Related Rights in the Work.
|
||||||
|
Further, Affirmer disclaims responsibility for obtaining any necessary
|
||||||
|
consents, permissions or other rights required for any use of the
|
||||||
|
Work.
|
||||||
|
d. Affirmer understands and acknowledges that Creative Commons is not a
|
||||||
|
party to this document and has no duty or obligation with respect to
|
||||||
|
this CC0 or use of the Work.
|
||||||
|
|
||||||
License: LGPL-3+
|
License: LGPL-3+
|
||||||
This library is free software; you can redistribute it and/or
|
This library is free software; you can redistribute it and/or
|
||||||
modify it under the terms of the GNU Lesser General Public
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
|
330
debian/local/dnstap.proto
vendored
Normal file
330
debian/local/dnstap.proto
vendored
Normal file
|
@ -0,0 +1,330 @@
|
||||||
|
// dnstap: flexible, structured event replication format for DNS software
|
||||||
|
//
|
||||||
|
// This file contains the protobuf schemas for the "dnstap" structured event
|
||||||
|
// replication format for DNS software.
|
||||||
|
|
||||||
|
// Written in 2013-2014 by Farsight Security, Inc.
|
||||||
|
//
|
||||||
|
// To the extent possible under law, the author(s) have dedicated all
|
||||||
|
// copyright and related and neighboring rights to this file to the public
|
||||||
|
// domain worldwide. This file is distributed without any warranty.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the CC0 Public Domain Dedication along
|
||||||
|
// with this file. If not, see:
|
||||||
|
//
|
||||||
|
// <http://creativecommons.org/publicdomain/zero/1.0/>.
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
package dnstap;
|
||||||
|
|
||||||
|
// "Dnstap": this is the top-level dnstap type, which is a "union" type that
|
||||||
|
// contains other kinds of dnstap payloads, although currently only one type
|
||||||
|
// of dnstap payload is defined.
|
||||||
|
// See: https://developers.google.com/protocol-buffers/docs/techniques#union
|
||||||
|
message Dnstap {
|
||||||
|
// DNS server identity.
|
||||||
|
// If enabled, this is the identity string of the DNS server which generated
|
||||||
|
// this message. Typically this would be the same string as returned by an
|
||||||
|
// "NSID" (RFC 5001) query.
|
||||||
|
optional bytes identity = 1;
|
||||||
|
|
||||||
|
// DNS server version.
|
||||||
|
// If enabled, this is the version string of the DNS server which generated
|
||||||
|
// this message. Typically this would be the same string as returned by a
|
||||||
|
// "version.bind" query.
|
||||||
|
optional bytes version = 2;
|
||||||
|
|
||||||
|
// Extra data for this payload.
|
||||||
|
// This field can be used for adding an arbitrary byte-string annotation to
|
||||||
|
// the payload. No encoding or interpretation is applied or enforced.
|
||||||
|
optional bytes extra = 3;
|
||||||
|
|
||||||
|
// Identifies which field below is filled in.
|
||||||
|
enum Type {
|
||||||
|
MESSAGE = 1;
|
||||||
|
}
|
||||||
|
required Type type = 15;
|
||||||
|
|
||||||
|
// One of the following will be filled in.
|
||||||
|
optional Message message = 14;
|
||||||
|
}
|
||||||
|
|
||||||
|
// SocketFamily: the network protocol family of a socket. This specifies how
|
||||||
|
// to interpret "network address" fields.
|
||||||
|
enum SocketFamily {
|
||||||
|
INET = 1; // IPv4 (RFC 791)
|
||||||
|
INET6 = 2; // IPv6 (RFC 2460)
|
||||||
|
}
|
||||||
|
|
||||||
|
// SocketProtocol: the protocol used to transport a DNS message.
|
||||||
|
enum SocketProtocol {
|
||||||
|
UDP = 1; // DNS over UDP transport (RFC 1035 section 4.2.1)
|
||||||
|
TCP = 2; // DNS over TCP transport (RFC 1035 section 4.2.2)
|
||||||
|
DOT = 3; // DNS over TLS (RFC 7858)
|
||||||
|
DOH = 4; // DNS over HTTPS (RFC 8484)
|
||||||
|
DNSCryptUDP = 5; // DNSCrypt over UDP (https://dnscrypt.info/protocol)
|
||||||
|
DNSCryptTCP = 6; // DNSCrypt over TCP (https://dnscrypt.info/protocol)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Policy: information about any name server operator policy
|
||||||
|
// applied to the processing of a DNS message.
|
||||||
|
message Policy {
|
||||||
|
|
||||||
|
// Match: what aspect of the message or message exchange
|
||||||
|
// triggered the application of the Policy.
|
||||||
|
enum Match {
|
||||||
|
QNAME = 1; // Name in question section of query
|
||||||
|
CLIENT_IP = 2; // Client IP address
|
||||||
|
RESPONSE_IP = 3; // Address in A/AAAA RRSet
|
||||||
|
NS_NAME = 4; // Authoritative name server, by name
|
||||||
|
NS_IP = 5; // Authoritative name server, by IP address
|
||||||
|
}
|
||||||
|
|
||||||
|
// The Action taken to implement the Policy.
|
||||||
|
enum Action {
|
||||||
|
NXDOMAIN = 1; // Respond with NXDOMAIN
|
||||||
|
NODATA = 2; // Respond with empty answer section
|
||||||
|
PASS = 3; // Do not alter the response (passthrough)
|
||||||
|
DROP = 4; // Do not respond.
|
||||||
|
TRUNCATE = 5; // Truncate UDP response, forcing TCP retry
|
||||||
|
LOCAL_DATA = 6; // Respond with local data from policy
|
||||||
|
}
|
||||||
|
|
||||||
|
// type: the type of policy applied, e.g. "RPZ" for a
|
||||||
|
// policy from a Response Policy Zone.
|
||||||
|
optional string type = 1;
|
||||||
|
|
||||||
|
// rule: the rule matched by the message.
|
||||||
|
//
|
||||||
|
// In a RPZ context, this is the owner name of the rule in
|
||||||
|
// the Reponse Policy Zone in wire format.
|
||||||
|
optional bytes rule = 2;
|
||||||
|
|
||||||
|
// action: the policy action taken in response to the
|
||||||
|
// rule match.
|
||||||
|
optional Action action = 3;
|
||||||
|
|
||||||
|
// match: the feature of the message exchange which matched the rule.
|
||||||
|
optional Match match = 4;
|
||||||
|
|
||||||
|
// The matched value. Format depends on the matched feature .
|
||||||
|
optional bytes value = 5;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Message: a wire-format (RFC 1035 section 4) DNS message and associated
|
||||||
|
// metadata. Applications generating "Message" payloads should follow
|
||||||
|
// certain requirements based on the MessageType, see below.
|
||||||
|
message Message {
|
||||||
|
|
||||||
|
// There are eight types of "Message" defined that correspond to the
|
||||||
|
// four arrows in the following diagram, slightly modified from RFC 1035
|
||||||
|
// section 2:
|
||||||
|
|
||||||
|
// +---------+ +----------+ +--------+
|
||||||
|
// | | query | | query | |
|
||||||
|
// | Stub |-SQ--------CQ->| Recursive|-RQ----AQ->| Auth. |
|
||||||
|
// | Resolver| | Server | | Name |
|
||||||
|
// | |<-SR--------CR-| |<-RR----AR-| Server |
|
||||||
|
// +---------+ response | | response | |
|
||||||
|
// +----------+ +--------+
|
||||||
|
|
||||||
|
// Each arrow has two Type values each, one for each "end" of each arrow,
|
||||||
|
// because these are considered to be distinct events. Each end of each
|
||||||
|
// arrow on the diagram above has been marked with a two-letter Type
|
||||||
|
// mnemonic. Clockwise from upper left, these mnemonic values are:
|
||||||
|
//
|
||||||
|
// SQ: STUB_QUERY
|
||||||
|
// CQ: CLIENT_QUERY
|
||||||
|
// RQ: RESOLVER_QUERY
|
||||||
|
// AQ: AUTH_QUERY
|
||||||
|
// AR: AUTH_RESPONSE
|
||||||
|
// RR: RESOLVER_RESPONSE
|
||||||
|
// CR: CLIENT_RESPONSE
|
||||||
|
// SR: STUB_RESPONSE
|
||||||
|
|
||||||
|
// Two additional types of "Message" have been defined for the
|
||||||
|
// "forwarding" case where an upstream DNS server is responsible for
|
||||||
|
// further recursion. These are not shown on the diagram above, but have
|
||||||
|
// the following mnemonic values:
|
||||||
|
|
||||||
|
// FQ: FORWARDER_QUERY
|
||||||
|
// FR: FORWARDER_RESPONSE
|
||||||
|
|
||||||
|
// The "Message" Type values are defined below.
|
||||||
|
|
||||||
|
enum Type {
|
||||||
|
// AUTH_QUERY is a DNS query message received from a resolver by an
|
||||||
|
// authoritative name server, from the perspective of the authoritative
|
||||||
|
// name server.
|
||||||
|
AUTH_QUERY = 1;
|
||||||
|
|
||||||
|
// AUTH_RESPONSE is a DNS response message sent from an authoritative
|
||||||
|
// name server to a resolver, from the perspective of the authoritative
|
||||||
|
// name server.
|
||||||
|
AUTH_RESPONSE = 2;
|
||||||
|
|
||||||
|
// RESOLVER_QUERY is a DNS query message sent from a resolver to an
|
||||||
|
// authoritative name server, from the perspective of the resolver.
|
||||||
|
// Resolvers typically clear the RD (recursion desired) bit when
|
||||||
|
// sending queries.
|
||||||
|
RESOLVER_QUERY = 3;
|
||||||
|
|
||||||
|
// RESOLVER_RESPONSE is a DNS response message received from an
|
||||||
|
// authoritative name server by a resolver, from the perspective of
|
||||||
|
// the resolver.
|
||||||
|
RESOLVER_RESPONSE = 4;
|
||||||
|
|
||||||
|
// CLIENT_QUERY is a DNS query message sent from a client to a DNS
|
||||||
|
// server which is expected to perform further recursion, from the
|
||||||
|
// perspective of the DNS server. The client may be a stub resolver or
|
||||||
|
// forwarder or some other type of software which typically sets the RD
|
||||||
|
// (recursion desired) bit when querying the DNS server. The DNS server
|
||||||
|
// may be a simple forwarding proxy or it may be a full recursive
|
||||||
|
// resolver.
|
||||||
|
CLIENT_QUERY = 5;
|
||||||
|
|
||||||
|
// CLIENT_RESPONSE is a DNS response message sent from a DNS server to
|
||||||
|
// a client, from the perspective of the DNS server. The DNS server
|
||||||
|
// typically sets the RA (recursion available) bit when responding.
|
||||||
|
CLIENT_RESPONSE = 6;
|
||||||
|
|
||||||
|
// FORWARDER_QUERY is a DNS query message sent from a downstream DNS
|
||||||
|
// server to an upstream DNS server which is expected to perform
|
||||||
|
// further recursion, from the perspective of the downstream DNS
|
||||||
|
// server.
|
||||||
|
FORWARDER_QUERY = 7;
|
||||||
|
|
||||||
|
// FORWARDER_RESPONSE is a DNS response message sent from an upstream
|
||||||
|
// DNS server performing recursion to a downstream DNS server, from the
|
||||||
|
// perspective of the downstream DNS server.
|
||||||
|
FORWARDER_RESPONSE = 8;
|
||||||
|
|
||||||
|
// STUB_QUERY is a DNS query message sent from a stub resolver to a DNS
|
||||||
|
// server, from the perspective of the stub resolver.
|
||||||
|
STUB_QUERY = 9;
|
||||||
|
|
||||||
|
// STUB_RESPONSE is a DNS response message sent from a DNS server to a
|
||||||
|
// stub resolver, from the perspective of the stub resolver.
|
||||||
|
STUB_RESPONSE = 10;
|
||||||
|
|
||||||
|
// TOOL_QUERY is a DNS query message sent from a DNS software tool to a
|
||||||
|
// DNS server, from the perspective of the tool.
|
||||||
|
TOOL_QUERY = 11;
|
||||||
|
|
||||||
|
// TOOL_RESPONSE is a DNS response message received by a DNS software
|
||||||
|
// tool from a DNS server, from the perspective of the tool.
|
||||||
|
TOOL_RESPONSE = 12;
|
||||||
|
|
||||||
|
// UPDATE_QUERY is a Dynamic DNS Update request (RFC 2136) received
|
||||||
|
// by an authoritative name server, from the perspective of the
|
||||||
|
// authoritative name server.
|
||||||
|
UPDATE_QUERY = 13;
|
||||||
|
|
||||||
|
// UPDATE_RESPONSE is a Dynamic DNS Update response (RFC 2136) sent
|
||||||
|
// from an authoritative name server, from the perspective of the
|
||||||
|
// authoritative name server.
|
||||||
|
UPDATE_RESPONSE = 14;
|
||||||
|
}
|
||||||
|
|
||||||
|
// One of the Type values described above.
|
||||||
|
required Type type = 1;
|
||||||
|
|
||||||
|
// One of the SocketFamily values described above.
|
||||||
|
optional SocketFamily socket_family = 2;
|
||||||
|
|
||||||
|
// One of the SocketProtocol values described above.
|
||||||
|
optional SocketProtocol socket_protocol = 3;
|
||||||
|
|
||||||
|
// The network address of the message initiator.
|
||||||
|
// For SocketFamily INET, this field is 4 octets (IPv4 address).
|
||||||
|
// For SocketFamily INET6, this field is 16 octets (IPv6 address).
|
||||||
|
optional bytes query_address = 4;
|
||||||
|
|
||||||
|
// The network address of the message responder.
|
||||||
|
// For SocketFamily INET, this field is 4 octets (IPv4 address).
|
||||||
|
// For SocketFamily INET6, this field is 16 octets (IPv6 address).
|
||||||
|
optional bytes response_address = 5;
|
||||||
|
|
||||||
|
// The transport port of the message initiator.
|
||||||
|
// This is a 16-bit UDP or TCP port number, depending on SocketProtocol.
|
||||||
|
optional uint32 query_port = 6;
|
||||||
|
|
||||||
|
// The transport port of the message responder.
|
||||||
|
// This is a 16-bit UDP or TCP port number, depending on SocketProtocol.
|
||||||
|
optional uint32 response_port = 7;
|
||||||
|
|
||||||
|
// The time at which the DNS query message was sent or received, depending
|
||||||
|
// on whether this is an AUTH_QUERY, RESOLVER_QUERY, or CLIENT_QUERY.
|
||||||
|
// This is the number of seconds since the UNIX epoch.
|
||||||
|
optional uint64 query_time_sec = 8;
|
||||||
|
|
||||||
|
// The time at which the DNS query message was sent or received.
|
||||||
|
// This is the seconds fraction, expressed as a count of nanoseconds.
|
||||||
|
optional fixed32 query_time_nsec = 9;
|
||||||
|
|
||||||
|
// The initiator's original wire-format DNS query message, verbatim.
|
||||||
|
optional bytes query_message = 10;
|
||||||
|
|
||||||
|
// The "zone" or "bailiwick" pertaining to the DNS query message.
|
||||||
|
// This is a wire-format DNS domain name.
|
||||||
|
optional bytes query_zone = 11;
|
||||||
|
|
||||||
|
// The time at which the DNS response message was sent or received,
|
||||||
|
// depending on whether this is an AUTH_RESPONSE, RESOLVER_RESPONSE, or
|
||||||
|
// CLIENT_RESPONSE.
|
||||||
|
// This is the number of seconds since the UNIX epoch.
|
||||||
|
optional uint64 response_time_sec = 12;
|
||||||
|
|
||||||
|
// The time at which the DNS response message was sent or received.
|
||||||
|
// This is the seconds fraction, expressed as a count of nanoseconds.
|
||||||
|
optional fixed32 response_time_nsec = 13;
|
||||||
|
|
||||||
|
// The responder's original wire-format DNS response message, verbatim.
|
||||||
|
optional bytes response_message = 14;
|
||||||
|
|
||||||
|
// Operator policy applied to the processing of this message, if any.
|
||||||
|
optional Policy policy = 15;
|
||||||
|
}
|
||||||
|
|
||||||
|
// All fields except for 'type' in the Message schema are optional.
|
||||||
|
// It is recommended that at least the following fields be filled in for
|
||||||
|
// particular types of Messages.
|
||||||
|
|
||||||
|
// AUTH_QUERY:
|
||||||
|
// socket_family, socket_protocol
|
||||||
|
// query_address, query_port
|
||||||
|
// query_message
|
||||||
|
// query_time_sec, query_time_nsec
|
||||||
|
|
||||||
|
// AUTH_RESPONSE:
|
||||||
|
// socket_family, socket_protocol
|
||||||
|
// query_address, query_port
|
||||||
|
// query_time_sec, query_time_nsec
|
||||||
|
// response_message
|
||||||
|
// response_time_sec, response_time_nsec
|
||||||
|
|
||||||
|
// RESOLVER_QUERY:
|
||||||
|
// socket_family, socket_protocol
|
||||||
|
// query_message
|
||||||
|
// query_time_sec, query_time_nsec
|
||||||
|
// query_zone
|
||||||
|
// response_address, response_port
|
||||||
|
|
||||||
|
// RESOLVER_RESPONSE:
|
||||||
|
// socket_family, socket_protocol
|
||||||
|
// query_time_sec, query_time_nsec
|
||||||
|
// query_zone
|
||||||
|
// response_address, response_port
|
||||||
|
// response_message
|
||||||
|
// response_time_sec, response_time_nsec
|
||||||
|
|
||||||
|
// CLIENT_QUERY:
|
||||||
|
// socket_family, socket_protocol
|
||||||
|
// query_message
|
||||||
|
// query_time_sec, query_time_nsec
|
||||||
|
|
||||||
|
// CLIENT_RESPONSE:
|
||||||
|
// socket_family, socket_protocol
|
||||||
|
// query_time_sec, query_time_nsec
|
||||||
|
// response_message
|
||||||
|
// response_time_sec, response_time_nsec
|
4
debian/rules
vendored
4
debian/rules
vendored
|
@ -6,10 +6,10 @@ export DEB_BUILD_MAINT_OPTIONS = hardening=+all
|
||||||
dh ${@}
|
dh ${@}
|
||||||
|
|
||||||
execute_after_dh_auto_clean:
|
execute_after_dh_auto_clean:
|
||||||
rm -rf src/dnstap.pb
|
rm -f src/dnstap.pb/dnstap.proto
|
||||||
|
|
||||||
execute_after_dh_auto_configure:
|
execute_after_dh_auto_configure:
|
||||||
ln -s /usr/share/gocode/src/github.com/dnstap/golang-dnstap/dnstap.pb src/dnstap.pb
|
ln -s ../../debian/local/dnstap.proto src/dnstap.pb/dnstap.proto
|
||||||
|
|
||||||
execute_after_dh_auto_install:
|
execute_after_dh_auto_install:
|
||||||
# removing unused files
|
# removing unused files
|
||||||
|
|
Loading…
Add table
Reference in a new issue