summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2021-08-21 16:00:38 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2021-08-21 16:00:38 +0000
commit69286d2b0f16b4b770170b74b6a9e7c2ed2b9823 (patch)
tree745e6793b426c82af1a8ec294d3eba0f5cbcce74
parentAdding upstream version 1.5.1. (diff)
downloaddnsdist-69286d2b0f16b4b770170b74b6a9e7c2ed2b9823.tar.xz
dnsdist-69286d2b0f16b4b770170b74b6a9e7c2ed2b9823.zip
Adding debian version 1.5.1-3.debian/1.5.1-3debian
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
-rw-r--r--debian/.gitlab-ci.yml6
-rw-r--r--debian/changelog265
-rw-r--r--debian/config/dnsdist.conf5
-rwxr-xr-xdebian/configure-helpers/net-snmp-config21
-rw-r--r--debian/control43
-rw-r--r--debian/copyright282
-rw-r--r--debian/dnsdist.dirs1
-rw-r--r--debian/dnsdist.examples1
-rw-r--r--debian/dnsdist.init13
-rw-r--r--debian/dnsdist.lintian-overrides2
-rw-r--r--debian/dnsdist.postinst40
-rw-r--r--debian/docs1
-rw-r--r--debian/gbp.conf4
-rw-r--r--debian/lintian-brush.conf1
l---------debian/missing-sources/d3.js1
l---------debian/missing-sources/jquery.js1
l---------debian/missing-sources/moment.js1
l---------debian/missing-sources/rickshaw.js1
-rw-r--r--debian/patches/0001-dnsdist-Fix-eBPF-filtering-of-long-qnames.patch254
-rw-r--r--debian/patches/series1
-rwxr-xr-xdebian/rules59
-rw-r--r--debian/source/format1
-rw-r--r--debian/source/lintian-overrides5
-rw-r--r--debian/upstream/metadata6
-rw-r--r--debian/upstream/signing-key.asc143
-rw-r--r--debian/watch3
26 files changed, 1161 insertions, 0 deletions
diff --git a/debian/.gitlab-ci.yml b/debian/.gitlab-ci.yml
new file mode 100644
index 0000000..5c575a1
--- /dev/null
+++ b/debian/.gitlab-ci.yml
@@ -0,0 +1,6 @@
+include:
+ - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/salsa-ci.yml
+ - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/pipeline-jobs.yml
+
+variables:
+ RELEASE: 'unstable'
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..4c68608
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,265 @@
+dnsdist (1.5.1-3) unstable; urgency=medium
+
+ * Disable GnuTLS, one crypto lib is enough
+
+ -- Chris Hofstaedtler <zeha@debian.org> Fri, 18 Dec 2020 14:12:25 +0000
+
+dnsdist (1.5.1-2) unstable; urgency=medium
+
+ * Simplify build rules
+ * Bump Standards-Version to 4.5.1
+ * Build with luajit on amd64, and Lua 5.1 on other archs.
+ Once #908137 is fixed, we should enable luajit on arm64 too.
+ Unfortunately we were building with Lua 5.3 earlier, so this
+ is a feature "regression" of sorts - but it can be much faster.
+ * Add upstream patch fixing an eBPF long qname issue
+
+ -- Chris Hofstaedtler <zeha@debian.org> Thu, 17 Dec 2020 22:20:04 +0000
+
+dnsdist (1.5.1-1) unstable; urgency=medium
+
+ * New upstream version 1.5.1
+
+ -- Chris Hofstaedtler <zeha@debian.org> Thu, 01 Oct 2020 13:06:31 +0000
+
+dnsdist (1.5.0-1) unstable; urgency=medium
+
+ * New upstream version 1.5.0
+ * Update ownership rules for /etc/dnsdist/dnsdist.conf
+ * Update Standards-Version to 4.5.0, dh compat to 13
+
+ -- Chris Hofstaedtler <zeha@debian.org> Thu, 30 Jul 2020 22:49:16 +0000
+
+dnsdist (1.4.0-2) unstable; urgency=medium
+
+ [ Debian Janitor ]
+ * Set upstream metadata fields: Bug-Submit.
+
+ [ Chris Hofstaedtler ]
+ * Add upstream patch to fix FTBFS with gcc 10 (Closes: #957145)
+ * d/copyright: rename GPL-3-or-Autoconf license paragraph
+
+ -- Chris Hofstaedtler <zeha@debian.org> Wed, 22 Jul 2020 21:50:19 +0000
+
+dnsdist (1.4.0-1) unstable; urgency=medium
+
+ * New upstream version 1.4.0
+
+ -- Chris Hofstaedtler <zeha@debian.org> Wed, 20 Nov 2019 17:47:14 +0000
+
+dnsdist (1.4.0~rc5-1) unstable; urgency=medium
+
+ * New upstream version 1.4.0~rc5
+ * Bump Standards-Version to 4.4.1
+
+ -- Chris Hofstaedtler <zeha@debian.org> Tue, 05 Nov 2019 19:43:53 +0000
+
+dnsdist (1.4.0~rc3-1) unstable; urgency=medium
+
+ * New upstream version 1.4.0~rc3
+
+ -- Chris Hofstaedtler <zeha@debian.org> Tue, 01 Oct 2019 12:02:39 +0000
+
+dnsdist (1.4.0~rc2-1) unstable; urgency=medium
+
+ [ Debian Janitor ]
+ * Re-export upstream signing key without extra signatures.
+ * Set fields Upstream-Contact in debian/copyright.
+ * Remove obsolete fields Name, Contact from debian/upstream/metadata.
+
+ [ Chris Hofstaedtler ]
+ * New upstream version 1.4.0~rc2
+ Build with CDB and LMDB for new features.
+
+ -- Chris Hofstaedtler <zeha@debian.org> Mon, 02 Sep 2019 19:39:24 +0000
+
+dnsdist (1.4.0~rc1-1) unstable; urgency=medium
+
+ * New upstream version 1.4.0~rc1
+
+ -- Chris Hofstaedtler <zeha@debian.org> Fri, 30 Aug 2019 11:11:52 +0000
+
+dnsdist (1.4.0~beta1-3) unstable; urgency=medium
+
+ * d/rules: remove harmless extra argument to dh_auto_configure
+ * Update init script.
+ Thanks to Jens Mei├čner <heptalium@gmx.de> (Closes: #934162)
+
+ -- Chris Hofstaedtler <zeha@debian.org> Wed, 07 Aug 2019 22:38:35 +0000
+
+dnsdist (1.4.0~beta1-2) unstable; urgency=medium
+
+ * Build with libcap
+ * d/control, d/rules: clean up and sync with pdns(-recursor)
+ * Enable DNS-over-HTTPS support
+ * Reenable RE2
+ * Filter net-snmp-config flags, see #870734
+ * Ship sysvinit script (Closes: #832136)
+
+ -- Chris Hofstaedtler <zeha@debian.org> Sun, 21 Jul 2019 20:04:10 +0000
+
+dnsdist (1.4.0~beta1-1) unstable; urgency=medium
+
+ * New upstream version 1.4.0~beta1
+ * Build-Depend on systemd for proper version detection
+ * Bump Standards-Version to 4.4.0
+ * Use debhelper-compat v12
+ * Ship DEP12 UpstreamMetadata per user request
+ * d/copyright: Update
+ * d/control: Set Rules-Requires-Root: no
+ * d/rules: use variables from pkg-info.mk
+ * d/rules: stop removing RestrictAddressFamilies from systemd service file
+ * d/rules: fix trailing whitespace
+ * Install SNMP MIB
+
+ -- Chris Hofstaedtler <zeha@debian.org> Sun, 21 Jul 2019 15:18:15 +0000
+
+dnsdist (1.3.3-3) unstable; urgency=medium
+
+ * Enable SNMP support
+
+ -- Chris Hofstaedtler <zeha@debian.org> Tue, 12 Feb 2019 08:54:00 +0000
+
+dnsdist (1.3.3-2) unstable; urgency=medium
+
+ * Set secpoll suffix and add default config file to turn it off
+
+ -- Chris Hofstaedtler <zeha@debian.org> Sat, 10 Nov 2018 14:49:21 +0000
+
+dnsdist (1.3.3-1) unstable; urgency=medium
+
+ * New upstream version 1.3.3, including fix for CVE-2018-14663
+ (Closes: #913231).
+
+ -- Chris Hofstaedtler <zeha@debian.org> Fri, 09 Nov 2018 19:34:32 +0000
+
+dnsdist (1.3.2-1) unstable; urgency=medium
+
+ * New upstream version 1.3.2
+ * Bump Standards-Version to 4.1.5
+ * Drop upstream applied patches
+
+ -- Chris Hofstaedtler <zeha@debian.org> Mon, 23 Jul 2018 07:16:30 +0000
+
+dnsdist (1.3.0-4) unstable; urgency=medium
+
+ * Update test-dnsdistrings patch to avoid further s390x failure
+
+ -- Chris Hofstaedtler <zeha@debian.org> Tue, 03 Apr 2018 11:40:14 +0000
+
+dnsdist (1.3.0-3) unstable; urgency=medium
+
+ * Avoid hard test failure for a soft condition
+
+ -- Chris Hofstaedtler <zeha@debian.org> Tue, 03 Apr 2018 07:57:07 +0000
+
+dnsdist (1.3.0-2) unstable; urgency=medium
+
+ * Add patch from upstream to fix test/build failure
+
+ -- Chris Hofstaedtler <zeha@debian.org> Fri, 30 Mar 2018 11:49:47 +0000
+
+dnsdist (1.3.0-1) unstable; urgency=medium
+
+ * New upstream version 1.3.0
+ * Enable DNS-over-TLS and libfstrm.
+
+ -- Chris Hofstaedtler <zeha@debian.org> Fri, 30 Mar 2018 08:45:33 +0000
+
+dnsdist (1.2.1-1) unstable; urgency=medium
+
+ * New upstream version 1.2.1
+ * Avoid debian-rules-is-dh_make-template lintian error
+
+ -- Chris Hofstaedtler <zeha@debian.org> Fri, 16 Feb 2018 10:41:23 +0000
+
+dnsdist (1.2.0-3) unstable; urgency=medium
+
+ * Enable tests at build time
+
+ -- Chris Hofstaedtler <zeha@debian.org> Fri, 19 Jan 2018 21:58:27 +0000
+
+dnsdist (1.2.0-2) unstable; urgency=medium
+
+ * Update Maintainer: as alioth is going away
+ * Update Vcs-* URLs to point to salsa.debian.org
+ * Bump Standards-Version to 4.1.3 (no changes)
+
+ -- Chris Hofstaedtler <zeha@debian.org> Thu, 18 Jan 2018 20:30:13 +0000
+
+dnsdist (1.2.0-1) unstable; urgency=medium
+
+ * New upstream version 1.2.0, fixes CVE-2016-7069, CVE-2017-7557.
+ (Closes: #872854)
+ * Install config example
+ * Remove now-default options to dh
+ * Force rebuild of dnslabeltext.cc
+ * Update debian/copyright
+ * Bump Standards-Version to 4.1.0
+
+ -- Christian Hofstaedtler <zeha@debian.org> Tue, 22 Aug 2017 09:47:47 +0000
+
+dnsdist (1.1.0-2) unstable; urgency=medium
+
+ * Bump debhelper compat to 10 for systemd support.
+ * Drop our outdated copy of dnsdist.service, instead patch the
+ upstream supplied one at install time to keep -u, -g.
+ * Drop RestrictAddressFamilies from .service file on 32bit.
+ This feature is broken in systemd before v233. (See also #849817)
+
+ -- Christian Hofstaedtler <zeha@debian.org> Sat, 31 Dec 2016 15:50:47 +0000
+
+dnsdist (1.1.0-1) unstable; urgency=medium
+
+ * New upstream version 1.1.0, upload to unstable.
+
+ -- Christian Hofstaedtler <zeha@debian.org> Thu, 29 Dec 2016 15:52:06 +0000
+
+dnsdist (1.1.0~beta2-2) experimental; urgency=medium
+
+ * Build with LDFLAGS=-latomic to fix FTBFS on powerpc
+
+ -- Christian Hofstaedtler <zeha@debian.org> Sun, 18 Dec 2016 14:11:59 +0000
+
+dnsdist (1.1.0~beta2-1) experimental; urgency=medium
+
+ * New upstream (beta) release, target experimental.
+ * Enable protobuf, re2, systemd integration features.
+
+ -- Christian Hofstaedtler <zeha@debian.org> Sat, 17 Dec 2016 19:42:08 +0000
+
+dnsdist (1.0.0-2) unstable; urgency=medium
+
+ * Move package to pkg-dns team.
+ * Bump Standards-Version to 3.9.8.
+ * Enable extra hardening features for daemons.
+ * Sort included html files to improve reproducibility.
+
+ -- Christian Hofstaedtler <zeha@debian.org> Sun, 03 Jul 2016 13:40:56 +0200
+
+dnsdist (1.0.0-1) unstable; urgency=medium
+
+ * New upstream version.
+ * debian/watch: fix versionmangle substiution confusion
+
+ -- Christian Hofstaedtler <zeha@debian.org> Thu, 21 Apr 2016 13:45:37 +0000
+
+dnsdist (1.0.0~beta1-1) unstable; urgency=medium
+
+ * New upstream version.
+ * Use https site in debian/watch.
+
+ -- Christian Hofstaedtler <zeha@debian.org> Fri, 15 Apr 2016 16:17:47 +0000
+
+dnsdist (1.0.0~alpha2-2) unstable; urgency=medium
+
+ * Update Standards-Version to 3.9.7 with no other changes
+ * Add debian/watch file
+
+ -- Christian Hofstaedtler <zeha@debian.org> Wed, 24 Feb 2016 22:57:52 +0000
+
+dnsdist (1.0.0~alpha2-1) unstable; urgency=medium
+
+ * Initial release. (Closes: #813823)
+
+ -- Christian Hofstaedtler <zeha@debian.org> Sat, 13 Feb 2016 01:43:50 +0000
diff --git a/debian/config/dnsdist.conf b/debian/config/dnsdist.conf
new file mode 100644
index 0000000..87dc035
--- /dev/null
+++ b/debian/config/dnsdist.conf
@@ -0,0 +1,5 @@
+-- dnsdist configuration file, an example can be found in /usr/share/doc/dnsdist/examples/
+
+-- disable security status polling via DNS
+setSecurityPollSuffix("")
+
diff --git a/debian/configure-helpers/net-snmp-config b/debian/configure-helpers/net-snmp-config
new file mode 100755
index 0000000..6d8d6e7
--- /dev/null
+++ b/debian/configure-helpers/net-snmp-config
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+if [ "$1" = "--cflags" ]; then
+ FLAGS=$(/usr/bin/net-snmp-config --cflags)
+ MYFLAGS=""
+ for flag in $FLAGS; do
+ if [[ "$flag" =~ -DNETSNMP* ]]; then
+ MYFLAGS="$MYFLAGS $flag"
+ fi
+ done
+ echo "$MYFLAGS"
+ exit 0
+
+elif [ "$1" = "--netsnmp-agent-libs" ]; then
+ /usr/bin/net-snmp-config "$@"
+ exit $?
+
+else
+ echo "E: debian/configure-helpers/net-snmp-config: unknown flag $1" >&2
+ exit 1
+fi
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000..c32c476
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,43 @@
+Source: dnsdist
+Section: net
+Priority: optional
+Standards-Version: 4.5.1
+Maintainer: dnsdist packagers <dnsdist@packages.debian.org>
+Uploaders: Chris Hofstaedtler <zeha@debian.org>
+Build-Depends: debhelper-compat (= 13),
+ libboost-all-dev,
+ libcap-dev [linux-any],
+ libcdb-dev,
+ libedit-dev,
+ libfstrm-dev,
+ libh2o-dev,
+ libh2o-evloop-dev,
+ liblmdb-dev,
+ liblua5.1-0-dev [!amd64],
+ libluajit-5.1-dev [amd64] | liblua5.1-0-dev,
+ libprotobuf-dev,
+ libre2-dev,
+ libsnmp-dev,
+ libsodium-dev,
+ libssl-dev,
+ libsystemd-dev,
+ pkg-config,
+ protobuf-compiler,
+ ragel,
+ systemd
+Vcs-Git: https://salsa.debian.org/dns-team/dnsdist.git
+Vcs-Browser: https://salsa.debian.org/dns-team/dnsdist
+Homepage: https://dnsdist.org
+Rules-Requires-Root: no
+
+Package: dnsdist
+Architecture: any
+Pre-Depends: ${misc:Pre-Depends}
+Depends: adduser,
+ ${misc:Depends},
+ ${shlibs:Depends}
+Description: DNS loadbalancer
+ Highly DoS- and abuse-aware load balancing tool for DNS traffic,
+ with Lua scripting and configuration capability.
+ Can be configured to use various sets of rules to classify, route
+ and reject traffic.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000..04af6a5
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,282 @@
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: dnsdist
+Source: https://dnsdist.org
+Upstream-Contact: https://mailman.powerdns.com/mailman/listinfo/dnsdist
+
+Files: *
+Copyright: 2002-2019 PowerDNS.COM BV and contributors
+License: GPL-2 with OpenSSL Exception
+
+Files: debian/*
+Copyright: 2002-2019 PowerDNS.COM BV and contributors
+ 2016-2019 Christian Hofstaedtler <zeha@debian.org>
+License: GPL-2 with OpenSSL Exception
+Comment: Debian packaging is under same license as upstream code
+
+Files: ext/incbin/*
+Copyright: 2015, Dale Weiler
+License: Unlicense
+
+Files: ext/ipcrypt/*
+Copyright: 2015-2018, Frank Denis <j@pureftpd.org>
+License: ISC
+
+Files: ext/json11/*
+Copyright: 2013 Dropbox, Inc.
+License: Expat
+
+Files: ext/libbpf/*
+Copyright: 2015, 2016 Alexei Starovoitov <ast@plumgrid.com>
+License: GPL-2
+Comment: taken from Linux kernel source
+
+Files: ext/luawrapper/*
+Copyright: 2013, Pierre KRIEGER
+License: BSD-3
+
+Files: ext/yahttp/*
+Copyright: 2014 Aki Tuomi
+License: Expat
+
+Files: compile ltmain.sh
+Copyright: 1996-2011 Free Software Foundation, Inc.
+License: GPL-2+
+
+Files: m4/ax_cxx_compile_stdcxx_11.m4
+Copyright: 2008 Benjamin Kosnik <bkoz@redhat.com>
+ 2012 Zack Weinberg <zackw@panix.com>
+ 2013 Roy Stogner <roystgnr@ices.utexas.edu>
+ 2014, 2015 Google Inc.; contributed by Alexey Sokolov <sokolov@google.com>
+License: free-generic
+
+Files: m4/boost.m4
+Copyright: 2007-2011, 2014 Benoit Sigoure <tsuna@lrde.epita.fr>
+License: GPL-3-or-Autoconf
+
+Files: m4/libtool.m4 m4/lt*.m4
+Copyright: 1996-2011 Free Software Foundation, Inc.
+License: free-fsf
+
+Files: m4/systemd.m4
+Copyright: 2014 Luis R. Rodriguez <mcgrof@suse.com>
+ 2016 Pieter Lexis <pieter.lexis@powerdns.com>
+License: GPL-2+
+
+Files: m4/warnings.m4
+Copyright: 2008-2015 Free Software Foundation, Inc.
+License: free-fsf
+
+Files: m4/pdns_d_fortify_source.m4 m4/pdns_param_ssp_buffer_size.m4 m4/pdns_pie.m4 m4/pdns_relro.m4 m4/pdns_stack_protector.m4
+Copyright: 2013 Red Hat, Inc.
+License: LGPL-2.1+
+
+Files: src_js/d3.js
+Copyright: 2010-2016 Mike Bostock
+License: Expat
+
+Files: src_js/jquery.js
+Copyright: JS Foundation and other contributors
+License: Expat
+
+Files: src_js/moment.js
+Copyright: JS Foundation and other contributors
+License: Expat
+
+Files: src_js/rickshaw.js
+Copyright: 2011-2014 by Shutterstock Images, LLC
+License: Expat
+
+License: Unlicense
+ This is free and unencumbered software released into the public domain.
+ .
+ Anyone is free to copy, modify, publish, use, compile, sell, or
+ distribute this software, either in source code form or as a compiled
+ binary, for any purpose, commercial or non-commercial, and by any
+ means.
+ .
+ In jurisdictions that recognize copyright laws, the author or authors
+ of this software dedicate any and all copyright interest in the
+ software to the public domain. We make this dedication for the benefit
+ of the public at large and to the detriment of our heirs and
+ successors. We intend this dedication to be an overt act of
+ relinquishment in perpetuity of all present and future rights to this
+ software under copyright law.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ OTHER DEALINGS IN THE SOFTWARE.
+ .
+ For more information, please refer to <http://unlicense.org/>
+
+License: GPL-2 with OpenSSL Exception
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of version 2 of the GNU General Public License as
+ published by the Free Software Foundation.
+ .
+ In addition, for the avoidance of any doubt, permission is granted to
+ link this program with OpenSSL and to (re)distribute the binaries
+ produced as the result of such linking.
+ .
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+ .
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ .
+ On Debian systems, the full text of the GNU General Public
+ License version 2 can be found in the file
+ `/usr/share/common-licenses/GPL-2'.
+
+License: Expat
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+ .
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+
+License: ISC
+ Permission to use, copy, modify, and/or distribute this software for any
+ purpose with or without fee is hereby granted, provided that the above
+ copyright notice and this permission notice appear in all copies.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+License: BSD-3
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+ * Neither the name of the <organization> nor the
+ names of its contributors may be used to endorse or promote products
+ derived from this software without specific prior written permission.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
+ DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License: LGPL-2.1+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+ .
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+ .
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library. If not, see
+ <http://www.gnu.org/licenses/>.
+ .
+ On Debian systems, the full text of the GNU Lesser General Public
+ License version 2.1 can be found in the file
+ `/usr/share/common-licenses/LGPL-2.1'.
+
+License: GPL-2
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License.
+ .
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+ .
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ .
+ On Debian systems, the full text of the GNU General Public
+ License version 2 can be found in the file
+ `/usr/share/common-licenses/GPL-2'.
+
+License: GPL-2+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+ .
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+ .
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ .
+ On Debian systems, the full text of the GNU General Public
+ License version 2 can be found in the file
+ `/usr/share/common-licenses/GPL-2'.
+
+License: GPL-3-or-Autoconf
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+ .
+ Additional permission under section 7 of the GNU General Public
+ License, version 3 ("GPLv3"):
+ .
+ If you convey this file as part of a work that contains a
+ configuration script generated by Autoconf, you may do so under
+ terms of your choice.
+ .
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+ .
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+ .
+ On Debian systems, the full text of the GNU General Public
+ License version 3 can be found in the file
+ `/usr/share/common-licenses/GPL-3'.
+
+License: free-fsf
+ This file is free software; the Free Software Foundation gives
+ unlimited permission to copy and/or distribute it, with or without
+ modifications, as long as this notice is preserved.
+
+License: free-generic
+ Copying and distribution of this file, with or without modification, are
+ permitted in any medium without royalty provided the copyright notice
+ and this notice are preserved. This file is offered as-is, without any
+ warranty.
diff --git a/debian/dnsdist.dirs b/debian/dnsdist.dirs
new file mode 100644
index 0000000..a97ae06
--- /dev/null
+++ b/debian/dnsdist.dirs
@@ -0,0 +1 @@
+/etc/dnsdist
diff --git a/debian/dnsdist.examples b/debian/dnsdist.examples
new file mode 100644
index 0000000..636562b
--- /dev/null
+++ b/debian/dnsdist.examples
@@ -0,0 +1 @@
+dnsdist.conf
diff --git a/debian/dnsdist.init b/debian/dnsdist.init
new file mode 100644
index 0000000..a3f4996
--- /dev/null
+++ b/debian/dnsdist.init
@@ -0,0 +1,13 @@
+#!/usr/bin/env /lib/init/init-d-script
+### BEGIN INIT INFO
+# Provides: dnsdist
+# Required-Start: $syslog $remote_fs
+# Required-Stop: $syslog $remote_fs
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: DNS Loadbalancer
+# Description: Debian init script to start the dnsdist daemon.
+### END INIT INFO
+DAEMON=/usr/bin/dnsdist
+START_ARGS="-b -m"
+DAEMON_ARGS="-u _dnsdist -g _dnsdist --supervised"
diff --git a/debian/dnsdist.lintian-overrides b/debian/dnsdist.lintian-overrides
new file mode 100644
index 0000000..08c94bf
--- /dev/null
+++ b/debian/dnsdist.lintian-overrides
@@ -0,0 +1,2 @@
+# Often this file will contain passwords.
+dnsdist: non-standard-file-perm etc/dnsdist/dnsdist.conf 0640 != 0644
diff --git a/debian/dnsdist.postinst b/debian/dnsdist.postinst
new file mode 100644
index 0000000..8a4fda1
--- /dev/null
+++ b/debian/dnsdist.postinst
@@ -0,0 +1,40 @@
+#! /bin/sh
+
+set -e
+
+# summary of how this script can be called:
+# * <postinst> `configure' <most-recently-configured-version>
+# * <old-postinst> `abort-upgrade' <new version>
+# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
+# <new-version>
+# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
+# <failed-install-package> <version> `removing'
+# <conflicting-package> <version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+case "$1" in
+ configure)
+
+ adduser --force-badname --system --home /nonexistent --group \
+ --no-create-home --quiet _dnsdist || true
+
+ chown root:_dnsdist /etc/dnsdist/dnsdist.conf
+ chmod g+r /etc/dnsdist/dnsdist.conf
+ ;;
+
+ abort-upgrade|abort-remove|abort-deconfigure)
+ ;;
+
+ *)
+ echo "postinst called with unknown argument \`$1'" >&2
+ exit 1
+ ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/docs b/debian/docs
new file mode 100644
index 0000000..b43bf86
--- /dev/null
+++ b/debian/docs
@@ -0,0 +1 @@
+README.md
diff --git a/debian/gbp.conf b/debian/gbp.conf
new file mode 100644
index 0000000..9eee0d4
--- /dev/null
+++ b/debian/gbp.conf
@@ -0,0 +1,4 @@
+[DEFAULT]
+pristine-tar = True
+multimaint-merge = True
+patch-numbers = False
diff --git a/debian/lintian-brush.conf b/debian/lintian-brush.conf
new file mode 100644
index 0000000..e3ca1f5
--- /dev/null
+++ b/debian/lintian-brush.conf
@@ -0,0 +1 @@
+allow-reformatting = true
diff --git a/debian/missing-sources/d3.js b/debian/missing-sources/d3.js
new file mode 120000
index 0000000..19eca87
--- /dev/null
+++ b/debian/missing-sources/d3.js
@@ -0,0 +1 @@
+../../src_js/d3.js \ No newline at end of file
diff --git a/debian/missing-sources/jquery.js b/debian/missing-sources/jquery.js
new file mode 120000
index 0000000..a2586f4
--- /dev/null
+++ b/debian/missing-sources/jquery.js
@@ -0,0 +1 @@
+../../src_js/jquery.js \ No newline at end of file
diff --git a/debian/missing-sources/moment.js b/debian/missing-sources/moment.js
new file mode 120000
index 0000000..0cd9cc4
--- /dev/null
+++ b/debian/missing-sources/moment.js
@@ -0,0 +1 @@
+../../src_js/moment.js \ No newline at end of file
diff --git a/debian/missing-sources/rickshaw.js b/debian/missing-sources/rickshaw.js
new file mode 120000
index 0000000..c136703
--- /dev/null
+++ b/debian/missing-sources/rickshaw.js
@@ -0,0 +1 @@
+../../src_js/rickshaw.js \ No newline at end of file
diff --git a/debian/patches/0001-dnsdist-Fix-eBPF-filtering-of-long-qnames.patch b/debian/patches/0001-dnsdist-Fix-eBPF-filtering-of-long-qnames.patch
new file mode 100644
index 0000000..5ce8c51
--- /dev/null
+++ b/debian/patches/0001-dnsdist-Fix-eBPF-filtering-of-long-qnames.patch
@@ -0,0 +1,254 @@
+From 759309e81c38cedd26e84a2d75c538f88313700f Mon Sep 17 00:00:00 2001
+From: Remi Gacogne <remi.gacogne@powerdns.com>
+Date: Mon, 9 Nov 2020 14:46:08 +0100
+Subject: [PATCH] dnsdist: Fix eBPF filtering of long qnames
+
+This commit switches to the use of eBPF positive offsets to access
+the content of the transport and application layers, since using
+negative offsets (needed to access the other layers) led to issues
+with long qnames.
+This is cleaner anyway :-)
+
+(cherry picked from commit abbc72876eabc7a1745f50e7a9ff4c41b4bbef62)
+---
+ bpf-filter.ebpf.src | 8 +-
+ bpf-filter.main.ebpf | 152 ++++++++++++++++----------------------
+ 2 files changed, 71 insertions(+), 89 deletions(-)
+
+diff --git a/bpf-filter.ebpf.src b/bpf-filter.ebpf.src
+index f1c5effcb..9f5866906 100644
+--- a/bpf-filter.ebpf.src
++++ b/bpf-filter.ebpf.src
+@@ -401,6 +401,9 @@ int bpf_qname_filter(struct __sk_buff *skb)
+ int bpf_dns_filter(struct __sk_buff *skb) {
+ u8 ip_proto;
+ int proto_off;
++ /* nh_off will contain a negative offset, used in BPF to get access to
++ the MAC/network layers, as positive values are used to get access to
++ the transport layer */
+ int nh_off = BPF_LL_OFF + ETH_HLEN;
+
+ if (skb->protocol == ntohs(0x0800)) {
+@@ -457,7 +460,10 @@ int bpf_dns_filter(struct __sk_buff *skb) {
+ }
+
+ struct QNameKey qkey = { 0 };
+- int dns_off = proto_off + sizeof(struct udphdr);
++ /* switch to positive offsets here, as we have seen some issues
++ when accessing the content of the transport layer with negative offsets
++ https://github.com/PowerDNS/pdns/issues/9626 */
++ int dns_off = sizeof(struct udphdr);
+ int qname_off = dns_off + sizeof(struct dnsheader);
+ skb->cb[0] = (uint32_t) qname_off;
+ u16 qtype;
+diff --git a/bpf-filter.main.ebpf b/bpf-filter.main.ebpf
+index 954b98a39..452a7d33b 100644
+--- a/bpf-filter.main.ebpf
++++ b/bpf-filter.main.ebpf
+@@ -1,71 +1,65 @@
+ /* generated from the bpf_dns_filter() function in bpf-filter.ebpf.src */
+ BPF_MOV64_REG(BPF_REG_6,BPF_REG_1),
++BPF_MOV64_IMM(BPF_REG_7,2147483647),
+ BPF_LDX_MEM(BPF_W,BPF_REG_1,BPF_REG_6,16),
+-BPF_JMP_IMM(BPF_JEQ,BPF_REG_1,ntohs(0x86dd),14),
+-BPF_MOV64_IMM(BPF_REG_0,2147483647),
+-BPF_JMP_IMM(BPF_JNE,BPF_REG_1,ntohs(0x0800),160),
++BPF_JMP_IMM(BPF_JEQ,BPF_REG_1,ntohs(0x86dd),11),
++BPF_JMP_IMM(BPF_JNE,BPF_REG_1,ntohs(0x0800),109),
+ BPF_LD_ABS(BPF_W,-2097126),
+-BPF_STX_MEM(BPF_W,BPF_REG_10,BPF_REG_0,-4),
++BPF_STX_MEM(BPF_W,BPF_REG_10,BPF_REG_0,-256),
+ BPF_LD_MAP_FD(BPF_REG_1,d_v4map.fd),
+ BPF_MOV64_REG(BPF_REG_2,BPF_REG_10),
+-BPF_ALU64_IMM(BPF_ADD,BPF_REG_2,-4),
++BPF_ALU64_IMM(BPF_ADD,BPF_REG_2,-256),
+ BPF_RAW_INSN(BPF_JMP|BPF_CALL,0,0,0,BPF_FUNC_map_lookup_elem),
+-BPF_JMP_IMM(BPF_JEQ,BPF_REG_0,0,47),
+-BPF_MOV64_IMM(BPF_REG_1,1),
+-BPF_RAW_INSN(BPF_STX|BPF_XADD|BPF_DW,BPF_REG_0,BPF_REG_1,0,0),
+-BPF_MOV64_IMM(BPF_REG_0,0),
+-BPF_JMP_IMM(BPF_JA,BPF_REG_0,0,148),
++BPF_JMP_IMM(BPF_JNE,BPF_REG_0,0,98),
++BPF_LD_ABS(BPF_B,-2097129),
++BPF_JMP_IMM(BPF_JA,BPF_REG_0,0,39),
+ BPF_LD_ABS(BPF_B,-2097130),
+-BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-24),
++BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-256),
+ BPF_LD_ABS(BPF_B,-2097129),
+-BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-23),
++BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-255),
+ BPF_LD_ABS(BPF_B,-2097128),
+-BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-22),
++BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-254),
+ BPF_LD_ABS(BPF_B,-2097127),
+-BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-21),
++BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-253),
+ BPF_LD_ABS(BPF_B,-2097126),
+-BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-20),
++BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-252),
+ BPF_LD_ABS(BPF_B,-2097125),
+-BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-19),
++BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-251),
+ BPF_LD_ABS(BPF_B,-2097124),
+-BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-18),
++BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-250),
+ BPF_LD_ABS(BPF_B,-2097123),
+-BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-17),
++BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-249),
+ BPF_LD_ABS(BPF_B,-2097122),
+-BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-16),
++BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-248),
+ BPF_LD_ABS(BPF_B,-2097121),
+-BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-15),
++BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-247),
+ BPF_LD_ABS(BPF_B,-2097120),
+-BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-14),
++BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-246),
+ BPF_LD_ABS(BPF_B,-2097119),
+-BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-13),
++BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-245),
+ BPF_LD_ABS(BPF_B,-2097118),
+-BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-12),
++BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-244),
+ BPF_LD_ABS(BPF_B,-2097117),
+-BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-11),
++BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-243),
+ BPF_LD_ABS(BPF_B,-2097116),
+-BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-10),
++BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-242),
+ BPF_LD_ABS(BPF_B,-2097115),
+-BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-9),
++BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_0,-241),
+ BPF_LD_MAP_FD(BPF_REG_1,d_v6map.fd),
+ BPF_MOV64_REG(BPF_REG_2,BPF_REG_10),
+-BPF_ALU64_IMM(BPF_ADD,BPF_REG_2,-24),
++BPF_ALU64_IMM(BPF_ADD,BPF_REG_2,-256),
+ BPF_RAW_INSN(BPF_JMP|BPF_CALL,0,0,0,BPF_FUNC_map_lookup_elem),
+-BPF_JMP_IMM(BPF_JEQ,BPF_REG_0,0,1),
+-BPF_JMP_IMM(BPF_JA,BPF_REG_0,0,-43),
+-BPF_LD_IMM64_RAW(BPF_REG_7,BPF_REG_0,4292870218),
++BPF_JMP_IMM(BPF_JNE,BPF_REG_0,0,58),
+ BPF_LD_ABS(BPF_B,-2097132),
+-BPF_JMP_IMM(BPF_JA,BPF_REG_0,0,3),
+-BPF_LD_IMM64_RAW(BPF_REG_7,BPF_REG_0,4292870198),
+-BPF_LD_ABS(BPF_B,-2097129),
+-BPF_MOV64_REG(BPF_REG_1,BPF_REG_0),
+-BPF_ALU64_IMM(BPF_AND,BPF_REG_1,255),
+-BPF_MOV64_IMM(BPF_REG_0,2147483647),
+-BPF_JMP_IMM(BPF_JEQ,BPF_REG_1,6,98),
++BPF_ALU64_IMM(BPF_AND,BPF_REG_0,255),
++BPF_JMP_IMM(BPF_JEQ,BPF_REG_0,6,58),
+ BPF_MOV64_IMM(BPF_REG_1,0),
+-BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_1,-26),
+-BPF_STX_MEM(BPF_H,BPF_REG_10,BPF_REG_1,-28),
+-BPF_STX_MEM(BPF_W,BPF_REG_10,BPF_REG_1,-32),
++BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_1,-2),
++BPF_STX_MEM(BPF_H,BPF_REG_10,BPF_REG_1,-4),
++BPF_STX_MEM(BPF_W,BPF_REG_10,BPF_REG_1,-8),
++BPF_STX_MEM(BPF_DW,BPF_REG_10,BPF_REG_1,-16),
++BPF_STX_MEM(BPF_DW,BPF_REG_10,BPF_REG_1,-24),
++BPF_STX_MEM(BPF_DW,BPF_REG_10,BPF_REG_1,-32),
+ BPF_STX_MEM(BPF_DW,BPF_REG_10,BPF_REG_1,-40),
+ BPF_STX_MEM(BPF_DW,BPF_REG_10,BPF_REG_1,-48),
+ BPF_STX_MEM(BPF_DW,BPF_REG_10,BPF_REG_1,-56),
+@@ -94,67 +88,49 @@ BPF_STX_MEM(BPF_DW,BPF_REG_10,BPF_REG_1,-232),
+ BPF_STX_MEM(BPF_DW,BPF_REG_10,BPF_REG_1,-240),
+ BPF_STX_MEM(BPF_DW,BPF_REG_10,BPF_REG_1,-248),
+ BPF_STX_MEM(BPF_DW,BPF_REG_10,BPF_REG_1,-256),
+-BPF_STX_MEM(BPF_DW,BPF_REG_10,BPF_REG_1,-264),
+-BPF_STX_MEM(BPF_DW,BPF_REG_10,BPF_REG_1,-272),
+-BPF_STX_MEM(BPF_DW,BPF_REG_10,BPF_REG_1,-280),
+-BPF_STX_MEM(BPF_W,BPF_REG_6,BPF_REG_7,48),
+-BPF_MOV64_REG(BPF_REG_8,BPF_REG_7),
+-BPF_ALU64_IMM(BPF_LSH,BPF_REG_8,32),
+-BPF_ALU64_IMM(BPF_ARSH,BPF_REG_8,32),
+-BPF_RAW_INSN(BPF_LD|BPF_IND|BPF_B,BPF_REG_0,BPF_REG_8,0,0),
+-BPF_MOV64_REG(BPF_REG_1,BPF_REG_0),
+-BPF_MOV64_REG(BPF_REG_2,BPF_REG_1),
+-BPF_ALU64_IMM(BPF_AND,BPF_REG_2,192),
+-BPF_MOV64_IMM(BPF_REG_0,0),
+-BPF_JMP_IMM(BPF_JGT,BPF_REG_2,63,53),
+-BPF_MOV64_REG(BPF_REG_8,BPF_REG_1),
+-BPF_ALU64_IMM(BPF_AND,BPF_REG_8,255),
+-BPF_JMP_IMM(BPF_JNE,BPF_REG_8,0,22),
+-BPF_ALU64_IMM(BPF_OR,BPF_REG_7,1),
+-BPF_ALU64_IMM(BPF_LSH,BPF_REG_7,32),
+-BPF_ALU64_IMM(BPF_ARSH,BPF_REG_7,32),
+-BPF_RAW_INSN(BPF_LD|BPF_IND|BPF_H,BPF_REG_0,BPF_REG_7,0,0),
++BPF_MOV64_IMM(BPF_REG_1,20),
++BPF_STX_MEM(BPF_W,BPF_REG_6,BPF_REG_1,48),
++BPF_LD_ABS(BPF_B,20),
++BPF_MOV64_REG(BPF_REG_8,BPF_REG_0),
++BPF_MOV64_IMM(BPF_REG_7,0),
++BPF_JMP_IMM(BPF_JGT,BPF_REG_8,63,17),
++BPF_JMP_IMM(BPF_JNE,BPF_REG_8,0,18),
++BPF_LD_ABS(BPF_H,21),
+ BPF_MOV64_REG(BPF_REG_6,BPF_REG_0),
+ BPF_LD_MAP_FD(BPF_REG_1,d_qnamemap.fd),
+ BPF_MOV64_REG(BPF_REG_2,BPF_REG_10),
+-BPF_ALU64_IMM(BPF_ADD,BPF_REG_2,-280),
++BPF_ALU64_IMM(BPF_ADD,BPF_REG_2,-256),
+ BPF_RAW_INSN(BPF_JMP|BPF_CALL,0,0,0,BPF_FUNC_map_lookup_elem),
+-BPF_MOV64_REG(BPF_REG_1,BPF_REG_0),
+-BPF_MOV64_IMM(BPF_REG_0,2147483647),
+-BPF_JMP_IMM(BPF_JEQ,BPF_REG_1,0,37),
+-BPF_LDX_MEM(BPF_H,BPF_REG_2,BPF_REG_1,8),
+-BPF_JMP_IMM(BPF_JEQ,BPF_REG_2,255,3),
++BPF_MOV64_IMM(BPF_REG_7,2147483647),
++BPF_JMP_IMM(BPF_JEQ,BPF_REG_0,0,7),
++BPF_LDX_MEM(BPF_H,BPF_REG_1,BPF_REG_0,8),
++BPF_JMP_IMM(BPF_JEQ,BPF_REG_1,255,2),
+ BPF_ALU64_IMM(BPF_AND,BPF_REG_6,65535),
+-BPF_MOV64_IMM(BPF_REG_0,2147483647),
+-BPF_JMP_REG(BPF_JNE,BPF_REG_6,BPF_REG_2,32),
+-BPF_MOV64_IMM(BPF_REG_2,1),
+-BPF_RAW_INSN(BPF_STX|BPF_XADD|BPF_DW,BPF_REG_1,BPF_REG_2,0,0),
+-BPF_MOV64_IMM(BPF_REG_0,0),
+-BPF_JMP_IMM(BPF_JA,BPF_REG_0,0,28),
++BPF_JMP_REG(BPF_JNE,BPF_REG_1,BPF_REG_6,3),
++BPF_MOV64_IMM(BPF_REG_1,1),
++BPF_RAW_INSN(BPF_STX|BPF_XADD|BPF_DW,BPF_REG_0,BPF_REG_1,0,0),
++BPF_MOV64_IMM(BPF_REG_7,0),
++BPF_MOV64_REG(BPF_REG_0,BPF_REG_7),
++BPF_EXIT_INSN(),
+ BPF_STX_MEM(BPF_W,BPF_REG_6,BPF_REG_8,52),
+-BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_1,-280),
+-BPF_ALU64_IMM(BPF_OR,BPF_REG_7,1),
+-BPF_ALU64_IMM(BPF_LSH,BPF_REG_7,32),
+-BPF_ALU64_IMM(BPF_ARSH,BPF_REG_7,32),
+-BPF_RAW_INSN(BPF_LD|BPF_IND|BPF_B,BPF_REG_0,BPF_REG_7,0,0),
++BPF_STX_MEM(BPF_B,BPF_REG_10,BPF_REG_8,-256),
++BPF_LD_ABS(BPF_B,21),
++BPF_MOV64_REG(BPF_REG_2,BPF_REG_0),
++BPF_ALU64_IMM(BPF_ADD,BPF_REG_2,-65),
++BPF_ALU64_IMM(BPF_LSH,BPF_REG_2,32),
++BPF_ALU64_IMM(BPF_RSH,BPF_REG_2,32),
+ BPF_MOV64_REG(BPF_REG_1,BPF_REG_0),
+ BPF_ALU64_IMM(BPF_ADD,BPF_REG_1,32),
+-BPF_MOV64_REG(BPF_REG_2,BPF_REG_0),
+-BPF_ALU64_IMM(BPF_AND,BPF_REG_2,255),
+-BPF_MOV64_IMM(BPF_REG_3,91),
++BPF_MOV64_IMM(BPF_REG_3,26),
+ BPF_JMP_REG(BPF_JGT,BPF_REG_3,BPF_REG_2,1),
+ BPF_MOV64_REG(BPF_REG_1,BPF_REG_0),
+-BPF_MOV64_IMM(BPF_REG_3,64),
+-BPF_JMP_REG(BPF_JGT,BPF_REG_2,BPF_REG_3,1),
+-BPF_MOV64_REG(BPF_REG_1,BPF_REG_0),
+-BPF_LD_IMM64_RAW(BPF_REG_2,BPF_REG_0,4294967295),
+-BPF_ALU64_REG(BPF_ADD,BPF_REG_8,BPF_REG_2),
++BPF_ALU64_IMM(BPF_ADD,BPF_REG_8,-1),
++BPF_STX_MEM(BPF_W,BPF_REG_6,BPF_REG_8,60),
+ BPF_ALU64_IMM(BPF_AND,BPF_REG_1,255),
+ BPF_STX_MEM(BPF_W,BPF_REG_6,BPF_REG_1,56),
+-BPF_STX_MEM(BPF_W,BPF_REG_6,BPF_REG_8,60),
+ BPF_LD_MAP_FD(BPF_REG_2,d_filtermap.fd),
+ BPF_MOV64_REG(BPF_REG_1,BPF_REG_6),
+ BPF_MOV64_IMM(BPF_REG_3,0),
+ BPF_RAW_INSN(BPF_JMP|BPF_CALL,0,0,0,BPF_FUNC_tail_call),
+-BPF_MOV64_IMM(BPF_REG_0,2147483647),
+-BPF_EXIT_INSN(),
++BPF_MOV64_IMM(BPF_REG_7,2147483647),
++BPF_JMP_IMM(BPF_JA,BPF_REG_0,0,-25),
+--
+2.29.2
+
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..3f04f26
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1 @@
+0001-dnsdist-Fix-eBPF-filtering-of-long-qnames.patch
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..e034bd3
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,59 @@
+#!/usr/bin/make -f
+
+# Turn on all hardening flags, as we're a networked daemon.
+export DEB_BUILD_MAINT_OPTIONS=hardening=+all
+# see EXAMPLES in dpkg-buildflags(1) and read /usr/share/dpkg/*
+DPKG_EXPORT_BUILDFLAGS = 1
+include /usr/share/dpkg/default.mk
+
+# Vendor and version
+CXXFLAGS += -DPACKAGEVERSION='"$(DEB_VERSION).$(DEB_VENDOR)"'
+
+
+%:
+ dh $@
+
+override_dh_auto_clean:
+ dh_auto_clean
+ rm -f dnslabeltext.cc
+
+override_dh_auto_configure:
+ chmod a+x debian/configure-helpers/*
+ PATH=debian/configure-helpers/:$$PATH dh_auto_configure -- \
+ --sysconfdir=/etc/dnsdist \
+ --enable-systemd --with-systemd=/lib/systemd/system \
+ --enable-unit-tests \
+ --disable-silent-rules \
+ --enable-dnscrypt \
+ --enable-dns-over-https \
+ --enable-dns-over-tls \
+ --enable-dnstap \
+ --with-ebpf \
+ --with-gnutls=no \
+ --with-libsodium \
+ --with-libssl \
+ --with-lua \
+ --with-net-snmp \
+ --with-protobuf \
+ --with-re2 \
+ --with-service-user='_dnsdist' \
+ --with-service-group='_dnsdist' \
+ $(CONFIGURE_ARGS)
+
+override_dh_auto_build-arch:
+ dh_auto_build -- V=1
+
+override_dh_install:
+ dh_auto_install
+ install -m 0640 debian/config/dnsdist.conf debian/dnsdist/etc/dnsdist/
+ install -d debian/dnsdist/usr/share/dnsdist/snmp
+ install -m 644 -t debian/dnsdist/usr/share/dnsdist/snmp DNSDIST-MIB.txt
+
+override_dh_installexamples:
+ cp dnsdistconf.lua dnsdist.conf
+ dh_installexamples
+ rm -f dnsdist.conf
+
+override_dh_fixperms:
+ dh_fixperms
+ chmod 0640 debian/dnsdist/etc/dnsdist/dnsdist.conf
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..163aaf8
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/debian/source/lintian-overrides b/debian/source/lintian-overrides
new file mode 100644
index 0000000..2f26f7d
--- /dev/null
+++ b/debian/source/lintian-overrides
@@ -0,0 +1,5 @@
+# Sources are in src_js/
+dnsdist source: source-contains-prebuilt-javascript-object html/js/d3.min.js
+dnsdist source: source-contains-prebuilt-javascript-object html/js/jquery.min.js
+dnsdist source: source-contains-prebuilt-javascript-object html/js/moment.min.js
+dnsdist source: source-contains-prebuilt-javascript-object html/js/rickshaw.min.js
diff --git a/debian/upstream/metadata b/debian/upstream/metadata
new file mode 100644
index 0000000..549073d
--- /dev/null
+++ b/debian/upstream/metadata
@@ -0,0 +1,6 @@
+Bug-Submit: https://github.com/powerdns/pdns/issues/new
+Repository: https://github.com/PowerDNS/pdns.git
+Repository-Browse: https://github.com/powerdns/pdns
+Homepage: https://www.dnsdist.org/
+Bug-Database: https://github.com/powerdns/pdns/issues
+Security-Contact: https://doc.powerdns.com/authoritative/security.html
diff --git a/debian/upstream/signing-key.asc b/debian/upstream/signing-key.asc
new file mode 100644
index 0000000..3374c9b
--- /dev/null
+++ b/debian/upstream/signing-key.asc
@@ -0,0 +1,143 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+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
+i2OblZ9Wkvts
+=m7Xq
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/debian/watch b/debian/watch
new file mode 100644
index 0000000..8c81a53
--- /dev/null
+++ b/debian/watch
@@ -0,0 +1,3 @@
+# Site Directory Pattern Version Script
+version=3
+opts="pgpsigurlmangle=s/$/.asc/,versionmangle=s/-/~/" https://downloads.powerdns.com/releases/ dnsdist-([0-9]+.*)\.tar\.bz2 debian uupdate