]> granicus.if.org Git - pdns/commitdiff
Autotoolize the recursor
authorPieter Lexis <pieter.lexis@powerdns.com>
Tue, 29 Dec 2015 12:35:18 +0000 (13:35 +0100)
committerPieter Lexis <pieter.lexis@powerdns.com>
Tue, 19 Jan 2016 18:03:10 +0000 (19:03 +0100)
This is done similar to dnsdist.

This commit adds a pdns_check_os.m4 to set OS dependent options.

195 files changed:
.travis.yml
build-scripts/dist-recursor
configure.ac
ext/yahttp/yahttp/yahttp-config.h
m4/pdns_check_os.m4 [new file with mode: 0644]
pdns/Makefile-recursor [deleted file]
pdns/config-recursor.h [deleted file]
pdns/configure-recursor [deleted file]
pdns/recursordist/.gitignore [new file with mode: 0644]
pdns/recursordist/COPYING [new symlink]
pdns/recursordist/Makefile.am [new file with mode: 0644]
pdns/recursordist/NOTICE [new symlink]
pdns/recursordist/README [moved from pdns/README-recursor with 100% similarity]
pdns/recursordist/arguments.cc [new symlink]
pdns/recursordist/arguments.hh [new symlink]
pdns/recursordist/base32.cc [new symlink]
pdns/recursordist/base32.hh [new symlink]
pdns/recursordist/base64.cc [new symlink]
pdns/recursordist/base64.hh [new symlink]
pdns/recursordist/bootstrap [new symlink]
pdns/recursordist/botan110signers.cc [new symlink]
pdns/recursordist/botansigners.cc [new symlink]
pdns/recursordist/build-aux/gen-version [new symlink]
pdns/recursordist/cachecleaner.hh [new symlink]
pdns/recursordist/comment.hh [new symlink]
pdns/recursordist/configure.ac [new file with mode: 0644]
pdns/recursordist/devpollmplexer.cc [new symlink]
pdns/recursordist/dns.cc [new symlink]
pdns/recursordist/dns.hh [new symlink]
pdns/recursordist/dns_random.cc [new symlink]
pdns/recursordist/dns_random.hh [new symlink]
pdns/recursordist/dnsbackend.hh [new symlink]
pdns/recursordist/dnslabeltext.cc [new symlink]
pdns/recursordist/dnslabeltext.rl [new symlink]
pdns/recursordist/dnsname.cc [new symlink]
pdns/recursordist/dnsname.hh [new symlink]
pdns/recursordist/dnspacket.hh [new symlink]
pdns/recursordist/dnsparser.cc [new symlink]
pdns/recursordist/dnsparser.hh [new symlink]
pdns/recursordist/dnsrecords.cc [new symlink]
pdns/recursordist/dnsrecords.hh [new symlink]
pdns/recursordist/dnssecinfra.cc [new symlink]
pdns/recursordist/dnssecinfra.hh [new symlink]
pdns/recursordist/dnsseckeeper.hh [new symlink]
pdns/recursordist/dnswriter.cc [new symlink]
pdns/recursordist/dnswriter.hh [new symlink]
pdns/recursordist/ednssubnet.cc [new symlink]
pdns/recursordist/ednssubnet.hh [new symlink]
pdns/recursordist/epollmplexer.cc [new symlink]
pdns/recursordist/ext/Makefile.am [new file with mode: 0644]
pdns/recursordist/ext/json11/.gitignore [new symlink]
pdns/recursordist/ext/json11/LICENSE.txt [new symlink]
pdns/recursordist/ext/json11/Makefile.am [new symlink]
pdns/recursordist/ext/json11/json11.cpp [new symlink]
pdns/recursordist/ext/json11/json11.hpp [new symlink]
pdns/recursordist/ext/luawrapper [new symlink]
pdns/recursordist/ext/rapidjson [new symlink]
pdns/recursordist/ext/yahttp/.gitignore [new symlink]
pdns/recursordist/ext/yahttp/LICENSE [new symlink]
pdns/recursordist/ext/yahttp/Makefile.am [new symlink]
pdns/recursordist/ext/yahttp/README.md [new symlink]
pdns/recursordist/ext/yahttp/yahttp/Makefile.am [new symlink]
pdns/recursordist/ext/yahttp/yahttp/cookie.hpp [new symlink]
pdns/recursordist/ext/yahttp/yahttp/exception.hpp [new symlink]
pdns/recursordist/ext/yahttp/yahttp/reqresp.cpp [new symlink]
pdns/recursordist/ext/yahttp/yahttp/reqresp.hpp [new symlink]
pdns/recursordist/ext/yahttp/yahttp/router.cpp [new symlink]
pdns/recursordist/ext/yahttp/yahttp/router.hpp [new symlink]
pdns/recursordist/ext/yahttp/yahttp/url.hpp [new symlink]
pdns/recursordist/ext/yahttp/yahttp/utility.hpp [new symlink]
pdns/recursordist/ext/yahttp/yahttp/yahttp-config.h [new symlink]
pdns/recursordist/ext/yahttp/yahttp/yahttp.hpp [new symlink]
pdns/recursordist/filterpo.cc [new symlink]
pdns/recursordist/filterpo.hh [new symlink]
pdns/recursordist/gss_context.cc [new symlink]
pdns/recursordist/gss_context.hh [new symlink]
pdns/recursordist/iputils.cc [new symlink]
pdns/recursordist/iputils.hh [new symlink]
pdns/recursordist/ixfr.cc [new symlink]
pdns/recursordist/ixfr.hh [new symlink]
pdns/recursordist/json.cc [new symlink]
pdns/recursordist/json.hh [new symlink]
pdns/recursordist/kqueuemplexer.cc [new symlink]
pdns/recursordist/lock.hh [new symlink]
pdns/recursordist/logger.cc [new symlink]
pdns/recursordist/logger.hh [new symlink]
pdns/recursordist/lua-recursor4.cc [new symlink]
pdns/recursordist/lua-recursor4.hh [new symlink]
pdns/recursordist/lwres.cc [new symlink]
pdns/recursordist/lwres.hh [new symlink]
pdns/recursordist/m4/ax_check_openssl.m4 [new symlink]
pdns/recursordist/m4/ax_cxx_compile_stdcxx_11.m4 [new symlink]
pdns/recursordist/m4/boost.m4 [new symlink]
pdns/recursordist/m4/pdns_check_curl.m4 [new file with mode: 0644]
pdns/recursordist/m4/pdns_check_os.m4 [new symlink]
pdns/recursordist/m4/pdns_check_pandoc.m4 [new file with mode: 0644]
pdns/recursordist/m4/pdns_check_ragel.m4 [new file with mode: 0644]
pdns/recursordist/m4/pdns_d_fortify_source.m4 [new symlink]
pdns/recursordist/m4/pdns_enable_botan.m4 [new symlink]
pdns/recursordist/m4/pdns_enable_malloc_trace.m4 [new symlink]
pdns/recursordist/m4/pdns_enable_p11kit.m4 [new symlink]
pdns/recursordist/m4/pdns_enable_reproducible.m4 [new symlink]
pdns/recursordist/m4/pdns_enable_sanitizers.m4 [new symlink]
pdns/recursordist/m4/pdns_enable_verbose_logging.m4 [new symlink]
pdns/recursordist/m4/pdns_param_ssp_buffer_size.m4 [new symlink]
pdns/recursordist/m4/pdns_pie.m4 [new symlink]
pdns/recursordist/m4/pdns_relro.m4 [new symlink]
pdns/recursordist/m4/pdns_stack_protector.m4 [new symlink]
pdns/recursordist/m4/pdns_with_lua.m4 [new symlink]
pdns/recursordist/m4/pdns_with_luajit.m4 [new symlink]
pdns/recursordist/m4/pdns_with_system_mbedtls.m4 [new file with mode: 0644]
pdns/recursordist/m4/warnings.m4 [new symlink]
pdns/recursordist/make-ext-symlinks.py [new file with mode: 0755]
pdns/recursordist/malloctrace.cc [new symlink]
pdns/recursordist/malloctrace.hh [new symlink]
pdns/recursordist/mbedtlscompat.hh [new symlink]
pdns/recursordist/mbedtlssigners.cc [new symlink]
pdns/recursordist/misc.cc [new symlink]
pdns/recursordist/misc.hh [new symlink]
pdns/recursordist/mkpubsuffixcc [new symlink]
pdns/recursordist/mplexer.hh [new symlink]
pdns/recursordist/mtasker.cc [new symlink]
pdns/recursordist/mtasker.hh [new symlink]
pdns/recursordist/namespaces.hh [new symlink]
pdns/recursordist/nsecrecords.cc [new symlink]
pdns/recursordist/opensslsigners.cc [new symlink]
pdns/recursordist/opensslsigners.hh [new symlink]
pdns/recursordist/pdns-recursor.init.d [moved from pdns/pdns-recursor.init.d with 100% similarity]
pdns/recursordist/pdns_hw.cc [new symlink]
pdns/recursordist/pdns_recursor.1.md [new symlink]
pdns/recursordist/pdns_recursor.cc [new symlink]
pdns/recursordist/pdnsexception.hh [new symlink]
pdns/recursordist/portsmplexer.cc [new symlink]
pdns/recursordist/powerdns-example-script.lua [new symlink]
pdns/recursordist/pubsuffix.cc [new symlink]
pdns/recursordist/pubsuffix.hh [new symlink]
pdns/recursordist/qtype.cc [new symlink]
pdns/recursordist/qtype.hh [new symlink]
pdns/recursordist/randomhelper.cc [new symlink]
pdns/recursordist/rcpgenerator.cc [new symlink]
pdns/recursordist/rcpgenerator.hh [new symlink]
pdns/recursordist/rec-carbon.cc [new symlink]
pdns/recursordist/rec-lua-conf.cc [new symlink]
pdns/recursordist/rec-lua-conf.hh [new symlink]
pdns/recursordist/rec_channel.cc [new symlink]
pdns/recursordist/rec_channel.hh [new symlink]
pdns/recursordist/rec_channel_rec.cc [new symlink]
pdns/recursordist/rec_control.1.md [new symlink]
pdns/recursordist/rec_control.cc [new symlink]
pdns/recursordist/recpacketcache.cc [new symlink]
pdns/recursordist/recpacketcache.hh [new symlink]
pdns/recursordist/recursor_cache.cc [new symlink]
pdns/recursordist/recursor_cache.hh [new symlink]
pdns/recursordist/reczones.cc [new symlink]
pdns/recursordist/resolver.cc [new symlink]
pdns/recursordist/resolver.hh [new symlink]
pdns/recursordist/responsestats.cc [new symlink]
pdns/recursordist/responsestats.hh [new symlink]
pdns/recursordist/rpzloader.cc [new symlink]
pdns/recursordist/rpzloader.hh [new symlink]
pdns/recursordist/rrd [new symlink]
pdns/recursordist/secpoll-recursor.cc [new symlink]
pdns/recursordist/secpoll-recursor.hh [new symlink]
pdns/recursordist/selectmplexer.cc [new symlink]
pdns/recursordist/sha.hh [new symlink]
pdns/recursordist/sholder.hh [new symlink]
pdns/recursordist/sillyrecords.cc [new symlink]
pdns/recursordist/sortlist.cc [new symlink]
pdns/recursordist/sortlist.hh [new symlink]
pdns/recursordist/sstuff.hh [new symlink]
pdns/recursordist/statbag.cc [new symlink]
pdns/recursordist/statbag.hh [new symlink]
pdns/recursordist/syncres.cc [new symlink]
pdns/recursordist/syncres.hh [new symlink]
pdns/recursordist/ueberbackend.hh [new symlink]
pdns/recursordist/unix_utility.cc [new symlink]
pdns/recursordist/utility.hh [new symlink]
pdns/recursordist/validate-recursor.cc [new symlink]
pdns/recursordist/validate-recursor.hh [new symlink]
pdns/recursordist/validate.cc [new symlink]
pdns/recursordist/validate.hh [new symlink]
pdns/recursordist/version.cc [new symlink]
pdns/recursordist/version.hh [new symlink]
pdns/recursordist/webserver.cc [new symlink]
pdns/recursordist/webserver.hh [new symlink]
pdns/recursordist/ws-api.cc [new symlink]
pdns/recursordist/ws-api.hh [new symlink]
pdns/recursordist/ws-recursor.cc [new symlink]
pdns/recursordist/ws-recursor.hh [new symlink]
pdns/recursordist/zoneparser-tng.cc [new symlink]
pdns/recursordist/zoneparser-tng.hh [new symlink]
pdns/sysdeps-recursor/Darwin.inc [deleted file]
pdns/sysdeps-recursor/FreeBSD.inc [deleted file]
pdns/sysdeps-recursor/Linux.inc [deleted file]
pdns/sysdeps-recursor/SunOS.inc [deleted file]

index 9f42ada5ee00fb12803a554863ae3517d38681d7..61d7efd77eac4236156540291351b6547f7d35f6 100644 (file)
@@ -248,11 +248,14 @@ script:
 
   # distribution build
   - ./build-scripts/dist-recursor
-  - cd pdns/pdns-recursor-*/
+  - cd pdns/recursordist
+  - tar xf pdns-recursor-*.tar.bz2
+  - rm -f pdns-recursor-*.tar.bz2
+  - cd pdns-recursor-*
   - ./configure
   - make -k -j3
-  - cd ..
-  - ln -s pdns-recursor*/pdns_recursor .
+  - cd ../..
+  - ln -s recursordist/pdns-recursor*/pdns_recursor .
   - cd ..
 
   # regression-tests
index dce63e8f2ec868bb0764e8a1bba6ac443fa271e6..859ac733aa1f02fffa8f54e09fc6c5e5d97711ce 100755 (executable)
@@ -6,93 +6,10 @@ if [ "$0" != "./build-scripts/dist-recursor" ]; then
   echo "Please run me from the root checkout dir"
   exit 1
 fi
-
-if [ -z "$VERSION" ]; then
-  VERSION=$(./build-aux/gen-version)
-  if [ -z "$VERSION" ]; then
-    VERSION="UNKNOWN"
-  fi
-fi
-
 set -x
 
-cd pdns
-
-ragel dnslabeltext.rl -o dnslabeltext.cc
-
-cd ../docs
-pandoc -s -t man manpages/pdns_recursor.1.md -o pdns_recursor.1
-pandoc -s -t man manpages/rec_control.1.md -o rec_control.1
-cd -
-
-DIST_HOST="$(id -u -n)@$(hostname -f 2>/dev/null || hostname 2>/dev/null || echo localhost)"
-
-INCLUDES="iputils.hh arguments.hh base64.hh zoneparser-tng.hh \
-rcpgenerator.hh lock.hh dnswriter.hh  dnsrecords.hh dnsparser.hh utility.hh \
-recursor_cache.hh rec_channel.hh qtype.hh misc.hh dns.hh syncres.hh \
-sstuff.hh mtasker.hh mtasker.cc lwres.hh logger.hh pdnsexception.hh \
-mplexer.hh pubsuffix.hh opensslsigners.hh \
-dns_random.hh lua-recursor4.hh namespaces.hh \
-recpacketcache.hh base32.hh cachecleaner.hh json.hh version.hh \
-ws-recursor.hh ws-api.hh secpoll-recursor.hh \
-responsestats.hh webserver.hh dnsname.hh dnspacket.hh ednssubnet.hh \
-filterpo.hh rpzloader.hh ixfr.hh gss_context.hh resolver.hh dnssecinfra.hh \
-dnsseckeeper.hh statbag.hh ueberbackend.hh sha.hh dnsbackend.hh comment.hh \
-validate.hh validate-recursor.hh sortlist.hh rec-lua-conf.hh sholder.hh"
-
-CFILES="syncres.cc iputils.cc  misc.cc unix_utility.cc qtype.cc \
-logger.cc arguments.cc  lwres.cc pdns_recursor.cc \
-recursor_cache.cc  dnsparser.cc dnswriter.cc  dnsrecords.cc  rcpgenerator.cc  \
-base64.cc  zoneparser-tng.cc  rec_channel.cc rec_channel_rec.cc rec_control.cc \
-selectmplexer.cc epollmplexer.cc kqueuemplexer.cc portsmplexer.cc pdns_hw.cc \
-sillyrecords.cc pubsuffix.cc lua-recursor4.cc randomhelper.cc \
-devpollmplexer.cc recpacketcache.cc dns.cc reczones.cc base32.cc nsecrecords.cc \
-dnslabeltext.cc json.cc ws-recursor.cc ws-api.cc version.cc dns_random.cc \
-responsestats.cc webserver.cc rec-carbon.cc secpoll-recursor.cc dnsname.cc \
-filterpo.cc rpzloader.cc ixfr.cc dnssecinfra.cc gss_context.cc resolver.cc \
-ednssubnet.cc validate.cc validate-recursor.cc opensslsigners.cc rec-lua-conf.cc \
-sortlist.cc"
-
-curl https://publicsuffix.org/list/public_suffix_list.dat > effective_tld_names.dat
-./mkpubsuffixcc
-
-DIRNAME=pdns-recursor-$VERSION
-rm -rf $DIRNAME
-mkdir  $DIRNAME
-cp $INCLUDES $CFILES $DIRNAME
-cp Makefile-recursor $DIRNAME/Makefile.in
-cp README-recursor $DIRNAME/README
-cp ../COPYING ../NOTICE $DIRNAME/
-cp config-recursor.h $DIRNAME/config.h
-cat >>$DIRNAME/config.h <<EOF
-#define VERSION "$VERSION"
-#define DIST_HOST "$DIST_HOST"
-#define HAVE_BOOST 1
-#define HAVE_OPENSSL 1
-EOF
-mkdir -p $DIRNAME/ext
-
-cp -a ../ext/yahttp/ $DIRNAME/ext/yahttp
-cp -a ../ext/json11/ $DIRNAME/ext/json11
-
-mkdir -p $DIRNAME/ext/luawrapper/include
-cp ../ext/luawrapper/include/LuaContext.hpp $DIRNAME/ext/luawrapper/include
-echo '#include "../../../config.h"' > $DIRNAME/ext/yahttp/yahttp/yahttp-config.h
-mkdir $DIRNAME/rrd
-cp tools/rrd/{create,update,makegraphs,index.html} $DIRNAME/rrd
-cp dnslabeltext.rl $DIRNAME
-cp pdns-recursor.init.d $DIRNAME
-cp ../docs/pdns_recursor.1 ../docs/rec_control.1 $DIRNAME
-cp configure-recursor $DIRNAME/configure
-cp powerdns-example-script.lua $DIRNAME
-mkdir -p $DIRNAME/contrib
-cp ../contrib/systemd-pdns-recursor.service $DIRNAME/contrib
-cp ../build-scripts/build-recursor-semistatic $DIRNAME/build-scripts
-cp pdns-recursor.spec $DIRNAME
+cd pdns/recursordist
 
-mkdir -p $DIRNAME/sysdeps
-rm -f sysdeps-recursor/*~
-cp  sysdeps-recursor/* $DIRNAME/sysdeps
-touch $DIRNAME/dnslabeltext.cc # avoid spurious recompiles
-tar cf $DIRNAME.tar $DIRNAME
-bzip2 -f $DIRNAME.tar # .. solaris
+./bootstrap
+./configure
+make dist
index ed0f732b55265ffc1590a5d6b28b3b8e47eb6a12..e2f0eb40eee50144bbd660dc0aa0542b2217f414 100644 (file)
@@ -139,45 +139,7 @@ AS_IF([test "x$lt_cv_dlopen" = "xno"],
 
 AC_SUBST([LIBDL], [$lt_cv_dlopen_libs])
 
-THREADFLAGS=""
-
-case "$host_os" in
-solaris2.10)
-  LIBS="-lposix4 -lpthread $LIBS"
-  CXXFLAGS="-D_REENTRANT $CXXFLAGS"
-  have_solaris="yes"
-  ;;
-solaris2.8 | solaris2.9 )
-  AC_DEFINE(NEED_POSIX_TYPEDEF,,[If POSIX typedefs need to be defined])
-  AC_DEFINE(NEED_INET_NTOP_PROTO,,[If your OS is so broken that it needs an additional prototype])
-  LIBS="-lposix4 -lpthread $LIBS"
-  CXXFLAGS="-D_REENTRANT $CXXFLAGS"
-  have_solaris="yes"
-  ;;
-linux*)
-  THREADFLAGS="-pthread"
-  have_linux="yes"
-  ;;
-darwin*)
-  CXXFLAGS="-D__APPLE_USE_RFC_3542 -D_XOPEN_SOURCE $CXXFLAGS"
-  ;;
-freebsd*)
-  THREADFLAGS="-pthread"
-  have_freebsd="yes"
-  ;;
-*)
-  LDFLAGS="-pthread $LDFLAGS"
-  CXXFLAGS="-pthread $CXXFLAGS"
-  ;;
-esac
-
-AM_CONDITIONAL([HAVE_FREEBSD], [test "x$have_freebsd" = "xyes"])
-AM_CONDITIONAL([HAVE_LINUX], [test "x$have_linux" = "xyes"])
-AM_CONDITIONAL([HAVE_SOLARIS], [test "x$have_solaris" = "xyes"])
-
-AC_SUBST(THREADFLAGS)
-AC_SUBST([DYNLINKFLAGS], [-export-dynamic])
-
+PDNS_CHECK_OS
 PDNS_ENABLE_VERBOSE_LOGGING
 PDNS_WITH_SYSTEM_MBEDTLS
 PDNS_ENABLE_BOTAN
index 1ac2545de8db1ffc84b25ec01182efaf1ba8ca3b..d50f0949f709798f7dea215c9088988f7a70c0be 100644 (file)
@@ -1 +1 @@
-#include "config.h"
+#include "../../../config.h"
diff --git a/m4/pdns_check_os.m4 b/m4/pdns_check_os.m4
new file mode 100644 (file)
index 0000000..3192d17
--- /dev/null
@@ -0,0 +1,40 @@
+AC_DEFUN([PDNS_CHECK_OS],[
+  THREADFLAGS=""
+
+  case "$host_os" in
+  solaris2.10)
+    LIBS="-lposix4 -lpthread $LIBS"
+    CXXFLAGS="-D_REENTRANT $CXXFLAGS"
+    have_solaris="yes"
+    ;;
+  solaris2.8 | solaris2.9 )
+    AC_DEFINE(NEED_POSIX_TYPEDEF,,[If POSIX typedefs need to be defined])
+    AC_DEFINE(NEED_INET_NTOP_PROTO,,[If your OS is so broken that it needs an additional prototype])
+    LIBS="-lposix4 -lpthread $LIBS"
+    CXXFLAGS="-D_REENTRANT $CXXFLAGS"
+    have_solaris="yes"
+    ;;
+  linux*)
+    THREADFLAGS="-pthread"
+    have_linux="yes"
+    ;;
+  darwin*)
+    CXXFLAGS="-D__APPLE_USE_RFC_3542 -D_XOPEN_SOURCE $CXXFLAGS"
+    ;;
+  freebsd*)
+    THREADFLAGS="-pthread"
+    have_freebsd="yes"
+    ;;
+  *)
+    LDFLAGS="-pthread $LDFLAGS"
+    CXXFLAGS="-pthread $CXXFLAGS"
+    ;;
+  esac
+
+  AM_CONDITIONAL([HAVE_FREEBSD], [test "x$have_freebsd" = "xyes"])
+  AM_CONDITIONAL([HAVE_LINUX], [test "x$have_linux" = "xyes"])
+  AM_CONDITIONAL([HAVE_SOLARIS], [test "x$have_solaris" = "xyes"])
+
+  AC_SUBST(THREADFLAGS)
+  AC_SUBST([DYNLINKFLAGS], [-export-dynamic])
+])
diff --git a/pdns/Makefile-recursor b/pdns/Makefile-recursor
deleted file mode 100644 (file)
index 3f2026c..0000000
+++ /dev/null
@@ -1,137 +0,0 @@
-# user editable stuff:
-SBINDIR=/usr/sbin/
-BINDIR=/usr/bin/
-SYSCONFDIR=/etc/powerdns/
-LOCALSTATEDIR=/var/run/
-OPTFLAGS?=-O3
-CXXFLAGS:= $(CXXFLAGS) -I$(CURDIR)/ext/json11 -Wall @CF_PIE@ @CF_FORTIFY@ @CF_STACK@ $(OPTFLAGS) $(PROFILEFLAGS) $(ARCHFLAGS) -pthread -Iext/yahttp -DHAVE_CONFIG_H
-CFLAGS:=$(CFLAGS) -Wall $(OPTFLAGS) @CF_PIE@ @CF_FORTIFY@ @CF_STACK@ $(PROFILEFLAGS) $(ARCHFLAGS) -pthread -DHAVE_CONFIG_H
-LDFLAGS:=$(LDFLAGS) $(ARCHFLAGS) -pthread @LD_RELRO@ @CF_STACK@ @LD_PIE@
-STRIP_BINARIES?=1
-
-LINKCC=$(CXX)
-CC?=gcc
-
-# Lua 5.1 settings
-
-# static dependencies
-
-PDNS_RECURSOR_OBJECTS=syncres.o misc.o unix_utility.o qtype.o logger.o \
-arguments.o lwres.o pdns_recursor.o recursor_cache.o dnsparser.o \
-dnswriter.o dnsrecords.o rcpgenerator.o base64.o zoneparser-tng.o \
-rec_channel.o rec_channel_rec.o selectmplexer.o sillyrecords.o \
-dns_random.o pubsuffix.o dnslabeltext.o \
-ext/json11/json11.o \
-lua-recursor4.o randomhelper.o recpacketcache.o dns.o \
-reczones.o base32.o nsecrecords.o json.o ws-recursor.o ws-api.o \
-version.o responsestats.o webserver.o ext/yahttp/yahttp/reqresp.o ext/yahttp/yahttp/router.o \
-rec-carbon.o secpoll-recursor.o iputils.o dnsname.o \
-rpzloader.o filterpo.o resolver.o ixfr.o dnssecinfra.o gss_context.o \
-ednssubnet.o validate.o validate-recursor.o opensslsigners.o \
-rec-lua-conf.o sortlist.o
-
-REC_CONTROL_OBJECTS=rec_channel.o rec_control.o arguments.o misc.o \
-       unix_utility.o logger.o qtype.o dnslabeltext.o dnsname.o
-
-# what we need 
-all: message build
-
-# OS specific instructions
--include sysdeps/$(shell uname).inc
-ifeq ($(shell uname),GNU/kFreeBSD)
-       -include sysdeps/FreeBSD.inc
-endif
-ifeq ($(shell uname),GNU/Hurd)
-       -include sysdeps/Linux.inc
-endif
-
-ifeq ($(LUA), 1)
-       LUALIBS=$(LUA_LIBS_CONFIG)
-       CXXFLAGS+=$(LUA_CPPFLAGS_CONFIG) -DPDNS_ENABLE_LUA -DHAVE_LUA
-endif
-
-
-ifeq ($(STATIC),semi)
-       STATICFLAGS=-Wl,-Bstatic -lstdc++ $(LUALIBS) -lgcc -Wl,-Bdynamic -static-libgcc -lm -lc -ldl
-       LINKCC=$(CC)
-       LDFLAGS += -lm
-else 
-   ifeq ($(STATIC),full)
-       STATICFLAGS=-lstdc++ $(LUALIBS) -ldl -lm -static 
-       LINKCC=$(CC)
-   else
-       LDFLAGS += $(LUALIBS)
-   endif
-endif
-
-
-LDFLAGS += $(PROFILEFLAGS) $(STATICFLAGS)
-LDFLAGS += -lcrypto
-
-CXXFLAGS += -DSYSCONFDIR='"$(SYSCONFDIR)"' -DLOCALSTATEDIR='"$(LOCALSTATEDIR)"'
-CFLAGS += -DSYSCONFDIR='"$(SYSCONFDIR)"' -DLOCALSTATEDIR='"$(LOCALSTATEDIR)"'
-
-dnslabeltext.cc: dnslabeltext.rl
-       ragel $< -o $@
-
-message: 
-       @echo
-       @echo PLEASE READ: If you get an error mentioning \#include '<boost/something.hpp>', please read README
-       @echo PLEASE READ: for an easy fix!
-       @echo 
-
-basic_checks: 
-       @-rm -f pdns_hw
-       -$(CXX) $(CXXFLAGS) pdns_hw.cc -o pdns_hw
-       @echo
-       @if test -x ./pdns_hw ; \
-                then if ./pdns_hw; then echo Everything ok, now run $(MAKE) using same settings \(if any\) you passed ./configure; else echo Could compile binary, but not run it, read README please ; exit 1 ; fi; \
-        else   \
-               echo; echo Could not compile simple binary, read README please; \
-               rm -f dep ; \
-               exit 1 ; \
-        fi
-
-install: build-stamp
-       -mkdir -p $(DESTDIR)/$(SBINDIR)
-       cp pdns_recursor $(DESTDIR)/$(SBINDIR)
-ifeq ($(STRIP_BINARIES), 1)
-       strip $(DESTDIR)/$(SBINDIR)/pdns_recursor
-endif
-       mkdir -p $(DESTDIR)/$(BINDIR)
-       cp rec_control $(DESTDIR)/$(BINDIR)
-ifeq ($(STRIP_BINARIES), 1)
-       strip $(DESTDIR)/$(BINDIR)/rec_control
-endif
-       -mkdir -p $(DESTDIR)/$(SYSCONFDIR)
-       $(DESTDIR)/$(SBINDIR)/pdns_recursor --config > $(DESTDIR)/$(SYSCONFDIR)/recursor.conf-dist
-       -mkdir -p $(DESTDIR)/usr/share/man/man1
-       cp pdns_recursor.1 rec_control.1 $(DESTDIR)/usr/share/man/man1
-       $(OS_SPECIFIC_INSTALL)  
-
-clean: binclean
-       -rm -f dep *~ *.gcda *.gcno optional/*.gcda optional/*.gcno
-
-binclean:
-       -rm -f *.o pdns_hw pdns_recursor rec_control optional/*.o build-stamp ext/library/*.o ext/yahttp/yahttp/*.o ext/json11/*.o
-
-dep:
-       $(CXX) $(CXXFLAGS) -MM -MG *.cc *.hh > $@
-
--include dep
-
-optional:
-       mkdir optional
-
-pdns_recursor: optional $(OPTIONALS) $(PDNS_RECURSOR_OBJECTS) 
-       $(LINKCC) $(PDNS_RECURSOR_OBJECTS) $(wildcard optional/*.o) $(LDFLAGS) -o $@
-
-rec_control: $(REC_CONTROL_OBJECTS)
-       $(LINKCC) $(REC_CONTROL_OBJECTS) $(LDFLAGS) -o $@
-
-build-stamp:
-       $(MAKE) build
-
-build: pdns_recursor rec_control
-       touch build-stamp
-
diff --git a/pdns/config-recursor.h b/pdns/config-recursor.h
deleted file mode 100644 (file)
index 0e713a3..0000000
+++ /dev/null
@@ -1 +0,0 @@
-#define RECURSOR
diff --git a/pdns/configure-recursor b/pdns/configure-recursor
deleted file mode 100755 (executable)
index 9bba2b2..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-#!/bin/sh
-set -e
-
-if [ "$HARDENING" = "" ]; then
-  HARDENING="yes"
-fi
-
-if [ "$CXX" = "" ]; then
-  CXX="g++"
-fi
-
-if [ "$STATIC" = "" ]; then
-  STATIC="no"
-fi
-
-if [ "$REPRODUCIBLE" = "1" ]; then
-  cat >> config.h << EOF
-#define REPRODUCIBLE 1
-EOF
-fi
-
-set -u
-
-LD_RELRO=""
-CF_PIE=""
-LD_PIE=""
-CF_FORTIFY=""
-CF_STACK=""
-
-BUILD_USER="$(id -u -n)"
-case $(uname) in
-  SunOS)
-    BUILD_HOST="${BUILD_USER}@$(hostname).$(domainname)" ;;
-  *)
-    BUILD_HOST="${BUILD_USER}@$(hostname -f || echo 'localhost')" ;;
-esac
-
-perl -p -n -i -e 'print unless /#define BUILD_HOST/' config.h
-cat >> config.h << EOF
-#define BUILD_HOST "${BUILD_HOST}"
-EOF
-
-test_flags() {
-  # test for relocation
-
-  if [ `uname -s` = 'SunOS' ]; then
-    return
-  fi
-
-  if $CXX -Wl,-help 2>/dev/null | grep 'z relro' >/dev/null; then
-    LD_RELRO="-Wl,-z -Wl,relro"
-    if $CXX -Wl,-help 2>/dev/null | grep 'z now' >/dev/null; then
-      LD_RELRO="$LD_RELRO -Wl,-z -Wl,now"
-    fi
-    export LD_RELRO
-  fi
-
-  src=conftest.cc
-  cat >$src <<EOF
-#include <pthread.h>
-
-__thread unsigned int t_id;
-int
-main ()
-{
-  t_id = 1;
-  return 0;
-}
-EOF
-
-  # test for PIE
-  if $CXX $src -c -o a.out -fPIE -DPIE 2>/dev/null; then
-    if [ "$STATIC" != "semi" ] && [ "$STATIC" != "full" ] && $CXX -pie -o a2.out a.out 2>/dev/null; then
-      CF_PIE="-fPIE -DPIE"
-      LD_PIE="-pie"
-    fi
-  fi
-
-  # test for fortified source
-  if $CXX $src -c -o a.out -O3 -D_FORTIFY_SOURCE=2; then
-    CF_FORTIFY="-D_FORTIFY_SOURCE=2"
-  fi
-
-  # test for stack protector
-  if $CXX $src -c -o a.out -O3 -fstack-protector; then
-    CF_STACK="-fstack-protector"
-    if $CXX $src -c -o a.out -O3 -fstack-protector --param ssp-buffer-size=4; then
-      CF_STACK="$CF_STACK --param ssp-buffer-size=4"
-    fi
-  fi
-
-  rm -f $src a.out a2.out
-}
-
-if [ "$HARDENING" != "no" ]; then
-  test_flags
-fi
-
-sed -e "s/@LD_RELRO@/$LD_RELRO/g" -e "s/@LD_PIE@/$LD_PIE/g" -e "s/@CF_PIE@/$CF_PIE/g" -e "s/@CF_FORTIFY@/$CF_FORTIFY/g" -e "s/@CF_STACK@/$CF_STACK/g" < Makefile.in > Makefile
-
-echo Testing dependencies and compiler.
-
-MAKE=`which gmake || echo make`
-
-echo Using $MAKE to build
-$MAKE basic_checks
diff --git a/pdns/recursordist/.gitignore b/pdns/recursordist/.gitignore
new file mode 100644 (file)
index 0000000..235d339
--- /dev/null
@@ -0,0 +1,37 @@
+*.tar.gz
+*.tar.bz2
+.version
+/stamp-h1
+/compile
+/Makefile
+/Makefile.in
+/aclocal.m4
+/build-aux/*
+!/build-aux/gen-version
+/autom4te.cache/
+/config.guess
+/config.h
+/config.h.in
+/config.log
+/config.status
+/config.sub
+/configure
+/depcomp
+/pdns_recursor.1
+/rec_control.1
+/dnslabeltext.cc
+/ext/yahttp/Makefile
+/ext/yahttp/Makefile.in
+/ext/yahttp/yahttp/Makefile
+/ext/yahttp/yahttp/Makefile.in
+/htmlfiles.h
+/install-sh
+/libtool
+/ltmain.sh
+/missing
+/testrunner
+/pdns_recursor
+/rec_control
+/pdns-recursor-*
+/ext/Makefile
+/ext/Makefile.in
diff --git a/pdns/recursordist/COPYING b/pdns/recursordist/COPYING
new file mode 120000 (symlink)
index 0000000..7d29222
--- /dev/null
@@ -0,0 +1 @@
+../../COPYING
\ No newline at end of file
diff --git a/pdns/recursordist/Makefile.am b/pdns/recursordist/Makefile.am
new file mode 100644 (file)
index 0000000..98bfe39
--- /dev/null
@@ -0,0 +1,209 @@
+JSON11_LIBS = -L$(top_srcdir)/ext/json11 -ljson11
+
+AM_CPPFLAGS = $(LUA_CFLAGS) $(YAHTTP_CFLAGS) $(BOOST_CPPFLAGS) $(SANITIZER_FLAGS) -O3 -Wall -pthread -DSYSCONFDIR=\"${sysconfdir}\"
+
+AM_CPPFLAGS += \
+       -I$(top_srcdir)/ext/json11 \
+       -I$(top_srcdir)/ext/rapidjson/include \
+       $(YAHTTP_CFLAGS) \
+       $(MBEDTLS_CFLAGS)
+
+AM_CXXFLAGS = \
+       -DSYSCONFDIR=\"$(sysconfdir)\" \
+       -DPKGLIBDIR=\"$(pkglibdir)\" \
+       -DLOCALSTATEDIR=\"$(socketdir)\"
+
+AM_LDFLAGS = \
+       $(PROGRAM_LDFLAGS) \
+       $(THREADFLAGS)
+
+ACLOCAL_AMFLAGS = -I m4
+
+SUBDIRS=ext
+
+if LUA
+AM_CPPFLAGS +=$(LUA_CFLAGS)
+endif
+
+EXTRA_DIST = \
+       .version \
+       botan110signers.cc botansigners.cc \
+       devpollmplexer.cc \
+       dnslabeltext.cc \
+       dnslabeltext.rl \
+       effective_tld_names.dat \
+       epollmplexer.cc \
+       kqueuemplexer.cc \
+       malloctrace.cc malloctrace.hh \
+       mbedtlscompat.hh mbedtlssigners.cc \
+       mtasker.cc \
+       opensslsigners.hh opensslsigners.cc \
+       pdns_recursor.1.md \
+       portsmplexer.cc \
+       rec_control.1.md
+
+sbin_PROGRAMS = pdns_recursor
+bin_PROGRAMS = rec_control
+
+pdns_recursor_SOURCES = \
+       arguments.cc \
+       base32.cc base32.hh \
+       base64.cc base64.hh \
+       cachecleaner.hh \
+       comment.hh \
+       dns.hh dns.cc \
+       dns_random.hh dns_random.cc \
+       dnsbackend.hh \
+       dnslabeltext.cc \
+       dnsname.cc dnsname.hh \
+       dnspacket.hh \
+       dnsparser.hh dnsparser.cc \
+       dnsrecords.cc dnsrecords.hh \
+       dnssecinfra.hh dnssecinfra.cc \
+       dnsseckeeper.hh \
+       dnswriter.cc dnswriter.hh \
+       ednssubnet.cc ednssubnet.hh \
+       filterpo.cc filterpo.hh \
+       gss_context.cc gss_context.hh \
+       iputils.hh iputils.cc \
+       ixfr.cc ixfr.hh \
+       json.cc json.hh \
+       lock.hh \
+       logger.hh logger.cc \
+       lua-recursor4.cc lua-recursor4.hh \
+       lwres.cc lwres.hh \
+       misc.hh misc.cc \
+       mplexer.hh \
+       mtasker.hh \
+       namespaces.hh \
+       nsecrecords.cc \
+       pdns_recursor.cc \
+       pdnsexception.hh \
+       pubsuffix.hh pubsuffix.cc \
+       qtype.hh qtype.cc \
+       randomhelper.cc \
+       rcpgenerator.cc rcpgenerator.hh \
+       rec-carbon.cc \
+       rec-lua-conf.hh rec-lua-conf.cc \
+       rec_channel.cc rec_channel.hh \
+       rec_channel_rec.cc \
+       recpacketcache.cc recpacketcache.hh \
+       recursor_cache.cc recursor_cache.hh \
+       reczones.cc \
+       resolver.hh resolver.cc \
+       responsestats.hh responsestats.cc \
+       rpzloader.cc rpzloader.hh \
+       secpoll-recursor.cc \
+       secpoll-recursor.hh \
+       selectmplexer.cc \
+       sholder.hh \
+       sillyrecords.cc \
+       sortlist.cc sortlist.hh \
+       sstuff.hh \
+       statbag.hh statbag.cc \
+       syncres.cc syncres.hh \
+       ueberbackend.hh \
+       unix_utility.cc \
+       utility.hh \
+       validate.cc validate.hh validate-recursor.cc validate-recursor.hh \
+       version.cc version.hh \
+       webserver.cc webserver.hh \
+       ws-api.cc ws-api.hh \
+       ws-recursor.cc ws-recursor.hh \
+       zoneparser-tng.cc zoneparser-tng.hh
+
+pdns_recursor_LDADD = \
+       $(YAHTTP_LIBS) \
+       $(JSON11_LIBS)
+
+pdns_recursor_LDFLAGS = $(AM_LDFLAGS)
+
+if MBEDTLS
+pdns_recursor_SOURCES += \
+       mbedtlscompat.hh \
+       mbedtlssigners.cc
+pdns_recursor_LDADD += $(MBEDTLS_LIBS)
+pdns_recursor_LDFLAGS += $(MBEDTLS_LDFLAGS)
+endif
+
+if OPENSSL
+pdns_recursor_SOURCES += \
+       opensslsigners.cc \
+       opensslsigners.hh
+pdns_recursor_LDADD += $(OPENSSL_LIBS)
+pdns_recursor_LDFLAGS += $(OPENSSL_LDFLAGS)
+endif
+
+if BOTAN110
+pdns_recursor_SOURCES += \
+       botan110signers.cc \
+       botansigners.cc
+pdns_recursor_LDADD += $(BOTAN110_LIBS)
+endif
+
+if MALLOC_TRACE
+pdns_recursor_SOURCES += \
+       malloctrace.cc \
+       malloctrace.hh
+pdns_recursor_LDFLAGS += -rdynamic
+endif
+
+if LUA
+pdns_recursor_LDADD += $(LUA_LIBS)
+endif
+
+if HAVE_FREEBSD
+pdns_recursor_SOURCES += kqueuemplexer.cc
+endif
+
+if HAVE_LINUX
+pdns_recursor_SOURCES += epollmplexer.cc
+endif
+
+if HAVE_SOLARIS
+pdns_recursor_SOURCES += \
+       devpollmplexer.cc \
+       portsmplexer.cc
+endif
+
+rec_control_SOURCES = \
+       arguments.cc arguments.hh \
+       dnsname.hh dnsname.cc \
+       dnslabeltext.cc \
+       logger.cc \
+       misc.cc \
+       qtype.cc \
+       rec_channel.cc rec_channel.hh \
+       rec_control.cc \
+       statbag.cc \
+       unix_utility.cc
+
+dnslabeltext.cc: dnslabeltext.rl
+       $(AM_V_GEN)$(RAGEL) $< -o dnslabeltext.cc
+
+curl_verbose = $(curl_verbose_$(V))
+curl_verbose_ = $(curl_verbose_$(AM_DEFAULT_VERBOSITY))
+curl_verbose_0 = @echo "  CURL    " $@;
+$(srcdir)/effective_tld_names.dat:
+       $(curl_verbose)if ! curl -s https://publicsuffix.org/list/public_suffix_list.dat > $@; then rm -f $@; exit 1; fi
+
+pubsuffix.cc: $(srcdir)/effective_tld_names.dat
+       $(AM_V_GEN)./mkpubsuffixcc
+
+MANPAGES=pdns_recursor.1 \
+        rec_control.1
+
+dist_man_MANS=$(MANPAGES)
+
+if HAVE_PANDOC
+$(MANPAGES): %: %.md
+       $(AM_V_GEN)$(PANDOC) -s -t man $< -o $@
+else
+if HAVE_MANPAGES
+#nothing
+else
+$(MANPAGES):
+       echo "You need pandoc to generate the manpages"
+       exit 1
+endif
+endif
diff --git a/pdns/recursordist/NOTICE b/pdns/recursordist/NOTICE
new file mode 120000 (symlink)
index 0000000..fb376cf
--- /dev/null
@@ -0,0 +1 @@
+../../NOTICE
\ No newline at end of file
diff --git a/pdns/recursordist/arguments.cc b/pdns/recursordist/arguments.cc
new file mode 120000 (symlink)
index 0000000..68283a9
--- /dev/null
@@ -0,0 +1 @@
+../arguments.cc
\ No newline at end of file
diff --git a/pdns/recursordist/arguments.hh b/pdns/recursordist/arguments.hh
new file mode 120000 (symlink)
index 0000000..a0761f4
--- /dev/null
@@ -0,0 +1 @@
+../arguments.hh
\ No newline at end of file
diff --git a/pdns/recursordist/base32.cc b/pdns/recursordist/base32.cc
new file mode 120000 (symlink)
index 0000000..88471d9
--- /dev/null
@@ -0,0 +1 @@
+../base32.cc
\ No newline at end of file
diff --git a/pdns/recursordist/base32.hh b/pdns/recursordist/base32.hh
new file mode 120000 (symlink)
index 0000000..ad650d2
--- /dev/null
@@ -0,0 +1 @@
+../base32.hh
\ No newline at end of file
diff --git a/pdns/recursordist/base64.cc b/pdns/recursordist/base64.cc
new file mode 120000 (symlink)
index 0000000..e04b9cc
--- /dev/null
@@ -0,0 +1 @@
+../base64.cc
\ No newline at end of file
diff --git a/pdns/recursordist/base64.hh b/pdns/recursordist/base64.hh
new file mode 120000 (symlink)
index 0000000..93cb62e
--- /dev/null
@@ -0,0 +1 @@
+../base64.hh
\ No newline at end of file
diff --git a/pdns/recursordist/bootstrap b/pdns/recursordist/bootstrap
new file mode 120000 (symlink)
index 0000000..b17b398
--- /dev/null
@@ -0,0 +1 @@
+../../bootstrap
\ No newline at end of file
diff --git a/pdns/recursordist/botan110signers.cc b/pdns/recursordist/botan110signers.cc
new file mode 120000 (symlink)
index 0000000..e6cfd35
--- /dev/null
@@ -0,0 +1 @@
+../botan110signers.cc
\ No newline at end of file
diff --git a/pdns/recursordist/botansigners.cc b/pdns/recursordist/botansigners.cc
new file mode 120000 (symlink)
index 0000000..edbcea7
--- /dev/null
@@ -0,0 +1 @@
+../botansigners.cc
\ No newline at end of file
diff --git a/pdns/recursordist/build-aux/gen-version b/pdns/recursordist/build-aux/gen-version
new file mode 120000 (symlink)
index 0000000..65e37df
--- /dev/null
@@ -0,0 +1 @@
+../../../build-aux/gen-version
\ No newline at end of file
diff --git a/pdns/recursordist/cachecleaner.hh b/pdns/recursordist/cachecleaner.hh
new file mode 120000 (symlink)
index 0000000..8b8f773
--- /dev/null
@@ -0,0 +1 @@
+../cachecleaner.hh
\ No newline at end of file
diff --git a/pdns/recursordist/comment.hh b/pdns/recursordist/comment.hh
new file mode 120000 (symlink)
index 0000000..fdbe325
--- /dev/null
@@ -0,0 +1 @@
+../comment.hh
\ No newline at end of file
diff --git a/pdns/recursordist/configure.ac b/pdns/recursordist/configure.ac
new file mode 100644 (file)
index 0000000..37eeab8
--- /dev/null
@@ -0,0 +1,109 @@
+AC_INIT([pdns-recursor], m4_esyscmd_s(build-aux/gen-version))
+AC_CONFIG_AUX_DIR([build-aux])
+AM_INIT_AUTOMAKE([foreign dist-bzip2 no-dist-gzip tar-ustar -Wno-portability subdir-objects parallel-tests 1.11])
+AM_SILENT_RULES([yes])
+AC_CONFIG_SRCDIR([pdns_recursor.cc])
+AC_CONFIG_MACRO_DIR([m4])
+
+AC_CONFIG_HEADERS([config.h])
+
+AC_CANONICAL_HOST
+: ${CFLAGS="-Wall -g -O2"}
+: ${CXXFLAGS="-Wall -g -O2"}
+
+AC_SUBST([pdns_configure_args],["$ac_configure_args"])
+AC_DEFINE_UNQUOTED([PDNS_CONFIG_ARGS],
+  ["$pdns_configure_args"],
+  [pdns-recursor configure arguments]
+)
+
+AC_PROG_CC
+AC_PROG_CXX
+AC_LANG([C++])
+
+AC_DEFINE([_GNU_SOURCE], [1],
+  [Define _GNU_SOURCE so that we get all necessary prototypes]
+)
+
+# Warn when pkg.m4 is missing
+m4_pattern_forbid([^_?PKG_[A-Z_]+$],[*** pkg.m4 missing, please install pkg-config])
+
+AX_CXX_COMPILE_STDCXX_11(ext,mandatory)
+AC_PROG_LIBTOOL
+
+PDNS_CHECK_OS
+
+BOOST_REQUIRE([1.35])
+PDNS_ENABLE_REPRODUCIBLE
+
+PDNS_WITH_LUAJIT
+AS_IF([test "x$with_luajit" = "xno"], [
+  PDNS_WITH_LUA
+])
+
+PDNS_ENABLE_VERBOSE_LOGGING
+
+# Crypto libraries
+PDNS_WITH_SYSTEM_MBEDTLS
+PDNS_ENABLE_BOTAN
+AX_CHECK_OPENSSL([
+       AM_CONDITIONAL([OPENSSL], [true])
+       AC_DEFINE(HAVE_OPENSSL, [1], [Define to 1 if you openssl])
+       ],[
+       AM_CONDITIONAL([OPENSSL], [false])
+       ]
+)
+
+# check for tools we might need
+PDNS_CHECK_RAGEL
+PDNS_CHECK_CURL
+
+AC_CHECK_FUNCS([strcasestr])
+
+AC_SUBST(socketdir)
+socketdir="/var/run"
+AC_ARG_WITH([socketdir],
+  [AS_HELP_STRING([--with-socketdir],[where the controlsocket lives @<:@default=/var/run@:>@])],
+  [socketdir="$withval"]
+)
+
+AC_MSG_CHECKING([whether we will enable compiler security checks])
+AC_ARG_ENABLE([hardening],
+  [AS_HELP_STRING([--disable-hardening],[disable compiler security checks @<:@default=no@:>@])],
+  [enable_hardening=$enableval],
+  [enable_hardening=yes]
+)
+AC_MSG_RESULT([$enable_hardening])
+
+AS_IF([test "x$enable_hardening" != "xno"], [
+  AC_CC_PIE
+  AC_CC_STACK_PROTECTOR
+  AC_CC_PARAM_SSP_BUFFER_SIZE([4])
+  AC_CC_D_FORTIFY_SOURCE
+  AC_LD_RELRO
+])
+
+PDNS_ENABLE_SANITIZERS
+PDNS_ENABLE_MALLOC_TRACE
+PDNS_CHECK_PANDOC
+
+AC_SUBST(LIBS)
+
+AC_SUBST([AM_CPPFLAGS],
+  ["AS_ESCAPE([-I$(top_builddir) -I$(top_srcdir)]) $THREADFLAGS $BOOST_CPPFLAGS"]
+)
+
+AC_SUBST([YAHTTP_CFLAGS], ['-I$(top_srcdir)/ext/yahttp'])
+AC_SUBST([YAHTTP_LIBS], ['-L$(top_builddir)/ext/yahttp/yahttp -lyahttp'])
+
+CXXFLAGS="$SANITIZER_FLAGS $CXXFLAGS"
+
+LDFLAGS="$RELRO_LDFLAGS $LDFLAGS"
+
+AC_CONFIG_FILES([Makefile
+       ext/Makefile
+       ext/json11/Makefile
+       ext/yahttp/Makefile
+       ext/yahttp/yahttp/Makefile])
+
+AC_OUTPUT
diff --git a/pdns/recursordist/devpollmplexer.cc b/pdns/recursordist/devpollmplexer.cc
new file mode 120000 (symlink)
index 0000000..ab43785
--- /dev/null
@@ -0,0 +1 @@
+../devpollmplexer.cc
\ No newline at end of file
diff --git a/pdns/recursordist/dns.cc b/pdns/recursordist/dns.cc
new file mode 120000 (symlink)
index 0000000..370b206
--- /dev/null
@@ -0,0 +1 @@
+../dns.cc
\ No newline at end of file
diff --git a/pdns/recursordist/dns.hh b/pdns/recursordist/dns.hh
new file mode 120000 (symlink)
index 0000000..e3518f2
--- /dev/null
@@ -0,0 +1 @@
+../dns.hh
\ No newline at end of file
diff --git a/pdns/recursordist/dns_random.cc b/pdns/recursordist/dns_random.cc
new file mode 120000 (symlink)
index 0000000..9fa1021
--- /dev/null
@@ -0,0 +1 @@
+../dns_random.cc
\ No newline at end of file
diff --git a/pdns/recursordist/dns_random.hh b/pdns/recursordist/dns_random.hh
new file mode 120000 (symlink)
index 0000000..cb20771
--- /dev/null
@@ -0,0 +1 @@
+../dns_random.hh
\ No newline at end of file
diff --git a/pdns/recursordist/dnsbackend.hh b/pdns/recursordist/dnsbackend.hh
new file mode 120000 (symlink)
index 0000000..337a2d0
--- /dev/null
@@ -0,0 +1 @@
+../dnsbackend.hh
\ No newline at end of file
diff --git a/pdns/recursordist/dnslabeltext.cc b/pdns/recursordist/dnslabeltext.cc
new file mode 120000 (symlink)
index 0000000..89ab37c
--- /dev/null
@@ -0,0 +1 @@
+../dnslabeltext.cc
\ No newline at end of file
diff --git a/pdns/recursordist/dnslabeltext.rl b/pdns/recursordist/dnslabeltext.rl
new file mode 120000 (symlink)
index 0000000..7eb54db
--- /dev/null
@@ -0,0 +1 @@
+../dnslabeltext.rl
\ No newline at end of file
diff --git a/pdns/recursordist/dnsname.cc b/pdns/recursordist/dnsname.cc
new file mode 120000 (symlink)
index 0000000..25368dd
--- /dev/null
@@ -0,0 +1 @@
+../dnsname.cc
\ No newline at end of file
diff --git a/pdns/recursordist/dnsname.hh b/pdns/recursordist/dnsname.hh
new file mode 120000 (symlink)
index 0000000..af918ec
--- /dev/null
@@ -0,0 +1 @@
+../dnsname.hh
\ No newline at end of file
diff --git a/pdns/recursordist/dnspacket.hh b/pdns/recursordist/dnspacket.hh
new file mode 120000 (symlink)
index 0000000..4158932
--- /dev/null
@@ -0,0 +1 @@
+../dnspacket.hh
\ No newline at end of file
diff --git a/pdns/recursordist/dnsparser.cc b/pdns/recursordist/dnsparser.cc
new file mode 120000 (symlink)
index 0000000..1352518
--- /dev/null
@@ -0,0 +1 @@
+../dnsparser.cc
\ No newline at end of file
diff --git a/pdns/recursordist/dnsparser.hh b/pdns/recursordist/dnsparser.hh
new file mode 120000 (symlink)
index 0000000..6c81310
--- /dev/null
@@ -0,0 +1 @@
+../dnsparser.hh
\ No newline at end of file
diff --git a/pdns/recursordist/dnsrecords.cc b/pdns/recursordist/dnsrecords.cc
new file mode 120000 (symlink)
index 0000000..f4b8f64
--- /dev/null
@@ -0,0 +1 @@
+../dnsrecords.cc
\ No newline at end of file
diff --git a/pdns/recursordist/dnsrecords.hh b/pdns/recursordist/dnsrecords.hh
new file mode 120000 (symlink)
index 0000000..c27ebf4
--- /dev/null
@@ -0,0 +1 @@
+../dnsrecords.hh
\ No newline at end of file
diff --git a/pdns/recursordist/dnssecinfra.cc b/pdns/recursordist/dnssecinfra.cc
new file mode 120000 (symlink)
index 0000000..fc24d26
--- /dev/null
@@ -0,0 +1 @@
+../dnssecinfra.cc
\ No newline at end of file
diff --git a/pdns/recursordist/dnssecinfra.hh b/pdns/recursordist/dnssecinfra.hh
new file mode 120000 (symlink)
index 0000000..6397748
--- /dev/null
@@ -0,0 +1 @@
+../dnssecinfra.hh
\ No newline at end of file
diff --git a/pdns/recursordist/dnsseckeeper.hh b/pdns/recursordist/dnsseckeeper.hh
new file mode 120000 (symlink)
index 0000000..20aa801
--- /dev/null
@@ -0,0 +1 @@
+../dnsseckeeper.hh
\ No newline at end of file
diff --git a/pdns/recursordist/dnswriter.cc b/pdns/recursordist/dnswriter.cc
new file mode 120000 (symlink)
index 0000000..7e0f3a2
--- /dev/null
@@ -0,0 +1 @@
+../dnswriter.cc
\ No newline at end of file
diff --git a/pdns/recursordist/dnswriter.hh b/pdns/recursordist/dnswriter.hh
new file mode 120000 (symlink)
index 0000000..5906a17
--- /dev/null
@@ -0,0 +1 @@
+../dnswriter.hh
\ No newline at end of file
diff --git a/pdns/recursordist/ednssubnet.cc b/pdns/recursordist/ednssubnet.cc
new file mode 120000 (symlink)
index 0000000..95d9f89
--- /dev/null
@@ -0,0 +1 @@
+../ednssubnet.cc
\ No newline at end of file
diff --git a/pdns/recursordist/ednssubnet.hh b/pdns/recursordist/ednssubnet.hh
new file mode 120000 (symlink)
index 0000000..43fefd7
--- /dev/null
@@ -0,0 +1 @@
+../ednssubnet.hh
\ No newline at end of file
diff --git a/pdns/recursordist/epollmplexer.cc b/pdns/recursordist/epollmplexer.cc
new file mode 120000 (symlink)
index 0000000..b796a57
--- /dev/null
@@ -0,0 +1 @@
+../epollmplexer.cc
\ No newline at end of file
diff --git a/pdns/recursordist/ext/Makefile.am b/pdns/recursordist/ext/Makefile.am
new file mode 100644 (file)
index 0000000..1d08d95
--- /dev/null
@@ -0,0 +1,10 @@
+SUBDIRS = \
+       yahttp \
+       json11
+
+DIST_SUBDIRS = \
+       yahttp \
+       json11
+
+EXTRA_DIST = \
+       luawrapper/include/LuaContext.hpp
diff --git a/pdns/recursordist/ext/json11/.gitignore b/pdns/recursordist/ext/json11/.gitignore
new file mode 120000 (symlink)
index 0000000..c0debb6
--- /dev/null
@@ -0,0 +1 @@
+../../../../ext/json11/.gitignore
\ No newline at end of file
diff --git a/pdns/recursordist/ext/json11/LICENSE.txt b/pdns/recursordist/ext/json11/LICENSE.txt
new file mode 120000 (symlink)
index 0000000..529e531
--- /dev/null
@@ -0,0 +1 @@
+../../../../ext/json11/LICENSE.txt
\ No newline at end of file
diff --git a/pdns/recursordist/ext/json11/Makefile.am b/pdns/recursordist/ext/json11/Makefile.am
new file mode 120000 (symlink)
index 0000000..897abcb
--- /dev/null
@@ -0,0 +1 @@
+../../../../ext/json11/Makefile.am
\ No newline at end of file
diff --git a/pdns/recursordist/ext/json11/json11.cpp b/pdns/recursordist/ext/json11/json11.cpp
new file mode 120000 (symlink)
index 0000000..6e6bf9a
--- /dev/null
@@ -0,0 +1 @@
+../../../../ext/json11/json11.cpp
\ No newline at end of file
diff --git a/pdns/recursordist/ext/json11/json11.hpp b/pdns/recursordist/ext/json11/json11.hpp
new file mode 120000 (symlink)
index 0000000..137d86c
--- /dev/null
@@ -0,0 +1 @@
+../../../../ext/json11/json11.hpp
\ No newline at end of file
diff --git a/pdns/recursordist/ext/luawrapper b/pdns/recursordist/ext/luawrapper
new file mode 120000 (symlink)
index 0000000..c455f84
--- /dev/null
@@ -0,0 +1 @@
+../../../ext/luawrapper
\ No newline at end of file
diff --git a/pdns/recursordist/ext/rapidjson b/pdns/recursordist/ext/rapidjson
new file mode 120000 (symlink)
index 0000000..8c26d92
--- /dev/null
@@ -0,0 +1 @@
+../../../ext/rapidjson
\ No newline at end of file
diff --git a/pdns/recursordist/ext/yahttp/.gitignore b/pdns/recursordist/ext/yahttp/.gitignore
new file mode 120000 (symlink)
index 0000000..068c168
--- /dev/null
@@ -0,0 +1 @@
+../../../../ext/yahttp/.gitignore
\ No newline at end of file
diff --git a/pdns/recursordist/ext/yahttp/LICENSE b/pdns/recursordist/ext/yahttp/LICENSE
new file mode 120000 (symlink)
index 0000000..f74a5e3
--- /dev/null
@@ -0,0 +1 @@
+../../../../ext/yahttp/LICENSE
\ No newline at end of file
diff --git a/pdns/recursordist/ext/yahttp/Makefile.am b/pdns/recursordist/ext/yahttp/Makefile.am
new file mode 120000 (symlink)
index 0000000..1e749e8
--- /dev/null
@@ -0,0 +1 @@
+../../../../ext/yahttp/Makefile.am
\ No newline at end of file
diff --git a/pdns/recursordist/ext/yahttp/README.md b/pdns/recursordist/ext/yahttp/README.md
new file mode 120000 (symlink)
index 0000000..f4b3535
--- /dev/null
@@ -0,0 +1 @@
+../../../../ext/yahttp/README.md
\ No newline at end of file
diff --git a/pdns/recursordist/ext/yahttp/yahttp/Makefile.am b/pdns/recursordist/ext/yahttp/yahttp/Makefile.am
new file mode 120000 (symlink)
index 0000000..6c3b3e1
--- /dev/null
@@ -0,0 +1 @@
+../../../../../ext/yahttp/yahttp/Makefile.am
\ No newline at end of file
diff --git a/pdns/recursordist/ext/yahttp/yahttp/cookie.hpp b/pdns/recursordist/ext/yahttp/yahttp/cookie.hpp
new file mode 120000 (symlink)
index 0000000..5f5a023
--- /dev/null
@@ -0,0 +1 @@
+../../../../../ext/yahttp/yahttp/cookie.hpp
\ No newline at end of file
diff --git a/pdns/recursordist/ext/yahttp/yahttp/exception.hpp b/pdns/recursordist/ext/yahttp/yahttp/exception.hpp
new file mode 120000 (symlink)
index 0000000..d7e3da2
--- /dev/null
@@ -0,0 +1 @@
+../../../../../ext/yahttp/yahttp/exception.hpp
\ No newline at end of file
diff --git a/pdns/recursordist/ext/yahttp/yahttp/reqresp.cpp b/pdns/recursordist/ext/yahttp/yahttp/reqresp.cpp
new file mode 120000 (symlink)
index 0000000..04e42d0
--- /dev/null
@@ -0,0 +1 @@
+../../../../../ext/yahttp/yahttp/reqresp.cpp
\ No newline at end of file
diff --git a/pdns/recursordist/ext/yahttp/yahttp/reqresp.hpp b/pdns/recursordist/ext/yahttp/yahttp/reqresp.hpp
new file mode 120000 (symlink)
index 0000000..847aea9
--- /dev/null
@@ -0,0 +1 @@
+../../../../../ext/yahttp/yahttp/reqresp.hpp
\ No newline at end of file
diff --git a/pdns/recursordist/ext/yahttp/yahttp/router.cpp b/pdns/recursordist/ext/yahttp/yahttp/router.cpp
new file mode 120000 (symlink)
index 0000000..4f07422
--- /dev/null
@@ -0,0 +1 @@
+../../../../../ext/yahttp/yahttp/router.cpp
\ No newline at end of file
diff --git a/pdns/recursordist/ext/yahttp/yahttp/router.hpp b/pdns/recursordist/ext/yahttp/yahttp/router.hpp
new file mode 120000 (symlink)
index 0000000..d5b76b5
--- /dev/null
@@ -0,0 +1 @@
+../../../../../ext/yahttp/yahttp/router.hpp
\ No newline at end of file
diff --git a/pdns/recursordist/ext/yahttp/yahttp/url.hpp b/pdns/recursordist/ext/yahttp/yahttp/url.hpp
new file mode 120000 (symlink)
index 0000000..aeecf0f
--- /dev/null
@@ -0,0 +1 @@
+../../../../../ext/yahttp/yahttp/url.hpp
\ No newline at end of file
diff --git a/pdns/recursordist/ext/yahttp/yahttp/utility.hpp b/pdns/recursordist/ext/yahttp/yahttp/utility.hpp
new file mode 120000 (symlink)
index 0000000..696837c
--- /dev/null
@@ -0,0 +1 @@
+../../../../../ext/yahttp/yahttp/utility.hpp
\ No newline at end of file
diff --git a/pdns/recursordist/ext/yahttp/yahttp/yahttp-config.h b/pdns/recursordist/ext/yahttp/yahttp/yahttp-config.h
new file mode 120000 (symlink)
index 0000000..f0992b2
--- /dev/null
@@ -0,0 +1 @@
+../../../../../ext/yahttp/yahttp/yahttp-config.h
\ No newline at end of file
diff --git a/pdns/recursordist/ext/yahttp/yahttp/yahttp.hpp b/pdns/recursordist/ext/yahttp/yahttp/yahttp.hpp
new file mode 120000 (symlink)
index 0000000..ef1b34c
--- /dev/null
@@ -0,0 +1 @@
+../../../../../ext/yahttp/yahttp/yahttp.hpp
\ No newline at end of file
diff --git a/pdns/recursordist/filterpo.cc b/pdns/recursordist/filterpo.cc
new file mode 120000 (symlink)
index 0000000..eabae78
--- /dev/null
@@ -0,0 +1 @@
+../filterpo.cc
\ No newline at end of file
diff --git a/pdns/recursordist/filterpo.hh b/pdns/recursordist/filterpo.hh
new file mode 120000 (symlink)
index 0000000..3ada59a
--- /dev/null
@@ -0,0 +1 @@
+../filterpo.hh
\ No newline at end of file
diff --git a/pdns/recursordist/gss_context.cc b/pdns/recursordist/gss_context.cc
new file mode 120000 (symlink)
index 0000000..3ed3e71
--- /dev/null
@@ -0,0 +1 @@
+../gss_context.cc
\ No newline at end of file
diff --git a/pdns/recursordist/gss_context.hh b/pdns/recursordist/gss_context.hh
new file mode 120000 (symlink)
index 0000000..050b795
--- /dev/null
@@ -0,0 +1 @@
+../gss_context.hh
\ No newline at end of file
diff --git a/pdns/recursordist/iputils.cc b/pdns/recursordist/iputils.cc
new file mode 120000 (symlink)
index 0000000..dab657d
--- /dev/null
@@ -0,0 +1 @@
+../iputils.cc
\ No newline at end of file
diff --git a/pdns/recursordist/iputils.hh b/pdns/recursordist/iputils.hh
new file mode 120000 (symlink)
index 0000000..22e7f99
--- /dev/null
@@ -0,0 +1 @@
+../iputils.hh
\ No newline at end of file
diff --git a/pdns/recursordist/ixfr.cc b/pdns/recursordist/ixfr.cc
new file mode 120000 (symlink)
index 0000000..d525ec5
--- /dev/null
@@ -0,0 +1 @@
+../ixfr.cc
\ No newline at end of file
diff --git a/pdns/recursordist/ixfr.hh b/pdns/recursordist/ixfr.hh
new file mode 120000 (symlink)
index 0000000..1b2527f
--- /dev/null
@@ -0,0 +1 @@
+../ixfr.hh
\ No newline at end of file
diff --git a/pdns/recursordist/json.cc b/pdns/recursordist/json.cc
new file mode 120000 (symlink)
index 0000000..5d5dc01
--- /dev/null
@@ -0,0 +1 @@
+../json.cc
\ No newline at end of file
diff --git a/pdns/recursordist/json.hh b/pdns/recursordist/json.hh
new file mode 120000 (symlink)
index 0000000..0bdccee
--- /dev/null
@@ -0,0 +1 @@
+../json.hh
\ No newline at end of file
diff --git a/pdns/recursordist/kqueuemplexer.cc b/pdns/recursordist/kqueuemplexer.cc
new file mode 120000 (symlink)
index 0000000..0824bd9
--- /dev/null
@@ -0,0 +1 @@
+../kqueuemplexer.cc
\ No newline at end of file
diff --git a/pdns/recursordist/lock.hh b/pdns/recursordist/lock.hh
new file mode 120000 (symlink)
index 0000000..718008b
--- /dev/null
@@ -0,0 +1 @@
+../lock.hh
\ No newline at end of file
diff --git a/pdns/recursordist/logger.cc b/pdns/recursordist/logger.cc
new file mode 120000 (symlink)
index 0000000..1ce240b
--- /dev/null
@@ -0,0 +1 @@
+../logger.cc
\ No newline at end of file
diff --git a/pdns/recursordist/logger.hh b/pdns/recursordist/logger.hh
new file mode 120000 (symlink)
index 0000000..1ab94e9
--- /dev/null
@@ -0,0 +1 @@
+../logger.hh
\ No newline at end of file
diff --git a/pdns/recursordist/lua-recursor4.cc b/pdns/recursordist/lua-recursor4.cc
new file mode 120000 (symlink)
index 0000000..d4abe3f
--- /dev/null
@@ -0,0 +1 @@
+../lua-recursor4.cc
\ No newline at end of file
diff --git a/pdns/recursordist/lua-recursor4.hh b/pdns/recursordist/lua-recursor4.hh
new file mode 120000 (symlink)
index 0000000..debe6e7
--- /dev/null
@@ -0,0 +1 @@
+../lua-recursor4.hh
\ No newline at end of file
diff --git a/pdns/recursordist/lwres.cc b/pdns/recursordist/lwres.cc
new file mode 120000 (symlink)
index 0000000..8e4bf7e
--- /dev/null
@@ -0,0 +1 @@
+../lwres.cc
\ No newline at end of file
diff --git a/pdns/recursordist/lwres.hh b/pdns/recursordist/lwres.hh
new file mode 120000 (symlink)
index 0000000..0b8b0d1
--- /dev/null
@@ -0,0 +1 @@
+../lwres.hh
\ No newline at end of file
diff --git a/pdns/recursordist/m4/ax_check_openssl.m4 b/pdns/recursordist/m4/ax_check_openssl.m4
new file mode 120000 (symlink)
index 0000000..f33eaf4
--- /dev/null
@@ -0,0 +1 @@
+../../../m4/ax_check_openssl.m4
\ No newline at end of file
diff --git a/pdns/recursordist/m4/ax_cxx_compile_stdcxx_11.m4 b/pdns/recursordist/m4/ax_cxx_compile_stdcxx_11.m4
new file mode 120000 (symlink)
index 0000000..5134ff9
--- /dev/null
@@ -0,0 +1 @@
+../../../m4/ax_cxx_compile_stdcxx_11.m4
\ No newline at end of file
diff --git a/pdns/recursordist/m4/boost.m4 b/pdns/recursordist/m4/boost.m4
new file mode 120000 (symlink)
index 0000000..936b0b0
--- /dev/null
@@ -0,0 +1 @@
+../../../m4/boost.m4
\ No newline at end of file
diff --git a/pdns/recursordist/m4/pdns_check_curl.m4 b/pdns/recursordist/m4/pdns_check_curl.m4
new file mode 100644 (file)
index 0000000..fcc9341
--- /dev/null
@@ -0,0 +1,9 @@
+AC_DEFUN([PDNS_CHECK_CURL], [
+  AC_CHECK_PROG([CURL], [curl], [curl])
+  if test "x$CURL" = "x"; then
+    if test ! -f "${srcdir}/effective_tld_list.dat"; then
+      AC_MSG_ERROR([curl is missing and you don't have ${srcdir}//effective_tld_list.dat. Install curl or download sources from www.powerdns.com])
+    fi
+  fi
+])
+
diff --git a/pdns/recursordist/m4/pdns_check_os.m4 b/pdns/recursordist/m4/pdns_check_os.m4
new file mode 120000 (symlink)
index 0000000..51ecd25
--- /dev/null
@@ -0,0 +1 @@
+../../../m4/pdns_check_os.m4
\ No newline at end of file
diff --git a/pdns/recursordist/m4/pdns_check_pandoc.m4 b/pdns/recursordist/m4/pdns_check_pandoc.m4
new file mode 100644 (file)
index 0000000..f2a0af8
--- /dev/null
@@ -0,0 +1,11 @@
+AC_DEFUN([PDNS_CHECK_PANDOC], [
+  AC_CHECK_PROG([PANDOC], [pandoc], [pandoc], [no])
+
+  AS_IF([test "x$PANDOC" = "xno"], [
+    AS_IF([test ! -f "$srcdir/pdns_recursor.1"],
+      [AC_MSG_WARN([pandoc is missing, unable to build manpages.])]
+    )
+  ])
+  AM_CONDITIONAL([HAVE_PANDOC], [test "x$PANDOC" != "xno"])
+  AM_CONDITIONAL([HAVE_MANPAGES], [test -e "$srcdir/pdns_recursor.1"])
+])
diff --git a/pdns/recursordist/m4/pdns_check_ragel.m4 b/pdns/recursordist/m4/pdns_check_ragel.m4
new file mode 100644 (file)
index 0000000..9841807
--- /dev/null
@@ -0,0 +1,8 @@
+AC_DEFUN([PDNS_CHECK_RAGEL], [
+  AC_CHECK_PROG([RAGEL], [ragel], [ragel])
+  if test "x$RAGEL" = "x"; then
+    if test ! -f "${srcdir}/dnslabeltext.cc"; then
+      AC_MSG_ERROR([ragel is missing and you don't have ${srcdir}/dnslabeltext.cc. Install ragel or download sources from www.powerdns.com])
+    fi
+  fi
+])
diff --git a/pdns/recursordist/m4/pdns_d_fortify_source.m4 b/pdns/recursordist/m4/pdns_d_fortify_source.m4
new file mode 120000 (symlink)
index 0000000..8aa713e
--- /dev/null
@@ -0,0 +1 @@
+../../../m4/pdns_d_fortify_source.m4
\ No newline at end of file
diff --git a/pdns/recursordist/m4/pdns_enable_botan.m4 b/pdns/recursordist/m4/pdns_enable_botan.m4
new file mode 120000 (symlink)
index 0000000..8029a93
--- /dev/null
@@ -0,0 +1 @@
+../../../m4/pdns_enable_botan.m4
\ No newline at end of file
diff --git a/pdns/recursordist/m4/pdns_enable_malloc_trace.m4 b/pdns/recursordist/m4/pdns_enable_malloc_trace.m4
new file mode 120000 (symlink)
index 0000000..586203e
--- /dev/null
@@ -0,0 +1 @@
+../../../m4/pdns_enable_malloc_trace.m4
\ No newline at end of file
diff --git a/pdns/recursordist/m4/pdns_enable_p11kit.m4 b/pdns/recursordist/m4/pdns_enable_p11kit.m4
new file mode 120000 (symlink)
index 0000000..a946833
--- /dev/null
@@ -0,0 +1 @@
+../../../m4/pdns_enable_p11kit.m4
\ No newline at end of file
diff --git a/pdns/recursordist/m4/pdns_enable_reproducible.m4 b/pdns/recursordist/m4/pdns_enable_reproducible.m4
new file mode 120000 (symlink)
index 0000000..8cb4f9e
--- /dev/null
@@ -0,0 +1 @@
+../../../m4/pdns_enable_reproducible.m4
\ No newline at end of file
diff --git a/pdns/recursordist/m4/pdns_enable_sanitizers.m4 b/pdns/recursordist/m4/pdns_enable_sanitizers.m4
new file mode 120000 (symlink)
index 0000000..199494f
--- /dev/null
@@ -0,0 +1 @@
+../../../m4/pdns_enable_sanitizers.m4
\ No newline at end of file
diff --git a/pdns/recursordist/m4/pdns_enable_verbose_logging.m4 b/pdns/recursordist/m4/pdns_enable_verbose_logging.m4
new file mode 120000 (symlink)
index 0000000..d97ba61
--- /dev/null
@@ -0,0 +1 @@
+../../../m4/pdns_enable_verbose_logging.m4
\ No newline at end of file
diff --git a/pdns/recursordist/m4/pdns_param_ssp_buffer_size.m4 b/pdns/recursordist/m4/pdns_param_ssp_buffer_size.m4
new file mode 120000 (symlink)
index 0000000..4058fe2
--- /dev/null
@@ -0,0 +1 @@
+../../../m4/pdns_param_ssp_buffer_size.m4
\ No newline at end of file
diff --git a/pdns/recursordist/m4/pdns_pie.m4 b/pdns/recursordist/m4/pdns_pie.m4
new file mode 120000 (symlink)
index 0000000..18120c0
--- /dev/null
@@ -0,0 +1 @@
+../../../m4/pdns_pie.m4
\ No newline at end of file
diff --git a/pdns/recursordist/m4/pdns_relro.m4 b/pdns/recursordist/m4/pdns_relro.m4
new file mode 120000 (symlink)
index 0000000..1f591df
--- /dev/null
@@ -0,0 +1 @@
+../../../m4/pdns_relro.m4
\ No newline at end of file
diff --git a/pdns/recursordist/m4/pdns_stack_protector.m4 b/pdns/recursordist/m4/pdns_stack_protector.m4
new file mode 120000 (symlink)
index 0000000..ba05f66
--- /dev/null
@@ -0,0 +1 @@
+../../../m4/pdns_stack_protector.m4
\ No newline at end of file
diff --git a/pdns/recursordist/m4/pdns_with_lua.m4 b/pdns/recursordist/m4/pdns_with_lua.m4
new file mode 120000 (symlink)
index 0000000..2b32876
--- /dev/null
@@ -0,0 +1 @@
+../../../m4/pdns_with_lua.m4
\ No newline at end of file
diff --git a/pdns/recursordist/m4/pdns_with_luajit.m4 b/pdns/recursordist/m4/pdns_with_luajit.m4
new file mode 120000 (symlink)
index 0000000..2f9477d
--- /dev/null
@@ -0,0 +1 @@
+../../../m4/pdns_with_luajit.m4
\ No newline at end of file
diff --git a/pdns/recursordist/m4/pdns_with_system_mbedtls.m4 b/pdns/recursordist/m4/pdns_with_system_mbedtls.m4
new file mode 100644 (file)
index 0000000..9530208
--- /dev/null
@@ -0,0 +1,81 @@
+AC_DEFUN([PDNS_WITH_SYSTEM_MBEDTLS],[
+  AC_ARG_WITH([system-mbedtls],
+    [AS_HELP_STRING([--with-system-mbedtls], [use system mbed TLS @<:@default=no@:>@])],
+    [],
+    [with_system_mbedtls=no],
+  )
+
+  AC_MSG_CHECKING([if we should build with mbedtls])
+  AS_IF([test "x$with_system_mbedtls" = "xyes"],[
+    AC_MSG_RESULT([yes])
+    OLD_LIBS=$LIBS
+    LIBS=""
+    AC_SEARCH_LIBS([mbedtls_sha1], [mbedcrypto],[
+      MBEDTLS_LIBS=$LIBS
+      have_system_mbedtls=yes
+      have_mbedtls=yes
+      have_mbedtls_v2=yes
+    ],[
+      have_mbedtls_v2=no
+      AC_SEARCH_LIBS([sha1_hmac], [mbedtls polarssl],[
+        MBEDTLS_LIBS=$LIBS
+        AC_MSG_CHECKING([for mbed TLS/PolarSSL version >= 1.3.0])
+        AC_COMPILE_IFELSE([
+          AC_LANG_PROGRAM(
+            [[#include <polarssl/version.h>]],
+            [[
+              #if POLARSSL_VERSION_NUMBER < 0x01030000
+              #error invalid version
+              #endif
+            ]])
+        ],[
+          have_mbedtls=yes
+          have_system_mbedtls=yes
+        ],[
+          AC_MSG_ERROR([no mbedTLS found])
+        ])
+        MBEDTLS_CFLAGS=
+        MBEDTLS_SUBDIR=
+        AC_DEFINE([MBEDTLS_SYSTEM], [1], [Defined if system mbed TLS is used])
+        AC_MSG_RESULT([$have_system_mbedtls])
+      ],[
+        AC_MSG_ERROR([no mbedTLS found])
+      ])
+    ])
+    LIBS=$OLD_LIBS
+  ],[
+    AC_MSG_RESULT([no])
+    have_system_mbedtls=no
+    have_mbedtls_v2=no
+    have_mbedtls=no
+    MBEDTLS_SUBDIR=
+    MBEDTLS_CFLAGS=
+    MBEDTLS_LIBS=
+  ])
+
+  AS_IF([test "x$have_system_mbedtls" = "xyes"],[
+    MBEDTLS_CFLAGS=
+    MBEDTLS_SUBDIR=
+    AC_DEFINE([MBEDTLS_SYSTEM], [1], [Defined if system mbed TLS is used])
+  ],[
+    AS_IF([test "x$with_system_mbedtls" = "xyes"],[
+      AC_MSG_ERROR([use of system mbed TLS requested but not found])
+    ])
+  ])
+
+
+  AS_IF([test "x$have_mbedtls_v2" = "xyes"],[
+    AC_DEFINE([HAVE_MBEDTLS2], [1], [Defined if mbed TLS version 2.x.x is used])
+  ])
+
+  AS_IF([test "x$have_mbedtls" = "xyes"],[
+    AC_DEFINE([HAVE_MBEDTLS], [1], [Defined if mbed TLS is used])
+       AM_CONDITIONAL([MBEDTLS], [true])
+  ],[
+       AM_CONDITIONAL([MBEDTLS], [false])
+  ])
+
+  AC_SUBST(MBEDTLS_CFLAGS)
+  AC_SUBST(MBEDTLS_LIBS)
+  AC_SUBST(MBEDTLS_SUBDIR)
+])
diff --git a/pdns/recursordist/m4/warnings.m4 b/pdns/recursordist/m4/warnings.m4
new file mode 120000 (symlink)
index 0000000..ec2d33f
--- /dev/null
@@ -0,0 +1 @@
+../../../m4/warnings.m4
\ No newline at end of file
diff --git a/pdns/recursordist/make-ext-symlinks.py b/pdns/recursordist/make-ext-symlinks.py
new file mode 100755 (executable)
index 0000000..403ae42
--- /dev/null
@@ -0,0 +1,24 @@
+#!/usr/bin/env python2
+
+import os
+import shutil
+import os.path
+
+for extdir in ['yahttp', 'json11']:
+    try:
+        shutil.rmtree(os.path.join('ext', extdir))
+    except OSError:
+        pass
+
+    try:
+        os.rmdir(os.path.join('ext', extdir))
+    except OSError:
+        pass
+
+    for root, dirs, files in os.walk(os.path.join('../../ext', extdir)):
+        stripped_root = root.replace('../', '')
+        os.mkdir(stripped_root)
+        num_dirs = len(root.split('/')) - root.split('/').count('..')
+        for dirfile in files:
+            os.symlink(os.path.join(num_dirs * '../', root, dirfile),
+                       os.path.join(stripped_root, dirfile))
diff --git a/pdns/recursordist/malloctrace.cc b/pdns/recursordist/malloctrace.cc
new file mode 120000 (symlink)
index 0000000..b3759b0
--- /dev/null
@@ -0,0 +1 @@
+../malloctrace.cc
\ No newline at end of file
diff --git a/pdns/recursordist/malloctrace.hh b/pdns/recursordist/malloctrace.hh
new file mode 120000 (symlink)
index 0000000..361456e
--- /dev/null
@@ -0,0 +1 @@
+../malloctrace.hh
\ No newline at end of file
diff --git a/pdns/recursordist/mbedtlscompat.hh b/pdns/recursordist/mbedtlscompat.hh
new file mode 120000 (symlink)
index 0000000..1691c67
--- /dev/null
@@ -0,0 +1 @@
+../mbedtlscompat.hh
\ No newline at end of file
diff --git a/pdns/recursordist/mbedtlssigners.cc b/pdns/recursordist/mbedtlssigners.cc
new file mode 120000 (symlink)
index 0000000..c1e36ba
--- /dev/null
@@ -0,0 +1 @@
+../mbedtlssigners.cc
\ No newline at end of file
diff --git a/pdns/recursordist/misc.cc b/pdns/recursordist/misc.cc
new file mode 120000 (symlink)
index 0000000..7964480
--- /dev/null
@@ -0,0 +1 @@
+../misc.cc
\ No newline at end of file
diff --git a/pdns/recursordist/misc.hh b/pdns/recursordist/misc.hh
new file mode 120000 (symlink)
index 0000000..ef02ea9
--- /dev/null
@@ -0,0 +1 @@
+../misc.hh
\ No newline at end of file
diff --git a/pdns/recursordist/mkpubsuffixcc b/pdns/recursordist/mkpubsuffixcc
new file mode 120000 (symlink)
index 0000000..6fa017d
--- /dev/null
@@ -0,0 +1 @@
+../mkpubsuffixcc
\ No newline at end of file
diff --git a/pdns/recursordist/mplexer.hh b/pdns/recursordist/mplexer.hh
new file mode 120000 (symlink)
index 0000000..abb3c51
--- /dev/null
@@ -0,0 +1 @@
+../mplexer.hh
\ No newline at end of file
diff --git a/pdns/recursordist/mtasker.cc b/pdns/recursordist/mtasker.cc
new file mode 120000 (symlink)
index 0000000..ab05f66
--- /dev/null
@@ -0,0 +1 @@
+../mtasker.cc
\ No newline at end of file
diff --git a/pdns/recursordist/mtasker.hh b/pdns/recursordist/mtasker.hh
new file mode 120000 (symlink)
index 0000000..44d9300
--- /dev/null
@@ -0,0 +1 @@
+../mtasker.hh
\ No newline at end of file
diff --git a/pdns/recursordist/namespaces.hh b/pdns/recursordist/namespaces.hh
new file mode 120000 (symlink)
index 0000000..d603949
--- /dev/null
@@ -0,0 +1 @@
+../namespaces.hh
\ No newline at end of file
diff --git a/pdns/recursordist/nsecrecords.cc b/pdns/recursordist/nsecrecords.cc
new file mode 120000 (symlink)
index 0000000..3ff06dc
--- /dev/null
@@ -0,0 +1 @@
+../nsecrecords.cc
\ No newline at end of file
diff --git a/pdns/recursordist/opensslsigners.cc b/pdns/recursordist/opensslsigners.cc
new file mode 120000 (symlink)
index 0000000..416122b
--- /dev/null
@@ -0,0 +1 @@
+../opensslsigners.cc
\ No newline at end of file
diff --git a/pdns/recursordist/opensslsigners.hh b/pdns/recursordist/opensslsigners.hh
new file mode 120000 (symlink)
index 0000000..505e321
--- /dev/null
@@ -0,0 +1 @@
+../opensslsigners.hh
\ No newline at end of file
diff --git a/pdns/recursordist/pdns_hw.cc b/pdns/recursordist/pdns_hw.cc
new file mode 120000 (symlink)
index 0000000..3cc743c
--- /dev/null
@@ -0,0 +1 @@
+../pdns_hw.cc
\ No newline at end of file
diff --git a/pdns/recursordist/pdns_recursor.1.md b/pdns/recursordist/pdns_recursor.1.md
new file mode 120000 (symlink)
index 0000000..f3b6345
--- /dev/null
@@ -0,0 +1 @@
+../../docs/manpages/pdns_recursor.1.md
\ No newline at end of file
diff --git a/pdns/recursordist/pdns_recursor.cc b/pdns/recursordist/pdns_recursor.cc
new file mode 120000 (symlink)
index 0000000..1bdc300
--- /dev/null
@@ -0,0 +1 @@
+../pdns_recursor.cc
\ No newline at end of file
diff --git a/pdns/recursordist/pdnsexception.hh b/pdns/recursordist/pdnsexception.hh
new file mode 120000 (symlink)
index 0000000..efb1a08
--- /dev/null
@@ -0,0 +1 @@
+../pdnsexception.hh
\ No newline at end of file
diff --git a/pdns/recursordist/portsmplexer.cc b/pdns/recursordist/portsmplexer.cc
new file mode 120000 (symlink)
index 0000000..d5e7107
--- /dev/null
@@ -0,0 +1 @@
+../portsmplexer.cc
\ No newline at end of file
diff --git a/pdns/recursordist/powerdns-example-script.lua b/pdns/recursordist/powerdns-example-script.lua
new file mode 120000 (symlink)
index 0000000..4cf87e0
--- /dev/null
@@ -0,0 +1 @@
+../powerdns-example-script.lua
\ No newline at end of file
diff --git a/pdns/recursordist/pubsuffix.cc b/pdns/recursordist/pubsuffix.cc
new file mode 120000 (symlink)
index 0000000..c32d99d
--- /dev/null
@@ -0,0 +1 @@
+../pubsuffix.cc
\ No newline at end of file
diff --git a/pdns/recursordist/pubsuffix.hh b/pdns/recursordist/pubsuffix.hh
new file mode 120000 (symlink)
index 0000000..f533308
--- /dev/null
@@ -0,0 +1 @@
+../pubsuffix.hh
\ No newline at end of file
diff --git a/pdns/recursordist/qtype.cc b/pdns/recursordist/qtype.cc
new file mode 120000 (symlink)
index 0000000..95c2de1
--- /dev/null
@@ -0,0 +1 @@
+../qtype.cc
\ No newline at end of file
diff --git a/pdns/recursordist/qtype.hh b/pdns/recursordist/qtype.hh
new file mode 120000 (symlink)
index 0000000..c6f6bb1
--- /dev/null
@@ -0,0 +1 @@
+../qtype.hh
\ No newline at end of file
diff --git a/pdns/recursordist/randomhelper.cc b/pdns/recursordist/randomhelper.cc
new file mode 120000 (symlink)
index 0000000..9f7ac16
--- /dev/null
@@ -0,0 +1 @@
+../randomhelper.cc
\ No newline at end of file
diff --git a/pdns/recursordist/rcpgenerator.cc b/pdns/recursordist/rcpgenerator.cc
new file mode 120000 (symlink)
index 0000000..34555f0
--- /dev/null
@@ -0,0 +1 @@
+../rcpgenerator.cc
\ No newline at end of file
diff --git a/pdns/recursordist/rcpgenerator.hh b/pdns/recursordist/rcpgenerator.hh
new file mode 120000 (symlink)
index 0000000..698bf1e
--- /dev/null
@@ -0,0 +1 @@
+../rcpgenerator.hh
\ No newline at end of file
diff --git a/pdns/recursordist/rec-carbon.cc b/pdns/recursordist/rec-carbon.cc
new file mode 120000 (symlink)
index 0000000..65e2789
--- /dev/null
@@ -0,0 +1 @@
+../rec-carbon.cc
\ No newline at end of file
diff --git a/pdns/recursordist/rec-lua-conf.cc b/pdns/recursordist/rec-lua-conf.cc
new file mode 120000 (symlink)
index 0000000..d5125d7
--- /dev/null
@@ -0,0 +1 @@
+../rec-lua-conf.cc
\ No newline at end of file
diff --git a/pdns/recursordist/rec-lua-conf.hh b/pdns/recursordist/rec-lua-conf.hh
new file mode 120000 (symlink)
index 0000000..769f865
--- /dev/null
@@ -0,0 +1 @@
+../rec-lua-conf.hh
\ No newline at end of file
diff --git a/pdns/recursordist/rec_channel.cc b/pdns/recursordist/rec_channel.cc
new file mode 120000 (symlink)
index 0000000..7d93422
--- /dev/null
@@ -0,0 +1 @@
+../rec_channel.cc
\ No newline at end of file
diff --git a/pdns/recursordist/rec_channel.hh b/pdns/recursordist/rec_channel.hh
new file mode 120000 (symlink)
index 0000000..9afee99
--- /dev/null
@@ -0,0 +1 @@
+../rec_channel.hh
\ No newline at end of file
diff --git a/pdns/recursordist/rec_channel_rec.cc b/pdns/recursordist/rec_channel_rec.cc
new file mode 120000 (symlink)
index 0000000..7bf9dfb
--- /dev/null
@@ -0,0 +1 @@
+../rec_channel_rec.cc
\ No newline at end of file
diff --git a/pdns/recursordist/rec_control.1.md b/pdns/recursordist/rec_control.1.md
new file mode 120000 (symlink)
index 0000000..d41edc6
--- /dev/null
@@ -0,0 +1 @@
+../../docs/manpages/rec_control.1.md
\ No newline at end of file
diff --git a/pdns/recursordist/rec_control.cc b/pdns/recursordist/rec_control.cc
new file mode 120000 (symlink)
index 0000000..c61dc4d
--- /dev/null
@@ -0,0 +1 @@
+../rec_control.cc
\ No newline at end of file
diff --git a/pdns/recursordist/recpacketcache.cc b/pdns/recursordist/recpacketcache.cc
new file mode 120000 (symlink)
index 0000000..e869ba2
--- /dev/null
@@ -0,0 +1 @@
+../recpacketcache.cc
\ No newline at end of file
diff --git a/pdns/recursordist/recpacketcache.hh b/pdns/recursordist/recpacketcache.hh
new file mode 120000 (symlink)
index 0000000..8ee8b3b
--- /dev/null
@@ -0,0 +1 @@
+../recpacketcache.hh
\ No newline at end of file
diff --git a/pdns/recursordist/recursor_cache.cc b/pdns/recursordist/recursor_cache.cc
new file mode 120000 (symlink)
index 0000000..00b6d25
--- /dev/null
@@ -0,0 +1 @@
+../recursor_cache.cc
\ No newline at end of file
diff --git a/pdns/recursordist/recursor_cache.hh b/pdns/recursordist/recursor_cache.hh
new file mode 120000 (symlink)
index 0000000..af2c45f
--- /dev/null
@@ -0,0 +1 @@
+../recursor_cache.hh
\ No newline at end of file
diff --git a/pdns/recursordist/reczones.cc b/pdns/recursordist/reczones.cc
new file mode 120000 (symlink)
index 0000000..23c67b4
--- /dev/null
@@ -0,0 +1 @@
+../reczones.cc
\ No newline at end of file
diff --git a/pdns/recursordist/resolver.cc b/pdns/recursordist/resolver.cc
new file mode 120000 (symlink)
index 0000000..e0efcd6
--- /dev/null
@@ -0,0 +1 @@
+../resolver.cc
\ No newline at end of file
diff --git a/pdns/recursordist/resolver.hh b/pdns/recursordist/resolver.hh
new file mode 120000 (symlink)
index 0000000..da9b066
--- /dev/null
@@ -0,0 +1 @@
+../resolver.hh
\ No newline at end of file
diff --git a/pdns/recursordist/responsestats.cc b/pdns/recursordist/responsestats.cc
new file mode 120000 (symlink)
index 0000000..24fbd43
--- /dev/null
@@ -0,0 +1 @@
+../responsestats.cc
\ No newline at end of file
diff --git a/pdns/recursordist/responsestats.hh b/pdns/recursordist/responsestats.hh
new file mode 120000 (symlink)
index 0000000..c5449e5
--- /dev/null
@@ -0,0 +1 @@
+../responsestats.hh
\ No newline at end of file
diff --git a/pdns/recursordist/rpzloader.cc b/pdns/recursordist/rpzloader.cc
new file mode 120000 (symlink)
index 0000000..163320c
--- /dev/null
@@ -0,0 +1 @@
+../rpzloader.cc
\ No newline at end of file
diff --git a/pdns/recursordist/rpzloader.hh b/pdns/recursordist/rpzloader.hh
new file mode 120000 (symlink)
index 0000000..e4631b4
--- /dev/null
@@ -0,0 +1 @@
+../rpzloader.hh
\ No newline at end of file
diff --git a/pdns/recursordist/rrd b/pdns/recursordist/rrd
new file mode 120000 (symlink)
index 0000000..7715012
--- /dev/null
@@ -0,0 +1 @@
+../../pdns/tools/rrd/
\ No newline at end of file
diff --git a/pdns/recursordist/secpoll-recursor.cc b/pdns/recursordist/secpoll-recursor.cc
new file mode 120000 (symlink)
index 0000000..bccc7ec
--- /dev/null
@@ -0,0 +1 @@
+../secpoll-recursor.cc
\ No newline at end of file
diff --git a/pdns/recursordist/secpoll-recursor.hh b/pdns/recursordist/secpoll-recursor.hh
new file mode 120000 (symlink)
index 0000000..505a00e
--- /dev/null
@@ -0,0 +1 @@
+../secpoll-recursor.hh
\ No newline at end of file
diff --git a/pdns/recursordist/selectmplexer.cc b/pdns/recursordist/selectmplexer.cc
new file mode 120000 (symlink)
index 0000000..85b38bc
--- /dev/null
@@ -0,0 +1 @@
+../selectmplexer.cc
\ No newline at end of file
diff --git a/pdns/recursordist/sha.hh b/pdns/recursordist/sha.hh
new file mode 120000 (symlink)
index 0000000..53ffc66
--- /dev/null
@@ -0,0 +1 @@
+../sha.hh
\ No newline at end of file
diff --git a/pdns/recursordist/sholder.hh b/pdns/recursordist/sholder.hh
new file mode 120000 (symlink)
index 0000000..ad0946e
--- /dev/null
@@ -0,0 +1 @@
+../sholder.hh
\ No newline at end of file
diff --git a/pdns/recursordist/sillyrecords.cc b/pdns/recursordist/sillyrecords.cc
new file mode 120000 (symlink)
index 0000000..00a57c1
--- /dev/null
@@ -0,0 +1 @@
+../sillyrecords.cc
\ No newline at end of file
diff --git a/pdns/recursordist/sortlist.cc b/pdns/recursordist/sortlist.cc
new file mode 120000 (symlink)
index 0000000..97d0a95
--- /dev/null
@@ -0,0 +1 @@
+../sortlist.cc
\ No newline at end of file
diff --git a/pdns/recursordist/sortlist.hh b/pdns/recursordist/sortlist.hh
new file mode 120000 (symlink)
index 0000000..29a90c1
--- /dev/null
@@ -0,0 +1 @@
+../sortlist.hh
\ No newline at end of file
diff --git a/pdns/recursordist/sstuff.hh b/pdns/recursordist/sstuff.hh
new file mode 120000 (symlink)
index 0000000..82bdc47
--- /dev/null
@@ -0,0 +1 @@
+../sstuff.hh
\ No newline at end of file
diff --git a/pdns/recursordist/statbag.cc b/pdns/recursordist/statbag.cc
new file mode 120000 (symlink)
index 0000000..a070542
--- /dev/null
@@ -0,0 +1 @@
+../statbag.cc
\ No newline at end of file
diff --git a/pdns/recursordist/statbag.hh b/pdns/recursordist/statbag.hh
new file mode 120000 (symlink)
index 0000000..1b48b12
--- /dev/null
@@ -0,0 +1 @@
+../statbag.hh
\ No newline at end of file
diff --git a/pdns/recursordist/syncres.cc b/pdns/recursordist/syncres.cc
new file mode 120000 (symlink)
index 0000000..fceca22
--- /dev/null
@@ -0,0 +1 @@
+../syncres.cc
\ No newline at end of file
diff --git a/pdns/recursordist/syncres.hh b/pdns/recursordist/syncres.hh
new file mode 120000 (symlink)
index 0000000..54005e0
--- /dev/null
@@ -0,0 +1 @@
+../syncres.hh
\ No newline at end of file
diff --git a/pdns/recursordist/ueberbackend.hh b/pdns/recursordist/ueberbackend.hh
new file mode 120000 (symlink)
index 0000000..8b71d5e
--- /dev/null
@@ -0,0 +1 @@
+../ueberbackend.hh
\ No newline at end of file
diff --git a/pdns/recursordist/unix_utility.cc b/pdns/recursordist/unix_utility.cc
new file mode 120000 (symlink)
index 0000000..fa0a4c4
--- /dev/null
@@ -0,0 +1 @@
+../unix_utility.cc
\ No newline at end of file
diff --git a/pdns/recursordist/utility.hh b/pdns/recursordist/utility.hh
new file mode 120000 (symlink)
index 0000000..70cc30c
--- /dev/null
@@ -0,0 +1 @@
+../utility.hh
\ No newline at end of file
diff --git a/pdns/recursordist/validate-recursor.cc b/pdns/recursordist/validate-recursor.cc
new file mode 120000 (symlink)
index 0000000..495daa9
--- /dev/null
@@ -0,0 +1 @@
+../validate-recursor.cc
\ No newline at end of file
diff --git a/pdns/recursordist/validate-recursor.hh b/pdns/recursordist/validate-recursor.hh
new file mode 120000 (symlink)
index 0000000..bb3aad9
--- /dev/null
@@ -0,0 +1 @@
+../validate-recursor.hh
\ No newline at end of file
diff --git a/pdns/recursordist/validate.cc b/pdns/recursordist/validate.cc
new file mode 120000 (symlink)
index 0000000..ea8c3a6
--- /dev/null
@@ -0,0 +1 @@
+../validate.cc
\ No newline at end of file
diff --git a/pdns/recursordist/validate.hh b/pdns/recursordist/validate.hh
new file mode 120000 (symlink)
index 0000000..d4fd53e
--- /dev/null
@@ -0,0 +1 @@
+../validate.hh
\ No newline at end of file
diff --git a/pdns/recursordist/version.cc b/pdns/recursordist/version.cc
new file mode 120000 (symlink)
index 0000000..d1c9326
--- /dev/null
@@ -0,0 +1 @@
+../version.cc
\ No newline at end of file
diff --git a/pdns/recursordist/version.hh b/pdns/recursordist/version.hh
new file mode 120000 (symlink)
index 0000000..84c331a
--- /dev/null
@@ -0,0 +1 @@
+../version.hh
\ No newline at end of file
diff --git a/pdns/recursordist/webserver.cc b/pdns/recursordist/webserver.cc
new file mode 120000 (symlink)
index 0000000..9dc51d0
--- /dev/null
@@ -0,0 +1 @@
+../webserver.cc
\ No newline at end of file
diff --git a/pdns/recursordist/webserver.hh b/pdns/recursordist/webserver.hh
new file mode 120000 (symlink)
index 0000000..a3eb552
--- /dev/null
@@ -0,0 +1 @@
+../webserver.hh
\ No newline at end of file
diff --git a/pdns/recursordist/ws-api.cc b/pdns/recursordist/ws-api.cc
new file mode 120000 (symlink)
index 0000000..0acc14a
--- /dev/null
@@ -0,0 +1 @@
+../ws-api.cc
\ No newline at end of file
diff --git a/pdns/recursordist/ws-api.hh b/pdns/recursordist/ws-api.hh
new file mode 120000 (symlink)
index 0000000..5ee4518
--- /dev/null
@@ -0,0 +1 @@
+../ws-api.hh
\ No newline at end of file
diff --git a/pdns/recursordist/ws-recursor.cc b/pdns/recursordist/ws-recursor.cc
new file mode 120000 (symlink)
index 0000000..c931bf2
--- /dev/null
@@ -0,0 +1 @@
+../ws-recursor.cc
\ No newline at end of file
diff --git a/pdns/recursordist/ws-recursor.hh b/pdns/recursordist/ws-recursor.hh
new file mode 120000 (symlink)
index 0000000..f4fc717
--- /dev/null
@@ -0,0 +1 @@
+../ws-recursor.hh
\ No newline at end of file
diff --git a/pdns/recursordist/zoneparser-tng.cc b/pdns/recursordist/zoneparser-tng.cc
new file mode 120000 (symlink)
index 0000000..cc93e16
--- /dev/null
@@ -0,0 +1 @@
+../zoneparser-tng.cc
\ No newline at end of file
diff --git a/pdns/recursordist/zoneparser-tng.hh b/pdns/recursordist/zoneparser-tng.hh
new file mode 120000 (symlink)
index 0000000..a66e4d5
--- /dev/null
@@ -0,0 +1 @@
+../zoneparser-tng.hh
\ No newline at end of file
diff --git a/pdns/sysdeps-recursor/Darwin.inc b/pdns/sysdeps-recursor/Darwin.inc
deleted file mode 100644 (file)
index ce447fe..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-CXXFLAGS+=-D_XOPEN_SOURCE -DHAVE_STRCASESTR -D__APPLE_USE_RFC_3542 -Wno-deprecated-declarations -std=gnu++11
-
-LUA_CPPFLAGS_CONFIG ?= -I/usr/include/lua5.1
-LUA_LIBS_CONFIG ?= -llua -rdynamic
-
-# Lua 5.0 settings
-#LUA_CPPFLAGS_CONFIG=-I/usr/include/lua50 
-#LUA_LIBS_CONFIG=-llua50 -llualib50
-
diff --git a/pdns/sysdeps-recursor/FreeBSD.inc b/pdns/sysdeps-recursor/FreeBSD.inc
deleted file mode 100644 (file)
index 1397667..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-CXXFLAGS+=-I/usr/local/include/ -DHAVE_STRCASESTR -std=gnu++11
-OPTIONALS:=optional/kqueuemplexer.o
-
-optional/kqueuemplexer.o: kqueuemplexer.cc
-       $(CXX) $(CXXFLAGS) -c $< -o $@
-
-LUA_CPPFLAGS_CONFIG ?= -I/usr/local/include/lua51
-LUA_LIBS_CONFIG ?= -L/usr/local/lib/ -llua-5.1 -rdynamic
-
diff --git a/pdns/sysdeps-recursor/Linux.inc b/pdns/sysdeps-recursor/Linux.inc
deleted file mode 100644 (file)
index f96a518..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-OPTIONALS:=optional/epollmplexer.o
-OS_SPECIFIC_INSTALL=mkdir -p $(DESTDIR)/etc/init.d ; cp pdns-recursor.init.d $(DESTDIR)/etc/init.d/pdns-recursor
-
-ifeq ($(CC),cc)
-       CC:=gcc
-endif
-
-CXXFLAGS := $(CXXFLAGS) -D_GNU_SOURCE -DHAVE_STRCASESTR -std=gnu++11
-CFLAGS := $(CFLAGS) -D_GNU_SOURCE
-
-LUA_CPPFLAGS_CONFIG ?= -I/usr/include/lua5.2
-LUA_LIBS_CONFIG ?= -llua5.2 -rdynamic
-
-# Lua 5.0 settings
-#LUA_CPPFLAGS_CONFIG=-I/usr/include/lua50 
-#LUA_LIBS_CONFIG=-llua50 -llualib50
-
-
-optional/epollmplexer.o: epollmplexer.cc
-       $(CXX) $(CXXFLAGS) -c $< -o $@
-
diff --git a/pdns/sysdeps-recursor/SunOS.inc b/pdns/sysdeps-recursor/SunOS.inc
deleted file mode 100644 (file)
index a454817..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-ifeq ($(CC),cc)
-       CC:=gcc
-endif
-
-LDFLAGS+=-lresolv -lsocket -lnsl -ldl 
-OS_SPECIFIC_INSTALL=mkdir -p $(DESTDIR)/etc/init.d ; cp pdns-recursor.init.d $(DESTDIR)/etc/init.d/pdns-recursor
-
-LUA_LIBS_CONFIG ?= -llua 
-
-CXXFLAGS+= -D__MAKECONTEXT_V2_SOURCE
-
-ifeq ($(shell uname -r),5.11)
-       CXXFLAGS+= -DHAVE_STRCASESTR
-endif
-
-OPTIONALS:=optional/portsmplexer.o optional/devpollmplexer.o
-       
-optional/portsmplexer.o: portsmplexer.cc
-       $(CXX) $(CXXFLAGS) -c $< -o $@  ; true
-
-
-optional/devpollmplexer.o: devpollmplexer.cc
-       $(CXX) $(CXXFLAGS) -c $< -o $@
-