run "sudo apt-get -qq --no-install-recommends install \
libldap-dev"
+ # lmdb-backend
+ run "sudo apt-get -qq --no-install-recommends install \
+ liblmdb-dev"
+
# opendbx-backend
run "sudo apt-get -qq --no-install-recommends install \
libopendbx1-dev \
run "autoreconf -vi"
run "./configure \
${sanitizerflags} \
- --with-dynmodules='bind gmysql geoip gpgsql gsqlite3 ldap lua mydns opendbx pipe random remote tinydns godbc lua2' \
+ --with-dynmodules='bind gmysql geoip gpgsql gsqlite3 ldap lmdb lua mydns opendbx pipe random remote tinydns godbc lua2' \
--with-modules='' \
--with-sqlite3 \
--with-libsodium \
--enable-backend-unit-tests \
--enable-fuzz-targets \
--disable-dependency-tracking \
- --disable-silent-rules"
+ --disable-silent-rules \
+ --with-lmdb=/usr"
run "make -k dist"
run "make -k -j3"
run "make -k install DESTDIR=/tmp/pdns-install-dir"
run "./timestamp ./start-test-stop 5300 tinydns"
+ run "./timestamp ./start-test-stop 5300 lmdb-nodnssec-both"
+ run "./timestamp ./start-test-stop 5300 lmdb-both"
+ run "./timestamp ./start-test-stop 5300 lmdb-nsec3-both"
+ run "./timestamp ./start-test-stop 5300 lmdb-nsec3-optout-both"
+
run "rm tests/ent-asterisk/fail.nsec"
run "cd ../modules/luabackend/test2"
run "./timestamp ./start-test-stop 5300 lua2"
run "./timestamp ./start-test-stop 5300 lua2-dnssec"
+ run "./timestamp ./start-test-stop 5300 lmdb-both"
+ run "./timestamp ./start-test-stop 5300 lmdb-nodnssec-both"
+ run "./timestamp ./start-test-stop 5300 lmdb-nsec3-both"
+ run "./timestamp ./start-test-stop 5300 lmdb-nsec3-optout-both"
+
run "cd .."
### api ###
libgeoip-dev,
libkrb5-dev,
libldap2-dev,
+ liblmdb-dev,
libluajit-5.1-dev,
libmaxminddb-dev,
libopendbx1-dev,
PowerDNS tries to emphasize speed and security.
.
This package contains the tinydns compatibility backend for PowerDNS.
+
+Package: pdns-backend-lmdb
+Architecture: any
+Depends: pdns-server (= ${binary:Version}),
+ ${misc:Depends},
+ ${shlibs:Depends}
+Provides: pdns-backend
+Description: LMDB 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 LMDB backend for PowerDNS.
DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
# Backends
-backends := bind ldap pipe gmysql godbc gpgsql gsqlite3 geoip lua lua2 mydns remote random opendbx tinydns
+backends := bind ldap pipe gmysql godbc gpgsql gsqlite3 geoip lmdb lua lua2 mydns remote random opendbx tinydns
# Disable systemd integration on non-linux archs
ifeq ($(DEB_HOST_ARCH_OS),linux)
[AC_MSG_ERROR([${a} backend needs lua but we cannot find it])]
)
;;
+ lmdb)
+ PDNS_CHECK_LMDB
+ BOOST_SERIALIZATION
+ ;;
esac
done
modules/gpgsqlbackend/Makefile
modules/gsqlite3backend/Makefile
modules/ldapbackend/Makefile
+ modules/lmdbbackend/Makefile
modules/luabackend/Makefile
modules/lua2backend/Makefile
modules/mydnsbackend/Makefile
gpgsqlbackend \
gsqlite3backend \
ldapbackend \
+ lmdbbackend \
luabackend \
lua2backend \
mydnsbackend \
/oracle.log
/oracle2.log
/remotebackend-access.log
+/pdns.lmdb*
+/pdns2.lmdb*
source ./backends/gsqlite3-master
;;
+ lmdb*)
+ source ./backends/lmdb-master
+ ;;
+
mydns*)
source ./backends/mydns-master
;;
source ./backends/gsqlite3-slave
;;
+ lmdb*)
+ source ./backends/lmdb-slave
+ ;;
+
oracle*)
source ./backends/oracle-slave
;;
testname=$(basename $a)
export testname
echo "$testname: "
- cat $a/description
+ if [ "${PDNS_DEBUG}" = "YES" ]; then
+ cat $a/description
+ fi
echo "$testname: " >> test-results
cat $a/description >> test-results
godbc_sqlite3-nodnssec godbc_sqlite3 godbc_sqlite3-nsec3 godbc_sqlite3-nsec3-optout godbc_sqlite3-narrow
gpgsql-nodnssec gpgsql gpgsql-nsec3 gpgsql-nsec3-optout gpgsql-nsec3-narrow
gsqlite3-nodnssec gsqlite3 gsqlite3-nsec3 gsqlite3-nsec3-optout gsqlite3-nsec3-narrow
+lmdb-nodnssec lmdb
mydns
opendbx-sqlite3
oracle-nodnssec oracle oracle-nsec3