From bc79aab2c4ebb83498b3a767087e55dd12db4885 Mon Sep 17 00:00:00 2001 From: Chris Hofstaedtler Date: Mon, 14 May 2018 12:17:08 +0100 Subject: [PATCH 1/1] Import pdns_4.1.2-1.debian.tar.xz [dgit import tarball pdns 4.1.2-1 pdns_4.1.2-1.debian.tar.xz] --- NEWS | 32 + README.source | 1 + changelog | 1417 ++++++++++++++++++++++++++++++ compat | 1 + config/bind.conf | 46 + config/dnsdomain2.schema | 195 ++++ config/geoip.conf | 8 + config/godbc.conf | 19 + config/ldap.conf | 7 + config/lua.conf | 13 + config/named.conf | 10 + config/opendbx.conf | 22 + config/pdns.local.gmysql.conf | 13 + config/pdns.local.gpgsql.conf | 12 + config/pdns.local.gsqlite3.conf | 8 + config/pipe.conf | 6 + config/tinydns.conf | 27 + control | 293 ++++++ copyright | 623 +++++++++++++ gbp.conf | 2 + pdns-backend-bind.dirs | 1 + pdns-backend-bind.install | 3 + pdns-backend-bind.postinst | 30 + pdns-backend-bind.postrm | 13 + pdns-backend-geoip.examples | 1 + pdns-backend-geoip.install | 1 + pdns-backend-geoip.postinst | 8 + pdns-backend-ldap.examples | 1 + pdns-backend-ldap.install | 3 + pdns-backend-ldap.manpages | 1 + pdns-backend-ldap.postinst | 8 + pdns-backend-lua.docs | 1 + pdns-backend-lua.examples | 1 + pdns-backend-lua.install | 1 + pdns-backend-lua.postinst | 8 + pdns-backend-mydns.docs | 1 + pdns-backend-mydns.install | 1 + pdns-backend-mydns.postinst | 8 + pdns-backend-mysql.README.Debian | 18 + pdns-backend-mysql.config | 21 + pdns-backend-mysql.docs | 3 + pdns-backend-mysql.install | 4 + pdns-backend-mysql.postinst | 69 ++ pdns-backend-mysql.postrm | 35 + pdns-backend-mysql.prerm | 11 + pdns-backend-odbc.docs | 1 + pdns-backend-odbc.examples | 1 + pdns-backend-odbc.install | 1 + pdns-backend-odbc.postinst | 8 + pdns-backend-opendbx.examples | 1 + pdns-backend-opendbx.install | 1 + pdns-backend-opendbx.postinst | 8 + pdns-backend-pgsql.README.Debian | 26 + pdns-backend-pgsql.config | 21 + pdns-backend-pgsql.docs | 3 + pdns-backend-pgsql.install | 4 + pdns-backend-pgsql.postinst | 65 ++ pdns-backend-pgsql.postrm | 38 + pdns-backend-pgsql.prerm | 11 + pdns-backend-pipe.examples | 1 + pdns-backend-pipe.install | 1 + pdns-backend-pipe.postinst | 8 + pdns-backend-remote.install | 1 + pdns-backend-remote.postinst | 8 + pdns-backend-sqlite3.config | 21 + pdns-backend-sqlite3.dirs | 1 + pdns-backend-sqlite3.docs | 3 + pdns-backend-sqlite3.install | 4 + pdns-backend-sqlite3.postinst | 68 ++ pdns-backend-sqlite3.postrm | 35 + pdns-backend-sqlite3.prerm | 11 + pdns-backend-tinydns.examples | 1 + pdns-backend-tinydns.install | 1 + pdns-backend-tinydns.postinst | 8 + pdns-server.README.Debian | 25 + pdns-server.dirs | 1 + pdns-server.install | 7 + pdns-server.lintian-overrides | 4 + pdns-server.manpages | 5 + pdns-server.pdns.default | 5 + pdns-server.pdns.init | 270 ++++++ pdns-server.postinst | 41 + pdns-server.preinst | 49 ++ pdns-tools.install | 15 + pdns-tools.manpages | 15 + rules | 81 ++ source/format | 1 + sql/mysql/3.0-1 | 32 + sql/mysql/3.3.1-4 | 17 + sql/mysql/3.4.0 | 31 + sql/mysql/4.0.1-6 | 21 + sql/mysql/4.0.3-1 | 3 + sql/mysql/4.1.0-1 | 5 + sql/mysql/mysql | 93 ++ sql/pgsql/3.0-1 | 29 + sql/pgsql/3.3-1 | 26 + sql/pgsql/3.3.1-4 | 4 + sql/pgsql/3.4.0 | 35 + sql/pgsql/4.1.0-1 | 1 + sql/pgsql/pgsql | 95 ++ sql/sqlite3/3.0-1 | 27 + sql/sqlite3/3.4.0 | 103 +++ sql/sqlite3/sqlite3 | 86 ++ tests/control | 15 + tests/smoke-bind | 32 + tests/smoke-mysql | 39 + tests/smoke-pgsql | 42 + tests/supported-algos | 20 + triggers | 1 + upstream/signing-key.asc | 165 ++++ watch | 3 + 111 files changed, 4812 insertions(+) create mode 100644 NEWS create mode 100644 README.source create mode 100644 changelog create mode 100644 compat create mode 100644 config/bind.conf create mode 100644 config/dnsdomain2.schema create mode 100644 config/geoip.conf create mode 100644 config/godbc.conf create mode 100644 config/ldap.conf create mode 100644 config/lua.conf create mode 100644 config/named.conf create mode 100644 config/opendbx.conf create mode 100644 config/pdns.local.gmysql.conf create mode 100644 config/pdns.local.gpgsql.conf create mode 100644 config/pdns.local.gsqlite3.conf create mode 100644 config/pipe.conf create mode 100644 config/tinydns.conf create mode 100644 control create mode 100644 copyright create mode 100644 gbp.conf create mode 100644 pdns-backend-bind.dirs create mode 100644 pdns-backend-bind.install create mode 100644 pdns-backend-bind.postinst create mode 100644 pdns-backend-bind.postrm create mode 100644 pdns-backend-geoip.examples create mode 100644 pdns-backend-geoip.install create mode 100644 pdns-backend-geoip.postinst create mode 100644 pdns-backend-ldap.examples create mode 100644 pdns-backend-ldap.install create mode 100644 pdns-backend-ldap.manpages create mode 100644 pdns-backend-ldap.postinst create mode 100644 pdns-backend-lua.docs create mode 100644 pdns-backend-lua.examples create mode 100644 pdns-backend-lua.install create mode 100644 pdns-backend-lua.postinst create mode 100644 pdns-backend-mydns.docs create mode 100644 pdns-backend-mydns.install create mode 100644 pdns-backend-mydns.postinst create mode 100644 pdns-backend-mysql.README.Debian create mode 100644 pdns-backend-mysql.config create mode 100644 pdns-backend-mysql.docs create mode 100644 pdns-backend-mysql.install create mode 100644 pdns-backend-mysql.postinst create mode 100644 pdns-backend-mysql.postrm create mode 100644 pdns-backend-mysql.prerm create mode 100644 pdns-backend-odbc.docs create mode 100644 pdns-backend-odbc.examples create mode 100644 pdns-backend-odbc.install create mode 100644 pdns-backend-odbc.postinst create mode 100644 pdns-backend-opendbx.examples create mode 100644 pdns-backend-opendbx.install create mode 100644 pdns-backend-opendbx.postinst create mode 100644 pdns-backend-pgsql.README.Debian create mode 100644 pdns-backend-pgsql.config create mode 100644 pdns-backend-pgsql.docs create mode 100644 pdns-backend-pgsql.install create mode 100644 pdns-backend-pgsql.postinst create mode 100644 pdns-backend-pgsql.postrm create mode 100644 pdns-backend-pgsql.prerm create mode 100644 pdns-backend-pipe.examples create mode 100644 pdns-backend-pipe.install create mode 100644 pdns-backend-pipe.postinst create mode 100644 pdns-backend-remote.install create mode 100644 pdns-backend-remote.postinst create mode 100644 pdns-backend-sqlite3.config create mode 100644 pdns-backend-sqlite3.dirs create mode 100644 pdns-backend-sqlite3.docs create mode 100644 pdns-backend-sqlite3.install create mode 100644 pdns-backend-sqlite3.postinst create mode 100644 pdns-backend-sqlite3.postrm create mode 100644 pdns-backend-sqlite3.prerm create mode 100644 pdns-backend-tinydns.examples create mode 100644 pdns-backend-tinydns.install create mode 100644 pdns-backend-tinydns.postinst create mode 100644 pdns-server.README.Debian create mode 100644 pdns-server.dirs create mode 100644 pdns-server.install create mode 100644 pdns-server.lintian-overrides create mode 100644 pdns-server.manpages create mode 100644 pdns-server.pdns.default create mode 100644 pdns-server.pdns.init create mode 100644 pdns-server.postinst create mode 100644 pdns-server.preinst create mode 100644 pdns-tools.install create mode 100644 pdns-tools.manpages create mode 100755 rules create mode 100644 source/format create mode 100644 sql/mysql/3.0-1 create mode 100644 sql/mysql/3.3.1-4 create mode 100644 sql/mysql/3.4.0 create mode 100644 sql/mysql/4.0.1-6 create mode 100644 sql/mysql/4.0.3-1 create mode 100644 sql/mysql/4.1.0-1 create mode 100644 sql/mysql/mysql create mode 100644 sql/pgsql/3.0-1 create mode 100644 sql/pgsql/3.3-1 create mode 100644 sql/pgsql/3.3.1-4 create mode 100644 sql/pgsql/3.4.0 create mode 100644 sql/pgsql/4.1.0-1 create mode 100644 sql/pgsql/pgsql create mode 100644 sql/sqlite3/3.0-1 create mode 100644 sql/sqlite3/3.4.0 create mode 100644 sql/sqlite3/sqlite3 create mode 100644 tests/control create mode 100755 tests/smoke-bind create mode 100755 tests/smoke-mysql create mode 100755 tests/smoke-pgsql create mode 100755 tests/supported-algos create mode 100644 triggers create mode 100644 upstream/signing-key.asc create mode 100644 watch diff --git a/NEWS b/NEWS new file mode 100644 index 0000000..5b7ed8c --- /dev/null +++ b/NEWS @@ -0,0 +1,32 @@ +pdns (4.0.0-2) unstable; urgency=medium + + The "bind" backend is no longer included in the pdns-server package, instead + it is provided in pdns-backend-bind. Users having APT install Recommends + (the default), will continue to get it installed. If you are upgrading from + a previous version and have disabled bindbackend previously, you need to do + so again, either by uninstalling pdns-backend-bind or by deleting + /etc/powerdns/pdns.d/bind.conf. + + -- Christian Hofstaedtler Wed, 13 Jul 2016 15:42:16 +0200 + +pdns (4.0.0~alpha1-1) unstable; urgency=medium + + The "pdnssec" utility has been renamed to "pdnsutil". + The default listening addresses now include all IPv6 addresses. + The default DNSSEC parameters have changed to a single ECDSA 256 + key. + The "lmdb" backend has been removed. + Many options are no longer experimental. + + Debian specific: the allow-recursion and listen-address parameters + are no longer set using debconf. + + -- Christian Hofstaedtler Fri, 25 Dec 2015 17:05:29 +0000 + +pdns (3.4.6-2) unstable; urgency=medium + + The "geo" backend has been replaced by the much newer "geoip" + backend. The geoip backend actually has documentation and upstream + has a higher confidence of keeping it working in newer versions. + + -- Christian Hofstaedtler Thu, 10 Sep 2015 21:51:38 +0000 diff --git a/README.source b/README.source new file mode 100644 index 0000000..cf42723 --- /dev/null +++ b/README.source @@ -0,0 +1 @@ +See /usr/share/doc/quilt/README.source diff --git a/changelog b/changelog new file mode 100644 index 0000000..74a3a2a --- /dev/null +++ b/changelog @@ -0,0 +1,1417 @@ +pdns (4.1.2-1) unstable; urgency=medium + + * New upstream version 4.1.2 + * Includes fix for CVE-2018-1046 in dnsreplay. (Closes: #898255) + + -- Chris Hofstaedtler Mon, 14 May 2018 11:17:08 +0000 + +pdns (4.1.1-1) unstable; urgency=medium + + * Replace obsolete priority extra with optional + * New upstream version 4.1.1 + + -- Chris Hofstaedtler Fri, 16 Feb 2018 10:49:37 +0000 + +pdns (4.1.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 Thu, 18 Jan 2018 20:44:07 +0000 + +pdns (4.1.0-1) unstable; urgency=medium + + * New upstream version 4.1.0, upload to unstable. + * Update dbconfig-common schema definitions. + * Remove libbotan1.10-dev dependency, upstream has dropped support. + * Remove obsolete --with-pgsql-includes configure argument. + * Run make check at build time. + + -- Chris Hofstaedtler Sat, 02 Dec 2017 20:51:27 +0000 + +pdns (4.1.0~rc3-1) experimental; urgency=medium + + * New upstream version 4.1.0~rc3 + * Update upstream signing key + * Bump Standards-Version to 4.1.1 (no changes) + + -- Christian Hofstaedtler Mon, 27 Nov 2017 18:24:16 +0000 + +pdns (4.1.0~rc1-1) experimental; urgency=medium + + * New upstream version 4.1.0~rc1 + + -- Christian Hofstaedtler Wed, 06 Sep 2017 18:54:41 +0000 + +pdns (4.0.5-1) unstable; urgency=medium + + * New upstream version 4.0.5, fixes CVE-2017-15091 + * Update upstream signing key + + -- Chris Hofstaedtler Mon, 27 Nov 2017 21:40:00 +0000 + +pdns (4.0.4-2) unstable; urgency=medium + + * Build with libsodium to support DNSSEC algo 15 (Closes: #867517) + + -- Christian Hofstaedtler Mon, 17 Jul 2017 11:10:12 +0000 + +pdns (4.0.4-1) unstable; urgency=medium + + * New upstream version 4.0.4. + * Bump Standards-Version to 4.0.0. + + -- Christian Hofstaedtler Tue, 04 Jul 2017 10:45:55 +0000 + +pdns (4.0.3-1) unstable; urgency=medium + + * New upstream version 4.0.3, fixing bug when running bindbackend + mixed with other backends. + * Fix mysql-5.6 schema incompatibility (Closes: #851586) + + -- Christian Hofstaedtler Thu, 19 Jan 2017 23:05:09 +0000 + +pdns (4.0.2-1) unstable; urgency=medium + + * New upstream version, fixing security issues: CVE-2016-7068 CVE-2016-7072 + CVE-2016-7073 CVE-2016-7074 CVE-2016-2120. + * Also includes previous patches applied in Debian, esp. the libssl + 1.1 fixes. + * Drop upstream applied patches. + + -- Christian Hofstaedtler Fri, 13 Jan 2017 14:20:11 +0000 + +pdns (4.0.1-7) unstable; urgency=medium + + * Drop RestrictAddressFamilies from .service file on 32bit. + This feature is broken in systemd before v233. (See also #849817) + * Add 4.0-series patches from upstream: + Fixing issues in remotebackend http, mydnsbackend, a DNSName + issue in core, a cleanup on randomness, and a performance + improvement in bindbackend. + + -- Christian Hofstaedtler Sat, 31 Dec 2016 15:23:27 +0000 + +pdns (4.0.1-6) unstable; urgency=medium + + * Fix init script "status" command without lsb library + * Make mysql schema compatible with MariaDB + + -- Christian Hofstaedtler Sun, 18 Dec 2016 22:07:18 +0000 + +pdns (4.0.1-5) unstable; urgency=medium + + * Remove our lsb-base dependency + * Update Suggest mysql-server to default-mysql-server + + -- Christian Hofstaedtler Tue, 11 Oct 2016 02:45:15 +0000 + +pdns (4.0.1-4) unstable; urgency=medium + + * Apply patches to fix API, PostgreSQL issues + * Switch Build-Depends from libmysqlclient-dev to default-libmysqlclient-dev + + -- Christian Hofstaedtler Mon, 10 Oct 2016 18:34:28 +0000 + +pdns (4.0.1-3) unstable; urgency=medium + + * Disable systemd integration on non-Linux archs. Patch from + Pino Toscano . (Closes: #837348) + + -- Christian Hofstaedtler Mon, 10 Oct 2016 14:30:03 +0000 + +pdns (4.0.1-2) unstable; urgency=medium + + * Add patches from upstream to fix build with OpenSSL 1.1.0 final (again) + (Closes: #828490) + + -- Christian Hofstaedtler Mon, 05 Sep 2016 18:43:49 +0000 + +pdns (4.0.1-1) unstable; urgency=medium + + * New upstream release, drop upstream applied patch. (Closes: #828490, + #830808) + + -- Christian Hofstaedtler Sat, 30 Jul 2016 20:38:41 +0000 + +pdns (4.0.0-5) unstable; urgency=medium + + * Prevent empty DEALLOCATE. + Apply patch from upstream to prevent flooding PostgreSQL with empty + DEALLOCATE SQL commands. (Closes: #831741) + + -- Christian Hofstaedtler Thu, 21 Jul 2016 12:57:45 +0000 + +pdns (4.0.0-4) unstable; urgency=medium + + * debian/watch: Fix versionmangle for rc releases + * Remove supermaster.conf during purge if empty + + -- Christian Hofstaedtler Sun, 17 Jul 2016 20:15:27 +0000 + +pdns (4.0.0-3) unstable; urgency=medium + + * Avoid unchanged configuration prompt on upgrade from before 4.0.0-2 + * Override lintian W: non-standard-file-perm etc/powerdns/pdns.conf + + -- Christian Hofstaedtler Fri, 15 Jul 2016 22:28:26 +0000 + +pdns (4.0.0-2) unstable; urgency=medium + + * Split bind backend into its own package and stop using ucf where possible + (Closes: #701798) + * Update README.Debian, remove outdated info + * Drop "Replaces: pdns" which has not been needed since wheezy + * Drop version on Depends: lsb-base, which is already fulfilled in oldstable + * Drop version on Depends: ucf, which is already fulfilled in oldstable + * debian/copyright: Add short license names where needed + * Drop unused lintian overrides + * Simplify maintainer scripts, stop stopping pdns-server in prerm + * Ensure daemon startup errors do not cause dpkg to fail + * Drop upgrade code from versions before oldoldstable + * Drop unused lintian overrides (all of them) + * pdns-backend-godbc: Stop registering example with ucf + * Stop installing resolvconf recursor= update hook. + Mixing authoritative and recursive in a single daemon is not + recommended in the first place. + * Rename example config files + * Use dh_auto_configure and stop manually passing V=1 to make + + -- Christian Hofstaedtler Thu, 14 Jul 2016 16:54:11 +0000 + +pdns (4.0.0-1) unstable; urgency=medium + + * New upstream release, drop upstream applied patches. + * Update debhelper dependency for dbgsym options. + * Move package to pkg-dns team. + * Update debian/copyright for backend files, m4 files. + + -- Christian Hofstaedtler Mon, 11 Jul 2016 13:16:07 +0200 + +pdns (4.0.0~beta1-2) unstable; urgency=medium + + * Drop extra -latomic, fixed upstream. + * Import proposed patch renaming notify to pdns_notify. (Closes: #825804) + * Enable OpenDBX backend. (Closes: #716726) + * Enable godbc backend. + * Enable random backend (part of the pdns-server binary package). + + -- Christian Hofstaedtler Mon, 06 Jun 2016 20:36:37 +0000 + +pdns (4.0.0~beta1-1) unstable; urgency=medium + + * New upstream version. + * Build with systemd Type=notify support and use it. + * Merge some upstream packaging changes, gets us new tools and + manpages in pdns-tools. + * Stop patching config-dir in pdns.conf + * pdns-backend-mysql: Fix ucf registration (Closes: #816362) + + -- Christian Hofstaedtler Sun, 29 May 2016 14:43:55 +0000 + +pdns (4.0.0~alpha3-1) unstable; urgency=medium + + * d/watch: Set versionmangle for alpha releases + * Bump Standards-Version to 3.9.8 (no changes needed) + * New upstream version. + + -- Christian Hofstaedtler Thu, 12 May 2016 11:29:14 +0000 + +pdns (4.0.0~alpha2-4) unstable; urgency=medium + + * Ensure server and backends are always updated together, + otherwise strange errors occur at runtime/startup. + * Update Vcs-* URLs to point to secure location. + * Remove pdns-recursor from Suggests, typical installations will not + have both. + * Remove Matthijs Möhlmann from Uploaders for now. + * Remove unused lintian overrides. + * Fix lintian warnings: + * Override possible-gpl-code-linked-with-openssl, we have a license + exception. + * Remove unused file paragraphs from debian/copyright. + + -- Christian Hofstaedtler Thu, 24 Mar 2016 20:29:31 +0000 + +pdns (4.0.0~alpha2-3) unstable; urgency=medium + + * Drop unused libzmq-dev build-dependency (Closes: #818223) + + -- Christian Hofstaedtler Mon, 14 Mar 2016 20:08:39 +0000 + +pdns (4.0.0~alpha2-2) unstable; urgency=medium + + * Update Build-Dependencies for newer upstream version + * Build with -latomic for mips(el) + + -- Christian Hofstaedtler Sun, 28 Feb 2016 20:34:31 +0000 + +pdns (4.0.0~alpha2-1) unstable; urgency=medium + + * Fix dbconfig-pgsql name + * New upstream version: 4.0.0-alpha2 + + -- Christian Hofstaedtler Sun, 28 Feb 2016 17:28:31 +0000 + +pdns (4.0.0~alpha1-2) unstable; urgency=medium + + * Update systemd unit file from upstream. + * Build with Lua 5.3 instead of 5.1. + * Drop pdns-server-dbg in favor of automated dbgsym packages. + * Fix zone2sql call in autopkgtests. + * Use dbconfig-x metapackages instead of direct SQL DB clients. + (Closes: #801565) + * Disable secpoll by default. + * Move daemon startup options out of default config. They are included in + the sysvinit script and systemd unit file instead. + + -- Christian Hofstaedtler Wed, 24 Feb 2016 21:52:47 +0000 + +pdns (4.0.0~alpha1-1) unstable; urgency=medium + + * New upstream version: 4.0.0-alpha1 + * Update debian/copyright. + * Disable lmdb backend (gone upstream). + * Add curl to Build-Depends. + * Follow pdnssec -> pdnsutil rename. + * Drop our mbedtls patch, as upstream now natively supports it. + * Enable reproducible build. + * Drop debconf questions that didn't really work. + + -- Christian Hofstaedtler Fri, 25 Dec 2015 17:05:29 +0000 + +pdns (3.4.7-2) unstable; urgency=medium + + * Switch from polarssl to mbedtls (Closes: #808065) + + -- Christian Hofstaedtler Tue, 15 Dec 2015 17:20:09 +0000 + +pdns (3.4.7-1) unstable; urgency=medium + + * New upstream release. Operating, stability, interop improvements. + Adds OPENPGPKEY support. New default-soa-edit(-signed) settings. + + -- Christian Hofstaedtler Sun, 08 Nov 2015 13:43:27 +0000 + +pdns (3.4.6-3) unstable; urgency=medium + + * Remove unused Build-Dependencies + * pdns-tools: Correctly Break/Replace pdns-server << 3.4.6-2. + As some pdns-tools files were previously shipped in pdns-server. + Thanks to Andreas Beckmann (Closes: #802737) + * Fix upgrades with default configuration. + The postinst script used to do a "grep include" on pdns.conf, which + in older versions would work (mostly), because the default config + only had a single "include=" entry. Now this is no longer true, + so remove that. Also, changing the include directory would have + never worked. (Closes: #798773) + Thanks to Stephen Frost . + + -- Christian Hofstaedtler Sun, 25 Oct 2015 15:22:57 +0000 + +pdns (3.4.6-2) unstable; urgency=medium + + * Retroactively add CVE to 3.4.6-1 changelog + * Move pdns.conf creation to override_dh_install. + Purely cosmetic, but aligned with the upstream packaging. + * Replace geobackend with geoipbackend (Closes: #798566) + * Ship (more) tools as part of the new pdns-tools package + + -- Christian Hofstaedtler Thu, 10 Sep 2015 21:51:38 +0000 + +pdns (3.4.6-1) unstable; urgency=medium + + * New upstream release, fixes security issue: CVE-2015-5230 + + -- Christian Hofstaedtler Fri, 28 Aug 2015 15:55:27 +0000 + +pdns (3.4.5-3) unstable; urgency=medium + + * Stop installing files into /etc/insserv.d: + As a fix for #585966, pdns-server started installing a configuration + file into /etc/insserv.conf.d. But in 2011 this has been changed so + the file went into /etc/insserv.d instead. As this hasn't been + noticed quite a long time I suspect nobody is actually relying on + pdns-server providing $named, and really nobody should rely on that. + After all, pdns-server is meant to provide authoritative services, + not recursion. + * Stop building with libcrypto++ + All features are satisfied by building with botan1.10 anyway, and + upstream's binary packages also don't build with libcrypto++. This + should allow us building on armel again. + * autopkgtest: Stop pdns after testing + * Add autopkgtest for mysql backend + * Add autopkgtest for postgresql backend + + -- Christian Hofstaedtler Sun, 23 Aug 2015 16:39:41 +0000 + +pdns (3.4.5-2) unstable; urgency=medium + + * Build pdns.conf at package build time + * Ship tinydns backend as new package pdns-backend-tinydns (Closes: #757287) + * Upgrade (mysql|postgresql)-client to dependencies. + Fixes the remove case of pdns-backend-(mysql|pgsql) when a + database was created using dbconfig-common. (Closes: #793593) + * debian/copyright: Fix various lintian warnings + * Fix URL pattern in watch file + * d/watch: Add upstream signature check + * wrap-and-sort all debian/* files + + -- Christian Hofstaedtler Mon, 17 Aug 2015 10:53:40 +0200 + +pdns (3.4.5-1) unstable; urgency=medium + + * New upstream version 3.4.5, remove patches applied upstream. + * Unconditionally rely on invoke-rc.d, available since sarge. + * Fix "empty paragraphs" in debian/copyright. + + -- Christian Hofstaedtler Tue, 09 Jun 2015 21:34:14 +0200 + +pdns (3.4.4-2) unstable; urgency=medium + + * Add performance patch from upstream's 3.4.x branch. + + -- Christian Hofstaedtler Thu, 30 Apr 2015 19:45:02 +0200 + +pdns (3.4.4-1) unstable; urgency=medium + + * Imported Upstream version 3.4.4 (Fixes CVE-2015-1868) + + -- Christian Hofstaedtler Thu, 23 Apr 2015 23:21:05 +0200 + +pdns (3.4.1-4) unstable; urgency=medium + + * Remove DROP INDEX domainmetaidindex from MySQL schema upgrade files. + The Debian schema files since at least wheezy didn't have that index, + so we can't drop it. It'd be nicer if we could say DROP INDEX IF EXISTS, + but apparently there's no such thing in MySQL. + Thanks to Andreas Beckmann (Closes: #773345) + + -- Christian Hofstaedtler Tue, 23 Dec 2014 12:29:35 +0100 + +pdns (3.4.1-3) unstable; urgency=medium + + * Fix PACKAGEVERSION not having the actual version. + Due to #766559 in dpkg, PACKAGEVERSION ended up not containing the + version part. Fixed by using the alternate syntax that + dpkg-parsechangelog understands since 1.17.0, thereby avoiding + a dependency bump to dpkg 1.17.21. (Closes: #769701) + + -- Christian Hofstaedtler Sat, 15 Nov 2014 18:24:42 +0100 + +pdns (3.4.1-2) unstable; urgency=medium + + * Bump dpkg-dev dependency for dpkg-parsechangelog -S, which + is used to pass the package version to the build process. + + -- Christian Hofstaedtler Mon, 03 Nov 2014 18:57:24 +0100 + +pdns (3.4.1-1) unstable; urgency=medium + + * Imported Upstream version 3.4.1, a bug fix release, that: + * Fixes slaving of DNSSEC-signed zones to NSD or BIND. + * Fixes pdnssec increase-serial to not break SOA records + in DNSSEC zones. + * Adds security status polling. (We set the package vendor + and version for this.) + * Remove patch 0001-API-Replace-HTTP-Basic-auth-with-static-key-in-custom, + which has been applied upstream. + * Resync pdns.conf with upstream + * Update debian/watch file, as upstream has changed to bz2 files. + + -- Christian Hofstaedtler Sat, 01 Nov 2014 23:08:08 +0100 + +pdns (3.4.0-2) unstable; urgency=medium + + * Apply patch from upstream switching API auth to a static key. + * Install upstream-supplied SQL schema files (Closes: #763555) + * Remove bindbackend.conf on purge (Closes: #678929) + * Bump Standards-Version to 3.9.6 (no changes) + + -- Christian Hofstaedtler Wed, 15 Oct 2014 08:34:22 +0200 + +pdns (3.4.0-1) unstable; urgency=medium + + * New upstream release, send to unstable. + + -- Christian Hofstaedtler Tue, 30 Sep 2014 11:55:46 +0200 + +pdns (3.4.0~rc1+2014082902-1) experimental; urgency=medium + + * Fix typo in init script, causing stop to not work + * Add a smoke test as an autopkgtest + * Install systemd unit file for pdns + * Imported Upstream version 3.4.0~rc1+2014082902 + + -- Christian Hofstaedtler Sun, 31 Aug 2014 07:33:48 +0200 + +pdns (3.4.0~rc1+20140829-1) experimental; urgency=medium + + * Imported Upstream version 3.4.0~rc1+20140829 + + -- Christian Hofstaedtler Fri, 29 Aug 2014 21:26:13 +0200 + +pdns (3.4.0~rc1-1) experimental; urgency=medium + + * New upstream release candidate, target experimental + * Update schema files for 3.4.0 + * Add lmdb, mydns, remote backends + * Remove upstream applied patch to honor PKGLIBDIR + * Build tests in verbose mode + * Explicitly build with bind backend + * Stop installing lib*backend.a + * Update Vcs-* URLs to anonscm.debian.org + * Force usage of libpolarssl.so + * Skip make test: the remotebackend tests require various Ruby + libraries that we don't have. + * Update debian/copyright, the AES files are no longer distributed + + -- Christian Hofstaedtler Fri, 01 Aug 2014 17:21:38 +0200 + +pdns (3.3.1-4) unstable; urgency=medium + + * Drop unused pdns-backend-mongodb.prerm file + * Update schema migration files for 3.3.1. + In the case of MySQL, this includes the migration up from 3.0! + + -- Christian Hofstaedtler Tue, 24 Jun 2014 14:50:17 +0200 + +pdns (3.3.1-3) unstable; urgency=medium + + * Correct libdir/pkglibdir usage. + PowerDNS upstream abuses autoconf libdir as the package-specific + library location, when they should be using pkglibdir instead, which + prevented us from correctly setting the multiarch libdir. + As the package name is set to 'pdns', modules now go into + ${libdir}/pdns, and libdir is now correctly set to the multiarch path, + so modules-dir now ends up being (ex.) /usr/lib/x86_64-linux-gnu/pdns. + Also fixes embedding the multiarch path as an rpath. + + -- Christian Hofstaedtler Sun, 01 Jun 2014 21:37:34 +0200 + +pdns (3.3.1-2) unstable; urgency=medium + + * Use pg_config to detect PostgreSQL lib dir (Closes: #750062) + + -- Christian Hofstaedtler Sun, 01 Jun 2014 15:34:02 +0200 + +pdns (3.3.1-1) unstable; urgency=medium + + * New upstream release. + * Remove GRANTs from SQL Schema scripts. + The SQL install scripts from upstream used to contain GRANT statements, + but these were never needed with dbconfig-common, as the objects are + created as the runtime user, plus they can lead to installation + failures. + * Remove patch "remove-rpath-ldflags-patch" + The original issue has been fixed upstream in a better way. + * Remove upstream applied patches + * Remove duplicate B-D: libpolarssl-dev + * Update copyright file, based on work by Marc Haber (Closes: #726401) + * Don't overwrite launch= statements in configuration + * Resync default pdns.conf + + -- Christian Hofstaedtler Mon, 14 Apr 2014 20:50:10 +0200 + +pdns (3.3-2) unstable; urgency=medium + + * Fix 3.3-1 SQL upgrade script for PostgreSQL. + Thanks to Peter van Dijk for the patch. (Closes: #726945) + * Fix FTBFS on s390x. + Thanks to Peter van Dijk for the upstream patches. (Closes: #726863) + * Add myself to Uploaders + * Bump Standards-Version to 3.9.5 (no changes) + * Run make with V=1. + Needed to get compiler flags into the build log. + * Revert "disable dnssec in default configuration to not break updates" + Reverting to not break upgrades from wheezy. + + -- Christian Hofstaedtler Sun, 26 Jan 2014 23:41:14 +0100 + +pdns (3.3-1) unstable; urgency=low + + * The "Habbie saves the World" release + + [ Matthijs Möhlmann ] + + * Standards-Version: 3.9.4 (no changes needed) + * Move files used by dbconfig-common to /usr/share/PACKAGE (Closes: #710360) + * Upstream fixes self notification (Closes: #374779) + * Added Brazilian Portuguese translation, thanks to Adriano Rafael Gomes + (Closes: #718713) + * All other nameservers are optional in insserv, so make that happen for + pdns too. (Closes: #714145) + * Update the default schema for the PostgreSQL backend (Closes: #698911) + * Reworked README fixes also #717356 (Closes: #717356) + * Add a SQL script for updating the database scheme in PostgreSQL, this will + be applied automatically by dbconfig-common if chosen to do so + (Closes: #685808, #707761) + + [ Marc Haber ] + * be more robust with chmod in pdns-server.postinst. + Thanks to Peter van Dijk (Closes: #716859) + * fix exit code of init script to be more LSB compliant. (Closes: #708861) + * remove unnecessary MySQL dependency (Upstream #1032). Adapt patches. + (Closes: #725073) + * remove double code from postinst. + Thanks to Peter van Dijk (Closes: #725195) + + -- Matthijs Möhlmann Sat, 13 Jul 2013 14:30:30 +0000 + +pdns (3.3-1~exp1) experimental; urgency=low + + * New Upstream Release + * Fix for Upstream #555 (patch 2720) to build with botan. This + might address #675410, thanks to Florian Obser and Marcus + 'darix' Rueckert. + * fix ECDSA (upstream patch 3036). (Closes: #697904) + * sqlite backend removed upstream. Suggest migration to sqlite3 + * remove --disable-recursor, it's a no-op anyway + * build with --enable-tools and --enable-unit-tests + * remove local manpages that have been incorporated upstream + * remove lazy-recursion from default config + * refresh patches, remove obsolete patches + * disable dnssec in default configuration to not break updates + * upstream now has include-dir + * Use it instead of include + * remove our patch for include + * rename config files to .conf + * remove --with autotools-dev (see dh-autoreconf(7)) + * zap dnslabeltext.cc in clean (see Upstream #554) + * ship dnsreplay, dnswasher and dnsscope + * add PDNSDEBUG environment variable to all postinst scripts + * properly handle pdns.simplebind.conf on installation and purge + * re-work conffile handling in postinst and postrm scripts + * document changes in configuration syntax/semantics for updaters + * depend on lsb-base (>= 3.2-14) + * do not call in /lib/init/vars.sh any more (lintian) + + -- Marc Haber Fri, 12 Jul 2013 20:11:25 +0000 + +pdns (3.1-4) unstable; urgency=low + + * put /etc/default/pdns back under ucf control. + Thanks to Andreas Beckmann (Closes: 678930) + * remove bindbackend.conf in postrm from correct path. + Thanks to Andreas Beckmann (Closes: 678929) + * make defaults file readable + + -- Marc Haber Sun, 24 Jun 2012 20:40:27 +0200 + +pdns (3.1-3) unstable; urgency=low + + * Upload with correct .orig.tar.gz + + -- Marc Haber Sat, 23 Jun 2012 23:33:50 +0200 + +pdns (3.1-2) unstable; urgency=low + + * move development to Alioth (Maint address, Vcs-Foo) + * remove bind-example-zones. + Thanks to Andreas Olsson (Closes: 676823) + * init script: + * adapt logic changes from upstream + * LSBize init script from debian's skeleton + * use automatic init script installation + * add upstream changesets (recommended by upstream): + 2608, 2609+2612, 2611, 2622 + * add DEP-3 headers to patches + * disable mongodb patch, we're not building mongodb anyway + * remove autostart debconf question, templates and code + * relax privileges on pdns.d directory + * add a simple bind backend config so that we can run immediately + * remove hurd-ftbfs-patch, it was already applied upstream (r2307) + + -- Marc Haber Mon, 14 May 2012 21:14:38 +0200 + +pdns (3.1-1) unstable; urgency=low + + [ Marc Haber ] + * Imported Upstream version 3.1 + * reduce column size for 'algorithm' to 50. Closes: #662935 + * handle smallcaps RRs. Closes: #656788 + * refresh patches + * remove unused patches + * add patch to turn off the traceback handler at run time + * add patch for changeset 2575 (race condition with supermasters) + * fix mysql multiarch build failure, set cflags etc to hardening defaults + * do not run bootstrap a build time, using autotools_dev + * use dh-autoreconf, remove autofoo created files from + patches/fix-mongodb-backend-patch + * fix dh invocation + * create MySQL databases with engine=innodb instead of type + * set debian/compat to 9 + * Standards-Version: 3.9.3 (no changes needed) + * add myself to uploaders, change Vcs-Header to my git. Closes: #672550 + + [ Evgeni Golov ] + * use system libpolarssl if present, local copy otherwise. + Closes: #671856, #656861 + + -- Marc Haber Fri, 11 May 2012 23:51:27 +0200 + +pdns (3.0-1.2) unstable; urgency=high + + * Non maintainer upload. + * Fix build failure with GCC 4.7. Closes: #667321. + * Fix build failure with mysql multiarch location. Closes: #650058. + * Build with hardening defaults. Closes: #656861. + + -- Matthias Klose Wed, 09 May 2012 23:14:47 +0000 + +pdns (3.0-1.1) unstable; urgency=high + + * Non-maintainer upload. + * Don't respond to responses fixes CVE-2012-0206 + * Make build dependency on mongodb-dev arch specific (Closes: #654568). + + -- Luk Claes Sun, 15 Jan 2012 19:13:17 +0100 + +pdns (3.0-1) unstable; urgency=low + + * New upstream version (Closes: #624330, #626909, #617476, #498918, #500572) + (Closes: #645539, #623036, #521791, #583161, #590285, #499396) + * Update Standards-Version to 3.9.2 + * Add lua backend. + * Use new style dh instead of individual dh_* commands. + * Add Homepage to debian/control (Closes: #634947) + * Add pdnssec and dnsreplay utility. + * Use dbconfig-common to populate / upgrade databases. + * Update patch addconfigdir, do not parse ucf-dist files. + * Update manpage pdns_control and include a list of options (Closes: #621724) + * Add manpage for pdnssec. + * Add prerm scripts to the backends, stop the pdns server. + * Add patch from upstream to properly parse priority. (Closes: #533023) + + -- Matthijs Möhlmann Sat, 19 Nov 2011 11:58:10 +0100 + +pdns (2.9.22-9) unstable; urgency=low + + * My name is now spelled correctly with the ö instead of o. + * Reupload to fix a unresolved symbol (Closes: #623036) + * Add debug package for pdns-server (Closes: #594242) + * Fix the lintian overrides. + + -- Matthijs Möhlmann Sun, 17 Apr 2011 13:02:43 +0200 + +pdns (2.9.22-8) unstable; urgency=high + + * Update init.d scripts and remove mysql and postgresql from the + dependencies. The loop between mysql and pdns causes apt to fail hence + the urgency high. (Closes: #595018) + + -- Matthijs Mohlmann Fri, 24 Sep 2010 16:24:04 +0200 + +pdns (2.9.22-7) unstable; urgency=low + + * Provide the file now in the correct location. (Closes: #585966) + * Update Standards-Version to 3.9.1 + * Add new dnsdomain2.schema for LDAP (Closes: #589606) + + -- Matthijs Mohlmann Tue, 03 Aug 2010 18:25:28 +0200 + +pdns (2.9.22-6) unstable; urgency=high + + * Provide the virtual facility $named. (Closes: #585966) + * Added danish translation thanks to Joe Dalton (Closes: #585572) + * For now add a 2 second delay before continue with the boot process to + ensure pdns is listening on a socket. + * Update Standards-Version to 3.9.0 + + -- Matthijs Mohlmann Sun, 18 Jul 2010 14:48:27 +0200 + +pdns (2.9.22-5) unstable; urgency=low + + * Fix FTBFS on hurd + * Should-Start / Should-Stop added for slapd, mysql and postgresql + Thanks to Petter Reinholdtsen (Closes: #580819) + + -- Matthijs Mohlmann Sun, 23 May 2010 13:18:25 +0200 + +pdns (2.9.22-4) unstable; urgency=low + + * Add db_stop to fix an upgrade (Closes: #555311) + * Fix error in postinst of sqlite and sqlite3 (Closes: #565516) + * Updated Standards-Version to 3.8.4 + * Make lintian happy + * Complete the pdns_control manpage (Closes: #556473) + * Switch to dpkg-source 3.0 (quilt) format + * Removing Christoph Haas from uploaders, thank you for the great work. + + -- Matthijs Mohlmann Fri, 09 Apr 2010 17:23:24 +0200 + +pdns (2.9.22-3) unstable; urgency=low + + * Fix a syntax error in postinst. + * Removed old upgrade code for splitting the config. + + -- Matthijs Mohlmann Sun, 08 Nov 2009 14:48:57 +0100 + +pdns (2.9.22-2) unstable; urgency=low + + [ Christoph Haas ] + * Fixed init.d script (Closes: #518294) + * Moved resolvconf temp file to /var/run/powerdns (Closes: #333726) + + [ Matthijs Mohlmann ] + * Updated Standards-Version to 3.8.3 + * Added russian translation (Closes: #539465) + * Added spanish translation (Closes: #508987) + * Added SQLite3 database schema to examples + * Added PostgreSQL database schema to examples + * Change libmysqlclient15-dev to libmysqlclient-dev. + * Moved from dpatch to quilt patch system. + * Fix FTBFS with gcc 4.4 (Closes: #510674) + * Added italian translation (Closes: #552219, #548695) + * Added basque translation (Closes: #553150) + * Fixed init.d script including correct dependencies and runlevels + (Closes: #548293) + * Added finnish translation (Closes: #553648) + * Implemented triggers to prevent multiple restarts (Closes: #502981) + + -- Matthijs Mohlmann Mon, 02 Nov 2009 12:49:43 +0100 + +pdns (2.9.22-1) unstable; urgency=low + + * New upstream version (closes: #513409). + + -- Christoph Haas Wed, 25 Feb 2009 23:25:51 +0100 + +pdns (2.9.21.2-2) unstable; urgency=low + + * Added japanese PO file (closes: #510705) + + -- Christoph Haas Mon, 05 Jan 2009 23:38:05 +0100 + +pdns (2.9.21.2-1) unstable; urgency=low + + * New Upstream Version + * Included typo fixes from Thijs Kinkhorst (closes: #502982) + * Removed the splitconfig call from debian/pdns-server.postinst as it + broke configurations with multiline definitions. It should not be + needed anymore anyway after an update from Sarge to Etch. + (closes: #475141) + * Added patch for LDAP requests spanning subdomains due to incorrect + LDAP search query (closes: #500137). + + -- Christoph Haas Tue, 25 Nov 2008 20:11:46 +0100 + +pdns (2.9.21.1.0-1) unstable; urgency=low + + * Fixed glitch in upstream tarball for 2.9.2.21.1. + Actually this is the same upstream version as 2.9.21.1 but due to a + merging glitch when using git-buildpackage two files were changed. + So the orig.tar.gz for 2.9.21.1 in Debian is not entirely correct + (although it doesn't hurt either). To replace the wrong orig.tar.gz + it needs a higher version number. 2.9.21.1.0-1 it newer than 2.9.21.1-1. + + -- Christoph Haas Fri, 08 Aug 2008 15:38:55 +0200 + +pdns (2.9.21.1-1) unstable; urgency=high + + * New Upstream Version (fixes CVE-2008-3337) + + -- Christoph Haas Thu, 07 Aug 2008 00:25:01 +0200 + +pdns (2.9.21-6) unstable; urgency=low + + * Use upstream patch for the ldapbackend. (See #462966) + * Fix pdns-server hang in postinst (Closes: #468160) + * Fix typo in the Description of pdns-backend-mysql to make lintian happy. + + -- Matthijs Mohlmann Sun, 02 Mar 2008 22:50:11 +0100 + +pdns (2.9.21-5) unstable; urgency=low + + * Fix ignoring buid errors. (Closes: #462858) + * Patch from Steve to fix build with OpenLDAP 2.4. (Closes: #462966) + - Changed patch a bit to convert host, port and tls option to a ldapuri. + * Update Standards-Version to 3.7.3. + * Added gcc 4.3 fixes (Closes: #456073) + + -- Matthijs Mohlmann Sun, 03 Feb 2008 20:57:51 +0100 + +pdns (2.9.21-4) unstable; urgency=low + + * New portuguese translation included (closes: #444219). + Thanks, Américo Monteiro. + + -- Christoph Haas Wed, 03 Oct 2007 19:38:15 +0200 + +pdns (2.9.21-3) unstable; urgency=low + + * Added missing dependency on docbook, missing dtd files. (Closes: #441592) + * Make package binNMUable. + * Fixed lintian error on in the clean target. + * Clean target was incomplete, twice in a row build didn't reproduce the + same result (Policy 4.9) (Closes: #441592) + * Win2k3 SP2 adds out of zone data to zonetransfers, ignore them instead of + rejecting the zone. (Closes: #433892) + + -- Matthijs Mohlmann Sat, 15 Sep 2007 09:24:06 +0200 + +pdns (2.9.21-2) unstable; urgency=low + + * Fix an unconditional replace in the resolvconf script. (Closes: #425441) + * Do not include the 127.0.0.1 in the recursor list. (Closes: #425442) + * Updated vietnamese translation + + -- Matthijs Mohlmann Sat, 02 Jun 2007 00:13:47 +0200 + +pdns (2.9.21-1) unstable; urgency=low + + [ Matthijs Mohlmann ] + * New upstream release. (Closes: #420294) + * Remove meta pdns package. + * Added new sqlite3 backend package. + * Months and minutes where mixed up. (Closes: #406462) + * Case sensitivity in bind backend caused PowerDNS to not serve a certain + zone. (Closes: #406461) + * Bind backend forgot about zones on a notify. (Closes: #398213) + + [ Christoph Haas ] + * Documented incorporated backend bind. (Closes: #415471) + + -- Matthijs Mohlmann Sun, 15 Apr 2007 23:23:39 +0200 + +pdns (2.9.20-8) unstable; urgency=high + + [ Christoph Haas ] + * Updated czech translation (Closes: #408726) + * New galician translation (Closes: #413756) + * Added patch for potential buffer overflow, high urgency (Closes: #406465) + * Added example for the bind backend. Documented that the bind gbackend + is contained in the pdns-server package (Closes: #415471) + + [ Matthijs Mohlmann ] + * LDAP backend changes + - Supports SOA autocalculation + - Handles dc=* correctly + + -- Matthijs Mohlmann Sat, 10 Mar 2007 01:20:58 +0100 + +pdns (2.9.20-7) unstable; urgency=low + + [ Matthijs Mohlmann ] + * Updated configuration parameter allow-axfr-ips. (Closes: #316789) + * Fix memory corruption after performing a zone reload (Closes: #394682) + * Fix wrong ttl for SOA records during AXFR. + * Added patch from upstream to fix ipv6 processing. (Closes: #395885, #396250) + * Added patch to fix alignment on ARM. (Closes: #397031) + + -- Matthijs Mohlmann Mon, 30 Oct 2006 00:46:22 +0100 + +pdns (2.9.20-6) unstable; urgency=low + + * Don't try to remove the user on purge. + * Typo in package description of pdns-backend-sqlite. (Closes: #384387) + * Create LSB init script. + * Added check to see if ucf exist. The postrm can't rely on ucf to be + available on purge. It is a non-essential package. (Closes: #389979) + * Added patch to fix wildcard lookups in the ldap backend. (Closes: #383726) + + -- Debian PowerDNS Maintainers Sun, 1 Oct 2006 15:29:45 +0200 + +pdns (2.9.20-5) unstable; urgency=low + + * Update geobackend. (Closes: #382538) + + -- Matthijs Mohlmann Sun, 13 Aug 2006 23:17:25 +0200 + +pdns (2.9.20-4) unstable; urgency=low + + * Updated German translation. + * Remove patch for the recursor, the pdns-recursor is not shipped with this + package anymore + * Updated Dutch translation. + * Updated Swedish translation. + * Updated French translation. (Closes: #367217) + * Fix wrong permissions on /var/lib/powerdns in sqlite backend. + (Closes: #373627) + * Default pdns.conf overhaul, taken configuration parameters from the + website http://rtfm.powerdns.com/ (Closes: #369306) + * Removed --remove-home from deluser, it requires an extra dependency. + (Closes: #340124) + * Added a note regarding pgsql and chroot (Closes: #382017) + Actual solutions for running pdns in a chroot when trying to connect + to a pgsql server via SSL are welcome. + + -- Debian PowerDNS Maintainers Wed, 12 Jul 2006 00:29:14 +0200 + +pdns (2.9.20-3) unstable; urgency=low + + * Disable the recursor, this is in a separate package now. + + -- Debian PowerDNS Maintainers Sat, 6 May 2006 10:40:44 +0200 + +pdns (2.9.20-2) unstable; urgency=low + + * Fix bug which causes pdns not resolving the root nameservers anymore + (Closes: #364449) + + -- Debian PowerDNS Maintainers Tue, 25 Apr 2006 21:27:26 +0200 + +pdns (2.9.20-1) unstable; urgency=low + + * New upstream release. + + -- Debian PowerDNS Maintainers Thu, 16 Mar 2006 21:09:38 +0100 + +pdns (2.9.19-4) unstable; urgency=low + + * Fix pdns maintainer scripts to restart in postinst (instead of stopping + in prerm and starting in postinst) (Closes: #346426) + * Rewrote patch addconfigdir to C++ and to fix some memleaks. + + -- Debian PowerDNS Maintainers Wed, 18 Jan 2006 22:59:52 +0100 + +pdns (2.9.19-3) unstable; urgency=low + + * Added a patch to fix NS delegation (Closes: #345778) + + -- Debian PowerDNS Maintainers Tue, 3 Jan 2006 23:18:17 +0100 + +pdns (2.9.19-2) unstable; urgency=high + + * Added portuguese translation (Closes: #337832) + * Added a patch to fix a slight security bug + * Added a patch to allow '/' in domain names (Closes: #343737) + * Updated patch addconfigdir to be able to move launch= to include files. + (Patch is now more generic) + * Updated builddependency to libmysqlclient15-dev (Closes: #343789) + + -- Debian PowerDNS Maintainers Sun, 18 Dec 2005 11:39:41 +0100 + +pdns (2.9.19-1) unstable; urgency=low + + * New upstream release (Closes: #327846) + * Now really fix the AXFR transfers from bind / djbdns to pdns. + (Closes: #330184) + * New bind backend (Closes: #318897) + * Update translation for Czech (Closes: #335355) + * Add translation for Swedish (Closes: #335261) + * Added patch to fix a memory hole in the pdns-recursor + * Added patch to proper catch an exception in the pdns-recursor + * Added patch to fix an exception that could escape + + -- Debian PowerDNS Maintainers Tue, 1 Nov 2005 15:22:39 +0100 + +pdns (2.9.18-4) unstable; urgency=low + + * Fix AXFR transfers from bind to pdns. (Closes: #330184) + * Added resolvconf calls to pdns-recursor init script. (Closes: #308677) + * Added pdns update script in order to automate the creation of the + recursors list. (Closes: #304528) + * Leave permissions on upgrades (Closes: #328833) + + -- Debian PowerDNS Maintainers Sat, 1 Oct 2005 15:11:33 +0200 + +pdns (2.9.18-3) unstable; urgency=high + + * High urgency as it fixes RC bugs. + * Add patch to support uri's in the ldapbackend. + * Add fix for crashes in the pdns-recursor with g++ 4.0.1 + * Revert postinst scripts for geo, ldap, mysql, pgsql and pipe backend and + don't introduce bug #321974 + * Add patch to fix CNAME wildcards. It returned the CNAME wildcard while an + A record exists for the query. Taken from svn. + * Fix pdns-server.config with exit status 20, bug in the parsing code of the + configuration file /etc/powerdns/pdns.conf (Closes: #311903) + * Fix the addconfigdir dpatch to be able to include files instead of only + directories (Closes: #327172) + * Remove postrm scripts as it can cause trouble when the include is set to + nothing. (Closes: #326260) + + -- Debian PowerDNS Maintainers Thu, 15 Sep 2005 09:21:28 +0200 + +pdns (2.9.18-2) unstable; urgency=low + + * Added cs translation. (Closes: #321737) + * comma separated instead of semicolon separated in pdns-server.templates + (Closes: #318845) + * Updated po debconf files. + * Removed code that mess up the pdns.conf. (Closes: #321974) + * pdns should be an arch independent package. It comes from the split to + pdns-server and pdns-recursor. + * Tidied up the dh_install parts of the debian/rules script. + + -- Debian PowerDNS Maintainers Mon, 15 Aug 2005 12:01:41 +0200 + +pdns (2.9.18-1) unstable; urgency=high + + * New upstream release (Closes: #318798) + * Drop patches: 64bit-compile-fix.dpatch, addfeatures-ldapbackend.dpatch, + amd64-compilefix.dpatch, blankout-domain-fix.dpatch, + consistent-sql.dpatch, dosfix-ldapbackend.dpatch, fix-exit-status.dpatch, + gpgsql-compilefix.dpatch, gsqlite-compilefix.dpatch, gsqlite-slave.dpatch, + recursor-slowdown.patch.dpatch, typoinitscript.dpatch, zone2ldap.dpatch + They are applied upstream. + * The ldapbackend did not properly escape all queries, allowing it to fail + and not answer questions. (CAN-2005-2301) + * Questions from clients denied recursion could blank out answers to clients + who are allowed recursion services, temporarily. (CAN-2005-2302) + + -- Debian PowerDNS Maintainers Fri, 29 Jul 2005 20:24:33 +0200 + +pdns (2.9.17-15) unstable; urgency=high + + * New revision because last upload has accidentally been a native package. + A higher revision number should fix the wrong upload. + + -- Debian PowerDNS Maintainers Sat, 16 Jul 2005 13:04:14 +0200 + +pdns (2.9.17-14) unstable; urgency=high + + * Changed Build-Depends from postgresql-dev to libpq-dev + * Build-Depends was missing the non-essential automake1.6 + * Added libssl-dev to Build-Depends + * configure arguments updated to point to postgresql includes + * Patch added for: Denial of Service in the ldapbackend. When you do a query + with a '\' or a '*' the ldap instance will crash. + * Patch added for: Recursor became slow after 60 seconds. + * Added translation vi.po (Closes: #316704) + * Fixed typo in german debconf file de.po (Closes: #313930) + * Updated Standards-Version to 3.6.2 + + -- Debian PowerDNS Maintainers Fri, 15 Jul 2005 00:16:17 +0200 + +pdns (2.9.17-13) unstable; urgency=high + + * Fixed serious policy violation. (Closes: #310782, #310742) + * Updated dutch debconf translation. + + -- Debian PowerDNS Maintainers Thu, 26 May 2005 23:10:54 +0200 + +pdns (2.9.17-12) unstable; urgency=low + + * Removed resolvconf from pdns initscript. + * Updated french debconf translation. (Closes: #305869) + * Updated pdns-recursor so it doesn't fail on restart. + * Patch to fix exit status. (Closes: #305527) + * Fixes a typo in pdns-backend-mysql.postrm which causes a failure when + removing the package. (Closes: #308410) + * Added a Pre-Depends on adduser (Closes: #308409) + * Fixed a failure when installing pdns-server on a fresh system. + * Fixed a failure when removing pdns-server when perl-modules isn't + installed. + * Added dutch translation. + + -- Debian PowerDNS Maintainers Tue, 10 May 2005 16:15:59 +0200 + +pdns (2.9.17-11) unstable; urgency=low + + * Fixed the empty /usr/share/pdns/doc directory. (Closes: #304939) + * Removed superfluous upstream documentation from the doc directory. + * Rewritten pdns-recursor initscript. (Closes: #304937, #303602, #303602) + + -- Debian PowerDNS Maintainers Thu, 21 Apr 2005 22:38:47 +0200 + +pdns (2.9.17-10) unstable; urgency=low + + * Maintainer changed to Debian PowerDNS Maintainers. + * Christoph Haas : + + changelog.html is no longer compressed to keep hypertext links in the + pdns-doc package working + + fixed a typo in the debconf templates (netmasks -> subnets) + * Matthijs Mohlmann : + + Fixed the ldap backend patch (Closes: #303910) + + Fixed the patch for adding a directory with config files (Closes: #303669) + - Now you can add multiple files. + - Can add files with dots. + + Added dnsdomain2.schema to pdns-backend-ldap. (Closes: #303685) + + Updates resolv.conf when needed. (Closes: #303602) + + -- Debian PowerDNS Maintainers Thu, 14 Apr 2005 21:42:16 +0200 + +pdns (2.9.17-9) unstable; urgency=low + + * Moved html docs to pdns-doc instead of pdns (Closes: #303227) + * Added french translation (Closes: #302681) + * Improved description for pdns-backend-geo (Closes: #302128) + + -- Matthijs Mohlmann Tue, 5 Apr 2005 21:32:14 +0200 + +pdns (2.9.17-8) unstable; urgency=low + + * Minor naming stupidity in example files resolved. + * Thanks to Christoph Haas for checking and uploading. + + -- Matthijs Mohlmann Fri, 1 Apr 2005 22:02:56 +0200 + +pdns (2.9.17-7) unstable; urgency=low + + * Removed more questions on several backends. + * Use one pdns.local file instead of using more files. + * Updated postinst and postrm to reflect these changes. + + -- Matthijs Mohlmann Fri, 1 Apr 2005 17:05:29 +0200 + +pdns (2.9.17-6) unstable; urgency=low + + * Raised Standards-Version to 3.6.1.1 + * Fixed a FTBFS on 64bit platforms (Closes: #301642) + Thanks to Kurt Roeckx for testing the patch. + + -- Matthijs Mohlmann Thu, 31 Mar 2005 10:00:37 +0200 + +pdns (2.9.17-5) unstable; urgency=low + + * Removed stupid questions + * Updated templates + * Added README.Debian to pdns-server + * Fixed a typo (Closes: #300053) + + -- Matthijs Mohlmann Mon, 28 Mar 2005 10:47:40 +0200 + +pdns (2.9.17-4) unstable; urgency=low + + * Make gmysql and gpgsql backend more consistent by adding port parameter to + gpgsql backend. + + -- Matthijs Mohlmann Sun, 27 Feb 2005 23:10:36 +0100 + +pdns (2.9.17-3) unstable; urgency=low + + * Removed manpage xdb-fill + * Removed package pdns-backend-xdb (obsolete) + * Cleaned up debian/ directory + * Written an initscript for pdns-recursor (Closes: #296628) + + -- Matthijs Mohlmann Mon, 14 Feb 2005 20:17:24 +0100 + +pdns (2.9.17-2) unstable; urgency=low + + * Written manpage for xdb-fill + * Rewritten debian/rules for better understanding + + -- Matthijs Mohlmann Mon, 14 Feb 2005 11:23:11 +0100 + +pdns (2.9.17-1) unstable; urgency=low + + * Update Standards-Version to 3.6.1 + * Change to debhelper programs + * Added geobackend (Closes: #243958) + * Added recursor.conf (Closes: #252286) + * Start the recursor before slapd (Closes: #281330) + * Fix a typo in init script (Closes: #267672) + * The pdns recursor is now in a seperate package + * Added zone2ldap patch to be LDAPv3 compliant + * Added query logging + * support for AXFR in non-hierarchical trees + * reenabled AXFR for normal zones in strict mode + * fix for wildcard lookups in tree mode + * fix for thrown exception if multiple associatedDomain are available + * changed wrong default method (simple or tree) + * fix in PowerLDAP if dn is necessary + * Took the tarball from the powerdns website and added seperate patches + * Added postinstall scripts to configure packages + * Added postremove scripts + * Make it lintian clean + * Manpages written for binaries + * Added patch letting work pdns as slave and superslave with sqlite backend + (Closes: #280359) + * Added schema as text file in pdns-backend-{mysql,pgsql} (Closes: #248315) + * starttls is added by upstream (Closes: #193474) + + -- Matthijs Mohlmann Thu, 3 Feb 2005 15:49:40 +0000 + +pdns (2.9.16-6) unstable; urgency=high + + * Backport DoS fix from 2.9.17 release, CVSTrac ticket #21 + http://ds9a.nl/cgi-bin/cvstrac/pdns/tktview?tn=21,4 + (CAN-2005-0428 DoS in PowerDNS) + * FTBFS: F_OK undeclared fixed (Closes: #286675) + * FTBFS on amd64/gcc-4.0 fixed (Closes: #287913) + + -- Matthijs Mohlmann Thu, 20 Jan 2005 14:13:58 +0100 + +pdns (2.9.16-5) unstable; urgency=low + + * New maintainer upload (Closes: #282200) + * pdns installs uncompressed manpages (Closes: #264221) + + -- Matthijs Mohlmann Sun, 21 Nov 2004 14:24:35 +0100 + +pdns (2.9.16-4) unstable; urgency=high + + * Apply patches from current CVS: + - checkin 267: make another FD non-blocking. Should really fix + Debian bug 241321 & ticket 13 (pdns_recursor hangs). + + -- Wichert Akkerman Sun, 07 Nov 2004 13:49:06 +0100 + +pdns (2.9.16-3) unstable; urgency=high + + * Apply patches from current CVS: + - properly dup2 fd 0, 1 and 2. Closes: Bug#241321 + - make recursor sockets non-blocking, should fix hanging pdns_recursor + * Include pdns_recursor init script + + -- Wichert Akkerman Mon, 01 Nov 2004 12:03:40 +0100 + +pdns (2.9.16-2) unstable; urgency=medium + + * Remove stray libpq++ linkage for gpgsqlbackend. Closes: Bug#236941 + + -- Wichert Akkerman Fri, 14 May 2004 14:04:34 +0200 + +pdns (2.9.16-1) unstable; urgency=low + + * New upstream version + + -- Wichert Akkerman Sun, 07 Mar 2004 22:22:03 +0100 + +pdns (2.9.15-2) unstable; urgency=medium + + * Update missing file with current version from libtool + * Remove hardcoded libpq++ link in postrges backend + * Remove libpq++ mentions in sgml documentation + + -- Wichert Akkerman Sun, 18 Jan 2004 14:06:29 +0100 + +pdns (2.9.15-1) unstable; urgency=medium + + * New upstream version + + -- Wichert Akkerman Sun, 18 Jan 2004 11:28:39 +0100 + +pdns (2.9.14-1) unstable; urgency=medium + + * New upstream version. Postgres support rewritten to use the C interface + instead of the deprectaed libpqpp + + -- Wichert Akkerman Fri, 16 Jan 2004 23:23:33 +0100 + +pdns (2.9.13-3) unstable; urgency=medium + + * Fix pdns postinst so pdns is properly restart on upgrade + + -- Wichert Akkerman Sat, 10 Jan 2004 17:21:18 +0100 + +pdns (2.9.13-2) unstable; urgency=critical + + * Fix a bug in calculation of early timestamps: 1<<31-1 is not the + same as (1<<31)-1. This made all pdns servers consume all possible + CPU when UNIX time went through 2^30 two hours ago. + + -- Wichert Akkerman Sat, 10 Jan 2004 16:53:09 +0100 + +pdns (2.9.13-1) unstable; urgency=low + + * New upstream release + * Stop using my debian.org email address + * Change init scripts to conform to Debian policy + + -- Wichert Akkerman Thu, 25 Dec 2003 13:33:40 +0100 + +pdns (2.9.12-1) unstable; urgency=low + + * New upstream release + * Fix dependency generation. Closes: Bug#210256 + * Check if pdns is installed in init script. Closes: Bug#217402 + * Create a SQLite backend package + * Add versioned dpkg-dev Build-Depends so ${dpkg:Version} works properly + + -- Wichert Akkerman Mon, 27 Oct 2003 18:52:53 +0100 + +pdns (2.9.11-2) unstable; urgency=low + + * Remove automake build-depends and bootstrap rule from debian/rules. + This makes pdns a bit more portable across Debian releases. + Closes: Bug#205990 + * Try to remove the /etc/powerdns directory on purge. Closes: Bug#209051 + * Use libmysqlclient-dev instead of libmysqlclient10-dev + + -- Wichert Akkerman Tue, 9 Sep 2003 14:59:46 +0200 + +pdns (2.9.11-1) unstable; urgency=low + + * New upstream release + * Do not include zone2ldap in pdns package. Closes: Bug#198613 + * The gdbm-dev seems to have changed its name, update Build-Depends + accordingly. Closes: Bug#199595 + + -- Wichert Akkerman Mon, 14 Jul 2003 13:52:47 +0200 + +pdns (2.9.8-1) unstable; urgency=low + + * New upstream release. Closes: Bug#187781 + + -- Wichert Akkerman Mon, 5 May 2003 13:43:16 +0200 + +pdns (2.9.7-1) unstable; urgency=low + + * New upstream release. Closes: Bug#185730 + + -- Wichert Akkerman Fri, 21 Mar 2003 12:53:00 +0100 + +pdns (2.9.6-2) unstable; urgency=low + + * Enable the recursing nameserver + * Change order of things in clean target so debian/files is properly + removed. Closes: Bug#181994 + + -- Wichert Akkerman Sun, 23 Feb 2003 12:34:57 +0100 + +pdns (2.9.6-1) unstable; urgency=low + + * New upstream release, adding a new LDAP backend + + -- Wichert Akkerman Sun, 16 Feb 2003 14:49:08 +0100 + + +pdns (2.9.5-1) unstable; urgency=low + + * fill in the blanks + + -- Wichert Akkerman Mon, 3 Feb 2003 20:16:16 +0100 + +pdns (2.9.4-1) unstable; urgency=low + + * fill in the blanks + + -- Wichert Akkerman Sat, 21 Dec 2002 20:16:16 +0100 + +pdns (2.9.3a-1) unstable; urgency=low + + * New upstream release; fixes a problem in zone2sql + + -- Wichert Akkerman Sat, 21 Dec 2002 20:16:16 +0100 + +pdns (2.9.3-1) unstable; urgency=low + + * New upstream release. Yes, the packaging changes yet again to + reflect changes made upstream. The packaging of SQL backends should + be more sane now and we don't expect to change them again. + + -- Wichert Akkerman Sat, 21 Dec 2002 18:18:40 +0100 + +pdns (2.9.2-3) unstable; urgency=low + + * Compile pgmysql and xdb backend with -fPIC. Real fix is to swithc + to using libtool for all backends, which will happen in the next + upstream release. + + -- Wichert Akkerman Mon, 16 Dec 2002 13:43:52 +0100 + +pdns (2.9.2-2) unstable; urgency=low + + * Add Build-Depends on libgdbmg1-dev, which is needed by the pipe backend + + -- Wichert Akkerman Mon, 16 Dec 2002 11:18:11 +0100 + +pdns (2.9.2-1) unstable; urgency=low + + * New upstream release + * bind backend fully merged in the main pdns package now + * Add new pipe, pgmysql and xdb backends + + -- Wichert Akkerman Fri, 13 Dec 2002 16:39:29 +0100 + +pdns (2.9-1) unstable; urgency=low + + * Initial packaging + + -- Wichert Akkerman Sun, 1 Dec 2002 15:04:52 +0100 + diff --git a/compat b/compat new file mode 100644 index 0000000..ec63514 --- /dev/null +++ b/compat @@ -0,0 +1 @@ +9 diff --git a/config/bind.conf b/config/bind.conf new file mode 100644 index 0000000..7353b16 --- /dev/null +++ b/config/bind.conf @@ -0,0 +1,46 @@ +# Bind backend configuration + +launch+=bind + +################################# +# bind-check-interval Interval for zonefile changes +# +# bind-check-interval=0 + +################################# +# bind-config Location of named.conf +# +# bind-config= +bind-config=/etc/powerdns/named.conf + +################################# +# bind-dnssec-db Filename to store & access our DNSSEC metadatabase, empty for none +# +# bind-dnssec-db= + +################################# +# bind-hybrid Store DNSSEC metadata in other backend +# +# bind-hybrid=no + +################################# +# bind-ignore-broken-records Ignore records that are out-of-bound for the zone. +# +# bind-ignore-broken-records=no + +################################# +# bind-supermaster-config Location of (part of) named.conf where pdns can write zone-statements to +# +# bind-supermaster-config= +bind-supermaster-config=/var/lib/powerdns/supermaster.conf + +################################# +# bind-supermaster-destdir Destination directory for newly added slave zones +# +# bind-supermaster-destdir= +bind-supermaster-destdir=/var/lib/powerdns/zones.slave.d + +################################# +# bind-supermasters List of IP-addresses of supermasters +# +# bind-supermasters= diff --git a/config/dnsdomain2.schema b/config/dnsdomain2.schema new file mode 100644 index 0000000..a89aeaf --- /dev/null +++ b/config/dnsdomain2.schema @@ -0,0 +1,195 @@ +# A schema for storing DNS zones in LDAP +# +# ORDERING is not necessary, and some servers don't support +# integerOrderingMatch. Omit or change if you like + +attributetype ( 1.3.6.1.4.1.2428.20.0.0 NAME 'dNSTTL' + DESC 'An integer denoting time to live' + EQUALITY integerMatch + ORDERING integerOrderingMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 ) + +attributetype ( 1.3.6.1.4.1.2428.20.0.1 NAME 'dNSClass' + DESC 'The class of a resource record' + EQUALITY caseIgnoreIA5Match + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +attributetype ( 1.3.6.1.4.1.2428.20.1.11 NAME 'wKSRecord' + DESC 'a well known service description, RFC 1035' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +attributetype ( 1.3.6.1.4.1.2428.20.1.12 NAME 'pTRRecord' + DESC 'domain name pointer, RFC 1035' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +attributetype ( 1.3.6.1.4.1.2428.20.1.13 NAME 'hInfoRecord' + DESC 'host information, RFC 1035' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +attributetype ( 1.3.6.1.4.1.2428.20.1.14 NAME 'mInfoRecord' + DESC 'mailbox or mail list information, RFC 1035' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +attributetype ( 1.3.6.1.4.1.2428.20.1.16 NAME 'tXTRecord' + DESC 'text string, RFC 1035' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +attributetype ( 1.3.6.1.4.1.2428.20.1.17 NAME 'rPRecord' + DESC 'for Responsible Person, RFC 1183' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +attributetype ( 1.3.6.1.4.1.2428.20.1.18 NAME 'aFSDBRecord' + DESC 'for AFS Data Base location, RFC 1183' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +attributetype ( 1.3.6.1.4.1.2428.20.1.24 NAME 'SigRecord' + DESC 'Signature, RFC 2535' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +attributetype ( 1.3.6.1.4.1.2428.20.1.25 NAME 'KeyRecord' + DESC 'Key, RFC 2535' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +attributetype ( 1.3.6.1.4.1.2428.20.1.27 NAME 'gPosRecord' + DESC 'Geographical Position, RFC 1712' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +attributetype ( 1.3.6.1.4.1.2428.20.1.28 NAME 'aAAARecord' + DESC 'IPv6 address, RFC 1886' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +attributetype ( 1.3.6.1.4.1.2428.20.1.29 NAME 'LocRecord' + DESC 'Location, RFC 1876' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +attributetype ( 1.3.6.1.4.1.2428.20.1.30 NAME 'nXTRecord' + DESC 'non-existant, RFC 2535' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +attributetype ( 1.3.6.1.4.1.2428.20.1.33 NAME 'sRVRecord' + DESC 'service location, RFC 2782' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +attributetype ( 1.3.6.1.4.1.2428.20.1.35 NAME 'nAPTRRecord' + DESC 'Naming Authority Pointer, RFC 2915' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +attributetype ( 1.3.6.1.4.1.2428.20.1.36 NAME 'kXRecord' + DESC 'Key Exchange Delegation, RFC 2230' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +attributetype ( 1.3.6.1.4.1.2428.20.1.37 NAME 'certRecord' + DESC 'certificate, RFC 2538' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +attributetype ( 1.3.6.1.4.1.2428.20.1.38 NAME 'a6Record' + DESC 'A6 Record Type, RFC 2874' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +attributetype ( 1.3.6.1.4.1.2428.20.1.39 NAME 'dNameRecord' + DESC 'Non-Terminal DNS Name Redirection, RFC 2672' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +attributetype ( 1.3.6.1.4.1.2428.20.1.42 NAME 'aPLRecord' + DESC 'Lists of Address Prefixes, RFC 3123' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +attributetype ( 1.3.6.1.4.1.2428.20.1.43 NAME 'dSRecord' + DESC 'Delegation Signer, RFC 3658' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +attributetype ( 1.3.6.1.4.1.2428.20.1.44 NAME 'sSHFPRecord' + DESC 'SSH Key Fingerprint, RFC 4255' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +attributetype ( 1.3.6.1.4.1.2428.20.1.45 NAME 'iPSecKeyRecord' + DESC 'SSH Key Fingerprint, RFC 4025' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +attributetype ( 1.3.6.1.4.1.2428.20.1.46 NAME 'rRSIGRecord' + DESC 'RRSIG, RFC 3755' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +attributetype ( 1.3.6.1.4.1.2428.20.1.47 NAME 'nSECRecord' + DESC 'NSEC, RFC 3755' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +attributetype ( 1.3.6.1.4.1.2428.20.1.48 NAME 'dNSKeyRecord' + DESC 'DNSKEY, RFC 3755' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +attributetype ( 1.3.6.1.4.1.2428.20.1.49 NAME 'dHCIDRecord' + DESC 'DHCID, RFC 4701' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +attributetype ( 1.3.6.1.4.1.2428.20.1.99 NAME 'sPFRecord' + DESC 'Sender Policy Framework, RFC 4408' + EQUALITY caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) + +objectclass ( 1.3.6.1.4.1.2428.20.2 NAME 'dNSDomain2' + SUP 'dNSDomain' STRUCTURAL + MAY ( DNSTTL $ DNSClass $ WKSRecord $ PTRRecord $ + HINFORecord $ MINFORecord $ TXTRecord $ RPRecord $ + AFSDBRecord $ SIGRecord $ KEYRecord $ GPOSRecord $ + AAAARecord $ LOCRecord $ NXTRecord $ SRVRecord $ + NAPTRRecord $ KXRecord $ CERTRecord $ A6Record $ + DNAMERecord $ APLRecord $ DSRecord $ SSHFPRecord $ + IPSECKEYRecord $ RRSIGRecord $ NSECRecord $ + DNSKEYRecord $ DHCIDRecord $ SPFRecord + ) ) diff --git a/config/geoip.conf b/config/geoip.conf new file mode 100644 index 0000000..48677ee --- /dev/null +++ b/config/geoip.conf @@ -0,0 +1,8 @@ +# geoip Configuration +# +# See for more information https://doc.powerdns.com/md/authoritative/backend-geoip/ +# +# geoip-database-file= +# geoip-database-file6= +# geoip-zones-file= +# geoip-dnssec-keydir= diff --git a/config/godbc.conf b/config/godbc.conf new file mode 100644 index 0000000..a80b71b --- /dev/null +++ b/config/godbc.conf @@ -0,0 +1,19 @@ +# godbc Configuration +# +# Uncomment to launch the godbc backend +#launch+=godbc + +################################# +# godbc-datasource Datasource (DSN) to use +# +# godbc-datasource=PowerDNS + +################################# +# godbc-username User to connect as +# +# godbc-username=powerdns + +################################# +# godbc-password Password to connect with +# +# godbc-password= diff --git a/config/ldap.conf b/config/ldap.conf new file mode 100644 index 0000000..e9e7d3f --- /dev/null +++ b/config/ldap.conf @@ -0,0 +1,7 @@ +# LDAP Configuration +# +# ldap-host= +# ldap-method= +# ldap-basedn= +# ldap-binddn= +# ldap-secret= diff --git a/config/lua.conf b/config/lua.conf new file mode 100644 index 0000000..529fe51 --- /dev/null +++ b/config/lua.conf @@ -0,0 +1,13 @@ +# Configuration for the lua backend +#lua-filename = powerdns-luabackend.lua +#lua-logging-query = no + +# You can also override all the default functionsnames for the luafunctions if you +# want. The prefix is lua-f_=mynewfunction. For example: +#lua-f_lookup = mynewfunction +# +# will call the function 'mynewfunction' for the lookup-routine. +# +# If you want your own configuration parameters you can have that too. +# Just call the function getarg("my_parameter") and it will return the value +# of 'lua-my_parameter'. For boolean you use the function mustdo("my_parameter"). diff --git a/config/named.conf b/config/named.conf new file mode 100644 index 0000000..7b8f760 --- /dev/null +++ b/config/named.conf @@ -0,0 +1,10 @@ +# Debian default: supermaster created zones are written here: +include "/var/lib/powerdns/supermaster.conf"; + +# Example for a manually configured slave zone: +# +# zone "example.net" { +# file "/var/lib/powerdns/zones.slave.d/example.net.zone"; +# type slave; +# masters { 192.0.2.53; }; +# }; diff --git a/config/opendbx.conf b/config/opendbx.conf new file mode 100644 index 0000000..3de13a9 --- /dev/null +++ b/config/opendbx.conf @@ -0,0 +1,22 @@ +# OpenDBX Configuration +# +# The backend to use +# opendbx-backend= +# +# The database host to read from +# opendbx-host-read= +# +# The database host to write to +# opendbx-host-write= +# +# The port on which the database hosts listen +# opendbx-port= +# +# The name of the database +# opendbx-database= +# +# The username to connect to the database +# opendbx-username= +# +# The password to connect to the database +# opendbx-password diff --git a/config/pdns.local.gmysql.conf b/config/pdns.local.gmysql.conf new file mode 100644 index 0000000..703f198 --- /dev/null +++ b/config/pdns.local.gmysql.conf @@ -0,0 +1,13 @@ +# MySQL Configuration +# +# Launch gmysql backend +launch+=gmysql + +# gmysql parameters +gmysql-host=_DBC_DBSERVER_ +gmysql-port=_DBC_DBPORT_ +gmysql-dbname=_DBC_DBNAME_ +gmysql-user=_DBC_DBUSER_ +gmysql-password=_DBC_DBPASS_ +gmysql-dnssec=yes +# gmysql-socket= diff --git a/config/pdns.local.gpgsql.conf b/config/pdns.local.gpgsql.conf new file mode 100644 index 0000000..869b5dc --- /dev/null +++ b/config/pdns.local.gpgsql.conf @@ -0,0 +1,12 @@ +# PostgreSQL Configuration +# +# Launch gpgsql backend +launch+=gpgsql + +# gpgsql parameters +gpgsql-host=_DBC_DBSERVER_ +gpgsql-port=_DBC_DBPORT_ +gpgsql-dbname=_DBC_DBNAME_ +gpgsql-user=_DBC_DBUSER_ +gpgsql-password=_DBC_DBPASS_ +gpgsql-dnssec=yes diff --git a/config/pdns.local.gsqlite3.conf b/config/pdns.local.gsqlite3.conf new file mode 100644 index 0000000..ccde43f --- /dev/null +++ b/config/pdns.local.gsqlite3.conf @@ -0,0 +1,8 @@ +# Configuration for gsqlite +# +# Launch gsqlite3 +launch+=gsqlite3 + +# Database location +gsqlite3-database=/var/lib/powerdns/pdns.sqlite3 +gsqlite3-dnssec=on diff --git a/config/pipe.conf b/config/pipe.conf new file mode 100644 index 0000000..d52be74 --- /dev/null +++ b/config/pipe.conf @@ -0,0 +1,6 @@ +# Configuration for pipe backend +# +# pipe-command= +# pipe-timeout= +# pipe-regex= + diff --git a/config/tinydns.conf b/config/tinydns.conf new file mode 100644 index 0000000..22f0449 --- /dev/null +++ b/config/tinydns.conf @@ -0,0 +1,27 @@ +# Config file for the TinyDNS backend +# Specifies the name of the data file to use. +# tinydns-dbfile=data.cdb + +# Adjusts the TAI value if timestamps are used. These seconds will be added to +# the start point (1970) and will allow you to adjust for leap seconds. The +# current default is 11. The last update was on june 30th 2012. +# tinydns-tai-adjust=11 +# +# Notify all the slave nameservers on startup. This might cause broadcast storms. +# tinydns-notify-on-startup=no + +# The tinydns-data program can create data.cdb files that have bad/corrupt +# RDATA. PowerDNS will crash when it tries to read that bad/corrupt data. This +# option (change to yes), allows you to ignore that bad RDATA to make PowerDNS +# operate when bad data is in your CDB file. Be aware that the records are then +# ignored, where tinydns would still send out the bogus data. The option is +# primarily useful in master mode, as that reads all the packets in the zone to +# find all the SOA records. +# tinydns-ignore-bogus-records=no + + +# Enable or Disable location support in the backend. Changing the value to 'no' +# will make the backend ignore the locations. This then returns all records. +# When the setting is changed to 'no' an AXFR will also return all the records. +# With the setting on 'yes' an AXFR will only return records without a location. +# tinydns-locations=no diff --git a/control b/control new file mode 100644 index 0000000..f42540d --- /dev/null +++ b/control @@ -0,0 +1,293 @@ +Source: pdns +Section: net +Priority: optional +Standards-Version: 4.1.3 +Maintainer: pdns packagers +Uploaders: Chris Hofstaedtler , + Marc Haber +Build-Depends: autoconf, + automake, + autotools-dev, + bison, + curl, + debhelper (>= 9.20160114~), + default-libmysqlclient-dev, + dh-autoreconf, + dh-systemd, + dpkg-dev (>= 1.17.0~), + flex, + libboost-dev, + libboost-program-options-dev, + libboost-serialization-dev, + libboost-test-dev, + libcdb-dev, + libgeoip-dev, + libkrb5-dev, + libldap2-dev, + liblua5.3-dev, + libopendbx1-dev, + libpq-dev, + libsodium-dev, + libsqlite3-dev, + libssl-dev, + libsystemd-dev [linux-any], + libtool, + libyaml-cpp-dev (>= 0.5), + pkg-config, + po-debconf, + ragel, + unixodbc-dev (>= 2.3.1) +Vcs-Git: https://salsa.debian.org/dns-team/pdns.git +Vcs-Browser: https://salsa.debian.org/dns-team/pdns +Homepage: https://www.powerdns.com/ + +Package: pdns-server +Architecture: any +Depends: adduser, + ${misc:Depends}, + ${shlibs:Depends} +Recommends: pdns-backend-bind +Suggests: pdns-backend +Description: extremely powerful and versatile nameserver + PowerDNS is a versatile nameserver which supports a large number + of different backends ranging from simple zonefiles to relational + databases and load balancing/failover algorithms. + PowerDNS tries to emphasize speed and security. + . + This is the authoritative nameserver that answers questions about + domains that it knows about. You also need at least one backend installed to + serve data. + +Package: pdns-tools +Architecture: any +Depends: ${misc:Depends}, + ${shlibs:Depends} +Replaces: pdns-server (<< 3.4.6-2) +Breaks: pdns-server (<< 3.4.6-2) +Description: Tools for DNS debugging by PowerDNS + PowerDNS is a versatile nameserver which supports a large number + of different backends ranging from simple zonefiles to relational + databases and load balancing/failover algorithms. + PowerDNS tries to emphasize speed and security. + . + This package contains several tools to debug DNS issues. These tools do not + require any part of the PowerDNS server components to work. + . + * dnsbulktest: A resolver stress-tester + * dnsgram: Show per 5-second statistics to study intermittent resolver issues + * dnsreplay: Replay a pcap with DNS queries + * dnsscan: Prints the query-type amounts in a pcap + * dnsscope: Calculates statistics without replaying traffic + * dnstcpbench: Perform TCP benchmarking of DNS servers + * dnswasher: Clean a pcap of identifying IP information + * ixplore: Explore diffs from IXFRs + * nsec3dig: Calculate the correctness of NSEC3 proofs + * saxfr: AXFR zones and show extra information + +Package: pdns-backend-bind +Architecture: any +Depends: pdns-server (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends} +Provides: pdns-backend +Replaces: pdns-server (<< 4.0.0-2~) +Breaks: pdns-server (<< 4.0.0-2~) +Description: BIND backend for PowerDNS + PowerDNS is a versatile nameserver which supports a large number + of different backends ranging from simple zonefiles to relational + databases and load balancing/failover algorithms. + PowerDNS tries to emphasize speed and security. + . + This package contains the bind backend for the PowerDNS nameserver. + Zone data will be read from flat BIND-style zone files, and the list + of zones needs to be given in a named.conf-style file. + +Package: pdns-backend-pipe +Architecture: any +Depends: pdns-server (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends} +Provides: pdns-backend +Description: pipe/coprocess backend for PowerDNS + PowerDNS is a versatile nameserver which supports a large number + of different backends ranging from simple zonefiles to relational + databases and load balancing/failover algorithms. + PowerDNS tries to emphasize speed and security. + . + This package contains the pipe backend for the PowerDNS nameserver. This + allows PowerDNS to retrieve domain info from a process that accepts + questions on stdin and returns answers on stdout. + +Package: pdns-backend-ldap +Architecture: any +Depends: pdns-server (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends} +Provides: pdns-backend +Description: LDAP backend for PowerDNS + PowerDNS is a versatile nameserver which supports a large number + of different backends ranging from simple zonefiles to relational + databases and load balancing/failover algorithms. + PowerDNS tries to emphasize speed and security. + . + This package contains an LDAP backend for the PowerDNS nameserver. + +Package: pdns-backend-geoip +Architecture: any +Depends: pdns-server (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends} +Provides: pdns-backend +Description: geoip backend for PowerDNS + PowerDNS is a versatile nameserver which supports a large number + of different backends ranging from simple zonefiles to relational + databases and load balancing/failover algorithms. + PowerDNS tries to emphasize speed and security. + . + This package contains a geoip-backend for the PowerDNS nameserver. This + backend balances the load throughout the world so that people access the + geographically nearest available server based on a zonefile written in + YAML. + +Package: pdns-backend-mysql +Architecture: any +Depends: dbconfig-common, + dbconfig-mysql, + pdns-server (= ${binary:Version}), + ucf, + ${misc:Depends}, + ${shlibs:Depends} +Suggests: default-mysql-server +Provides: pdns-backend +Description: generic MySQL backend for PowerDNS + PowerDNS is a versatile nameserver which supports a large number + of different backends ranging from simple zonefiles to relational + databases and load balancing/failover algorithms. + PowerDNS tries to emphasize speed and security. + . + This package contains a generic MySQL backend for the PowerDNS + nameserver. It has configurable SQL statements. + +Package: pdns-backend-odbc +Architecture: any +Depends: pdns-server (>= ${source:Version}), + ${misc:Depends}, + ${shlibs:Depends} +Provides: pdns-backend +Description: generic UnixODBC backend for PowerDNS + PowerDNS is a versatile nameserver which supports a large number + of different backends ranging from simple zonefiles to relational + databases and load balancing/failover algorithms. + PowerDNS tries to emphasize speed and security. + . + This package contains a generic UnixODBC backend for the PowerDNS + nameserver. It has configurable SQL statements. + +Package: pdns-backend-pgsql +Architecture: any +Depends: dbconfig-common, + dbconfig-pgsql, + pdns-server (= ${binary:Version}), + ucf, + ${misc:Depends}, + ${shlibs:Depends} +Suggests: postgresql +Provides: pdns-backend +Description: generic PostgreSQL backend for PowerDNS + PowerDNS is a versatile nameserver which supports a large number + of different backends ranging from simple zonefiles to relational + databases and load balancing/failover algorithms. + PowerDNS tries to emphasize speed and security. + . + This package contains a generic PostgreSQL backend for the PowerDNS + nameserver. It has configurable SQL statements. + +Package: pdns-backend-sqlite3 +Architecture: any +Depends: dbconfig-common, + dbconfig-sqlite3, + pdns-server (= ${binary:Version}), + ucf, + ${misc:Depends}, + ${shlibs:Depends} +Provides: pdns-backend +Description: sqlite 3 backend for PowerDNS + PowerDNS is a versatile nameserver which supports a large number + of different backends ranging from simple zonefiles to relational + databases and load balancing/failover algorithms. + PowerDNS tries to emphasize speed and security. + . + This package contains a generic SQLite 3 backend for PowerDNS. + +Package: pdns-backend-lua +Architecture: any +Depends: pdns-server (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends} +Provides: pdns-backend +Description: Lua backend for PowerDNS + PowerDNS is a versatile nameserver which supports a large number + of different backends ranging from simple zonefiles to relational + databases and load balancing/failover algorithms. + PowerDNS tries to emphasize speed and security. + . + This package contains the Lua backend for PowerDNS. + +Package: pdns-backend-remote +Architecture: any +Depends: pdns-server (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends} +Provides: pdns-backend +Description: remote backend for PowerDNS + PowerDNS is a versatile nameserver which supports a large number + of different backends ranging from simple zonefiles to relational + databases and load balancing/failover algorithms. + PowerDNS tries to emphasize speed and security. + . + This package contains the remote backend for PowerDNS. It is suitable + for serving data acquired from an AF_UNIX, pipe, or HTTP connector. + +Package: pdns-backend-opendbx +Architecture: any +Depends: pdns-server (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends} +Provides: pdns-backend +Description: OpenDBX backend for PowerDNS + PowerDNS is a versatile nameserver which supports a large number + of different backends ranging from simple zonefiles to relational + databases and load balancing/failover algorithms. + PowerDNS tries to emphasize speed and security. + . + This package contains the OpenDBX backend for PowerDNS. Please install + the libopendbx1-DATABASE package to allow OpenDBX to connect to + the chosen database. + +Package: pdns-backend-mydns +Architecture: any +Depends: pdns-server (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends} +Provides: pdns-backend +Description: MyDNS compatibility backend for PowerDNS + PowerDNS is a versatile nameserver which supports a large number + of different backends ranging from simple zonefiles to relational + databases and load balancing/failover algorithms. + PowerDNS tries to emphasize speed and security. + . + This package contains the MyDNS compatibility backend for PowerDNS. + +Package: pdns-backend-tinydns +Architecture: any +Depends: pdns-server (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends} +Provides: pdns-backend +Description: tinydns compatibility backend for PowerDNS + PowerDNS is a versatile nameserver which supports a large number + of different backends ranging from simple zonefiles to relational + databases and load balancing/failover algorithms. + PowerDNS tries to emphasize speed and security. + . + This package contains the tinydns compatibility backend for PowerDNS. diff --git a/copyright b/copyright new file mode 100644 index 0000000..6d7144d --- /dev/null +++ b/copyright @@ -0,0 +1,623 @@ +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: PowerDNS +Source: https://www.powerdns.com/downloads.html + +Files: * +Copyright: 2002 - 2016 PowerDNS.COM BV and contributors +License: GPL-2 with OpenSSL Exception +Comment: Sometimes, Netherlabs BV is credited, which is a precursor + to todays PowerDNS.COM BV. + +Files: m4/ax_cxx_compile_stdcxx_11.m4 +Copyright: 2008 Benjamin Kosnik + 2012 Zack Weinberg + 2013 Roy Stogner + 2014, 2015 Google Inc.; contributed by Alexey Sokolov +License: free-generic + +Files: m4/boost.m4 +Copyright: 2007-2011, 2014 Benoit Sigoure +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 + 2016 Pieter Lexis +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: debian/* +Copyright: 2002 - 2004 Wichert Akkermann + 2004 - 2013 Matthijs Möhlmann + 2012 - 2013 Marc Haber + 2014 - 2015 Christian Hofstaedtler +License: GPL-2 + +Files: modules/gsqlite3backend/* +Copyright: 2003 Michel Stol + 2011 PowerDNS.COM BV +License: GPL-2 with OpenSSL Exception + +Files: modules/mydnsbackend/* +Copyright: 2011 Jonathan Oddy (Hostway UK) +License: GPL-2 with OpenSSL Exception + +Files: modules/mydnsbackend/schema.mydns.sql +Copyright: 2002-2005 Don Moore + 2007-2008 Howard Wilkinson +License: GPL-2+ + +Files: modules/ldapbackend/* pdns/zone2ldap.cc +Copyright: 2003-2007 Norbert Sendetzky +License: GPL-2 with OpenSSL Exception + +Files: modules/luabackend/* +Copyright: 2011 Fredrik Danerklint +License: GPL-2 with OpenSSL Exception + +Files: modules/oraclebackend/* +Copyright: 2010 - 2011 Maik Zumstrull + Steinbuch Centre for Computing, + Karlsruhe Institute of Technology +License: Expat + +Files: modules/opendbxbackend/* +Copyright: 2005-2007 Norbert Sendetzky +License: GPL-2 with OpenSSL Exception + +Files: ext/yahttp/* +Copyright: 2014 Aki Tuomi +License: Expat + +Files: ext/json11/* +Copyright: 2013 Dropbox, Inc. +License: Expat + +Files: ext/luawrapper/* +Copyright: 2013, Pierre KRIEGER +License: BSD-3 + +Files: pdns/effective_tld_names.dat +Copyright: 2007–11 Mozilla Foundation +License: MPL-2.0 + +License: MPL-2.0 + Mozilla Public License Version 2.0 + ================================== + . + 1. Definitions + -------------- + . + 1.1. "Contributor" + means each individual or legal entity that creates, contributes to + the creation of, or owns Covered Software. + . + 1.2. "Contributor Version" + means the combination of the Contributions of others (if any) used + by a Contributor and that particular Contributor's Contribution. + . + 1.3. "Contribution" + means Covered Software of a particular Contributor. + . + 1.4. "Covered Software" + means Source Code Form to which the initial Contributor has attached + the notice in Exhibit A, the Executable Form of such Source Code + Form, and Modifications of such Source Code Form, in each case + including portions thereof. + . + 1.5. "Incompatible With Secondary Licenses" + means + . + (a) that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or + . + (b) that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. + . + 1.6. "Executable Form" + means any form of the work other than Source Code Form. + . + 1.7. "Larger Work" + means a work that combines Covered Software with other material, in + a separate file or files, that is not Covered Software. + . + 1.8. "License" + means this document. + . + 1.9. "Licensable" + means having the right to grant, to the maximum extent possible, + whether at the time of the initial grant or subsequently, any and + all of the rights conveyed by this License. + . + 1.10. "Modifications" + means any of the following: + . + (a) any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or + . + (b) any new file in Source Code Form that contains any Covered + Software. + . + 1.11. "Patent Claims" of a Contributor + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the + License, by the making, using, selling, offering for sale, having + made, import, or transfer of either its Contributions or its + Contributor Version. + . + 1.12. "Secondary License" + means either the GNU General Public License, Version 2.0, the GNU + Lesser General Public License, Version 2.1, the GNU Affero General + Public License, Version 3.0, or any later versions of those + licenses. + . + 1.13. "Source Code Form" + means the form of the work preferred for making modifications. + . + 1.14. "You" (or "Your") + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + . + 2. License Grants and Conditions + -------------------------------- + . + 2.1. Grants + . + Each Contributor hereby grants You a world-wide, royalty-free, + non-exclusive license: + . + (a) under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + . + (b) under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + . + 2.2. Effective Date + . + The licenses granted in Section 2.1 with respect to any Contribution + become effective for each Contribution on the date the Contributor first + distributes such Contribution. + . + 2.3. Limitations on Grant Scope + . + The licenses granted in this Section 2 are the only rights granted under + this License. No additional rights or licenses will be implied from the + distribution or licensing of Covered Software under this License. + Notwithstanding Section 2.1(b) above, no patent license is granted by a + Contributor: + . + (a) for any code that a Contributor has removed from Covered Software; + or + . + (b) for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + . + (c) under Patent Claims infringed by Covered Software in the absence of + its Contributions. + . + This License does not grant any rights in the trademarks, service marks, + or logos of any Contributor (except as may be necessary to comply with + the notice requirements in Section 3.4). + . + 2.4. Subsequent Licenses + . + No Contributor makes additional grants as a result of Your choice to + distribute the Covered Software under a subsequent version of this + License (see Section 10.2) or under the terms of a Secondary License (if + permitted under the terms of Section 3.3). + . + 2.5. Representation + . + Each Contributor represents that the Contributor believes its + Contributions are its original creation(s) or it has sufficient rights + to grant the rights to its Contributions conveyed by this License. + . + 2.6. Fair Use + . + This License is not intended to limit any rights You have under + applicable copyright doctrines of fair use, fair dealing, or other + equivalents. + . + 2.7. Conditions + . + Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted + in Section 2.1. + . + 3. Responsibilities + ------------------- + . + 3.1. Distribution of Source Form + . + All distribution of Covered Software in Source Code Form, including any + Modifications that You create or to which You contribute, must be under + the terms of this License. You must inform recipients that the Source + Code Form of the Covered Software is governed by the terms of this + License, and how they can obtain a copy of this License. You may not + attempt to alter or restrict the recipients' rights in the Source Code + Form. + . + 3.2. Distribution of Executable Form + . + If You distribute Covered Software in Executable Form then: + . + (a) such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and + . + (b) You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. + . + 3.3. Distribution of a Larger Work + . + You may create and distribute a Larger Work under terms of Your choice, + provided that You also comply with the requirements of this License for + the Covered Software. If the Larger Work is a combination of Covered + Software with a work governed by one or more Secondary Licenses, and the + Covered Software is not Incompatible With Secondary Licenses, this + License permits You to additionally distribute such Covered Software + under the terms of such Secondary License(s), so that the recipient of + the Larger Work may, at their option, further distribute the Covered + Software under the terms of either this License or such Secondary + License(s). + . + 3.4. Notices + . + You may not remove or alter the substance of any license notices + (including copyright notices, patent notices, disclaimers of warranty, + or limitations of liability) contained within the Source Code Form of + the Covered Software, except that You may alter any license notices to + the extent required to remedy known factual inaccuracies. + . + 3.5. Application of Additional Terms + . + You may choose to offer, and to charge a fee for, warranty, support, + indemnity or liability obligations to one or more recipients of Covered + Software. However, You may do so only on Your own behalf, and not on + behalf of any Contributor. You must make it absolutely clear that any + such warranty, support, indemnity, or liability obligation is offered by + You alone, and You hereby agree to indemnify every Contributor for any + liability incurred by such Contributor as a result of warranty, support, + indemnity or liability terms You offer. You may include additional + disclaimers of warranty and limitations of liability specific to any + jurisdiction. + . + 4. Inability to Comply Due to Statute or Regulation + --------------------------------------------------- + . + If it is impossible for You to comply with any of the terms of this + License with respect to some or all of the Covered Software due to + statute, judicial order, or regulation then You must: (a) comply with + the terms of this License to the maximum extent possible; and (b) + describe the limitations and the code they affect. Such description must + be placed in a text file included with all distributions of the Covered + Software under this License. Except to the extent prohibited by statute + or regulation, such description must be sufficiently detailed for a + recipient of ordinary skill to be able to understand it. + . + 5. Termination + -------------- + . + 5.1. The rights granted under this License will terminate automatically + if You fail to comply with any of its terms. However, if You become + compliant, then the rights granted under this License from a particular + Contributor are reinstated (a) provisionally, unless and until such + Contributor explicitly and finally terminates Your grants, and (b) on an + ongoing basis, if such Contributor fails to notify You of the + non-compliance by some reasonable means prior to 60 days after You have + come back into compliance. Moreover, Your grants from a particular + Contributor are reinstated on an ongoing basis if such Contributor + notifies You of the non-compliance by some reasonable means, this is the + first time You have received notice of non-compliance with this License + from such Contributor, and You become compliant prior to 30 days after + Your receipt of the notice. + . + 5.2. If You initiate litigation against any entity by asserting a patent + infringement claim (excluding declaratory judgment actions, + counter-claims, and cross-claims) alleging that a Contributor Version + directly or indirectly infringes any patent, then the rights granted to + You by any and all Contributors for the Covered Software under Section + 2.1 of this License shall terminate. + . + 5.3. In the event of termination under Sections 5.1 or 5.2 above, all + end user license agreements (excluding distributors and resellers) which + have been validly granted by You or Your distributors under this License + prior to termination shall survive termination. + . + ************************************************************************ + * * + * 6. Disclaimer of Warranty * + * ------------------------- * + * * + * Covered Software is provided under this License on an "as is" * + * basis, without warranty of any kind, either expressed, implied, or * + * statutory, including, without limitation, warranties that the * + * Covered Software is free of defects, merchantable, fit for a * + * particular purpose or non-infringing. The entire risk as to the * + * quality and performance of the Covered Software is with You. * + * Should any Covered Software prove defective in any respect, You * + * (not any Contributor) assume the cost of any necessary servicing, * + * repair, or correction. This disclaimer of warranty constitutes an * + * essential part of this License. No use of any Covered Software is * + * authorized under this License except under this disclaimer. * + * * + ************************************************************************ + . + ************************************************************************ + * * + * 7. Limitation of Liability * + * -------------------------- * + * * + * Under no circumstances and under no legal theory, whether tort * + * (including negligence), contract, or otherwise, shall any * + * Contributor, or anyone who distributes Covered Software as * + * permitted above, be liable to You for any direct, indirect, * + * special, incidental, or consequential damages of any character * + * including, without limitation, damages for lost profits, loss of * + * goodwill, work stoppage, computer failure or malfunction, or any * + * and all other commercial damages or losses, even if such party * + * shall have been informed of the possibility of such damages. This * + * limitation of liability shall not apply to liability for death or * + * personal injury resulting from such party's negligence to the * + * extent applicable law prohibits such limitation. Some * + * jurisdictions do not allow the exclusion or limitation of * + * incidental or consequential damages, so this exclusion and * + * limitation may not apply to You. * + * * + ************************************************************************ + . + 8. Litigation + ------------- + . + Any litigation relating to this License may be brought only in the + courts of a jurisdiction where the defendant maintains its principal + place of business and such litigation shall be governed by laws of that + jurisdiction, without reference to its conflict-of-law provisions. + Nothing in this Section shall prevent a party's ability to bring + cross-claims or counter-claims. + . + 9. Miscellaneous + ---------------- + . + This License represents the complete agreement concerning the subject + matter hereof. If any provision of this License is held to be + unenforceable, such provision shall be reformed only to the extent + necessary to make it enforceable. Any law or regulation which provides + that the language of a contract shall be construed against the drafter + shall not be used to construe this License against a Contributor. + . + 10. Versions of the License + --------------------------- + . + 10.1. New Versions + . + Mozilla Foundation is the license steward. Except as provided in Section + 10.3, no one other than the license steward has the right to modify or + publish new versions of this License. Each version will be given a + distinguishing version number. + . + 10.2. Effect of New Versions + . + You may distribute the Covered Software under the terms of the version + of the License under which You originally received the Covered Software, + or under the terms of any subsequent version published by the license + steward. + . + 10.3. Modified Versions + . + If you create software not governed by this License, and you want to + create a new license for such software, you may create and use a + modified version of this License if you rename the license and remove + any references to the name of the license steward (except to note that + such modified license differs from this License). + . + 10.4. Distributing Source Code Form that is Incompatible With Secondary + Licenses + . + If You choose to distribute Source Code Form that is Incompatible With + Secondary Licenses under the terms of this version of the License, the + notice described in Exhibit B of this License must be attached. + . + Exhibit A - Source Code Form License Notice + ------------------------------------------- + . + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. + . + If it is not possible or desirable to put the notice in a particular + file, then You may include the notice in a location (such as a LICENSE + file in a relevant directory) where a recipient would be likely to look + for such a notice. + . + You may add additional accurate notices of copyright ownership. + . + Exhibit B - "Incompatible With Secondary Licenses" Notice + --------------------------------------------------------- + . + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 2.0. + +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 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 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: 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: 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 . + . + 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: 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: 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 + . + . + 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: 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/gbp.conf b/gbp.conf new file mode 100644 index 0000000..cec628c --- /dev/null +++ b/gbp.conf @@ -0,0 +1,2 @@ +[DEFAULT] +pristine-tar = True diff --git a/pdns-backend-bind.dirs b/pdns-backend-bind.dirs new file mode 100644 index 0000000..75de4d8 --- /dev/null +++ b/pdns-backend-bind.dirs @@ -0,0 +1 @@ +var/lib/powerdns/zones.slave.d diff --git a/pdns-backend-bind.install b/pdns-backend-bind.install new file mode 100644 index 0000000..b6e7f5b --- /dev/null +++ b/pdns-backend-bind.install @@ -0,0 +1,3 @@ +debian/config/bind.conf etc/powerdns/pdns.d/ +debian/config/named.conf etc/powerdns/ +usr/lib/*/pdns/libbindbackend.so* diff --git a/pdns-backend-bind.postinst b/pdns-backend-bind.postinst new file mode 100644 index 0000000..ba1173f --- /dev/null +++ b/pdns-backend-bind.postinst @@ -0,0 +1,30 @@ +#!/bin/sh +set -e + +case "$1" in + configure) + chown pdns:pdns /var/lib/powerdns/zones.slave.d || : + + # Create suggested supermaster.conf, which is included from /etc/powerdns/named.conf by default. + BINDCONF=/etc/powerdns/pdns.d/bind.conf + SUPERMASTERCONF=/var/lib/powerdns/supermaster.conf + if test -e $BINDCONF && grep "^bind-supermaster-config=$SUPERMASTERCONF" $BINDCONF >/dev/null 2>&1; then + touch $SUPERMASTERCONF + chown pdns:pdns $SUPERMASTERCONF + fi + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +dpkg-trigger pdns-server + +#DEBHELPER# + +exit 0 diff --git a/pdns-backend-bind.postrm b/pdns-backend-bind.postrm new file mode 100644 index 0000000..51be23e --- /dev/null +++ b/pdns-backend-bind.postrm @@ -0,0 +1,13 @@ +#!/bin/sh +set -e + +case "$1" in + purge) + # remove data file, if empty (created by postinst). + if [ -e /var/lib/powerdns/supermaster.conf ] && echo "d41d8cd98f00b204e9800998ecf8427e /var/lib/powerdns/supermaster.conf" | md5sum --check --status; then + rm -f /var/lib/powerdns/supermaster.conf + fi + ;; +esac + +#DEBHELPER# diff --git a/pdns-backend-geoip.examples b/pdns-backend-geoip.examples new file mode 100644 index 0000000..8f26fae --- /dev/null +++ b/pdns-backend-geoip.examples @@ -0,0 +1 @@ +debian/config/geoip.conf diff --git a/pdns-backend-geoip.install b/pdns-backend-geoip.install new file mode 100644 index 0000000..d8ab64b --- /dev/null +++ b/pdns-backend-geoip.install @@ -0,0 +1 @@ +usr/lib/*/pdns/libgeoipbackend.so* diff --git a/pdns-backend-geoip.postinst b/pdns-backend-geoip.postinst new file mode 100644 index 0000000..1beff20 --- /dev/null +++ b/pdns-backend-geoip.postinst @@ -0,0 +1,8 @@ +#!/bin/sh +set -e + +dpkg-trigger pdns-server + +#DEBHELPER# + +exit 0 diff --git a/pdns-backend-ldap.examples b/pdns-backend-ldap.examples new file mode 100644 index 0000000..801a92e --- /dev/null +++ b/pdns-backend-ldap.examples @@ -0,0 +1 @@ +debian/config/ldap.conf diff --git a/pdns-backend-ldap.install b/pdns-backend-ldap.install new file mode 100644 index 0000000..6375d07 --- /dev/null +++ b/pdns-backend-ldap.install @@ -0,0 +1,3 @@ +debian/config/dnsdomain2.schema etc/ldap/schema/ +usr/bin/zone2ldap usr/bin/ +usr/lib/*/pdns/libldapbackend.so* diff --git a/pdns-backend-ldap.manpages b/pdns-backend-ldap.manpages new file mode 100644 index 0000000..33e216d --- /dev/null +++ b/pdns-backend-ldap.manpages @@ -0,0 +1 @@ +debian/tmp/usr/share/man/man1/zone2ldap.1 diff --git a/pdns-backend-ldap.postinst b/pdns-backend-ldap.postinst new file mode 100644 index 0000000..1beff20 --- /dev/null +++ b/pdns-backend-ldap.postinst @@ -0,0 +1,8 @@ +#!/bin/sh +set -e + +dpkg-trigger pdns-server + +#DEBHELPER# + +exit 0 diff --git a/pdns-backend-lua.docs b/pdns-backend-lua.docs new file mode 100644 index 0000000..e1bae81 --- /dev/null +++ b/pdns-backend-lua.docs @@ -0,0 +1 @@ +modules/luabackend/README diff --git a/pdns-backend-lua.examples b/pdns-backend-lua.examples new file mode 100644 index 0000000..d2df686 --- /dev/null +++ b/pdns-backend-lua.examples @@ -0,0 +1 @@ +debian/config/lua.conf diff --git a/pdns-backend-lua.install b/pdns-backend-lua.install new file mode 100644 index 0000000..3cfcc37 --- /dev/null +++ b/pdns-backend-lua.install @@ -0,0 +1 @@ +usr/lib/*/pdns/libluabackend.so* diff --git a/pdns-backend-lua.postinst b/pdns-backend-lua.postinst new file mode 100644 index 0000000..1beff20 --- /dev/null +++ b/pdns-backend-lua.postinst @@ -0,0 +1,8 @@ +#!/bin/sh +set -e + +dpkg-trigger pdns-server + +#DEBHELPER# + +exit 0 diff --git a/pdns-backend-mydns.docs b/pdns-backend-mydns.docs new file mode 100644 index 0000000..a47a40c --- /dev/null +++ b/pdns-backend-mydns.docs @@ -0,0 +1 @@ +modules/mydnsbackend/schema.mydns.sql diff --git a/pdns-backend-mydns.install b/pdns-backend-mydns.install new file mode 100644 index 0000000..262f35e --- /dev/null +++ b/pdns-backend-mydns.install @@ -0,0 +1 @@ +usr/lib/*/pdns/libmydnsbackend.so* diff --git a/pdns-backend-mydns.postinst b/pdns-backend-mydns.postinst new file mode 100644 index 0000000..1beff20 --- /dev/null +++ b/pdns-backend-mydns.postinst @@ -0,0 +1,8 @@ +#!/bin/sh +set -e + +dpkg-trigger pdns-server + +#DEBHELPER# + +exit 0 diff --git a/pdns-backend-mysql.README.Debian b/pdns-backend-mysql.README.Debian new file mode 100644 index 0000000..f7ecae4 --- /dev/null +++ b/pdns-backend-mysql.README.Debian @@ -0,0 +1,18 @@ +Instructions on setting up MySQL as a backend for PowerDNS +---------------------------------------------------------- + +PowerDNS uses dbconfig-common. The database backends offer you to +automatically create and maintain the databases for you. If you choose +yes, you're fine, no more action needed. + +Should you decide to create your databases yourself, for example, if +you decide to use a non-standard schema, please find the database +schema recommended by Upstream for MySQL in +/usr/share/dbconfig-common/data/pdns-backend-mysql/install/mysql + +Just create a database (for example, named pdns) and then feed these +SQL commands to MySQL to get some defaults to start with: + + mysql -u root -p < /usr/share/dbconfig-common/data/pdns-backend-mysql/install/mysql + +Then add your data to the database. diff --git a/pdns-backend-mysql.config b/pdns-backend-mysql.config new file mode 100644 index 0000000..18ce7c2 --- /dev/null +++ b/pdns-backend-mysql.config @@ -0,0 +1,21 @@ +#!/bin/sh +# +# Install / upgrade database. + +set -e + +# Execute dbconfig-common +. /usr/share/debconf/confmodule +if [ -f /usr/share/dbconfig-common/dpkg/config.mysql ]; then + . /usr/share/dbconfig-common/dpkg/config.mysql + + # Default values + dbc_dbuser="pdns" + dbc_dbname="pdns" + dbc_first_version="3.0-1" + + dbc_go pdns-backend-mysql $@ +fi + +exit 0 + diff --git a/pdns-backend-mysql.docs b/pdns-backend-mysql.docs new file mode 100644 index 0000000..1ea8dfc --- /dev/null +++ b/pdns-backend-mysql.docs @@ -0,0 +1,3 @@ +modules/gmysqlbackend/dnssec-3.x_to_3.4.0_schema.mysql.sql +modules/gmysqlbackend/nodnssec-3.x_to_3.4.0_schema.mysql.sql +modules/gmysqlbackend/schema.mysql.sql diff --git a/pdns-backend-mysql.install b/pdns-backend-mysql.install new file mode 100644 index 0000000..30e35c5 --- /dev/null +++ b/pdns-backend-mysql.install @@ -0,0 +1,4 @@ +debian/config/pdns.local.gmysql.conf usr/share/pdns-backend-mysql +debian/sql/mysql/*.* usr/share/dbconfig-common/data/pdns-backend-mysql/upgrade/mysql/ +debian/sql/mysql/mysql usr/share/dbconfig-common/data/pdns-backend-mysql/install/ +usr/lib/*/pdns/libgmysqlbackend.so* diff --git a/pdns-backend-mysql.postinst b/pdns-backend-mysql.postinst new file mode 100644 index 0000000..59396e6 --- /dev/null +++ b/pdns-backend-mysql.postinst @@ -0,0 +1,69 @@ +#!/bin/sh +set -e + +# Execute dbconfig-common +. /usr/share/debconf/confmodule + +if [ -n "$PDNSDEBUG" ]; then + echo "now debugging $0 $@" + set -x +fi + +PKGNAME="pdns-backend-mysql" + +# rename ucf-conffile. This was mostly stolen from cacti.postinst after +# a short discussion on debian-mentors, see +# http://lists.debian.org/debian-mentors/2013/07/msg00027.html +# and the following thread. Thanks to Paul Gevers +renameconffile() { + oldname="$1" + newname="$2" + sourcefile="$3" + if [ -f $oldname ] ; then + if [ ! -e $newname ] ; then + mv $oldname $newname +# else: Don't do anything, leave old file in place + fi + ucf --purge $oldname + ucfr --purge $PKGNAME $oldname + elif [ ! -e $newname ] ; then +# The file was removed, we should respect that. Unfortunately, we don't +# have a proper way to tell ucf that for the new location, so we need +# to hack it a bit. +# We only need to do this if the target does not already exist. If the +# target already exists, we can later call ucf straight as there +# is already a version of the file available, althought never +# provided by this package, but we can just propose the new file anyway. + ucf --debconf-ok $sourcefile $newname + ucfr $PKGNAME $newname + rm -f $newname + fi +} + +if [ "$1" = "configure" ]; then + if ucfq -w /etc/powerdns/pdns.d/pdns.local.gmysql.conf | grep 'pdns-backend-gmysql' >/dev/null; then + # before 4.0.0~beta1, PKGNAME was incorrectly set to pdns-backend-gmysql. Fix that. + ucfr --purge 'pdns-backend-gmysql' '/etc/powerdns/pdns.d/pdns.local.gmysql.conf' + fi + if [ -n "$2" ] && dpkg --compare-versions "$2" lt 3.3; then + renameconffile /etc/powerdns/pdns.d/pdns.local.gmysql /etc/powerdns/pdns.d/pdns.local.gmysql.conf /dev/null + fi +fi + + +. /usr/share/dbconfig-common/dpkg/postinst.mysql +dbc_first_version="3.0-1" +dbc_generate_include_args="-o template_infile=/usr/share/pdns-backend-mysql/pdns.local.gmysql.conf" +dbc_generate_include=template:/etc/powerdns/pdns.d/pdns.local.gmysql.conf +dbc_generate_include_owner=pdns +dbc_generate_include_perms=0640 +dbc_go $PKGNAME $@ + +# Activate trigger +dpkg-trigger pdns-server + +ucfr $PKGNAME /etc/powerdns/pdns.d/pdns.local.gmysql.conf + +#DEBHELPER# + +exit 0 diff --git a/pdns-backend-mysql.postrm b/pdns-backend-mysql.postrm new file mode 100644 index 0000000..07e2e2d --- /dev/null +++ b/pdns-backend-mysql.postrm @@ -0,0 +1,35 @@ +#!/bin/sh +set -e + +if [ -n "$PDNSDEBUG" ]; then + echo "now debugging $0 $@" + set -x +fi + +PKGNAME="pdns-backend-mysql" + +# Execute dbconfig-common +if [ -f /usr/share/debconf/confmodule ]; then + . /usr/share/debconf/confmodule +fi +if [ -f /usr/share/dbconfig-common/dpkg/postrm.mysql ]; then + . /usr/share/dbconfig-common/dpkg/postrm.mysql + dbc_go pdns-backend-mysql $@ +fi + +if [ "$1" = "purge" ]; then + # Remove files registered with ucf. + if command -v ucfq >/dev/null; then + for file in $(ucfq --with-colons "$PKGNAME" | cut --delimiter=: --fields=1); do + rm -f ${file} + ucf --purge ${file} + ucfr --purge $PKGNAME ${file} + done + else + echo >&2 "ucf no longer installed, not cleaning up" + fi +fi + +#DEBHELPER# + +exit 0 diff --git a/pdns-backend-mysql.prerm b/pdns-backend-mysql.prerm new file mode 100644 index 0000000..283c36a --- /dev/null +++ b/pdns-backend-mysql.prerm @@ -0,0 +1,11 @@ +#!/bin/sh +set -e + +# Execute dbconfig-common +. /usr/share/debconf/confmodule +. /usr/share/dbconfig-common/dpkg/prerm.mysql +dbc_go pdns-backend-mysql $@ + +#DEBHELPER# + +exit 0 diff --git a/pdns-backend-odbc.docs b/pdns-backend-odbc.docs new file mode 100644 index 0000000..76cc1e0 --- /dev/null +++ b/pdns-backend-odbc.docs @@ -0,0 +1 @@ +modules/godbcbackend/schema.mssql.sql diff --git a/pdns-backend-odbc.examples b/pdns-backend-odbc.examples new file mode 100644 index 0000000..b59603c --- /dev/null +++ b/pdns-backend-odbc.examples @@ -0,0 +1 @@ +debian/config/godbc.conf diff --git a/pdns-backend-odbc.install b/pdns-backend-odbc.install new file mode 100644 index 0000000..152e3e0 --- /dev/null +++ b/pdns-backend-odbc.install @@ -0,0 +1 @@ +usr/lib/*/pdns/libgodbcbackend.so* diff --git a/pdns-backend-odbc.postinst b/pdns-backend-odbc.postinst new file mode 100644 index 0000000..1beff20 --- /dev/null +++ b/pdns-backend-odbc.postinst @@ -0,0 +1,8 @@ +#!/bin/sh +set -e + +dpkg-trigger pdns-server + +#DEBHELPER# + +exit 0 diff --git a/pdns-backend-opendbx.examples b/pdns-backend-opendbx.examples new file mode 100644 index 0000000..1923d59 --- /dev/null +++ b/pdns-backend-opendbx.examples @@ -0,0 +1 @@ +debian/config/opendbx.conf diff --git a/pdns-backend-opendbx.install b/pdns-backend-opendbx.install new file mode 100644 index 0000000..bc796d1 --- /dev/null +++ b/pdns-backend-opendbx.install @@ -0,0 +1 @@ +usr/lib/*/pdns/libopendbxbackend.so* diff --git a/pdns-backend-opendbx.postinst b/pdns-backend-opendbx.postinst new file mode 100644 index 0000000..1beff20 --- /dev/null +++ b/pdns-backend-opendbx.postinst @@ -0,0 +1,8 @@ +#!/bin/sh +set -e + +dpkg-trigger pdns-server + +#DEBHELPER# + +exit 0 diff --git a/pdns-backend-pgsql.README.Debian b/pdns-backend-pgsql.README.Debian new file mode 100644 index 0000000..335cfc1 --- /dev/null +++ b/pdns-backend-pgsql.README.Debian @@ -0,0 +1,26 @@ +Instructions on setting up PostgreSQL as a backend for PowerDNS +--------------------------------------------------------------- + +PowerDNS uses dbconfig-common. The database backends offer you to +automatically create and maintain the databases for you. If you choose +yes, you're fine, no more action needed. + +Should you decide to create your databases yourself, for example, if +you decide to use a non-standard schema, please find the database +schema recommended by Upstream for PostgreSQL in +/usr/share/dbconfig-common/data/pdns-backend-pgsql/install/pgsql + +Just create a database using 'createdb' (for example named pdns) and +then feed these SQL commands to PostgreSQL to get some defaults to +start with: + + psql -h -U -f /usr/share/dbconfig-common/data/pdns-backend-pgsql/install/pgsql + +Then add your data to the database. + +*** SSL WARNING *** +Please note that SSL connections to a PostgreSQL database currently do not +work when PowerDNS is run chrooted because PowerDNS cannot access the +libssl library from within the chroot. +*** SSL WARNING *** + diff --git a/pdns-backend-pgsql.config b/pdns-backend-pgsql.config new file mode 100644 index 0000000..2c1d00b --- /dev/null +++ b/pdns-backend-pgsql.config @@ -0,0 +1,21 @@ +#!/bin/sh +# +# Install / upgrade database. + +set -e + +# Execute dbconfig-common +. /usr/share/debconf/confmodule +if [ -f /usr/share/dbconfig-common/dpkg/config.pgsql ]; then + . /usr/share/dbconfig-common/dpkg/config.pgsql + + # Default values + dbc_dbuser="pdns" + dbc_dbname="pdns" + dbc_first_version="3.0-1" + + dbc_go pdns-backend-pgsql $@ +fi + +exit 0 + diff --git a/pdns-backend-pgsql.docs b/pdns-backend-pgsql.docs new file mode 100644 index 0000000..3b420cd --- /dev/null +++ b/pdns-backend-pgsql.docs @@ -0,0 +1,3 @@ +modules/gpgsqlbackend/dnssec-3.x_to_3.4.0_schema.pgsql.sql +modules/gpgsqlbackend/nodnssec-3.x_to_3.4.0_schema.pgsql.sql +modules/gpgsqlbackend/schema.pgsql.sql diff --git a/pdns-backend-pgsql.install b/pdns-backend-pgsql.install new file mode 100644 index 0000000..9ea5a52 --- /dev/null +++ b/pdns-backend-pgsql.install @@ -0,0 +1,4 @@ +debian/config/pdns.local.gpgsql.conf usr/share/pdns-backend-pgsql +debian/sql/pgsql/*.* usr/share/dbconfig-common/data/pdns-backend-pgsql/upgrade/pgsql/ +debian/sql/pgsql/pgsql usr/share/dbconfig-common/data/pdns-backend-pgsql/install/ +usr/lib/*/pdns/libgpgsqlbackend.so* diff --git a/pdns-backend-pgsql.postinst b/pdns-backend-pgsql.postinst new file mode 100644 index 0000000..2430275 --- /dev/null +++ b/pdns-backend-pgsql.postinst @@ -0,0 +1,65 @@ +#!/bin/sh +set -e + +# Execute dbconfig-common +. /usr/share/debconf/confmodule + +if [ -n "$PDNSDEBUG" ]; then + echo "now debugging $0 $@" + set -x +fi + +PKGNAME="pdns-backend-pgsql" + +# rename ucf-conffile. This was mostly stolen from cacti.postinst after +# a short discussion on debian-mentors, see +# http://lists.debian.org/debian-mentors/2013/07/msg00027.html +# and the following thread. Thanks to Paul Gevers +renameconffile() { + oldname="$1" + newname="$2" + sourcefile="$3" + if [ -f $oldname ] ; then + if [ ! -e $newname ] ; then + mv $oldname $newname +# else: Don't do anything, leave old file in place + fi + ucf --purge $oldname + ucfr --purge $PKGNAME $oldname + elif [ ! -e $newname ] ; then +# The file was removed, we should respect that. Unfortunately, we don't +# have a proper way to tell ucf that for the new location, so we need +# to hack it a bit. +# We only need to do this if the target does not already exist. If the +# target already exists, we can later call ucf straight as there +# is already a version of the file available, althought never +# provided by this package, but we can just propose the new file anyway. + ucf --debconf-ok $sourcefile $newname + ucfr $PKGNAME $newname + rm -f $newname + fi +} + +if [ "$1" = "configure" ]; then + if [ -n "$2" ] && dpkg --compare-versions "$2" lt 3.3; then + renameconffile /etc/powerdns/pdns.d/pdns.local.gpgsql /etc/powerdns/pdns.d/pdns.local.gpgsql.conf /dev/null + fi +fi + +. /usr/share/dbconfig-common/dpkg/postinst.pgsql +dbc_first_version="3.0-1" +dbc_pgsql_createdb_encoding="UTF8" +dbc_generate_include_args="-o template_infile=/usr/share/pdns-backend-pgsql/pdns.local.gpgsql.conf" +dbc_generate_include=template:/etc/powerdns/pdns.d/pdns.local.gpgsql.conf +dbc_generate_include_owner=pdns +dbc_generate_include_perms=0640 +dbc_go $PKGNAME $@ + +# Activate trigger +dpkg-trigger pdns-server + +ucfr $PKGNAME /etc/powerdns/pdns.d/pdns.local.gpgsql.conf + +#DEBHELPER# + +exit 0 diff --git a/pdns-backend-pgsql.postrm b/pdns-backend-pgsql.postrm new file mode 100644 index 0000000..8a1e11e --- /dev/null +++ b/pdns-backend-pgsql.postrm @@ -0,0 +1,38 @@ +#!/bin/sh +set -e + +if [ -n "$PDNSDEBUG" ]; then + echo "now debugging $0 $@" + set -x +fi + +PKGNAME="pdns-backend-pgsql" + +# Execute dbconfig-common +if [ -f /usr/share/debconf/confmodule ]; then + . /usr/share/debconf/confmodule +fi +if [ -f /usr/share/dbconfig-common/dpkg/postrm.pgsql ]; then + . /usr/share/dbconfig-common/dpkg/postrm.pgsql + dbc_go pdns-backend-pgsql $@ +fi + +if [ "$1" = "purge" ]; then + # Remove files registered with ucf. + UCF="ucf" + UCFR="ucfr" + + if command -v ucfq >/dev/null; then + for file in $(ucfq --with-colons "$PKGNAME" | cut --delimiter=: --fields=1); do + rm -f ${file} + ucf --purge ${file} + ucfr --purge $PKGNAME ${file} + done + else + echo >&2 "ucf no longer installed, not cleaning up" + fi +fi + +#DEBHELPER# + +exit 0 diff --git a/pdns-backend-pgsql.prerm b/pdns-backend-pgsql.prerm new file mode 100644 index 0000000..a350d8e --- /dev/null +++ b/pdns-backend-pgsql.prerm @@ -0,0 +1,11 @@ +#!/bin/sh +set -e + +# Execute dbconfig-common +. /usr/share/debconf/confmodule +. /usr/share/dbconfig-common/dpkg/prerm.pgsql +dbc_go pdns-backend-pgsql $@ + +#DEBHELPER# + +exit 0 diff --git a/pdns-backend-pipe.examples b/pdns-backend-pipe.examples new file mode 100644 index 0000000..861ee3a --- /dev/null +++ b/pdns-backend-pipe.examples @@ -0,0 +1 @@ +debian/config/pipe.conf diff --git a/pdns-backend-pipe.install b/pdns-backend-pipe.install new file mode 100644 index 0000000..34a1acc --- /dev/null +++ b/pdns-backend-pipe.install @@ -0,0 +1 @@ +usr/lib/*/pdns/libpipebackend.so* diff --git a/pdns-backend-pipe.postinst b/pdns-backend-pipe.postinst new file mode 100644 index 0000000..1beff20 --- /dev/null +++ b/pdns-backend-pipe.postinst @@ -0,0 +1,8 @@ +#!/bin/sh +set -e + +dpkg-trigger pdns-server + +#DEBHELPER# + +exit 0 diff --git a/pdns-backend-remote.install b/pdns-backend-remote.install new file mode 100644 index 0000000..f8b7951 --- /dev/null +++ b/pdns-backend-remote.install @@ -0,0 +1 @@ +usr/lib/*/pdns/libremotebackend.so* diff --git a/pdns-backend-remote.postinst b/pdns-backend-remote.postinst new file mode 100644 index 0000000..1beff20 --- /dev/null +++ b/pdns-backend-remote.postinst @@ -0,0 +1,8 @@ +#!/bin/sh +set -e + +dpkg-trigger pdns-server + +#DEBHELPER# + +exit 0 diff --git a/pdns-backend-sqlite3.config b/pdns-backend-sqlite3.config new file mode 100644 index 0000000..c34e84c --- /dev/null +++ b/pdns-backend-sqlite3.config @@ -0,0 +1,21 @@ +#!/bin/sh +# +# Install / upgrade database. + +set -e + +# Execute dbconfig-common +. /usr/share/debconf/confmodule +if [ -f /usr/share/dbconfig-common/dpkg/config.sqlite3 ]; then + . /usr/share/dbconfig-common/dpkg/config.sqlite3 + + # Default values + dbc_basepath=/var/lib/powerdns + dbc_dbname="pdns.sqlite3" + dbc_first_version="3.0-1" + + dbc_go pdns-backend-sqlite3 $@ +fi + +exit 0 + diff --git a/pdns-backend-sqlite3.dirs b/pdns-backend-sqlite3.dirs new file mode 100644 index 0000000..c50e5cc --- /dev/null +++ b/pdns-backend-sqlite3.dirs @@ -0,0 +1 @@ +var/lib/powerdns diff --git a/pdns-backend-sqlite3.docs b/pdns-backend-sqlite3.docs new file mode 100644 index 0000000..7dbfd92 --- /dev/null +++ b/pdns-backend-sqlite3.docs @@ -0,0 +1,3 @@ +modules/gsqlite3backend/dnssec-3.x_to_3.4.0_schema.sqlite3.sql +modules/gsqlite3backend/nodnssec-3.x_to_3.4.0_schema.sqlite3.sql +modules/gsqlite3backend/schema.sqlite3.sql diff --git a/pdns-backend-sqlite3.install b/pdns-backend-sqlite3.install new file mode 100644 index 0000000..37e8cff --- /dev/null +++ b/pdns-backend-sqlite3.install @@ -0,0 +1,4 @@ +debian/config/pdns.local.gsqlite3.conf usr/share/pdns-backend-sqlite3 +debian/sql/sqlite3/*.* usr/share/dbconfig-common/data/pdns-backend-sqlite3/upgrade/sqlite3/ +debian/sql/sqlite3/sqlite3 usr/share/dbconfig-common/data/pdns-backend-sqlite3/install/ +usr/lib/*/pdns/libgsqlite3backend.so* diff --git a/pdns-backend-sqlite3.postinst b/pdns-backend-sqlite3.postinst new file mode 100644 index 0000000..b95cabb --- /dev/null +++ b/pdns-backend-sqlite3.postinst @@ -0,0 +1,68 @@ +#! /bin/sh +# +# postinst script for pdns-backend-sqlite3 + +set -e + +# Execute dbconfig-common +. /usr/share/debconf/confmodule + +if [ -n "$PDNSDEBUG" ]; then + echo "now debugging $0 $@" + set -x +fi + +PKGNAME="pdns-backend-sqlite3" + +# rename ucf-conffile. This was mostly stolen from cacti.postinst after +# a short discussion on debian-mentors, see +# http://lists.debian.org/debian-mentors/2013/07/msg00027.html +# and the following thread. Thanks to Paul Gevers +renameconffile() { + oldname="$1" + newname="$2" + sourcefile="$3" + if [ -f $oldname ] ; then + if [ ! -e $newname ] ; then + mv $oldname $newname +# else: Don't do anything, leave old file in place + fi + ucf --purge $oldname + ucfr --purge $PKGNAME $oldname + elif [ ! -e $newname ] ; then +# The file was removed, we should respect that. Unfortunately, we don't +# have a proper way to tell ucf that for the new location, so we need +# to hack it a bit. +# We only need to do this if the target does not already exist. If the +# target already exists, we can later call ucf straight as there +# is already a version of the file available, althought never +# provided by this package, but we can just propose the new file anyway. + ucf --debconf-ok $sourcefile $newname + ucfr $PKGNAME $newname + rm -f $newname + fi +} + +if [ "$1" = "configure" ]; then + if [ -n "$2" ] && dpkg --compare-versions "$2" lt 3.3; then + renameconffile /etc/powerdns/pdns.d/pdns.local.gsqlite3 /etc/powerdns/pdns.d/pdns.local.gsqlite3.conf /dev/null + fi +fi + +. /usr/share/dbconfig-common/dpkg/postinst.sqlite3 +dbc_first_version="3.0-1" +dbc_generate_include_args="-o template_infile=/usr/share/pdns-backend-sqlite3/pdns.local.gsqlite3.conf" +dbc_generate_include=template:/etc/powerdns/pdns.d/pdns.local.gsqlite3.conf +dbc_generate_include_owner=pdns +dbc_generate_include_perms=0640 +dbc_dbfile_owner=pdns:pdns +dbc_dbfile_perms=0640 +dbc_go pdns-backend-sqlite3 $@ + +ucfr $PKGNAME /etc/powerdns/pdns.d/pdns.local.gsqlite3.conf + +dpkg-trigger pdns-server + +#DEBHELPER# + +exit 0 diff --git a/pdns-backend-sqlite3.postrm b/pdns-backend-sqlite3.postrm new file mode 100644 index 0000000..47f0934 --- /dev/null +++ b/pdns-backend-sqlite3.postrm @@ -0,0 +1,35 @@ +#!/bin/sh +set -e + +if [ -n "$PDNSDEBUG" ]; then + echo "now debugging $0 $@" + set -x +fi + +PKGNAME="pdns-backend-sqlite3" + +# Execute dbconfig-common +if [ -f /usr/share/debconf/confmodule ]; then + . /usr/share/debconf/confmodule +fi +if [ -f /usr/share/dbconfig-common/dpkg/postrm.sqlite3 ]; then + . /usr/share/dbconfig-common/dpkg/postrm.sqlite3 + dbc_go pdns-backend-sqlite3 $@ +fi + +if [ "$1" = "purge" ]; then + # Remove files registered with ucf. + if command -v ucfq >/dev/null; then + for file in $(ucfq --with-colons "$PKGNAME" | cut --delimiter=: --fields=1); do + rm -f ${file} + ucf --purge ${file} + ucfr --purge $PKGNAME ${file} + done + else + echo >&2 "ucf no longer installed, not cleaning up" + fi +fi + +#DEBHELPER# + +exit 0 diff --git a/pdns-backend-sqlite3.prerm b/pdns-backend-sqlite3.prerm new file mode 100644 index 0000000..bf71ca2 --- /dev/null +++ b/pdns-backend-sqlite3.prerm @@ -0,0 +1,11 @@ +#!/bin/sh +set -e + +# Execute dbconfig-common +. /usr/share/debconf/confmodule +. /usr/share/dbconfig-common/dpkg/prerm.sqlite3 +dbc_go pdns-backend-sqlite3 $@ + +#DEBHELPER# + +exit 0 diff --git a/pdns-backend-tinydns.examples b/pdns-backend-tinydns.examples new file mode 100644 index 0000000..df4635e --- /dev/null +++ b/pdns-backend-tinydns.examples @@ -0,0 +1 @@ +debian/config/tinydns.conf diff --git a/pdns-backend-tinydns.install b/pdns-backend-tinydns.install new file mode 100644 index 0000000..5d4ab6b --- /dev/null +++ b/pdns-backend-tinydns.install @@ -0,0 +1 @@ +usr/lib/*/pdns/libtinydnsbackend.so* diff --git a/pdns-backend-tinydns.postinst b/pdns-backend-tinydns.postinst new file mode 100644 index 0000000..1beff20 --- /dev/null +++ b/pdns-backend-tinydns.postinst @@ -0,0 +1,8 @@ +#!/bin/sh +set -e + +dpkg-trigger pdns-server + +#DEBHELPER# + +exit 0 diff --git a/pdns-server.README.Debian b/pdns-server.README.Debian new file mode 100644 index 0000000..58c50ec --- /dev/null +++ b/pdns-server.README.Debian @@ -0,0 +1,25 @@ +Notes about Debian's PowerDNS package +------------------------------------- + + + Introduction + +PowerDNS is a powerful DNS server, it has the ability to serve data +from different backends, including MySQL, PostgreSQL, LDAP etc. + + + Configure + +The configuration for PowerDNS is separated in different files. In +/etc/powerdns/pdns.conf are the base server settings, the configuration for +specific backends could go into any other file (ending in .conf) in +/etc/powerdns/pdns.d/. launch= settings can be chained by using the launch+= +syntax. + + + Chroot + +PowerDNS can run in a chrooted environment, but this has some disadvantages. +It is not easy to connect via a socket to another service like MySQL or +PostgreSQL. When using the sqlite backend, the database needs to live inside +the chroot. With systemd, the service startup notification currently does +not work for similar reasons. If you don't have these restrictions you can +enable the chroot option. + diff --git a/pdns-server.dirs b/pdns-server.dirs new file mode 100644 index 0000000..f464f58 --- /dev/null +++ b/pdns-server.dirs @@ -0,0 +1 @@ +etc/powerdns/pdns.d diff --git a/pdns-server.install b/pdns-server.install new file mode 100644 index 0000000..89f2775 --- /dev/null +++ b/pdns-server.install @@ -0,0 +1,7 @@ +lib/systemd/system/* +usr/bin/pdns_control +usr/bin/pdnsutil +usr/bin/zone2json +usr/bin/zone2sql +usr/lib/*/pdns/librandombackend.so* +usr/sbin/pdns_server diff --git a/pdns-server.lintian-overrides b/pdns-server.lintian-overrides new file mode 100644 index 0000000..b6b6bec --- /dev/null +++ b/pdns-server.lintian-overrides @@ -0,0 +1,4 @@ +# Often this file will contain passwords. +pdns-server: non-standard-file-perm etc/powerdns/pdns.conf 0600 != 0644 +# We load lsb-functions conditionally. +pdns-server: init.d-script-needs-depends-on-lsb-base diff --git a/pdns-server.manpages b/pdns-server.manpages new file mode 100644 index 0000000..effe502 --- /dev/null +++ b/pdns-server.manpages @@ -0,0 +1,5 @@ +debian/tmp/usr/share/man/man1/pdns_control.1 +debian/tmp/usr/share/man/man1/pdns_server.1 +debian/tmp/usr/share/man/man1/pdnsutil.1 +debian/tmp/usr/share/man/man1/zone2json.1 +debian/tmp/usr/share/man/man1/zone2sql.1 diff --git a/pdns-server.pdns.default b/pdns-server.pdns.default new file mode 100644 index 0000000..0519ac1 --- /dev/null +++ b/pdns-server.pdns.default @@ -0,0 +1,5 @@ +# Variables for the PowerDNS sysv init script. +# Note: ignored under systemd. + +# Arguments to the started daemon +DAEMON_ARGS="" diff --git a/pdns-server.pdns.init b/pdns-server.pdns.init new file mode 100644 index 0000000..16ce98b --- /dev/null +++ b/pdns-server.pdns.init @@ -0,0 +1,270 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: pdns +# Required-Start: $network $remote_fs $syslog +# Required-Stop: $network $remote_fs $syslog +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Should-Start: slapd +# Should-Stop: slapd +# Short-Description: PowerDNS Authoritative Name Server +# Description: PDNS is a versatile high performance authoritative nameser +### END INIT INFO + +PATH=/bin:/sbin:/usr/bin:/usr/sbin +BINARYPATH=/usr/bin +SBINARYPATH=/usr/sbin + +ODESC="PowerDNS Authoritative Name Server" +DESC="$ODESC" +NAME=pdns +DAEMON=/usr/sbin/pdns_server +DAEMON_ARGS="" +CONTROL=/usr/bin/pdns_control +PIDFILE=/var/run/$NAME.pid +SCRIPTNAME=/etc/init.d/$NAME + +[ -x "$DAEMON" ] || exit 0 + +[ -r /etc/default/pdns ] && . /etc/default/pdns + +# Handle instance scripts +suffix=$(basename $0 | cut -d- -f2- -s) + +if [ -n "$suffix" ]; then + SUFFIX="--config-name=$suffix" + DAEMON_ARGS="$DAEMON_ARGS $SUFFIX" + NAME="$NAME-$suffix" + DESC="$DESC (config name $suffix)" + PIDFILE="/var/run/$NAME-$suffix.pid" +fi + +# Load lsb stuff for systemd redirection (if available). +if [ -e /lib/lsb/init-functions ]; then + . /lib/lsb/init-functions +fi + +# function to invoke properly parametrized pdns_control +doPC() +{ + $CONTROL $SUFFIX $1 $2 2> /dev/null + return $? +} + +isrunning() +{ + doPC ping > /dev/null + return $? +} + +# +# Function that starts the daemon/service +# +do_start() +{ + # Return + # 0 if daemon has been started + # 1 if daemon was already running + # 2 if daemon could not be started + if isrunning; then + return 1 + fi + start-stop-daemon --start --quiet \ + --pidfile $PIDFILE --exec $DAEMON -- \ + $DAEMON_ARGS --daemon --guardian=yes \ + || return 2 +} + +# +# Function that stops the daemon/service +# +do_stop() +{ + # Return + # 0 if daemon has been stopped + # 1 if daemon was already stopped + # 2 if daemon could not be stopped + # other if a failure occurred + doPC quit >/dev/null + RETVAL="2" + for sec in $(seq 1 5); do + if ! isrunning; then + RETVAL="0" + break + fi + sleep 1 + done + [ "$RETVAL" = 2 ] && return 2 + rm -f $PIDFILE +} + +case "$1" in + start) + echo -n "Starting $DESC: $NAME ..." + do_start + case "$?" in + 0|1) + echo done + exit 0 + ;; + 2) + echo failed + exit 1 + ;; + esac + ;; + stop) + echo -n "Stopping $DESC: $NAME ..." + do_stop + case "$?" in + 0|1) + echo done + exit 0 + ;; + 2) + echo failed + exit 1 + ;; + esac + ;; + status) + if isrunning; then + echo "$NAME is running: $(doPC status)" + exit 0 + else + echo "$NAME is not running" + exit 3 + fi + ;; + force-stop) + echo -n "Killing $ODESC (all instances): $NAME ..." + kill -9 $(pidof pdns_server) + case "$?" in + 0) + echo done + exit 0 + ;; + 1) + echo failed + exit 1 + ;; + esac + ;; + restart) + echo -n "Restarting $DESC: $NAME ..." + do_stop + case "$?" in + 0|1) + do_start + case "$?" in + 0) + echo done + exit 0 + ;; + 1) + echo failed # Old process is still running + exit 1 + ;; + *) + echo failed # Failed to start + exit 1 + ;; + esac + ;; + *) + # Failed to stop + echo failed + exit 1 + ;; + esac + ;; + reload|force-reload) + echo -n "Reloading $DESC: $NAME ..." + if isrunning; then + doPC cycle >/dev/null + case "$?" in + 0) + echo done + exit 0 + ;; + 1) + echo failed + exit 1 + ;; + esac + else + echo done + exit 7 + fi + ;; + monitor) + if isrunning; then + echo "already running" + exit 1 + else + $DAEMON $DAEMON_ARGS --daemon=no --guardian=no --control-console --loglevel=9 + exit 0 + fi + ;; + dump) + if isrunning; then + doPC list + exit 0 + else + echo "not running" + exit 7 + fi + ;; + show) + if isrunning; then + if [ $# -lt 2 ]; then + echo "Insufficient parameters" + exit 2 + fi + echo -n "$2=" + doPC show $2 + exit 0 + else + echo "not running" + exit 7 + fi + ;; + mrtg) + if isrunning; then + if [ $# -lt 2 ]; then + echo "Insufficient parameters" + exit 2 + fi + doPC show $2 + if [ "$3x" != "x" ]; then + doPC show $3 + else + echo 0 + fi + doPC uptime + echo "$DESC" + exit 0 + else + echo "not running" + exit 7 + fi + ;; + cricket) + if isrunning; then + if [ $# -lt 2 ]; then + echo "Insufficient parameters" + exit 1 + fi + doPC show $2 + exit 0 + else + echo "not running" + exit 7 + fi + ;; + *) + echo "Usage: $SCRIPTNAME {start|stop|status|force-stop|restart|reload|monitor|dump|show|mrtg|cricket}" + ;; +esac + +exit 0 diff --git a/pdns-server.postinst b/pdns-server.postinst new file mode 100644 index 0000000..dcb2003 --- /dev/null +++ b/pdns-server.postinst @@ -0,0 +1,41 @@ +#!/bin/sh +set -e + +if [ -n "$PDNSDEBUG" ]; then + echo "now debugging $0 $@" + set -x +fi + +# Startup errors should never cause dpkg to fail. +initscript_error() { + return 0 +} + +case "$1" in + configure) + if [ -z "`getent group pdns`" ]; then + addgroup --quiet --system pdns + fi + if [ -z "`getent passwd pdns`" ]; then + echo -n "Creating user and group pdns..." + adduser --quiet --system --home /var/spool/powerdns --shell /bin/false --ingroup pdns --disabled-password --disabled-login --gecos "PowerDNS" pdns + echo "done" + fi + ;; + + triggered) + invoke-rc.d pdns restart || : + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +#DEBHELPER# + +exit 0 diff --git a/pdns-server.preinst b/pdns-server.preinst new file mode 100644 index 0000000..837a3a0 --- /dev/null +++ b/pdns-server.preinst @@ -0,0 +1,49 @@ +#!/bin/sh +set -e + +ucf_delete_unchanged() { + # pdns-server no longer Depends: ucf, so only do this if ucf is installed. + if which ucf >/dev/null; then + if ucfq --with-colons "$1" | grep -q ':pdns-server:Yes:No'; then + # file exists, not changed; delete it + echo "Removing unchanged configuration file $1" + rm -f "$1" + fi + ucf --purge "$1" + ucfr --purge pdns-server "$1" + else + echo "E: ucf not installed, can not remove unchanged configuration file $1." + fi +} + +backup_conffile() { + if [ -e "$1" ]; then + echo "Moving configuration file $1 to $1.dpkg-bak" + mv -f "$1" "$1".dpkg-bak + fi +} + +case "$1" in + install|upgrade) + # for upgrades from before 4.0.0-2, drop empty file created by previous postinst. + if [ -e /etc/powerdns/bindbackend.conf ] && echo "d41d8cd98f00b204e9800998ecf8427e /etc/powerdns/bindbackend.conf" | md5sum --check --status; then + rm -f /etc/powerdns/bindbackend.conf + fi + + # 4.0.0-2 moved pdns-server' configuration files back under dpkg conffile control (from ucf), + # and bindbackend was split into its own package. + # the upgrade code in 4.0.0-2 did not delete unchanged files. + if [ ! -z "$2" ] && dpkg --compare-versions "$2" le "4.0.0-3~"; then + # we want to preserve the following if they were changed. + ucf_delete_unchanged "/etc/default/pdns" + ucf_delete_unchanged "/etc/powerdns/pdns.conf" + ucf_delete_unchanged "/etc/powerdns/pdns.d/pdns.local.conf" + # pdns.simplebind.conf is no longer useful with just pdns-server, + # pdns-backend-bind will install bind.conf instead. + ucf_delete_unchanged "/etc/powerdns/pdns.d/pdns.simplebind.conf" + backup_conffile "/etc/powerdns/pdns.d/pdns.simplebind.conf" + fi + ;; +esac + +#DEBHELPER# diff --git a/pdns-tools.install b/pdns-tools.install new file mode 100644 index 0000000..dd9d70c --- /dev/null +++ b/pdns-tools.install @@ -0,0 +1,15 @@ +usr/bin/calidns +usr/bin/dnsbulktest +usr/bin/dnsgram +usr/bin/dnsreplay +usr/bin/dnsscan +usr/bin/dnsscope +usr/bin/dnstcpbench +usr/bin/dnswasher +usr/bin/dumresp +usr/bin/ixplore +usr/bin/nproxy +usr/bin/nsec3dig +usr/bin/pdns_notify +usr/bin/saxfr +usr/bin/sdig diff --git a/pdns-tools.manpages b/pdns-tools.manpages new file mode 100644 index 0000000..afbafe8 --- /dev/null +++ b/pdns-tools.manpages @@ -0,0 +1,15 @@ +debian/tmp/usr/share/man/man1/calidns.1 +debian/tmp/usr/share/man/man1/dnsbulktest.1 +debian/tmp/usr/share/man/man1/dnsgram.1 +debian/tmp/usr/share/man/man1/dnsreplay.1 +debian/tmp/usr/share/man/man1/dnsscan.1 +debian/tmp/usr/share/man/man1/dnsscope.1 +debian/tmp/usr/share/man/man1/dnstcpbench.1 +debian/tmp/usr/share/man/man1/dnswasher.1 +debian/tmp/usr/share/man/man1/dumresp.1 +debian/tmp/usr/share/man/man1/ixplore.1 +debian/tmp/usr/share/man/man1/nproxy.1 +debian/tmp/usr/share/man/man1/nsec3dig.1 +debian/tmp/usr/share/man/man1/pdns_notify.1 +debian/tmp/usr/share/man/man1/saxfr.1 +debian/tmp/usr/share/man/man1/sdig.1 diff --git a/rules b/rules new file mode 100755 index 0000000..a270e1a --- /dev/null +++ b/rules @@ -0,0 +1,81 @@ +#!/usr/bin/make -f +DEB_HOST_ARCH_OS ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_OS) +DEB_HOST_ARCH_BITS ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_BITS) +DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) + +# Vendor and version +version := $(shell dpkg-parsechangelog -SVersion).$(shell dpkg-vendor --query Vendor) +CXXFLAGS += -DPACKAGEVERSION='"$(version)"' + +# Backends +backends := bind ldap pipe gmysql godbc gpgsql gsqlite3 geoip lua mydns remote random opendbx tinydns + +# Disable systemd integration on non-linux archs +ifeq ($(DEB_HOST_ARCH_OS),linux) +CONFIGURE_ARGS += --enable-systemd --with-systemd=/lib/systemd/system +else +CONFIGURE_ARGS += --disable-systemd +endif + + +# Use new build system +%: + dh $@ \ + --with autoreconf \ + --with systemd \ + --parallel + +override_dh_auto_configure: + test -f pdns/dnslabeltext.cc && mv pdns/dnslabeltext.cc debian/dnslabeltext.cc.moved || true + dh_auto_configure -- \ + --sysconfdir=/etc/powerdns \ + --with-dynmodules="$(backends)" \ + --with-modules="" \ + --enable-libsodium \ + --enable-tools \ + --without-protobuf \ + --enable-unit-tests \ + --enable-reproducible \ + $(CONFIGURE_ARGS) + +override_dh_strip: + dh_strip --ddeb-migration='pdns-server-dbg (<< 4.0.0-0)' + +override_dh_systemd_enable: + dh_systemd_enable --name=pdns + +# init script needs to be named pdns, not pdns-server. if no pdns-backend +# is installed, start will fail, so pass --no-start. backends will trigger +# a restart. +override_dh_installinit: + dh_installinit --error-handler=initscript_error --no-start --restart-after-upgrade --name=pdns + +override_dh_install: + dh_install + ./pdns/pdns_server --no-config --config | sed \ + -e 's!# module-dir=.*!!' \ + -e 's!# include-dir=.*!&\ninclude-dir=/etc/powerdns/pdns.d!' \ + -e 's!# launch=.*!&\nlaunch=!' \ + -e 's!# setgid=.*!setgid=pdns!' \ + -e 's!# setuid=.*!setuid=pdns!' \ + -e 's!# security-poll-suffix=.*!&\nsecurity-poll-suffix=!' \ + > debian/pdns-server/etc/powerdns/pdns.conf +ifeq ($(DEB_HOST_ARCH_BITS),32) + echo RestrictAddressFamilies is broken on 32bit, removing it from service file + perl -ni -e 'print unless /RestrictAddressFamilies/' debian/pdns-server/lib/systemd/system/*.service +endif + +# Verbose tests (shows used compiler/linker and their flags) +override_dh_auto_test: + echo Skipping make test, as dependencies are missing. + make check + +override_dh_fixperms: + dh_fixperms + # these files often contain passwords. + chmod 0600 debian/pdns-server/etc/powerdns/pdns.conf + +# restore moved files +override_dh_clean: + test -f debian/dnslabeltext.cc.moved && mv debian/dnslabeltext.cc.moved pdns/dnslabeltext.cc || true + dh_clean diff --git a/source/format b/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/sql/mysql/3.0-1 b/sql/mysql/3.0-1 new file mode 100644 index 0000000..696d495 --- /dev/null +++ b/sql/mysql/3.0-1 @@ -0,0 +1,32 @@ +create table domainmetadata ( + id INT auto_increment, + domain_id INT NOT NULL, + kind VARCHAR(16), + content TEXT, + primary key(id) +); + +create table cryptokeys ( + id INT auto_increment, + domain_id INT NOT NULL, + flags INT NOT NULL, + active BOOL, + content TEXT, + primary key(id) +); + +alter table records add ordername VARCHAR(255); +alter table records add auth bool; +create index orderindex on records(ordername); + +create table tsigkeys ( + id INT auto_increment, + name VARCHAR(255), + algorithm VARCHAR(255), + secret VARCHAR(255), + primary key(id) +); + +create unique index namealgoindex on tsigkeys(name, algorithm); + +alter table records change column type type VARCHAR(10); diff --git a/sql/mysql/3.3.1-4 b/sql/mysql/3.3.1-4 new file mode 100644 index 0000000..1970623 --- /dev/null +++ b/sql/mysql/3.3.1-4 @@ -0,0 +1,17 @@ +-- 3.0 to 3.1 + +ALTER TABLE records MODIFY content VARCHAR(64000); +ALTER TABLE tsigkeys MODIFY algorithm VARCHAR(50); + +-- 3.1 to 3.2 +ALTER TABLE records MODIFY ordername VARCHAR(255) BINARY; +DROP INDEX orderindex ON records; +CREATE INDEX recordorder ON records (domain_id, ordername); + +-- 3.2 to 3.3 +ALTER TABLE supermasters MODIFY ip VARCHAR(64); +DROP INDEX rec_name_index ON records; + +-- 3.3 to 3.3.1 +-- None for MySQL + diff --git a/sql/mysql/3.4.0 b/sql/mysql/3.4.0 new file mode 100644 index 0000000..a97f576 --- /dev/null +++ b/sql/mysql/3.4.0 @@ -0,0 +1,31 @@ +-- 3.3.1 dnssec to 3.4 +ALTER TABLE records ADD disabled TINYINT(1) DEFAULT 0 AFTER change_date; +ALTER TABLE records MODIFY content VARCHAR(64000) DEFAULT NULL; +ALTER TABLE records MODIFY ordername VARCHAR(255) BINARY DEFAULT NULL; +ALTER TABLE records MODIFY auth TINYINT(1) DEFAULT 1; +ALTER TABLE records MODIFY type VARCHAR(10); +ALTER TABLE supermasters MODIFY ip VARCHAR(64) NOT NULL; +ALTER TABLE supermasters ADD PRIMARY KEY(ip, nameserver); +ALTER TABLE supermasters MODIFY account VARCHAR(40) NOT NULL; +ALTER TABLE domainmetadata MODIFY kind VARCHAR(32); +ALTER TABLE tsigkeys MODIFY algorithm VARCHAR(50); +ALTER TABLE domainmetadata ENGINE=InnoDB; +ALTER TABLE cryptokeys ENGINE=InnoDB; +ALTER TABLE tsigkeys ENGINE=InnoDB; + +CREATE INDEX domainmetadata_idx ON domainmetadata (domain_id, kind); + +CREATE TABLE comments ( + id INT AUTO_INCREMENT, + domain_id INT NOT NULL, + name VARCHAR(255) NOT NULL, + type VARCHAR(10) NOT NULL, + modified_at INT NOT NULL, + account VARCHAR(40) NOT NULL, + comment VARCHAR(64000) NOT NULL, + PRIMARY KEY(id) +) Engine=InnoDB; + +CREATE INDEX comments_domain_id_idx ON comments (domain_id); +CREATE INDEX comments_name_type_idx ON comments (name, type); +CREATE INDEX comments_order_idx ON comments (domain_id, modified_at); diff --git a/sql/mysql/4.0.1-6 b/sql/mysql/4.0.1-6 new file mode 100644 index 0000000..d6140a3 --- /dev/null +++ b/sql/mysql/4.0.1-6 @@ -0,0 +1,21 @@ +-- MariaDB default index size and default character set causes the +-- name indexes to fail to create. Therefore we are overriding the +-- character set to something smaller than the insane utf8mb4 def. + +ALTER TABLE domains CONVERT TO CHARACTER SET 'latin1'; +ALTER TABLE domains MODIFY account VARCHAR(40) CHARACTER SET 'utf8' DEFAULT NULL; + +ALTER TABLE records CONVERT TO CHARACTER SET 'latin1'; + +ALTER TABLE supermasters CONVERT TO CHARACTER SET 'latin1'; +ALTER TABLE supermasters MODIFY account VARCHAR(40) CHARACTER SET 'utf8' NOT NULL; + +ALTER TABLE comments CONVERT TO CHARACTER SET 'latin1'; +ALTER TABLE comments MODIFY account VARCHAR(40) CHARACTER SET 'utf8' NOT NULL; +ALTER TABLE comments MODIFY comment TEXT CHARACTER SET 'utf8' NOT NULL; + +ALTER TABLE domainmetadata CONVERT TO CHARACTER SET 'latin1'; + +ALTER TABLE cryptokeys CONVERT TO CHARACTER SET 'latin1'; + +ALTER TABLE tsigkeys CONVERT TO CHARACTER SET 'latin1'; diff --git a/sql/mysql/4.0.3-1 b/sql/mysql/4.0.3-1 new file mode 100644 index 0000000..c63c753 --- /dev/null +++ b/sql/mysql/4.0.3-1 @@ -0,0 +1,3 @@ +-- Use TEXT in place of VARCHAR(64000) for compatibility with mysql 5.6 and mariadb. +-- pdns 4.0.1, 4.0.2 got this wrong. +ALTER TABLE comments MODIFY comment TEXT CHARACTER SET 'utf8' NOT NULL; diff --git a/sql/mysql/4.1.0-1 b/sql/mysql/4.1.0-1 new file mode 100644 index 0000000..acd9ce3 --- /dev/null +++ b/sql/mysql/4.1.0-1 @@ -0,0 +1,5 @@ +ALTER TABLE records MODIFY id BIGINT AUTO_INCREMENT; +CREATE INDEX ordername ON records (ordername); +DROP INDEX recordorder ON records; + +DROP INDEX comments_domain_id_idx ON comments; diff --git a/sql/mysql/mysql b/sql/mysql/mysql new file mode 100644 index 0000000..455de0b --- /dev/null +++ b/sql/mysql/mysql @@ -0,0 +1,93 @@ +-- MariaDB default index size and default character set causes the +-- name indexes to fail to create. Therefore we are overriding the +-- character set to something smaller than the insane utf8mb4 def. + +CREATE TABLE domains ( + id INT AUTO_INCREMENT, + name VARCHAR(255) NOT NULL, + master VARCHAR(128) DEFAULT NULL, + last_check INT DEFAULT NULL, + type VARCHAR(6) NOT NULL, + notified_serial INT DEFAULT NULL, + account VARCHAR(40) CHARACTER SET 'utf8' DEFAULT NULL, + PRIMARY KEY (id) +) Engine=InnoDB CHARACTER SET 'latin1'; + +CREATE UNIQUE INDEX name_index ON domains(name); + + +CREATE TABLE records ( + id BIGINT AUTO_INCREMENT, + domain_id INT DEFAULT NULL, + name VARCHAR(255) DEFAULT NULL, + type VARCHAR(10) DEFAULT NULL, + content VARCHAR(64000) DEFAULT NULL, + ttl INT DEFAULT NULL, + prio INT DEFAULT NULL, + change_date INT DEFAULT NULL, + disabled TINYINT(1) DEFAULT 0, + ordername VARCHAR(255) BINARY DEFAULT NULL, + auth TINYINT(1) DEFAULT 1, + PRIMARY KEY (id) +) Engine=InnoDB CHARACTER SET 'latin1'; + +CREATE INDEX nametype_index ON records(name,type); +CREATE INDEX domain_id ON records(domain_id); +CREATE INDEX ordername ON records (ordername); + + +CREATE TABLE supermasters ( + ip VARCHAR(64) NOT NULL, + nameserver VARCHAR(255) NOT NULL, + account VARCHAR(40) CHARACTER SET 'utf8' NOT NULL, + PRIMARY KEY (ip, nameserver) +) Engine=InnoDB CHARACTER SET 'latin1'; + + +CREATE TABLE comments ( + id INT AUTO_INCREMENT, + domain_id INT NOT NULL, + name VARCHAR(255) NOT NULL, + type VARCHAR(10) NOT NULL, + modified_at INT NOT NULL, + account VARCHAR(40) CHARACTER SET 'utf8' NOT NULL, + comment TEXT CHARACTER SET 'utf8' NOT NULL, + PRIMARY KEY (id) +) Engine=InnoDB CHARACTER SET 'latin1'; + +CREATE INDEX comments_name_type_idx ON comments (name, type); +CREATE INDEX comments_order_idx ON comments (domain_id, modified_at); + + +CREATE TABLE domainmetadata ( + id INT AUTO_INCREMENT, + domain_id INT NOT NULL, + kind VARCHAR(32), + content TEXT, + PRIMARY KEY (id) +) Engine=InnoDB CHARACTER SET 'latin1'; + +CREATE INDEX domainmetadata_idx ON domainmetadata (domain_id, kind); + + +CREATE TABLE cryptokeys ( + id INT AUTO_INCREMENT, + domain_id INT NOT NULL, + flags INT NOT NULL, + active BOOL, + content TEXT, + PRIMARY KEY(id) +) Engine=InnoDB CHARACTER SET 'latin1'; + +CREATE INDEX domainidindex ON cryptokeys(domain_id); + + +CREATE TABLE tsigkeys ( + id INT AUTO_INCREMENT, + name VARCHAR(255), + algorithm VARCHAR(50), + secret VARCHAR(255), + PRIMARY KEY (id) +) Engine=InnoDB CHARACTER SET 'latin1'; + +CREATE UNIQUE INDEX namealgoindex ON tsigkeys(name, algorithm); diff --git a/sql/pgsql/3.0-1 b/sql/pgsql/3.0-1 new file mode 100644 index 0000000..a508e7a --- /dev/null +++ b/sql/pgsql/3.0-1 @@ -0,0 +1,29 @@ +alter table records add ordername VARCHAR(255); +alter table records add auth bool; +create index orderindex on records(ordername); + +create table domainmetadata ( + id SERIAL PRIMARY KEY, + domain_id INT REFERENCES domains(id) ON DELETE CASCADE, + kind VARCHAR(16), + content TEXT +); + +create table cryptokeys ( + id SERIAL PRIMARY KEY, + domain_id INT REFERENCES domains(id) ON DELETE CASCADE, + flags INT NOT NULL, + active BOOL, + content TEXT +); + +create table tsigkeys ( + id SERIAL PRIMARY KEY, + name VARCHAR(255), + algorithm VARCHAR(255), + secret VARCHAR(255) +); + +create unique index namealgoindex on tsigkeys(name, algorithm); + +alter table records alter column type type VARCHAR(10); diff --git a/sql/pgsql/3.3-1 b/sql/pgsql/3.3-1 new file mode 100644 index 0000000..d5be011 --- /dev/null +++ b/sql/pgsql/3.3-1 @@ -0,0 +1,26 @@ +-- Change master VARCHAR(20) -> VARCHAR(255) +ALTER TABLE domains ALTER COLUMN master TYPE VARCHAR(255); + +-- Change content VARCHAR(255) -> VARCHAR(65535) +ALTER TABLE records ALTER COLUMN content TYPE VARCHAR(65535); + +-- Lowercase the name column and add a lowercase constraint check +UPDATE records SET name=lower(name); +ALTER TABLE records ADD CONSTRAINT c_lowercase_name CHECK (((name)::text = lower((name)::text))); + +-- Change ip VARCHAR(25) -> VARCHAR(64) +ALTER TABLE supermasters ALTER COLUMN ip TYPE VARCHAR(64); + +-- Recreate index +DROP INDEX IF EXISTS orderindex; +CREATE INDEX recordorder ON records (domain_id, ordername text_pattern_ops); + +-- Create an index on domainmetadata +CREATE INDEX domainidmetaindex ON domainmetadata(domain_id); + +-- Create an index on cryptokeys +CREATE INDEX domainidindex ON cryptokeys(domain_id); + +-- Change algorithm VARCHAR(255) -> VARCHAR(50) +ALTER TABLE tsigkeys ALTER COLUMN algorithm TYPE VARCHAR(50); + diff --git a/sql/pgsql/3.3.1-4 b/sql/pgsql/3.3.1-4 new file mode 100644 index 0000000..417184d --- /dev/null +++ b/sql/pgsql/3.3.1-4 @@ -0,0 +1,4 @@ +-- 3.3 to 3.3.1 +ALTER TABLE domains ADD CONSTRAINT c_lowercase_name CHECK (((name)::text = lower((name)::text))); +ALTER TABLE tsigkeys ADD CONSTRAINT c_lowercase_name check (((name)::text = lower((name)::text))); + diff --git a/sql/pgsql/3.4.0 b/sql/pgsql/3.4.0 new file mode 100644 index 0000000..121bed5 --- /dev/null +++ b/sql/pgsql/3.4.0 @@ -0,0 +1,35 @@ +-- 3.3.1 to 3.4 +ALTER TABLE records ADD disabled BOOL DEFAULT 'f'; +ALTER TABLE records ALTER COLUMN content TYPE VARCHAR(65535); +ALTER TABLE records ALTER COLUMN auth SET DEFAULT 't'; +ALTER TABLE records ALTER COLUMN type TYPE VARCHAR(10); +ALTER TABLE supermasters ALTER COLUMN ip TYPE INET USING ip::INET; +ALTER TABLE supermasters ALTER COLUMN account SET DEFAULT NOT NULL; +ALTER TABLE supermasters ADD CONSTRAINT supermasters_pkey PRIMARY KEY (ip, nameserver); +ALTER TABLE domainmetadata ALTER COLUMN kind TYPE VARCHAR(32); +ALTER TABLE tsigkeys ALTER COLUMN algorithm TYPE VARCHAR(50); + +-- recordorder was already in our 3.3.1 upgrade scripts, so drop it if needed +DROP INDEX IF EXISTS recordorder; + +CREATE INDEX recordorder ON records (domain_id, ordername text_pattern_ops); +DROP INDEX IF EXISTS orderindex; + + +CREATE TABLE comments ( + id SERIAL PRIMARY KEY, + domain_id INT NOT NULL, + name VARCHAR(255) NOT NULL, + type VARCHAR(10) NOT NULL, + modified_at INT NOT NULL, + account VARCHAR(40) DEFAULT NULL, + comment VARCHAR(65535) NOT NULL, + CONSTRAINT domain_exists + FOREIGN KEY(domain_id) REFERENCES domains(id) + ON DELETE CASCADE, + CONSTRAINT c_lowercase_name CHECK (((name)::TEXT = LOWER((name)::TEXT))) +); + +CREATE INDEX comments_domain_id_idx ON comments (domain_id); +CREATE INDEX comments_name_type_idx ON comments (name, type); +CREATE INDEX comments_order_idx ON comments (domain_id, modified_at); diff --git a/sql/pgsql/4.1.0-1 b/sql/pgsql/4.1.0-1 new file mode 100644 index 0000000..6c4f660 --- /dev/null +++ b/sql/pgsql/4.1.0-1 @@ -0,0 +1 @@ +ALTER TABLE records ALTER id TYPE BIGINT; diff --git a/sql/pgsql/pgsql b/sql/pgsql/pgsql new file mode 100644 index 0000000..b105d87 --- /dev/null +++ b/sql/pgsql/pgsql @@ -0,0 +1,95 @@ +CREATE TABLE domains ( + id SERIAL PRIMARY KEY, + name VARCHAR(255) NOT NULL, + master VARCHAR(128) DEFAULT NULL, + last_check INT DEFAULT NULL, + type VARCHAR(6) NOT NULL, + notified_serial INT DEFAULT NULL, + account VARCHAR(40) DEFAULT NULL, + CONSTRAINT c_lowercase_name CHECK (((name)::TEXT = LOWER((name)::TEXT))) +); + +CREATE UNIQUE INDEX name_index ON domains(name); + + +CREATE TABLE records ( + id BIGSERIAL PRIMARY KEY, + domain_id INT DEFAULT NULL, + name VARCHAR(255) DEFAULT NULL, + type VARCHAR(10) DEFAULT NULL, + content VARCHAR(65535) DEFAULT NULL, + ttl INT DEFAULT NULL, + prio INT DEFAULT NULL, + change_date INT DEFAULT NULL, + disabled BOOL DEFAULT 'f', + ordername VARCHAR(255), + auth BOOL DEFAULT 't', + CONSTRAINT domain_exists + FOREIGN KEY(domain_id) REFERENCES domains(id) + ON DELETE CASCADE, + CONSTRAINT c_lowercase_name CHECK (((name)::TEXT = LOWER((name)::TEXT))) +); + +CREATE INDEX rec_name_index ON records(name); +CREATE INDEX nametype_index ON records(name,type); +CREATE INDEX domain_id ON records(domain_id); +CREATE INDEX recordorder ON records (domain_id, ordername text_pattern_ops); + + +CREATE TABLE supermasters ( + ip INET NOT NULL, + nameserver VARCHAR(255) NOT NULL, + account VARCHAR(40) NOT NULL, + PRIMARY KEY(ip, nameserver) +); + + +CREATE TABLE comments ( + id SERIAL PRIMARY KEY, + domain_id INT NOT NULL, + name VARCHAR(255) NOT NULL, + type VARCHAR(10) NOT NULL, + modified_at INT NOT NULL, + account VARCHAR(40) DEFAULT NULL, + comment VARCHAR(65535) NOT NULL, + CONSTRAINT domain_exists + FOREIGN KEY(domain_id) REFERENCES domains(id) + ON DELETE CASCADE, + CONSTRAINT c_lowercase_name CHECK (((name)::TEXT = LOWER((name)::TEXT))) +); + +CREATE INDEX comments_domain_id_idx ON comments (domain_id); +CREATE INDEX comments_name_type_idx ON comments (name, type); +CREATE INDEX comments_order_idx ON comments (domain_id, modified_at); + + +CREATE TABLE domainmetadata ( + id SERIAL PRIMARY KEY, + domain_id INT REFERENCES domains(id) ON DELETE CASCADE, + kind VARCHAR(32), + content TEXT +); + +CREATE INDEX domainidmetaindex ON domainmetadata(domain_id); + + +CREATE TABLE cryptokeys ( + id SERIAL PRIMARY KEY, + domain_id INT REFERENCES domains(id) ON DELETE CASCADE, + flags INT NOT NULL, + active BOOL, + content TEXT +); + +CREATE INDEX domainidindex ON cryptokeys(domain_id); + + +CREATE TABLE tsigkeys ( + id SERIAL PRIMARY KEY, + name VARCHAR(255), + algorithm VARCHAR(50), + secret VARCHAR(255), + CONSTRAINT c_lowercase_name CHECK (((name)::TEXT = LOWER((name)::TEXT))) +); + +CREATE UNIQUE INDEX namealgoindex ON tsigkeys(name, algorithm); diff --git a/sql/sqlite3/3.0-1 b/sql/sqlite3/3.0-1 new file mode 100644 index 0000000..1471339 --- /dev/null +++ b/sql/sqlite3/3.0-1 @@ -0,0 +1,27 @@ +alter table records add ordername VARCHAR(255); +alter table records add auth bool; +create index orderindex on records(ordername); + +create table domainmetadata ( + id INTEGER PRIMARY KEY, + domain_id INT NOT NULL, + kind VARCHAR(16) COLLATE NOCASE, + content TEXT +); + +create table cryptokeys ( + id INTEGER PRIMARY KEY, + domain_id INT DEFAULT NULL, + flags INT NOT NULL, + active BOOL, + content TEXT +); + +create table tsigkeys ( + id INTEGER PRIMARY KEY, + name VARCHAR(255) COLLATE NOCASE, + algorithm VARCHAR(255) COLLATE NOCASE, + secret VARCHAR(255) +); + +create unique index namealgoindex on tsigkeys(name, algorithm); diff --git a/sql/sqlite3/3.4.0 b/sql/sqlite3/3.4.0 new file mode 100644 index 0000000..3d88490 --- /dev/null +++ b/sql/sqlite3/3.4.0 @@ -0,0 +1,103 @@ +-- 3.x to 3.4 + +CREATE TABLE comments ( + id INTEGER PRIMARY KEY, + domain_id INTEGER NOT NULL, + name VARCHAR(255) NOT NULL, + type VARCHAR(10) NOT NULL, + modified_at INT NOT NULL, + account VARCHAR(40) DEFAULT NULL, + comment VARCHAR(65535) NOT NULL +); + +CREATE INDEX comments_domain_id_index ON comments (domain_id); +CREATE INDEX comments_nametype_index ON comments (name, type); +CREATE INDEX comments_order_idx ON comments (domain_id, modified_at); + + +BEGIN TRANSACTION; + CREATE TEMPORARY TABLE records_backup( + id INTEGER PRIMARY KEY, + domain_id INTEGER DEFAULT NULL, + name VARCHAR(255) DEFAULT NULL, + type VARCHAR(10) DEFAULT NULL, + content VARCHAR(65535) DEFAULT NULL, + ttl INTEGER DEFAULT NULL, + prio INTEGER DEFAULT NULL, + change_date INTEGER DEFAULT NULL, + ordername VARCHAR(255), + auth BOOL DEFAULT 1 + ); + + INSERT INTO records_backup SELECT id,domain_id,name,type,content,ttl,prio,change_date,ordername,auth FROM records; + DROP TABLE records; + + CREATE TABLE records ( + id INTEGER PRIMARY KEY, + domain_id INTEGER DEFAULT NULL, + name VARCHAR(255) DEFAULT NULL, + type VARCHAR(10) DEFAULT NULL, + content VARCHAR(65535) DEFAULT NULL, + ttl INTEGER DEFAULT NULL, + prio INTEGER DEFAULT NULL, + change_date INTEGER DEFAULT NULL, + disabled BOOLEAN DEFAULT 0, + ordername VARCHAR(255), + auth BOOL DEFAULT 1 + ); + + CREATE INDEX rec_name_index ON records(name); + CREATE INDEX nametype_index ON records(name,type); + CREATE INDEX domain_id ON records(domain_id); + CREATE INDEX orderindex ON records(ordername); + + INSERT INTO records SELECT id,domain_id,name,type,content,ttl,prio,change_date,0,ordername,auth FROM records_backup; + DROP TABLE records_backup; +COMMIT; + + +BEGIN TRANSACTION; + CREATE TEMPORARY TABLE supermasters_backup ( + ip VARCHAR(64) NOT NULL, + nameserver VARCHAR(255) NOT NULL COLLATE NOCASE, + account VARCHAR(40) DEFAULT NULL + ); + + INSERT INTO supermasters_backup SELECT ip,nameserver,account FROM supermasters; + UPDATE supermasters_backup SET account='' WHERE account IS NULL; + DROP TABLE supermasters; + + CREATE TABLE supermasters ( + ip VARCHAR(64) NOT NULL, + nameserver VARCHAR(255) NOT NULL COLLATE NOCASE, + account VARCHAR(40) NOT NULL + ); + CREATE UNIQUE INDEX ip_nameserver_pk ON supermasters(ip, nameserver); + + INSERT INTO supermasters SELECT ip,nameserver,account FROM supermasters_backup; + DROP TABLE supermasters_backup; +COMMIT; + + +BEGIN TRANSACTION; + CREATE TABLE domainmetadata_backup ( + id INTEGER PRIMARY KEY, + domain_id INT NOT NULL, + kind VARCHAR(32) COLLATE NOCASE, + content TEXT + ); + + INSERT INTO domainmetadata_backup SELECT id,domain_id,kind,content FROM domainmetadata; + DROP TABLE domainmetadata; + + CREATE TABLE domainmetadata ( + id INTEGER PRIMARY KEY, + domain_id INT NOT NULL, + kind VARCHAR(32) COLLATE NOCASE, + content TEXT + ); + CREATE INDEX domainmetaidindex ON domainmetadata(domain_id); + + INSERT INTO domainmetadata SELECT id,domain_id,kind,content FROM domainmetadata_backup; + DROP TABLE domainmetadata_backup; +COMMIT; diff --git a/sql/sqlite3/sqlite3 b/sql/sqlite3/sqlite3 new file mode 100644 index 0000000..7cdd2b8 --- /dev/null +++ b/sql/sqlite3/sqlite3 @@ -0,0 +1,86 @@ +CREATE TABLE domains ( + id INTEGER PRIMARY KEY, + name VARCHAR(255) NOT NULL COLLATE NOCASE, + master VARCHAR(128) DEFAULT NULL, + last_check INTEGER DEFAULT NULL, + type VARCHAR(6) NOT NULL, + notified_serial INTEGER DEFAULT NULL, + account VARCHAR(40) DEFAULT NULL +); + +CREATE UNIQUE INDEX name_index ON domains(name); + + +CREATE TABLE records ( + id INTEGER PRIMARY KEY, + domain_id INTEGER DEFAULT NULL, + name VARCHAR(255) DEFAULT NULL, + type VARCHAR(10) DEFAULT NULL, + content VARCHAR(65535) DEFAULT NULL, + ttl INTEGER DEFAULT NULL, + prio INTEGER DEFAULT NULL, + change_date INTEGER DEFAULT NULL, + disabled BOOLEAN DEFAULT 0, + ordername VARCHAR(255), + auth BOOL DEFAULT 1 +); + +CREATE INDEX rec_name_index ON records(name); +CREATE INDEX nametype_index ON records(name,type); +CREATE INDEX domain_id ON records(domain_id); +CREATE INDEX orderindex ON records(ordername); + + +CREATE TABLE supermasters ( + ip VARCHAR(64) NOT NULL, + nameserver VARCHAR(255) NOT NULL COLLATE NOCASE, + account VARCHAR(40) NOT NULL +); + +CREATE UNIQUE INDEX ip_nameserver_pk ON supermasters(ip, nameserver); + + +CREATE TABLE comments ( + id INTEGER PRIMARY KEY, + domain_id INTEGER NOT NULL, + name VARCHAR(255) NOT NULL, + type VARCHAR(10) NOT NULL, + modified_at INT NOT NULL, + account VARCHAR(40) DEFAULT NULL, + comment VARCHAR(65535) NOT NULL +); + +CREATE INDEX comments_domain_id_index ON comments (domain_id); +CREATE INDEX comments_nametype_index ON comments (name, type); +CREATE INDEX comments_order_idx ON comments (domain_id, modified_at); + + +CREATE TABLE domainmetadata ( + id INTEGER PRIMARY KEY, + domain_id INT NOT NULL, + kind VARCHAR(32) COLLATE NOCASE, + content TEXT +); + +CREATE INDEX domainmetaidindex ON domainmetadata(domain_id); + + +CREATE TABLE cryptokeys ( + id INTEGER PRIMARY KEY, + domain_id INT NOT NULL, + flags INT NOT NULL, + active BOOL, + content TEXT +); + +CREATE INDEX domainidindex ON cryptokeys(domain_id); + + +CREATE TABLE tsigkeys ( + id INTEGER PRIMARY KEY, + name VARCHAR(255) COLLATE NOCASE, + algorithm VARCHAR(50) COLLATE NOCASE, + secret VARCHAR(255) +); + +CREATE UNIQUE INDEX namealgoindex ON tsigkeys(name, algorithm); diff --git a/tests/control b/tests/control new file mode 100644 index 0000000..06a25ec --- /dev/null +++ b/tests/control @@ -0,0 +1,15 @@ +Tests: smoke-bind +Depends: pdns-server, pdns-backend-bind, dnsutils +Restrictions: needs-root + +Tests: smoke-mysql +Depends: default-mysql-server, pdns-server, pdns-backend-mysql, dnsutils +Restrictions: needs-root, isolation-container + +Tests: smoke-pgsql +Depends: postgresql, pdns-server, pdns-backend-pgsql, dnsutils +Restrictions: needs-root, isolation-container + +Tests: supported-algos +Depends: pdns-server +Restrictions: isolation-container diff --git a/tests/smoke-bind b/tests/smoke-bind new file mode 100755 index 0000000..2fb0d19 --- /dev/null +++ b/tests/smoke-bind @@ -0,0 +1,32 @@ +#!/bin/bash +exec 2>&1 +set -ex + +cat </etc/powerdns/named.conf +zone "example.org" { type master; file "/etc/powerdns/example.org.zone"; }; +EOF + +cat </etc/powerdns/example.org.zone +example.org. 172800 IN SOA ns1.example.org. dns.example.org. 1 10800 3600 604800 3600 +example.org. 172800 IN NS ns1.example.org. +smoke.example.org. 172800 IN A 127.0.0.123 +EOF + +service pdns restart + +TMPFILE=$(mktemp) +cleanup() { + rm -f "$TMPFILE" + service pdns stop +} +trap cleanup EXIT + +dig @127.0.0.1 smoke.example.org 2>&1 | tee "$TMPFILE" + +if grep -c '127\.0\.0\.123' "$TMPFILE"; then + echo success +else + echo smoke could not be resolved + exit 1 +fi + diff --git a/tests/smoke-mysql b/tests/smoke-mysql new file mode 100755 index 0000000..3008a66 --- /dev/null +++ b/tests/smoke-mysql @@ -0,0 +1,39 @@ +#!/bin/bash +exec 2>&1 +set -ex + +echo /etc/powerdns/pdns.d/pdns.local.gmysql.conf follows: +echo XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +cat /etc/powerdns/pdns.d/pdns.local.gmysql.conf +echo XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + +# gmysql-dbname=pdnsbackendmysql +DBNAME=$(grep gmysql-dbname /etc/powerdns/pdns.d/pdns.local.gmysql.conf | awk -F= '{print $2}') + +cat </etc/powerdns/example.org +example.org. 172800 IN SOA ns1.example.org. dns.example.org. 1 10800 3600 604800 3600 +example.org. 172800 IN NS ns1.example.org. +smoke.example.org. 172800 IN A 127.0.0.124 +EOF + +zone2sql --gmysql --zone-name=example.org --zone=/etc/powerdns/example.org | \ + mysql -uroot $DBNAME + +service pdns restart + +TMPFILE=$(mktemp) +cleanup() { + rm -f "$TMPFILE" + service pdns stop +} +trap cleanup EXIT + +dig @127.0.0.1 smoke.example.org 2>&1 | tee "$TMPFILE" + +if grep -c '127\.0\.0\.124' "$TMPFILE"; then + echo success +else + echo smoke.example.org could not be resolved + exit 1 +fi + diff --git a/tests/smoke-pgsql b/tests/smoke-pgsql new file mode 100755 index 0000000..1db81a4 --- /dev/null +++ b/tests/smoke-pgsql @@ -0,0 +1,42 @@ +#!/bin/bash +exec 2>&1 +set -ex + +echo /etc/powerdns/pdns.d/pdns.local.gpgsql.conf follows: +echo XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +cat /etc/powerdns/pdns.d/pdns.local.gpgsql.conf +echo XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + +# gpgsql-dbname=pdnsbackendpgsql +DBNAME=$(grep gpgsql-dbname /etc/powerdns/pdns.d/pdns.local.gpgsql.conf | awk -F= '{print $2}') +DBHOST=$(grep gpgsql-host /etc/powerdns/pdns.d/pdns.local.gpgsql.conf | awk -F= '{print $2}') +DBUSER=$(grep gpgsql-user /etc/powerdns/pdns.d/pdns.local.gpgsql.conf | awk -F= '{print $2}') +DBPASS=$(grep gpgsql-password /etc/powerdns/pdns.d/pdns.local.gpgsql.conf | awk -F= '{print $2}') + +cat </etc/powerdns/example.org +example.org. 172800 IN SOA ns1.example.org. dns.example.org. 1 10800 3600 604800 3600 +example.org. 172800 IN NS ns1.example.org. +smoke.example.org. 172800 IN A 127.0.0.125 +EOF + +zone2sql --gpgsql --zone-name=example.org --zone=/etc/powerdns/example.org | \ + PGPASSWORD="$DBPASS" psql -h "$DBHOST" -U "$DBUSER" "$DBNAME" + +service pdns restart + +TMPFILE=$(mktemp) +cleanup() { + rm -f "$TMPFILE" + service pdns stop +} +trap cleanup EXIT + +dig @127.0.0.1 smoke.example.org 2>&1 | tee "$TMPFILE" + +if grep -c '127\.0\.0\.125' "$TMPFILE"; then + echo success +else + echo smoke.example.org could not be resolved + exit 1 +fi + diff --git a/tests/supported-algos b/tests/supported-algos new file mode 100755 index 0000000..40a68dd --- /dev/null +++ b/tests/supported-algos @@ -0,0 +1,20 @@ +#!/bin/bash +exec 2>&1 +set -ex + +TMPFILE=$(mktemp) +cleanup() { + rm -f "$TMPFILE" +} +trap cleanup EXIT + +pdnsutil list-algorithms 2>/dev/null | tee "$TMPFILE" + +for algo in RSASHA1 RSASHA1-NSEC3-SHA1 RSASHA256 RSASHA512 ECC-GOST ECDSAP256SHA256 ECDSAP384SHA384 ED25519; do + if ! grep -E -c " $algo\$" "$TMPFILE"; then + echo Algorithm $algo is not supported + exit 1 + fi +done + +echo success diff --git a/triggers b/triggers new file mode 100644 index 0000000..1603282 --- /dev/null +++ b/triggers @@ -0,0 +1 @@ +interest pdns-server diff --git a/upstream/signing-key.asc b/upstream/signing-key.asc new file mode 100644 index 0000000..3d84016 --- /dev/null +++ b/upstream/signing-key.asc @@ -0,0 +1,165 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mQINBFT0b7IBEADHlzJvds1NqKEDhOAG0IWGN4J/jBvO5dPPFqwDJaU32x+4wTw0 +OOxCcgFYdzWPl17nFwjC8yeXvbACCZNz62Kg5o1lWA6Mdx8eazCiGOuTdUbndZDB +lrIEAs1OUZmqxTSydDnaRNCtLTE2o0t4MaidczjinUn2RkvrtvlCsi1HpQdO5mUT +r/bmp7v4mvCP5vERuY2+qVc1KbqFltCeV0KAOpr1kRGyQ4D9LFloFkr7ftF0ba3B +0fbInu2uMp46MC+jPok5uEoT66l+U7sZsCUkHH02Y6s/uXJ6ack84/phtv4xwRER +lpC97Md+7N7qIYVrdhGVbsiHFEDIoBrLAqfdteivoocguLRI/EUn26J9+bezhmCZ +UUu1f62iJuBnWCwjpELNMlCIpWugHAucaUZx1xyF71DR65NZwMs+TxBEf+gYlvrz +Dm6J8fhkfKFH6PtrjIOC0mCsfqOY4FgRYknTZd4ECufkbMKXRX88qvYGX+Fr1Tgn +QR9GChEPIiWF9e3a5J+DljBu7tEJ0LOhnWU3ApUCTE1lQSGgrUTDQsbil+lyPVjo +MI+rxzP4o3roDyzrFEr/rlnCv3x+0kqprSXTJqcDShVJq+GU2lmeUCy7+pF2yKCq +hChcF5CQD4Jt+plRBPq7stxaDZdLpvUtFvLRl4LO6TJjNAGf5x2+kfvupQARAQAB +tChQaWV0ZXIgTGV4aXMgPHBpZXRlci5sZXhpc0Bwb3dlcmRucy5jb20+iQI+BBMB +AgAoBQJU9G+yAhsDBQkJZgGABgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRBe +UHFb8v/hp0tWEADG6hcabGBjLFUacKxWdfzV8n3pC5O1wlg/vmIMGddHfI10AL9A +R5ebm5KQhLmXW+0qhJC4Cm40X8OCg6q4u4gxo8KGHJJqodcZdtKsk2JH3kJyos7g +VpjbFS9CU9MVMyoXBwYdW1seBTxfoqIzpWUCysFYj6RjmnLLZQXD30T0IWj+0Cyq +zlb1UHdHm3227I0gT/qJYpOjlkYsl4iH7AJhqtDhQ7ZPn+4yNlCDAvvwA6bpczJi +Xa/JdvMIKLnbVTPsOCweoWxTmEr1cvpHDKliPskOuA8ujpxVSOXGR948UF74qhLP +kDczOI1EN+yqd0zwRA7xzUJHWJZZOxNuHnBf24v95AyEgX1aG0nTBjBEcTyYZzVg +ht7BD/lj0+W3gyssHFl+JDh6ZoS98EcSW2cxLrAOyF8nnm9gFn7CQXTLTOVK9ruM +lvQ6vbjRQ7176OJkF6jNGj5qSjeSK0s0wU//Wyr7uojiPiQYhGPwOcAskq6iLI6n +ieVmnOnTwnDbMS1danRFTFdnoPOgP5W8pj4kIOcScxekUhcJlaW8nuxxanCky8G2 +SR83+OgqYBcitFrmr6fdDca69KE2h8X5wB5Uw3VzMm5t2e8JRFxINoUoea60ymH4 +4LaCCUZAo2kYeNI0ZCDNGC8ebkeTwZOoQM44pP+7GL4BuV7j62ty+mPFxrkCDQRU +9G+yARAAo3nHYN3tSBd8wTGnRWxWoe2UjxSuGPEPjjG3ortE81z+ua0Vw0IufeY3 +SHEGOv+4AdSILqgtB1lKPzbOxhZzZ1m6wGqFVqS4x14DCfYanciBIJbqCRAh+d3d +GO96IvjwaGFFOc9rR4uwIoiXPajBuJvatj+8VK56gqphjuKVPZxSUxVAKHX/4qDZ +PRHZnIi5hVJu15BzbVHClUBlhEe74nXnVi1tX4RwM4SNYWJDfOWXyFC361TWQZ9V +Py+J68uz+xztCEMaCuzzrOmqcVOCcgExMr7J42FPlDggz10SChwGeI6BJxYchz8l +EYHTC8UG9LNYZ20xAvrM76m/ZAtKwmp9RkW+v1XlvXkYtQqAaR7UBMGOpPmIFqb3 +H0dMPfugR+WqsqRlpzQwlnDkyDVK6LgC2+vKMYJxAKMIViGtLo1GMvjzGBdABQK4 +y1cbtSASmjA/1rJNMLN/PcQJ21VvNW4RzdmHtjc5w3t2HyuRZFMllzuhgNbRUMPo +6Mbevkz3E8USS0vzBv4F3JbkBNyr/o7Xqov3W7eQPqaLV+qhjfhdRicA/5kCslC5 +Jc5XGQiGGTfTpylW0sX59sUPPW475Db0Y7jt98dCKMyK/0f7s+E9B/VXuFKDY9r0 ++KR/wWv3q4EEn66wCTA8iAfkkSIGOywkBQd6ziL4Px4qgGN1S9cAEQEAAYkCJQQY +AQIADwUCVPRvsgIbDAUJCWYBgAAKCRBeUHFb8v/hp4PlD/9AoyzBd9MY0Ypv/v6s +8ftjmdUukegdpqfe9ZUMQfIAgO3Z/NFIUmWTB3zHqNjd+IrSOBxIUG/to0zoELzY +79+szKaWYx0FIOPsWm72VN9xawdoYQ/2XTU5u5Qg/O7ysc9O35QKZLHMNtFXp2PB +PNc9eRrliyv1KhPcCubG1aBQd+psDRaoIfFt6AQSUyaMVgRZ6mbu2q7Gl4RFqVVt +vt+iNklmlhZiD8K1G7sCF0rr/ofpLBDnVV6/OwIMV+KrD7OODes+e8oQiM+oN6MO +0dOiKJbA0hPMMjli99d1+lBNUeUMqgF9ckNAbZnD0YdOUgv70Xu1nj9qvk8hzKzN +f2Czf1vV+GO5aDy9/H6ZljBGjU/0YGTxY6g26sWKcjeispnbH692D2Da83GJXNFk +aZb6WYdw+uz4SPV7kbG9nOxgFNY1c3vWWtWaz6XAgiYKeetiPRNQ/muMe8PX7Ihg +5DzpuSMtx04PRR/FVFjN7sK3re+GZUMkJBNV2IEY6h646iTmoyYPEMOJniLWNEAf ++ZMZgFtYfejqCgVGauRmkPAIbT5x/uKXhkBxvX70i+fKbpKnixh5EsIHTDyBWGUx +4iA7drVZG4u7xN7ryj5tW2abzNk+pvWVJFVld/T9VvZZKlr10lX4rdRkVKRXdqJz +O0bNI8W2fVX4kYtjm5WfVpL7bJkCDQROXyaRARAA5exKafKcYORDQWOCjO1P5a8U +YN9wTwyXGU8apwi2zQnRDkjtUxI941pdRxIdt+jZVi7x7F4K7CogdY19N+6utkCq +6ddLa0DLDOkIhFI8JqxicYMb9g//lNjyT4evxJRYcdT6hhAtSId6U6T9WCDc31+n +EPf3t53OuAXAU0KmANv2CL+KRzGF2az5t/fCWWz6U9KLfYIHS7pVGEkSUPXXzSWx +qbLTDHzpANiBb35inOQU+WP2QGshe8TwRBmwTC2mbk/KvseUt/Wcs8cwjEiCQ+52 +AIe6iNMYqLH7vGMo1zzd8dTmF5HQSs2BJPI4vcYMjWf/R5bKtyYSc7hirlyrgtxi +n/AXDcNCR/v1Vpqvt5Hd9GvHchoAlvmCaJPs8qOdVllS3if/+bWdvxr0YWyIrwOh +qdnMUJcJfTro+0pATUVr4wSVKzdDRdRcSqNWKvThAqtioC595dr1EVvi1LXVw22X +J/RnGGxhyBNMXQhkEh/x/g5IJU+t60CIATdjE0OJYbp/+QAS6u7PNgQLWpIUOUvt +4A/i8pAnLwsYBwKVdvMiSU92WfkLerjbR39suk+HiaYhPm1iaRt7owsM0Mbt8eS+ ++ozoIkWo+h3MM0+/S6Y2TM4ZytbCoQwLiT9lTSGIQF5/FBfs+eHZgUSufLfM0FaK +fgaSQBO0DPwxQ6d7i4cAEQEAAbQsUGV0ZXIgdmFuIERpamsgPHBldGVyLnZhbi5k +aWprQHBvd2VyZG5zLmNvbT6JAjgEEwECACIFAlTKH88CGwMGCwkIBwMCBhUIAgkK +CwQWAgMBAh4BAheAAAoJENz1E/p+7Rnzo4YP/jbQIh/QFRk5m6XTRzclq5j8YDuV +yrXy2fuIM+g9UKRcBTv2Dy/YjfEYc7GSQnrLSOrT/b7gT75LuzXdSBX7mZVJoNuo +H7VE0FJkTHf5TJtuuFjmD17tdoPPj75FMF38qAHHd9pzqUjJKYhcpkTfBrU8yJuK +joFgNvpnRVjJdMU0rir+tDIjSLMxCg/NFMQ0tm0o9XL9lQcQxcJpa8zxGv6M8QCP +bfQsWPC7+grBH6+ch0ljpFf5qkqPuDnoHTY4kUaHjKNP21ATrZGUspI9jjUlQZ9a +CDmELRaK1IbUcmRSySIjtdbM54EQ6kWDrJZjDC7mdpPv2/yuBPY7yb8+8rfmNwTz +rI0bVfbT+6EiiaUzeNz0502yjDNkaVUzd2z7X4WdfokLm5NMth9l2ijpyl+sBHY2 +ljqAUekkc1c0s/HYDqr5HwYQP2yXIcFh58nJJO22SVzLM2n55CWc1v3lXrqKVIJM +lnjB6epZ4KcKUqgj159dM5t2wWDUjhXQgl9kLN4QfHy4vDkBr/abopGZr3SMC9Y1 +j9RhJJD/eMRU7b+MKoAcpMko0zAbPcxAzjhqtsdp3VCWblKaGOwBwbc5jK38Lrh8 +MhR301aWpRN+kun+w/FAOt9bzvwRnA4/ucZwIYUwYohW8KKzYwH2bOP23ympuL+a +2G/q4s/jiWFWtJvStC1QZXRlciB2YW4gRGlqayA8cGV0ZXIudmFuLmRpamtAbmV0 +aGVybGFicy5ubD6JAjgEEwECACIFAk5fJpECGwMGCwkIBwMCBhUIAgkKCwQWAgMB +Ah4BAheAAAoJENz1E/p+7RnzoQQQAJjEVUbLcBd4blXL6EW3VMqIMFbxBt4CiHRj +sSo02+rUMWLOqZBERfynv0oufhrW3AqTO0OMoqPLWjWFNeOHOdKieBJdcXHDJPO8 +qRUpbcYh5CXr54X09d5WZU8sGipnd8wxO68J8g+5vux3xscEaZTwWZTwyelWA77O +xJm6WlPPxJ+lTyIuhVC3KoBUWRwfNrxE/ij/0tkVFoIXvczbAQqB6+nApHZvtoR4 +Wys4bzmCWuo9PUj0r3+eyjsWEB0A4Ya1bwaJOchubi/Gq99wfp71zJC8FcSMWmoG +PRnpg6oLpkxC8YreV/16DUgiMnxUPyJAEpb+AH0MMudmp6tnUaWBs/hWnpyWPXqj +t6wzs7X31X2oj93ANKjnSpglOgUEBKk4GTyOuBo3S+kyXD9WW977kyKVtUQf3U5E +HUR08UA/DuEJPGDnMa9lujXM17h//iyixa0RhJXX+ZRKRwEAZqj6H8wNayF045Jd +wMJ6TIePuymV2ltyG5E0M5l5SOc4fELNHJyHvjhi1Fb23lqBxNhvdm8+RtwtFz+Q +tFwihP/cEBMue5lcj5Bkvwx3NERJxoPi/Qe82mLZLaMCdlP++jzvSrsVrRWkyw+i +08T0+Dp9/V5YoEUkhSfNp1w26FtrFVqC4XpVxtjda32Ipw3aygpOqEkCxNsy3+C1 +buzr/QK9uQINBE5fJpEBEADOFiLByCv9fv9/UGW4d++olV33ODVXRNyA/y6M8/SQ +2p45KUnKYpMLoA8ILlcfvCXTtrU8qOiU86YmfgqGsZo7nSaVE0+3w+TjXAHdbLaR +ylEBcCXM1Oi0l6U0AqZoVebNd6cLpsY8pikZaLcS3a/fs8RZdHuFUxW+aI+CJNsL +urHoXCLe9wMTN/AvLJhUa0XoD0C9l56vQRPllBdssmN0zlQCuUz9jG8EE5K0zok2 +CWXTRzZb4yKWWsRyji6srTV0pl59ZNtJ4rZsrLCM79GhAtVHZLViC/4A9Wfko6yU +Ae/8ueg8e6OoK+idjGWXqO2ttdUy3W5Xow+mzIxmh+Ak5485pDLQwv9m/hVHN8d/ +xpUBeIVgeImk+Ggo4ijlTUIGkMgHkU7L9QVKKn/Cw8rVtfzHWpS2BJSku+7evRxE +PR0sre0B1N7IwBuqoLKPMlp/Hm2Ann5tZcmUj9wW72f1KaCrgfmhpV47Xml0ISES +0QNU4Io4hgN2MNXU3M9gm+NsOFDWcOK+ecjetEA0QR+Jdcq0T5bXcgGl96hIOOFP +2ey1NmEw1/uCS9TuGRPrJw1bEzzKbmS70RZMQixtRU12WnGUV385Rc8OmFoaZx1G +DkTt3xoW/jyjCmBJaE8i8sI5FSxxW72j7bPenQsVsg63DDqoYIiziyaO6gvv0qvJ +PQARAQABiQIfBBgBAgAJBQJOXyaRAhsMAAoJENz1E/p+7Rnzb9QP/3WFlfry9Y4i +/l+L0UgqwzPGwZrf3GXzeTtItx2DzHUg/ZVa/TvlmCiaIMRF19aH4BDu+K8GcRsN +HK6zDfFTPUoDGd44qBiNeTRdyDZwNa+dxjRoSeCVZ89CldjSrbIZOwrUsa46EfKq +ZcGzDCAlYEyBEVT9Xp7jm9xRLW4SOK3MvtlE8N4cFEQYSH1KLVRTukirt2S7HCLW +4jcaU6k6S+gCKfVDq2Y3KnwrhbPD/ue7rrAB3KehmIYSITSHV3+uEULO4LXS1Vu9 +c9HYksbtyhVpa1zsdK65u0UwEJ9VTi5eFuaAT73BdmVUL3fOCO+EzLaT9DEQxYC7 +itBxxVcg339L8e+q7m0IKJus/Go4iGujHxJne8/cYUE+T1NBQKWGOh/5Fu2qPn9o +diCI8//kIx7mJ9AqqnI5JCwu+kQIEIx2DvTSKS/RovTviNgBc/GIzit4TqcTKxfy +4zybcQVxhRMD+LnfocwzI8Gmuz5JXJgz1AbkgyIGzb7FTQOoJ+wJG0J+jR/gyJna +6c4KUq9RRzG4yFqqV1mwGbZjrq8Z/X+WVzygIDL5VeE0uDWap1k+R2QirNm+T3nd +i/swHSz+TZssya0iMlUyeyTCy3wi2lrv6rB0RrdcPOoHsIO7jD3QNSBL4412iFjY +WClKuopPgza6tGN31LkYN+UB2j03Gm/nmQGiBDz2UqURBADq+b0jXuV5JOOq+WrJ +JEOreZoptPiO+gtEQf1ITUTXEMDJWnnyGQ2LafrwbS7eD/Ih8yLvk32FL1CiITA8 +FkS59v8vRRRd8Ag046cEENAsFbESXAnpv4EVXKzK/K1IlJj4ZFAId6ARv4n96CmS +xR6kc+SSywoNkeH310z3yDq/YwCg72sX/D6YNASqBTd2lVDxNcW2fgkD/jgyGV52 +61rU0EKqIcN+/W1CwCXIwm0MGRN4/fMQfzoC6sux519M6mB+4HLtW7lWLP5LVBlM +iC8AJlHJf711NNPxV5Xol+rOlc78tpfxbr0N19/QDUPVhIgEL3rui0x2YWWME0uC +PTZWKe9+RJEQOPA/RPoDb9v8XMzcDx3RVAVyBACDUeqNJ6Z8e+mcXjC6DRBvg4jt +0bd1k0/FN/a6GxrpdpglU8XSBErJhB5rvxfVhVwYrO8M4uyTx/2a29ssRCFAOGtI +jr3R6J4hoRusgDTr3NRjqjKbw/2EVpN+oePu9oGIQYy/5woZRN4ftabntQkqXtjo +IjIl2JcA0Nr81sl1obQZYmVydCBodWJlcnQgPGFodUBkczlhLm5sPohfBBMRAgAX +BQI89lKlBQsHCgMEAxUDAgMWAgECF4AAEgkQHF7pkNLnFXUHZUdQRwABASq1AKDk +dusIoMiNKktSMWfCbg/oMJcmYwCg38laBCCqB2Oudv6+OebHWSMHrNi0JWJlcnQg +aHViZXJ0IChmb3gpIDxodWJlcnRAZm94LWl0LmNvbT6ISQQwEQIACQUCVA/k0wId +IAAKCRAcXumQ0ucVdWFPAKC9315eBt4gCqWUfUj6EfaexeTj/ACgnv7tMyoH4Nv7 +jK1BG4JQ0S7Fewe0JmJlcnQgaHViZXJ0IDxiZXJ0Lmh1YmVydEBuZXRzY291dC5j +b20+iEkEMBECAAkFAlQP5PICHSAACgkQHF7pkNLnFXWhrgCg3bm+cERc+F75j2Da +MhdStYhcCoMAoLzC6QFrVqICjXAWt7LUhRetEb+LtDNiZXJ0IGh1YmVydCAoY29y +cG9yYXRlKSA8YmVydC5odWJlcnRAbmV0aGVybGFicy5ubD6IXwQTEQIAFwUCQoys +wgULBwoDBAMVAwIDFgIBAheAABIJEBxe6ZDS5xV1B2VHUEcAAQFGrgCg4ZgRb7G4 +H15PKPfOJX6C9PD0wEIAn3HjAg1fNN9WP8vP9UnlbiH08FEZtDFiZXJ0IGh1YmVy +dCAocG93ZXJkbnMpIDxiZXJ0Lmh1YmVydEBwb3dlcmRucy5jb20+iGIEExECACIF +Ald/SwoCGyMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEBxe6ZDS5xV1BKEA +nikLxRY1dyV+u+r9ImnaY7AmZ+x6AJ9GWMGzivQldWwZYPYYh7f3TTE0+bkBDQQ8 +9lKoEAQAvChVI1iQYngKQtFxxelx4Uv+10B/HaIn4Obk2LqJrbc6yS+zatqOBl0p +M7jOTRRZp549P7U72jApCW2/bKzdcQNJlJRV7FIe5E1qZNf84AsKBHqphe/7FxHY +ypekmcvAiZG1B5cmQDEW+ebIBqrPBolNFYUjgDaPMZz0Nr5xoyMAAwYD/jfkkn6j +JwMSZPUHMuVGBTQlCQ3+b70XClBV5uN0UIKyWx7dRtZD7vuf+NqblygnRlsAsEuh +99ggWKOL7zUjcXJKtHWrMhjhVtPg/4we19rOY7Z9/n8Jc427dTffAX84CHLuuSEZ +omYQ1uds9DMMayRSiO5BOOXqeP9ItLElyHb4iE4EGBECAAYFAjz2UqgAEgkQHF7p +kNLnFXUHZUdQRwABARDzAKDK/3G2YXuVXtDDiPe599ncuzJEPwCg471sTokR9Dn3 +3H9ZFpjspd5Z+dGZAQ0EWOzWBQEIALuqBv3556Glk00Hu866hDtDEOtLeyVXOJA8 +ySsKYIwacAHzaTa2whLLzfx3XdwBWKtly1o3hlduwfwL1l3aMh4zamHFgl58a+P6 +fGTlPEEehi+1silIT3QPbqxzOowiwe93UVkJiTqhapGbFDmnguiLZYTWhgAuGYRr +EpvtNmnJU+6TrDTO8DH834uoYTESqs+fuOVw6Ab84th+Qucq1LB3yKsHhyq7m0en +81a22xVXIl5+CKZts7pH8bRTTSMn6eo97k1KJ2E15hoRnnrshlduxhzbRjrx1wfq +OZ0mVzuNHSJYlGvUKnbtNTatOZXRfUAlqMqcsYkXz8t3QLz/cuUAEQEAAbQtV2lu +a2VscywgRXJpayA8ZXJpay53aW5rZWxzQG9wZW4teGNoYW5nZS5jb20+iQExBBMB +AgAbBQJY7NYFAhsDBAsJCAcGFQoJCAsCBQkSzAMAAAoJEG/8M0ObDQTfcIcH/32n +9IqQwvOqh+rNjl3vHn3on4MdUebEIIg3QkhGtBb912Rdbvqp2lJxLDtgI1EolYbm +ab1HRRBXh0x4ErGt2yJSruyQrTPp6RKX/dP7tAghTPHtiZ5JK/KjhvuBgjbZ4xiy +3ge/ZVJoEOuxzPfZlK+MOz75RqT7eH4mBvfB4oBr67OTfAzbYQOGRXNSsRzhHr9x +CGXk1zlNHheyXrwpPm9wD2RahRPRXscagv+HKI7W8taDLY500C3iX7ux3VfzJcy0 +ub4m0ru96VFJRrdwi8O7WT7oJEZvxV/QtG7sXfo7dt+ryRAKxu3er24Hmk1S9iVh +owEGnq/JRMOIg1ioRj25AQ0EWOzWBQEIAJ+8XbWUGbMEpYf0gEfnxznD6WxBf3j4 +E2GWiqfGYHd5rQPMErrk0DXmxCwSWjJf0+96KNvJ4wrQ/G5gAUj7R7OChXWFt/KZ +eaEBCJQd0de41pjBQ7+kVb8cRTBt3gCLWC0xEkbYn7jk9T/Rqm7fOkkmt8x2i5+j +k83M+lteR1aFbwIIA9dMuG5lm5jz+a1Hu6fK65A2V8lsBacp3+D3NNXIwl19UEh7 +u1H6Pg1R67BuePT2iKo/TYyLrfD/G4pLr8HoU19wXEkJq4S/yzoYr9oABZ3spTSa +fNoVYaxqmerpBHSC5EY/D1t2QfR0C6pUVOVjxaGjYNoaajd0kA4BXqcAEQEAAYkB +MQQYAQIAGwUCWOzWBQIbDAQLCQgHBhUKCQgLAgUJEswDAAAKCRBv/DNDmw0E3+Da +CACIyXcUOmgyGqFXmRXC8MVzc5NcKEE6amh13Cwb75xjmXI9p2nvcklCiIAF4MrJ +JqR22Hkok0SqlcrUb5vjJw2/CZ4PNdbWM1PaB7AyKmiqvM4lpFfH2hR1U1miQZdM +8V1CXmzOH6DGwuZNU3jUNyYvEbidIxBcJT282Zp/jC9hZFGLL7VL1he0hUvF3WyD +mQo9RSe0xNrLCTNN+HE2VaTEk7L0dAcVS/NbOv0BJkdB0LqlHGOAE5ahv/iUxO/6 +FCpxjtb6qfCQwUQXjRrMSTSwdSTTlKA015yy44aEXfRnMH9zOPKYbZeJMFOCsfc8 +fU3LLuacV5Kv6l4aJyRYJaN/ +=z55N +-----END PGP PUBLIC KEY BLOCK----- diff --git a/watch b/watch new file mode 100644 index 0000000..cb3c498 --- /dev/null +++ b/watch @@ -0,0 +1,3 @@ +# Site Directory Pattern Version Script +version=3 +opts="pgpsigurlmangle=s/$/.asc/,versionmangle=s/-(alpha|beta|rc)/~$1/" https://downloads.powerdns.com/releases/ pdns-(\d+.*)\.tar\.bz2 debian uupdate -- 2.30.2