This is done similar to dnsdist.
This commit adds a pdns_check_os.m4 to set OS dependent options.
# 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
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
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
-#include "config.h"
+#include "../../../config.h"
--- /dev/null
+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])
+])
+++ /dev/null
-# 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
-
+++ /dev/null
-#define RECURSOR
+++ /dev/null
-#!/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
--- /dev/null
+*.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
--- /dev/null
+../../COPYING
\ No newline at end of file
--- /dev/null
+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
--- /dev/null
+../../NOTICE
\ No newline at end of file
--- /dev/null
+../arguments.cc
\ No newline at end of file
--- /dev/null
+../arguments.hh
\ No newline at end of file
--- /dev/null
+../base32.cc
\ No newline at end of file
--- /dev/null
+../base32.hh
\ No newline at end of file
--- /dev/null
+../base64.cc
\ No newline at end of file
--- /dev/null
+../base64.hh
\ No newline at end of file
--- /dev/null
+../../bootstrap
\ No newline at end of file
--- /dev/null
+../botan110signers.cc
\ No newline at end of file
--- /dev/null
+../botansigners.cc
\ No newline at end of file
--- /dev/null
+../../../build-aux/gen-version
\ No newline at end of file
--- /dev/null
+../cachecleaner.hh
\ No newline at end of file
--- /dev/null
+../comment.hh
\ No newline at end of file
--- /dev/null
+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
--- /dev/null
+../devpollmplexer.cc
\ No newline at end of file
--- /dev/null
+../dns.cc
\ No newline at end of file
--- /dev/null
+../dns.hh
\ No newline at end of file
--- /dev/null
+../dns_random.cc
\ No newline at end of file
--- /dev/null
+../dns_random.hh
\ No newline at end of file
--- /dev/null
+../dnsbackend.hh
\ No newline at end of file
--- /dev/null
+../dnslabeltext.cc
\ No newline at end of file
--- /dev/null
+../dnslabeltext.rl
\ No newline at end of file
--- /dev/null
+../dnsname.cc
\ No newline at end of file
--- /dev/null
+../dnsname.hh
\ No newline at end of file
--- /dev/null
+../dnspacket.hh
\ No newline at end of file
--- /dev/null
+../dnsparser.cc
\ No newline at end of file
--- /dev/null
+../dnsparser.hh
\ No newline at end of file
--- /dev/null
+../dnsrecords.cc
\ No newline at end of file
--- /dev/null
+../dnsrecords.hh
\ No newline at end of file
--- /dev/null
+../dnssecinfra.cc
\ No newline at end of file
--- /dev/null
+../dnssecinfra.hh
\ No newline at end of file
--- /dev/null
+../dnsseckeeper.hh
\ No newline at end of file
--- /dev/null
+../dnswriter.cc
\ No newline at end of file
--- /dev/null
+../dnswriter.hh
\ No newline at end of file
--- /dev/null
+../ednssubnet.cc
\ No newline at end of file
--- /dev/null
+../ednssubnet.hh
\ No newline at end of file
--- /dev/null
+../epollmplexer.cc
\ No newline at end of file
--- /dev/null
+SUBDIRS = \
+ yahttp \
+ json11
+
+DIST_SUBDIRS = \
+ yahttp \
+ json11
+
+EXTRA_DIST = \
+ luawrapper/include/LuaContext.hpp
--- /dev/null
+../../../../ext/json11/.gitignore
\ No newline at end of file
--- /dev/null
+../../../../ext/json11/LICENSE.txt
\ No newline at end of file
--- /dev/null
+../../../../ext/json11/Makefile.am
\ No newline at end of file
--- /dev/null
+../../../../ext/json11/json11.cpp
\ No newline at end of file
--- /dev/null
+../../../../ext/json11/json11.hpp
\ No newline at end of file
--- /dev/null
+../../../ext/luawrapper
\ No newline at end of file
--- /dev/null
+../../../ext/rapidjson
\ No newline at end of file
--- /dev/null
+../../../../ext/yahttp/.gitignore
\ No newline at end of file
--- /dev/null
+../../../../ext/yahttp/LICENSE
\ No newline at end of file
--- /dev/null
+../../../../ext/yahttp/Makefile.am
\ No newline at end of file
--- /dev/null
+../../../../ext/yahttp/README.md
\ No newline at end of file
--- /dev/null
+../../../../../ext/yahttp/yahttp/Makefile.am
\ No newline at end of file
--- /dev/null
+../../../../../ext/yahttp/yahttp/cookie.hpp
\ No newline at end of file
--- /dev/null
+../../../../../ext/yahttp/yahttp/exception.hpp
\ No newline at end of file
--- /dev/null
+../../../../../ext/yahttp/yahttp/reqresp.cpp
\ No newline at end of file
--- /dev/null
+../../../../../ext/yahttp/yahttp/reqresp.hpp
\ No newline at end of file
--- /dev/null
+../../../../../ext/yahttp/yahttp/router.cpp
\ No newline at end of file
--- /dev/null
+../../../../../ext/yahttp/yahttp/router.hpp
\ No newline at end of file
--- /dev/null
+../../../../../ext/yahttp/yahttp/url.hpp
\ No newline at end of file
--- /dev/null
+../../../../../ext/yahttp/yahttp/utility.hpp
\ No newline at end of file
--- /dev/null
+../../../../../ext/yahttp/yahttp/yahttp-config.h
\ No newline at end of file
--- /dev/null
+../../../../../ext/yahttp/yahttp/yahttp.hpp
\ No newline at end of file
--- /dev/null
+../filterpo.cc
\ No newline at end of file
--- /dev/null
+../filterpo.hh
\ No newline at end of file
--- /dev/null
+../gss_context.cc
\ No newline at end of file
--- /dev/null
+../gss_context.hh
\ No newline at end of file
--- /dev/null
+../iputils.cc
\ No newline at end of file
--- /dev/null
+../iputils.hh
\ No newline at end of file
--- /dev/null
+../ixfr.cc
\ No newline at end of file
--- /dev/null
+../ixfr.hh
\ No newline at end of file
--- /dev/null
+../json.cc
\ No newline at end of file
--- /dev/null
+../json.hh
\ No newline at end of file
--- /dev/null
+../kqueuemplexer.cc
\ No newline at end of file
--- /dev/null
+../lock.hh
\ No newline at end of file
--- /dev/null
+../logger.cc
\ No newline at end of file
--- /dev/null
+../logger.hh
\ No newline at end of file
--- /dev/null
+../lua-recursor4.cc
\ No newline at end of file
--- /dev/null
+../lua-recursor4.hh
\ No newline at end of file
--- /dev/null
+../lwres.cc
\ No newline at end of file
--- /dev/null
+../lwres.hh
\ No newline at end of file
--- /dev/null
+../../../m4/ax_check_openssl.m4
\ No newline at end of file
--- /dev/null
+../../../m4/ax_cxx_compile_stdcxx_11.m4
\ No newline at end of file
--- /dev/null
+../../../m4/boost.m4
\ No newline at end of file
--- /dev/null
+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
+])
+
--- /dev/null
+../../../m4/pdns_check_os.m4
\ No newline at end of file
--- /dev/null
+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"])
+])
--- /dev/null
+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
+])
--- /dev/null
+../../../m4/pdns_d_fortify_source.m4
\ No newline at end of file
--- /dev/null
+../../../m4/pdns_enable_botan.m4
\ No newline at end of file
--- /dev/null
+../../../m4/pdns_enable_malloc_trace.m4
\ No newline at end of file
--- /dev/null
+../../../m4/pdns_enable_p11kit.m4
\ No newline at end of file
--- /dev/null
+../../../m4/pdns_enable_reproducible.m4
\ No newline at end of file
--- /dev/null
+../../../m4/pdns_enable_sanitizers.m4
\ No newline at end of file
--- /dev/null
+../../../m4/pdns_enable_verbose_logging.m4
\ No newline at end of file
--- /dev/null
+../../../m4/pdns_param_ssp_buffer_size.m4
\ No newline at end of file
--- /dev/null
+../../../m4/pdns_pie.m4
\ No newline at end of file
--- /dev/null
+../../../m4/pdns_relro.m4
\ No newline at end of file
--- /dev/null
+../../../m4/pdns_stack_protector.m4
\ No newline at end of file
--- /dev/null
+../../../m4/pdns_with_lua.m4
\ No newline at end of file
--- /dev/null
+../../../m4/pdns_with_luajit.m4
\ No newline at end of file
--- /dev/null
+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)
+])
--- /dev/null
+../../../m4/warnings.m4
\ No newline at end of file
--- /dev/null
+#!/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))
--- /dev/null
+../malloctrace.cc
\ No newline at end of file
--- /dev/null
+../malloctrace.hh
\ No newline at end of file
--- /dev/null
+../mbedtlscompat.hh
\ No newline at end of file
--- /dev/null
+../mbedtlssigners.cc
\ No newline at end of file
--- /dev/null
+../misc.cc
\ No newline at end of file
--- /dev/null
+../misc.hh
\ No newline at end of file
--- /dev/null
+../mkpubsuffixcc
\ No newline at end of file
--- /dev/null
+../mplexer.hh
\ No newline at end of file
--- /dev/null
+../mtasker.cc
\ No newline at end of file
--- /dev/null
+../mtasker.hh
\ No newline at end of file
--- /dev/null
+../namespaces.hh
\ No newline at end of file
--- /dev/null
+../nsecrecords.cc
\ No newline at end of file
--- /dev/null
+../opensslsigners.cc
\ No newline at end of file
--- /dev/null
+../opensslsigners.hh
\ No newline at end of file
--- /dev/null
+../pdns_hw.cc
\ No newline at end of file
--- /dev/null
+../../docs/manpages/pdns_recursor.1.md
\ No newline at end of file
--- /dev/null
+../pdns_recursor.cc
\ No newline at end of file
--- /dev/null
+../pdnsexception.hh
\ No newline at end of file
--- /dev/null
+../portsmplexer.cc
\ No newline at end of file
--- /dev/null
+../powerdns-example-script.lua
\ No newline at end of file
--- /dev/null
+../pubsuffix.cc
\ No newline at end of file
--- /dev/null
+../pubsuffix.hh
\ No newline at end of file
--- /dev/null
+../qtype.cc
\ No newline at end of file
--- /dev/null
+../qtype.hh
\ No newline at end of file
--- /dev/null
+../randomhelper.cc
\ No newline at end of file
--- /dev/null
+../rcpgenerator.cc
\ No newline at end of file
--- /dev/null
+../rcpgenerator.hh
\ No newline at end of file
--- /dev/null
+../rec-carbon.cc
\ No newline at end of file
--- /dev/null
+../rec-lua-conf.cc
\ No newline at end of file
--- /dev/null
+../rec-lua-conf.hh
\ No newline at end of file
--- /dev/null
+../rec_channel.cc
\ No newline at end of file
--- /dev/null
+../rec_channel.hh
\ No newline at end of file
--- /dev/null
+../rec_channel_rec.cc
\ No newline at end of file
--- /dev/null
+../../docs/manpages/rec_control.1.md
\ No newline at end of file
--- /dev/null
+../rec_control.cc
\ No newline at end of file
--- /dev/null
+../recpacketcache.cc
\ No newline at end of file
--- /dev/null
+../recpacketcache.hh
\ No newline at end of file
--- /dev/null
+../recursor_cache.cc
\ No newline at end of file
--- /dev/null
+../recursor_cache.hh
\ No newline at end of file
--- /dev/null
+../reczones.cc
\ No newline at end of file
--- /dev/null
+../resolver.cc
\ No newline at end of file
--- /dev/null
+../resolver.hh
\ No newline at end of file
--- /dev/null
+../responsestats.cc
\ No newline at end of file
--- /dev/null
+../responsestats.hh
\ No newline at end of file
--- /dev/null
+../rpzloader.cc
\ No newline at end of file
--- /dev/null
+../rpzloader.hh
\ No newline at end of file
--- /dev/null
+../../pdns/tools/rrd/
\ No newline at end of file
--- /dev/null
+../secpoll-recursor.cc
\ No newline at end of file
--- /dev/null
+../secpoll-recursor.hh
\ No newline at end of file
--- /dev/null
+../selectmplexer.cc
\ No newline at end of file
--- /dev/null
+../sha.hh
\ No newline at end of file
--- /dev/null
+../sholder.hh
\ No newline at end of file
--- /dev/null
+../sillyrecords.cc
\ No newline at end of file
--- /dev/null
+../sortlist.cc
\ No newline at end of file
--- /dev/null
+../sortlist.hh
\ No newline at end of file
--- /dev/null
+../sstuff.hh
\ No newline at end of file
--- /dev/null
+../statbag.cc
\ No newline at end of file
--- /dev/null
+../statbag.hh
\ No newline at end of file
--- /dev/null
+../syncres.cc
\ No newline at end of file
--- /dev/null
+../syncres.hh
\ No newline at end of file
--- /dev/null
+../ueberbackend.hh
\ No newline at end of file
--- /dev/null
+../unix_utility.cc
\ No newline at end of file
--- /dev/null
+../utility.hh
\ No newline at end of file
--- /dev/null
+../validate-recursor.cc
\ No newline at end of file
--- /dev/null
+../validate-recursor.hh
\ No newline at end of file
--- /dev/null
+../validate.cc
\ No newline at end of file
--- /dev/null
+../validate.hh
\ No newline at end of file
--- /dev/null
+../version.cc
\ No newline at end of file
--- /dev/null
+../version.hh
\ No newline at end of file
--- /dev/null
+../webserver.cc
\ No newline at end of file
--- /dev/null
+../webserver.hh
\ No newline at end of file
--- /dev/null
+../ws-api.cc
\ No newline at end of file
--- /dev/null
+../ws-api.hh
\ No newline at end of file
--- /dev/null
+../ws-recursor.cc
\ No newline at end of file
--- /dev/null
+../ws-recursor.hh
\ No newline at end of file
--- /dev/null
+../zoneparser-tng.cc
\ No newline at end of file
--- /dev/null
+../zoneparser-tng.hh
\ No newline at end of file
+++ /dev/null
-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
-
+++ /dev/null
-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
-
+++ /dev/null
-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 $@
-
+++ /dev/null
-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 $@
-