Browse Source

New upstream version 4.1.0~alpha1

tags/upstream/4.3.0
Christian Hofstaedtler 3 years ago
parent
commit
e83b137ad2
100 changed files with 7488 additions and 3795 deletions
  1. +1
    -1
      .version
  2. +85
    -20
      Makefile.am
  3. +272
    -190
      Makefile.in
  4. +2
    -2
      README
  5. +908
    -0
      RECURSOR-MIB.txt
  6. +4
    -2
      aclocal.m4
  7. +1
    -1
      arguments.hh
  8. +41
    -0
      ascii.hh
  9. +2
    -2
      build-aux/gen-version
  10. +108
    -9
      cachecleaner.hh
  11. +59
    -2
      config.h.in
  12. +1572
    -1137
      configure
  13. +14
    -4
      configure.ac
  14. +24
    -0
      contrib/dns64.lua
  15. +58
    -0
      contrib/kv-example-script.lua
  16. +142
    -0
      contrib/powerdns-example-script.lua
  17. +368
    -0
      contrib/syncres.dot
  18. +0
    -16
      dns.cc
  19. +4
    -22
      dns.hh
  20. +13
    -9
      dnsbackend.hh
  21. +31
    -14
      dnsname.cc
  22. +125
    -49
      dnsname.hh
  23. +16
    -13
      dnspacket.hh
  24. +103
    -29
      dnsparser.cc
  25. +27
    -20
      dnsparser.hh
  26. +14
    -21
      dnsrecords.cc
  27. +52
    -8
      dnsrecords.hh
  28. +126
    -127
      dnssecinfra.cc
  29. +12
    -17
      dnssecinfra.hh
  30. +23
    -5
      dnsseckeeper.hh
  31. +202
    -178
      dnswriter.cc
  32. +6
    -14
      dnswriter.hh
  33. +0
    -56
      ecs.cc
  34. +51
    -0
      ednscookies.cc
  35. +36
    -0
      ednscookies.hh
  36. +39
    -0
      ednsoptions.cc
  37. +10
    -0
      ednsoptions.hh
  38. +5
    -2
      ednssubnet.cc
  39. +0
    -4
      ednssubnet.hh
  40. +120
    -0
      effective_tld_names.dat
  41. +0
    -1
      epollmplexer.cc
  42. +7
    -4
      ext/Makefile.in
  43. +7
    -4
      ext/json11/Makefile.in
  44. +1
    -0
      ext/json11/json11.cpp
  45. +1
    -1
      ext/json11/json11.hpp
  46. +113
    -74
      ext/luawrapper/include/LuaContext.hpp
  47. +7
    -4
      ext/yahttp/Makefile.in
  48. +7
    -4
      ext/yahttp/yahttp/Makefile.in
  49. +40
    -72
      filterpo.cc
  50. +71
    -33
      filterpo.hh
  51. +5
    -5
      gss_context.hh
  52. +144
    -0
      iputils.cc
  53. +39
    -11
      iputils.hh
  54. +1
    -1
      ixfr.cc
  55. +42
    -13
      lock.hh
  56. +123
    -113
      lua-recursor4.cc
  57. +67
    -38
      lua-recursor4.hh
  58. +0
    -74
      m4/ax_check_link_flag.m4
  59. +1
    -0
      m4/pdns_check_libcrypto.m4
  60. +18
    -2
      m4/pdns_check_libcrypto_ecdsa.m4
  61. +7
    -0
      m4/pdns_check_libsodium.m4
  62. +5
    -4
      m4/pdns_check_os.m4
  63. +0
    -11
      m4/pdns_check_pandoc.m4
  64. +3
    -0
      m4/pdns_check_pthread_np.m4
  65. +12
    -0
      m4/pdns_check_virtualenv.m4
  66. +40
    -1
      m4/pdns_enable_sanitizers.m4
  67. +24
    -0
      m4/pdns_enable_valgrind.m4
  68. +23
    -0
      m4/pdns_with_net_snmp.m4
  69. +52
    -50
      misc.cc
  70. +12
    -28
      misc.hh
  71. +2
    -2
      mkpubsuffixcc
  72. +24
    -7
      mtasker.cc
  73. +15
    -3
      mtasker.hh
  74. +40
    -0
      mtasker_context.hh
  75. +23
    -0
      mtasker_fcontext.cc
  76. +19
    -0
      mtasker_ucontext.cc
  77. +183
    -0
      negcache.cc
  78. +101
    -0
      negcache.hh
  79. +4
    -5
      nsecrecords.cc
  80. +78
    -0
      packetcache.hh
  81. +140
    -165
      pdns_recursor.1
  82. +0
    -156
      pdns_recursor.1.md
  83. +463
    -305
      pdns_recursor.cc
  84. +24
    -3
      protobuf.cc
  85. +2
    -1
      protobuf.hh
  86. +65
    -2
      pubsuffix.cc
  87. +20
    -20
      qtype.cc
  88. +5
    -9
      qtype.hh
  89. +22
    -22
      rcpgenerator.cc
  90. +1
    -1
      rec-carbon.cc
  91. +82
    -92
      rec-lua-conf.cc
  92. +1
    -0
      rec-lua-conf.hh
  93. +23
    -0
      rec-protobuf.cc
  94. +2
    -1
      rec-protobuf.hh
  95. +295
    -0
      rec-snmp.cc
  96. +19
    -0
      rec-snmp.hh
  97. +5
    -3
      rec_channel.hh
  98. +63
    -53
      rec_channel_rec.cc
  99. +219
    -233
      rec_control.1
  100. +0
    -190
      rec_control.1.md

+ 1
- 1
.version View File

@@ -1 +1 @@
4.0.6
4.1.0-alpha1

+ 85
- 20
Makefile.am View File

@@ -1,6 +1,6 @@
JSON11_LIBS = $(top_srcdir)/ext/json11/libjson11.la

AM_CPPFLAGS = $(LUA_CFLAGS) $(YAHTTP_CFLAGS) $(BOOST_CPPFLAGS) $(BOTAN110_CFLAGS) $(SANITIZER_FLAGS) -O3 -Wall -pthread -DSYSCONFDIR=\"${sysconfdir}\" $(SYSTEMD_CFLAGS)
AM_CPPFLAGS = $(LUA_CFLAGS) $(YAHTTP_CFLAGS) $(BOOST_CPPFLAGS) $(BOTAN110_CFLAGS) $(NET_SNMP_CFLAGS) $(SANITIZER_FLAGS) -O3 -Wall -pthread -DSYSCONFDIR=\"${sysconfdir}\" $(SYSTEMD_CFLAGS)

AM_CPPFLAGS += \
-I$(top_srcdir)/ext/json11 \
@@ -19,7 +19,9 @@ AM_LDFLAGS = \

ACLOCAL_AMFLAGS = -I m4

BUILT_SOURCES=htmlfiles.h
BUILT_SOURCES=htmlfiles.h \
dnslabeltext.cc

CLEANFILES = htmlfiles.h \
dnsmessage.pb.cc \
dnsmessage.pb.h
@@ -52,20 +54,28 @@ EXTRA_DIST = \
mtasker.cc \
mtasker_fcontext.cc mtasker_ucontext.cc \
opensslsigners.hh opensslsigners.cc \
pdns_recursor.1.md \
portsmplexer.cc \
rec_control.1.md \
rrd/* \
html incfiles \
pdns-recursor.service.in
test_libcrypto \
pdns-recursor.service.in \
RECURSOR-MIB.txt

dist-hook:
for file in $$(find $(distdir)/docs -type l); do \
t=`stat -c%N $$file | awk '{print $$NF}' | sed "s/'//g"` ; \
ln -fs ../$$t $$file; \
done

sbin_PROGRAMS = pdns_recursor
bin_PROGRAMS = rec_control

TESTS=test_libcrypto

if UNIT_TESTS
noinst_PROGRAMS = testrunner
TESTS_ENVIRONMENT = env BOOST_TEST_LOG_LEVEL=message SRCDIR='$(srcdir)'
TESTS=testrunner
TESTS += testrunner
else
check-local:
@echo "Unit tests are not enabled"
@@ -74,6 +84,7 @@ endif

pdns_recursor_SOURCES = \
arguments.cc \
ascii.hh \
base32.cc base32.hh \
base64.cc base64.hh \
cachecleaner.hh \
@@ -89,7 +100,6 @@ pdns_recursor_SOURCES = \
dnssecinfra.hh dnssecinfra.cc \
dnsseckeeper.hh \
dnswriter.cc dnswriter.hh \
ecs.cc \
ednsoptions.cc ednsoptions.hh \
ednssubnet.cc ednssubnet.hh \
filterpo.cc filterpo.hh \
@@ -108,8 +118,10 @@ pdns_recursor_SOURCES = \
mtasker.hh \
mtasker_context.cc mtasker_context.hh \
namespaces.hh \
negcache.hh negcache.cc \
nsecrecords.cc \
opensslsigners.cc opensslsigners.hh \
packetcache.hh \
pdns_recursor.cc \
pdnsexception.hh \
protobuf.cc protobuf.hh \
@@ -120,6 +132,7 @@ pdns_recursor_SOURCES = \
rec-carbon.cc \
rec-lua-conf.hh rec-lua-conf.cc \
rec-protobuf.cc rec-protobuf.hh \
rec-snmp.hh rec-snmp.cc \
rec_channel.cc rec_channel.hh \
rec_channel_rec.cc \
recpacketcache.cc recpacketcache.hh \
@@ -137,6 +150,7 @@ pdns_recursor_SOURCES = \
selectmplexer.cc \
sholder.hh \
sillyrecords.cc \
snmp-agent.hh snmp-agent.cc \
sortlist.cc sortlist.hh \
sstuff.hh \
syncres.cc syncres.hh \
@@ -162,6 +176,7 @@ pdns_recursor_LDADD = \
$(JSON11_LIBS) \
$(LIBCRYPTO_LIBS) \
$(BOOST_CONTEXT_LIBS) \
$(NET_SNMP_LIBS) \
$(SYSTEMD_LIBS) \
$(RT_LIBS)

@@ -173,50 +188,67 @@ testrunner_SOURCES = \
base32.cc \
base64.cc base64.hh \
dns.cc dns.hh \
dns_random.cc dns_random.hh \
dnslabeltext.cc \
dnsname.cc dnsname.hh \
dnsparser.hh dnsparser.cc \
dns_random.cc dns_random.hh \
dnsrecords.cc \
dnssecinfra.cc \
dnsseckeeper.hh \
dnswriter.cc dnswriter.hh \
ednscookies.cc ednscookies.hh \
ednsoptions.cc ednsoptions.hh \
ednssubnet.cc ednssubnet.hh \
filterpo.cc filterpo.hh \
gettime.cc gettime.hh \
gss_context.cc gss_context.hh \
iputils.cc iputils.hh \
ixfr.cc ixfr.hh \
logger.cc logger.hh \
misc.cc misc.hh \
negcache.hh negcache.cc \
namespaces.hh \
nsecrecords.cc \
pdnsexception.hh \
opensslsigners.cc opensslsigners.hh \
protobuf.cc protobuf.hh \
qtype.cc qtype.hh \
randomhelper.cc \
rcpgenerator.cc \
recpacketcache.cc recpacketcache.hh \
rec-protobuf.cc rec-protobuf.hh \
recpacketcache.cc recpacketcache.hh \
recursor_cache.cc recursor_cache.hh \
responsestats.cc \
root-dnssec.hh \
sillyrecords.cc \
sholder.hh \
sstuff.hh \
syncres.cc syncres.hh \
test-arguments_cc.cc \
test-base32_cc.cc \
test-base64_cc.cc \
test-common.hh \
test-dnsrecordcontent.cc \
test-dns_random_hh.cc \
test-dnsname_cc.cc \
test-dnsparser_hh.cc \
test-dnsrecords_cc.cc \
test-ednsoptions_cc.cc \
test-iputils_hh.cc \
test-ixfr_cc.cc \
test-misc_hh.cc \
test-nmtree.cc \
test-negcache_cc.cc \
test-rcpgenerator_cc.cc \
test-recpacketcache_cc.cc \
test-recursorcache_cc.cc \
test-syncres_cc.cc \
test-tsig.cc \
testrunner.cc \
tsigverifier.cc tsigverifier.hh \
unix_utility.cc \
validate.cc validate.hh \
validate-recursor.cc validate-recursor.hh \
zoneparser-tng.cc zoneparser-tng.hh

testrunner_LDFLAGS = \
@@ -239,6 +271,9 @@ if LIBSODIUM
pdns_recursor_SOURCES += \
sodiumsigners.cc
pdns_recursor_LDADD += $(LIBSODIUM_LIBS)
testrunner_SOURCES += \
sodiumsigners.cc
testrunner_LDADD += $(LIBSODIUM_LIBS)
endif

if LIBDECAF
@@ -322,19 +357,49 @@ recursor.conf-dist: pdns_recursor
MANPAGES=pdns_recursor.1 \
rec_control.1

if HAVE_PANDOC
dist_man_MANS=$(MANPAGES)
endif
if HAVE_MANPAGES
dist_man_MANS=$(MANPAGES)
endif
dist_man_MANS=$(MANPAGES)

if HAVE_PANDOC
$(MANPAGES): %: %.md
$(AM_V_GEN)$(PANDOC) -s -t man $< -o $@
else
if HAVE_VIRTUALENV
if !HAVE_MANPAGES
$(MANPAGES): %.1: docs/manpages/%.rst .venv
.venv/bin/python -msphinx -b man docs . $<
endif # if !HAVE_MANPAGES

.venv: docs/requirements.txt
virtualenv .venv
.venv/bin/pip install -U pip setuptools setuptools-git
.venv/bin/pip install -r docs/requirements.txt

html-docs: docs/** .venv
.venv/bin/python -msphinx -b html docs html-docs

latex/PowerDNS-Recursor.pdf: docs/** .venv
.venv/bin/python -msphinx -M latexpdf docs .

PowerDNS-Recursor.pdf: latex/PowerDNS-Recursor.pdf
mv $< $@

html-docs.tar.bz2: html-docs
tar cjf $@ $<

all-docs: PowerDNS-Recursor.pdf html-docs html-docs.tar.bz2

upload-docs: all-docs
rsync -crv --delete --no-p --chmod=g=rwX --exclude '*~' ./html-docs/ web1.powerdns.com:/srv/www/doc.powerdns.com/recursor/
rsync -crv --no-p --chmod=g=rwX --exclude '*~' ./html-docs.tar.bz2 web1.powerdns.com:/srv/www/doc.powerdns.com/recursor/
rsync -crv --no-p --chmod=g=rwX --exclude '*~' ./PowerDNS-Recursor.pdf web1.powerdns.com:/srv/www/doc.powerdns.com/recursor/

else # if HAVE_VIRTUALENV
$(MANPAGES):
echo "You need pandoc to generate the manpages"
echo "You need virtualenv to generate the manpages"
exit 1

PowerDNS-Recursor.pdf:
echo "You need virtualenv to generate the PDF"
exit 1

html-docs:
echo "You need virtualenv to generate the HTML docs"
exit 1
endif



+ 272
- 190
Makefile.in View File

@@ -82,37 +82,42 @@ host_triplet = @host@
@LUA_TRUE@am__append_1 = $(LUA_CFLAGS)
sbin_PROGRAMS = pdns_recursor$(EXEEXT)
bin_PROGRAMS = rec_control$(EXEEXT)
TESTS = test_libcrypto $(am__EXEEXT_1)
@UNIT_TESTS_TRUE@noinst_PROGRAMS = testrunner$(EXEEXT)
@UNIT_TESTS_TRUE@TESTS = testrunner$(EXEEXT)
@HAVE_LUA_HPP_FALSE@am__append_2 = lua.hpp
@UNIT_TESTS_TRUE@am__append_2 = testrunner
@HAVE_LUA_HPP_FALSE@am__append_3 = lua.hpp
@BOTAN110_TRUE@am__append_4 = \
@HAVE_LUA_HPP_FALSE@am__append_4 = lua.hpp
@BOTAN110_TRUE@am__append_5 = \
@BOTAN110_TRUE@ botan110signers.cc

@BOTAN110_TRUE@am__append_5 = $(BOTAN110_LIBS)
@LIBSODIUM_TRUE@am__append_6 = \
@BOTAN110_TRUE@am__append_6 = $(BOTAN110_LIBS)
@LIBSODIUM_TRUE@am__append_7 = \
@LIBSODIUM_TRUE@ sodiumsigners.cc

@LIBSODIUM_TRUE@am__append_7 = $(LIBSODIUM_LIBS)
@LIBDECAF_TRUE@am__append_8 = \
@LIBSODIUM_TRUE@am__append_8 = $(LIBSODIUM_LIBS)
@LIBSODIUM_TRUE@am__append_9 = \
@LIBSODIUM_TRUE@ sodiumsigners.cc

@LIBSODIUM_TRUE@am__append_10 = $(LIBSODIUM_LIBS)
@LIBDECAF_TRUE@am__append_11 = \
@LIBDECAF_TRUE@ decafsigners.cc

@LIBDECAF_TRUE@am__append_9 = $(LIBDECAF_LIBS)
@MALLOC_TRACE_TRUE@am__append_10 = \
@LIBDECAF_TRUE@am__append_12 = $(LIBDECAF_LIBS)
@MALLOC_TRACE_TRUE@am__append_13 = \
@MALLOC_TRACE_TRUE@ malloctrace.cc \
@MALLOC_TRACE_TRUE@ malloctrace.hh

@MALLOC_TRACE_TRUE@am__append_11 = -rdynamic
@LUA_TRUE@am__append_12 = $(LUA_LIBS)
@HAVE_FREEBSD_TRUE@am__append_13 = kqueuemplexer.cc
@HAVE_LINUX_TRUE@am__append_14 = epollmplexer.cc
@HAVE_SOLARIS_TRUE@am__append_15 = \
@MALLOC_TRACE_TRUE@am__append_14 = -rdynamic
@LUA_TRUE@am__append_15 = $(LUA_LIBS)
@HAVE_FREEBSD_TRUE@am__append_16 = kqueuemplexer.cc
@HAVE_LINUX_TRUE@am__append_17 = epollmplexer.cc
@HAVE_SOLARIS_TRUE@am__append_18 = \
@HAVE_SOLARIS_TRUE@ devpollmplexer.cc \
@HAVE_SOLARIS_TRUE@ portsmplexer.cc

@HAVE_PROTOBUF_TRUE@@HAVE_PROTOC_TRUE@am__append_16 = dnsmessage.pb.cc
@HAVE_PROTOBUF_TRUE@@HAVE_PROTOC_TRUE@am__append_17 = $(PROTOBUF_LIBS)
@HAVE_PROTOBUF_TRUE@@HAVE_PROTOC_TRUE@am__append_18 = $(PROTOBUF_LIBS)
@HAVE_PROTOBUF_TRUE@@HAVE_PROTOC_TRUE@am__append_19 = dnsmessage.pb.cc
@HAVE_PROTOBUF_TRUE@@HAVE_PROTOC_TRUE@am__append_20 = $(PROTOBUF_LIBS)
@HAVE_PROTOBUF_TRUE@@HAVE_PROTOC_TRUE@am__append_21 = $(PROTOBUF_LIBS)
DIST_COMMON = $(srcdir)/lua_hpp.mk $(srcdir)/Makefile.in \
$(srcdir)/Makefile.am $(top_srcdir)/configure \
$(am__configure_deps) $(srcdir)/config.h.in \
@@ -130,7 +135,6 @@ subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = \
$(top_srcdir)/m4/ax_arg_default_enable_disable.m4 \
$(top_srcdir)/m4/ax_check_link_flag.m4 \
$(top_srcdir)/m4/ax_cxx_compile_stdcxx_11.m4 \
$(top_srcdir)/m4/boost.m4 $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -144,20 +148,23 @@ am__aclocal_m4_deps = \
$(top_srcdir)/m4/pdns_check_lua_hpp.m4 \
$(top_srcdir)/m4/pdns_check_network_libs.m4 \
$(top_srcdir)/m4/pdns_check_os.m4 \
$(top_srcdir)/m4/pdns_check_pandoc.m4 \
$(top_srcdir)/m4/pdns_check_pthread_np.m4 \
$(top_srcdir)/m4/pdns_check_ragel.m4 \
$(top_srcdir)/m4/pdns_check_virtualenv.m4 \
$(top_srcdir)/m4/pdns_d_fortify_source.m4 \
$(top_srcdir)/m4/pdns_enable_botan.m4 \
$(top_srcdir)/m4/pdns_enable_malloc_trace.m4 \
$(top_srcdir)/m4/pdns_enable_reproducible.m4 \
$(top_srcdir)/m4/pdns_enable_sanitizers.m4 \
$(top_srcdir)/m4/pdns_enable_unit_tests.m4 \
$(top_srcdir)/m4/pdns_enable_valgrind.m4 \
$(top_srcdir)/m4/pdns_enable_verbose_logging.m4 \
$(top_srcdir)/m4/pdns_param_ssp_buffer_size.m4 \
$(top_srcdir)/m4/pdns_pie.m4 $(top_srcdir)/m4/pdns_relro.m4 \
$(top_srcdir)/m4/pdns_stack_protector.m4 \
$(top_srcdir)/m4/pdns_with_lua.m4 \
$(top_srcdir)/m4/pdns_with_luajit.m4 \
$(top_srcdir)/m4/pdns_with_net_snmp.m4 \
$(top_srcdir)/m4/pdns_with_protobuf.m4 \
$(top_srcdir)/m4/systemd.m4 $(top_srcdir)/m4/warnings.m4 \
$(top_srcdir)/configure.ac
@@ -173,36 +180,38 @@ am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(sbindir)" \
"$(DESTDIR)$(man1dir)" "$(DESTDIR)$(sysconfdir)" \
"$(DESTDIR)$(systemdsystemunitdir)"
PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS) $(sbin_PROGRAMS)
am__pdns_recursor_SOURCES_DIST = 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 ecs.cc \
ednsoptions.cc ednsoptions.hh ednssubnet.cc ednssubnet.hh \
filterpo.cc filterpo.hh gettime.cc gettime.hh gss_context.cc \
gss_context.hh iputils.hh iputils.cc ixfr.cc ixfr.hh json.cc \
json.hh lazy_allocator.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 mtasker_context.cc \
mtasker_context.hh namespaces.hh nsecrecords.cc \
opensslsigners.cc opensslsigners.hh pdns_recursor.cc \
pdnsexception.hh protobuf.cc protobuf.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-protobuf.cc rec-protobuf.hh rec_channel.cc rec_channel.hh \
rec_channel_rec.cc recpacketcache.cc recpacketcache.hh \
recursor_cache.cc recursor_cache.hh reczones.cc \
remote_logger.cc remote_logger.hh resolver.hh resolver.cc \
resolve-context.hh responsestats.hh responsestats.cc \
root-addresses.hh root-dnssec.hh rpzloader.cc rpzloader.hh \
secpoll-recursor.cc secpoll-recursor.hh selectmplexer.cc \
sholder.hh sillyrecords.cc sortlist.cc sortlist.hh sstuff.hh \
syncres.cc syncres.hh tsigverifier.cc tsigverifier.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 \
am__pdns_recursor_SOURCES_DIST = arguments.cc ascii.hh 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 ednsoptions.cc ednsoptions.hh ednssubnet.cc \
ednssubnet.hh filterpo.cc filterpo.hh gettime.cc gettime.hh \
gss_context.cc gss_context.hh iputils.hh iputils.cc ixfr.cc \
ixfr.hh json.cc json.hh lazy_allocator.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 mtasker_context.cc \
mtasker_context.hh namespaces.hh negcache.hh negcache.cc \
nsecrecords.cc opensslsigners.cc opensslsigners.hh \
packetcache.hh pdns_recursor.cc pdnsexception.hh protobuf.cc \
protobuf.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-protobuf.cc \
rec-protobuf.hh rec-snmp.hh rec-snmp.cc rec_channel.cc \
rec_channel.hh rec_channel_rec.cc recpacketcache.cc \
recpacketcache.hh recursor_cache.cc recursor_cache.hh \
reczones.cc remote_logger.cc remote_logger.hh resolver.hh \
resolver.cc resolve-context.hh responsestats.hh \
responsestats.cc root-addresses.hh root-dnssec.hh rpzloader.cc \
rpzloader.hh secpoll-recursor.cc secpoll-recursor.hh \
selectmplexer.cc sholder.hh sillyrecords.cc snmp-agent.hh \
snmp-agent.cc sortlist.cc sortlist.hh sstuff.hh syncres.cc \
syncres.hh tsigverifier.cc tsigverifier.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 botan110signers.cc sodiumsigners.cc \
decafsigners.cc malloctrace.cc malloctrace.hh kqueuemplexer.cc \
epollmplexer.cc devpollmplexer.cc portsmplexer.cc
@@ -218,29 +227,29 @@ am_pdns_recursor_OBJECTS = arguments.$(OBJEXT) base32.$(OBJEXT) \
base64.$(OBJEXT) dns.$(OBJEXT) dns_random.$(OBJEXT) \
dnslabeltext.$(OBJEXT) dnsname.$(OBJEXT) dnsparser.$(OBJEXT) \
dnsrecords.$(OBJEXT) dnssecinfra.$(OBJEXT) dnswriter.$(OBJEXT) \
ecs.$(OBJEXT) ednsoptions.$(OBJEXT) ednssubnet.$(OBJEXT) \
filterpo.$(OBJEXT) gettime.$(OBJEXT) gss_context.$(OBJEXT) \
iputils.$(OBJEXT) ixfr.$(OBJEXT) json.$(OBJEXT) \
logger.$(OBJEXT) lua-recursor4.$(OBJEXT) lwres.$(OBJEXT) \
misc.$(OBJEXT) mtasker_context.$(OBJEXT) nsecrecords.$(OBJEXT) \
opensslsigners.$(OBJEXT) pdns_recursor.$(OBJEXT) \
protobuf.$(OBJEXT) pubsuffix.$(OBJEXT) qtype.$(OBJEXT) \
randomhelper.$(OBJEXT) rcpgenerator.$(OBJEXT) \
ednsoptions.$(OBJEXT) ednssubnet.$(OBJEXT) filterpo.$(OBJEXT) \
gettime.$(OBJEXT) gss_context.$(OBJEXT) iputils.$(OBJEXT) \
ixfr.$(OBJEXT) json.$(OBJEXT) logger.$(OBJEXT) \
lua-recursor4.$(OBJEXT) lwres.$(OBJEXT) misc.$(OBJEXT) \
mtasker_context.$(OBJEXT) negcache.$(OBJEXT) \
nsecrecords.$(OBJEXT) opensslsigners.$(OBJEXT) \
pdns_recursor.$(OBJEXT) protobuf.$(OBJEXT) pubsuffix.$(OBJEXT) \
qtype.$(OBJEXT) randomhelper.$(OBJEXT) rcpgenerator.$(OBJEXT) \
rec-carbon.$(OBJEXT) rec-lua-conf.$(OBJEXT) \
rec-protobuf.$(OBJEXT) rec_channel.$(OBJEXT) \
rec_channel_rec.$(OBJEXT) recpacketcache.$(OBJEXT) \
recursor_cache.$(OBJEXT) reczones.$(OBJEXT) \
remote_logger.$(OBJEXT) resolver.$(OBJEXT) \
rec-protobuf.$(OBJEXT) rec-snmp.$(OBJEXT) \
rec_channel.$(OBJEXT) rec_channel_rec.$(OBJEXT) \
recpacketcache.$(OBJEXT) recursor_cache.$(OBJEXT) \
reczones.$(OBJEXT) remote_logger.$(OBJEXT) resolver.$(OBJEXT) \
responsestats.$(OBJEXT) rpzloader.$(OBJEXT) \
secpoll-recursor.$(OBJEXT) selectmplexer.$(OBJEXT) \
sillyrecords.$(OBJEXT) sortlist.$(OBJEXT) syncres.$(OBJEXT) \
tsigverifier.$(OBJEXT) unix_utility.$(OBJEXT) \
validate.$(OBJEXT) validate-recursor.$(OBJEXT) \
version.$(OBJEXT) webserver.$(OBJEXT) ws-api.$(OBJEXT) \
ws-recursor.$(OBJEXT) zoneparser-tng.$(OBJEXT) \
$(am__objects_1) $(am__objects_2) $(am__objects_3) \
$(am__objects_4) $(am__objects_5) $(am__objects_6) \
$(am__objects_7)
sillyrecords.$(OBJEXT) snmp-agent.$(OBJEXT) sortlist.$(OBJEXT) \
syncres.$(OBJEXT) tsigverifier.$(OBJEXT) \
unix_utility.$(OBJEXT) validate.$(OBJEXT) \
validate-recursor.$(OBJEXT) version.$(OBJEXT) \
webserver.$(OBJEXT) ws-api.$(OBJEXT) ws-recursor.$(OBJEXT) \
zoneparser-tng.$(OBJEXT) $(am__objects_1) $(am__objects_2) \
$(am__objects_3) $(am__objects_4) $(am__objects_5) \
$(am__objects_6) $(am__objects_7)
@HAVE_PROTOBUF_TRUE@@HAVE_PROTOC_TRUE@nodist_pdns_recursor_OBJECTS = \
@HAVE_PROTOBUF_TRUE@@HAVE_PROTOC_TRUE@ dnsmessage.pb.$(OBJEXT)
pdns_recursor_OBJECTS = $(am_pdns_recursor_OBJECTS) \
@@ -255,9 +264,9 @@ am__DEPENDENCIES_1 =
pdns_recursor_DEPENDENCIES = $(am__DEPENDENCIES_1) $(JSON11_LIBS) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_2) $(am__DEPENDENCIES_3) \
$(am__DEPENDENCIES_4) $(am__DEPENDENCIES_5) \
$(am__DEPENDENCIES_6)
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) \
$(am__DEPENDENCIES_3) $(am__DEPENDENCIES_4) \
$(am__DEPENDENCIES_5) $(am__DEPENDENCIES_6)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
@@ -272,31 +281,67 @@ am_rec_control_OBJECTS = arguments.$(OBJEXT) dnsname.$(OBJEXT) \
unix_utility.$(OBJEXT)
rec_control_OBJECTS = $(am_rec_control_OBJECTS)
rec_control_LDADD = $(LDADD)
am__testrunner_SOURCES_DIST = arguments.cc base32.cc base64.cc \
base64.hh dns.cc dns.hh dns_random.cc dns_random.hh \
dnslabeltext.cc dnsname.cc dnsname.hh dnsparser.hh \
dnsparser.cc dnsrecords.cc dnssecinfra.cc dnsseckeeper.hh \
dnswriter.cc dnswriter.hh ednscookies.cc ednscookies.hh \
ednsoptions.cc ednsoptions.hh ednssubnet.cc ednssubnet.hh \
filterpo.cc filterpo.hh gettime.cc gettime.hh gss_context.cc \
gss_context.hh iputils.cc iputils.hh ixfr.cc ixfr.hh logger.cc \
logger.hh misc.cc misc.hh negcache.hh negcache.cc \
namespaces.hh nsecrecords.cc pdnsexception.hh \
opensslsigners.cc opensslsigners.hh protobuf.cc protobuf.hh \
qtype.cc qtype.hh randomhelper.cc rcpgenerator.cc \
rec-protobuf.cc rec-protobuf.hh recpacketcache.cc \
recpacketcache.hh recursor_cache.cc recursor_cache.hh \
responsestats.cc root-dnssec.hh sillyrecords.cc sholder.hh \
sstuff.hh syncres.cc syncres.hh test-arguments_cc.cc \
test-base32_cc.cc test-base64_cc.cc test-common.hh \
test-dnsrecordcontent.cc test-dns_random_hh.cc \
test-dnsname_cc.cc test-dnsparser_hh.cc test-dnsrecords_cc.cc \
test-ednsoptions_cc.cc test-iputils_hh.cc test-ixfr_cc.cc \
test-misc_hh.cc test-nmtree.cc test-negcache_cc.cc \
test-rcpgenerator_cc.cc test-recpacketcache_cc.cc \
test-recursorcache_cc.cc test-syncres_cc.cc test-tsig.cc \
testrunner.cc tsigverifier.cc tsigverifier.hh unix_utility.cc \
validate.cc validate.hh validate-recursor.cc \
validate-recursor.hh zoneparser-tng.cc zoneparser-tng.hh \
sodiumsigners.cc
am_testrunner_OBJECTS = arguments.$(OBJEXT) base32.$(OBJEXT) \
base64.$(OBJEXT) dns.$(OBJEXT) dnslabeltext.$(OBJEXT) \
dnsname.$(OBJEXT) dnsparser.$(OBJEXT) dns_random.$(OBJEXT) \
base64.$(OBJEXT) dns.$(OBJEXT) dns_random.$(OBJEXT) \
dnslabeltext.$(OBJEXT) dnsname.$(OBJEXT) dnsparser.$(OBJEXT) \
dnsrecords.$(OBJEXT) dnssecinfra.$(OBJEXT) dnswriter.$(OBJEXT) \
ednsoptions.$(OBJEXT) ednssubnet.$(OBJEXT) gettime.$(OBJEXT) \
ednscookies.$(OBJEXT) ednsoptions.$(OBJEXT) \
ednssubnet.$(OBJEXT) filterpo.$(OBJEXT) gettime.$(OBJEXT) \
gss_context.$(OBJEXT) iputils.$(OBJEXT) ixfr.$(OBJEXT) \
logger.$(OBJEXT) misc.$(OBJEXT) nsecrecords.$(OBJEXT) \
protobuf.$(OBJEXT) qtype.$(OBJEXT) rcpgenerator.$(OBJEXT) \
recpacketcache.$(OBJEXT) rec-protobuf.$(OBJEXT) \
logger.$(OBJEXT) misc.$(OBJEXT) negcache.$(OBJEXT) \
nsecrecords.$(OBJEXT) opensslsigners.$(OBJEXT) \
protobuf.$(OBJEXT) qtype.$(OBJEXT) randomhelper.$(OBJEXT) \
rcpgenerator.$(OBJEXT) rec-protobuf.$(OBJEXT) \
recpacketcache.$(OBJEXT) recursor_cache.$(OBJEXT) \
responsestats.$(OBJEXT) sillyrecords.$(OBJEXT) \
test-arguments_cc.$(OBJEXT) test-base32_cc.$(OBJEXT) \
test-base64_cc.$(OBJEXT) test-dns_random_hh.$(OBJEXT) \
syncres.$(OBJEXT) test-arguments_cc.$(OBJEXT) \
test-base32_cc.$(OBJEXT) test-base64_cc.$(OBJEXT) \
test-dnsrecordcontent.$(OBJEXT) test-dns_random_hh.$(OBJEXT) \
test-dnsname_cc.$(OBJEXT) test-dnsparser_hh.$(OBJEXT) \
test-dnsrecords_cc.$(OBJEXT) test-iputils_hh.$(OBJEXT) \
test-ixfr_cc.$(OBJEXT) test-misc_hh.$(OBJEXT) \
test-nmtree.$(OBJEXT) test-rcpgenerator_cc.$(OBJEXT) \
test-recpacketcache_cc.$(OBJEXT) testrunner.$(OBJEXT) \
test-dnsrecords_cc.$(OBJEXT) test-ednsoptions_cc.$(OBJEXT) \
test-iputils_hh.$(OBJEXT) test-ixfr_cc.$(OBJEXT) \
test-misc_hh.$(OBJEXT) test-nmtree.$(OBJEXT) \
test-negcache_cc.$(OBJEXT) test-rcpgenerator_cc.$(OBJEXT) \
test-recpacketcache_cc.$(OBJEXT) \
test-recursorcache_cc.$(OBJEXT) test-syncres_cc.$(OBJEXT) \
test-tsig.$(OBJEXT) testrunner.$(OBJEXT) \
tsigverifier.$(OBJEXT) unix_utility.$(OBJEXT) \
zoneparser-tng.$(OBJEXT)
validate.$(OBJEXT) validate-recursor.$(OBJEXT) \
zoneparser-tng.$(OBJEXT) $(am__objects_2)
@HAVE_PROTOBUF_TRUE@@HAVE_PROTOC_TRUE@nodist_testrunner_OBJECTS = \
@HAVE_PROTOBUF_TRUE@@HAVE_PROTOC_TRUE@ dnsmessage.pb.$(OBJEXT)
testrunner_OBJECTS = $(am_testrunner_OBJECTS) \
$(nodist_testrunner_OBJECTS)
testrunner_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_6)
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_3) \
$(am__DEPENDENCIES_6)
testrunner_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
$(CXXFLAGS) $(testrunner_LDFLAGS) $(LDFLAGS) -o $@
@@ -356,7 +401,7 @@ SOURCES = $(pdns_recursor_SOURCES) $(nodist_pdns_recursor_SOURCES) \
$(rec_control_SOURCES) $(testrunner_SOURCES) \
$(nodist_testrunner_SOURCES)
DIST_SOURCES = $(am__pdns_recursor_SOURCES_DIST) \
$(rec_control_SOURCES) $(testrunner_SOURCES)
$(rec_control_SOURCES) $(am__testrunner_SOURCES_DIST)
RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
ctags-recursive dvi-recursive html-recursive info-recursive \
install-data-recursive install-dvi-recursive \
@@ -586,6 +631,7 @@ am__set_TESTS_bases = \
bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \
bases=`echo $$bases`
RECHECK_LOGS = $(TEST_LOGS)
@UNIT_TESTS_TRUE@am__EXEEXT_1 = testrunner$(EXEEXT)
TEST_SUITE_LOG = test-suite.log
TEST_EXTENSIONS = @EXEEXT@ .test
LOG_DRIVER = $(SHELL) $(top_srcdir)/build-aux/test-driver
@@ -652,9 +698,9 @@ distcleancheck_listfiles = find . -type f -print
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_CPPFLAGS = $(LUA_CFLAGS) $(YAHTTP_CFLAGS) $(BOOST_CPPFLAGS) \
$(BOTAN110_CFLAGS) $(SANITIZER_FLAGS) -O3 -Wall -pthread \
-DSYSCONFDIR=\"${sysconfdir}\" $(SYSTEMD_CFLAGS) \
-I$(top_srcdir)/ext/json11 \
$(BOTAN110_CFLAGS) $(NET_SNMP_CFLAGS) $(SANITIZER_FLAGS) -O3 \
-Wall -pthread -DSYSCONFDIR=\"${sysconfdir}\" \
$(SYSTEMD_CFLAGS) -I$(top_srcdir)/ext/json11 \
-I$(top_srcdir)/ext/rapidjson/include $(YAHTTP_CFLAGS) \
$(LIBCRYPTO_INCLUDES) $(am__append_1)
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
@@ -683,7 +729,6 @@ BOTAN110_LIBS = @BOTAN110_LIBS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CURL = @CURL@
CXX = @CXX@
@@ -730,6 +775,8 @@ LUA_LIBS = @LUA_LIBS@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
NET_SNMP_CFLAGS = @NET_SNMP_CFLAGS@
NET_SNMP_LIBS = @NET_SNMP_LIBS@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
@@ -743,7 +790,6 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PANDOC = @PANDOC@
PATH_SEPARATOR = @PATH_SEPARATOR@
PIE_CFLAGS = @PIE_CFLAGS@
PIE_LDFLAGS = @PIE_LDFLAGS@
@@ -769,6 +815,7 @@ SYSTEMD_LIBS = @SYSTEMD_LIBS@
SYSTEMD_MODULES_LOAD = @SYSTEMD_MODULES_LOAD@
THREADFLAGS = @THREADFLAGS@
VERSION = @VERSION@
VIRTUALENV = @VIRTUALENV@
WARN_CFLAGS = @WARN_CFLAGS@
YAHTTP_CFLAGS = @YAHTTP_CFLAGS@
YAHTTP_LIBS = @YAHTTP_LIBS@
@@ -839,9 +886,10 @@ AM_LDFLAGS = \
$(THREADFLAGS)

ACLOCAL_AMFLAGS = -I m4
BUILT_SOURCES = htmlfiles.h $(am__append_2) $(am__append_16)
BUILT_SOURCES = htmlfiles.h dnslabeltext.cc $(am__append_3) \
$(am__append_19)
CLEANFILES = htmlfiles.h dnsmessage.pb.cc dnsmessage.pb.h \
$(am__append_3)
$(am__append_4)
SUBDIRS = ext
EXTRA_DIST = \
NOTICE \
@@ -862,113 +910,90 @@ EXTRA_DIST = \
mtasker.cc \
mtasker_fcontext.cc mtasker_ucontext.cc \
opensslsigners.hh opensslsigners.cc \
pdns_recursor.1.md \
portsmplexer.cc \
rec_control.1.md \
rrd/* \
html incfiles \
pdns-recursor.service.in
test_libcrypto \
pdns-recursor.service.in \
RECURSOR-MIB.txt

@UNIT_TESTS_TRUE@TESTS_ENVIRONMENT = env BOOST_TEST_LOG_LEVEL=message SRCDIR='$(srcdir)'
pdns_recursor_SOURCES = arguments.cc base32.cc base32.hh base64.cc \
base64.hh cachecleaner.hh comment.hh dns.hh dns.cc \
pdns_recursor_SOURCES = arguments.cc ascii.hh 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 ecs.cc \
ednsoptions.cc ednsoptions.hh ednssubnet.cc ednssubnet.hh \
filterpo.cc filterpo.hh gettime.cc gettime.hh gss_context.cc \
dnsseckeeper.hh dnswriter.cc dnswriter.hh ednsoptions.cc \
ednsoptions.hh ednssubnet.cc ednssubnet.hh filterpo.cc \
filterpo.hh gettime.cc gettime.hh gss_context.cc \
gss_context.hh iputils.hh iputils.cc ixfr.cc ixfr.hh json.cc \
json.hh lazy_allocator.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 mtasker_context.cc \
mtasker_context.hh namespaces.hh nsecrecords.cc \
opensslsigners.cc opensslsigners.hh pdns_recursor.cc \
pdnsexception.hh protobuf.cc protobuf.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-protobuf.cc rec-protobuf.hh rec_channel.cc rec_channel.hh \
rec_channel_rec.cc recpacketcache.cc recpacketcache.hh \
recursor_cache.cc recursor_cache.hh reczones.cc \
remote_logger.cc remote_logger.hh resolver.hh resolver.cc \
resolve-context.hh responsestats.hh responsestats.cc \
root-addresses.hh root-dnssec.hh rpzloader.cc rpzloader.hh \
secpoll-recursor.cc secpoll-recursor.hh selectmplexer.cc \
sholder.hh sillyrecords.cc sortlist.cc sortlist.hh sstuff.hh \
syncres.cc syncres.hh tsigverifier.cc tsigverifier.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 $(am__append_4) $(am__append_6) \
$(am__append_8) $(am__append_10) $(am__append_13) \
$(am__append_14) $(am__append_15)
mtasker_context.hh namespaces.hh negcache.hh negcache.cc \
nsecrecords.cc opensslsigners.cc opensslsigners.hh \
packetcache.hh pdns_recursor.cc pdnsexception.hh protobuf.cc \
protobuf.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-protobuf.cc \
rec-protobuf.hh rec-snmp.hh rec-snmp.cc rec_channel.cc \
rec_channel.hh rec_channel_rec.cc recpacketcache.cc \
recpacketcache.hh recursor_cache.cc recursor_cache.hh \
reczones.cc remote_logger.cc remote_logger.hh resolver.hh \
resolver.cc resolve-context.hh responsestats.hh \
responsestats.cc root-addresses.hh root-dnssec.hh rpzloader.cc \
rpzloader.hh secpoll-recursor.cc secpoll-recursor.hh \
selectmplexer.cc sholder.hh sillyrecords.cc snmp-agent.hh \
snmp-agent.cc sortlist.cc sortlist.hh sstuff.hh syncres.cc \
syncres.hh tsigverifier.cc tsigverifier.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 $(am__append_5) $(am__append_7) \
$(am__append_11) $(am__append_13) $(am__append_16) \
$(am__append_17) $(am__append_18)
@HAVE_LUA_HPP_FALSE@nodist_pdns_recursor_SOURCES = lua.hpp
@HAVE_PROTOBUF_TRUE@@HAVE_PROTOC_TRUE@nodist_pdns_recursor_SOURCES = dnsmessage.pb.cc dnsmessage.pb.h
pdns_recursor_LDADD = $(YAHTTP_LIBS) $(JSON11_LIBS) $(LIBCRYPTO_LIBS) \
$(BOOST_CONTEXT_LIBS) $(SYSTEMD_LIBS) $(RT_LIBS) \
$(am__append_5) $(am__append_7) $(am__append_9) \
$(am__append_12) $(am__append_17)
$(BOOST_CONTEXT_LIBS) $(NET_SNMP_LIBS) $(SYSTEMD_LIBS) \
$(RT_LIBS) $(am__append_6) $(am__append_8) $(am__append_12) \
$(am__append_15) $(am__append_20)
pdns_recursor_LDFLAGS = $(AM_LDFLAGS) $(LIBCRYPTO_LDFLAGS) \
$(BOOST_CONTEXT_LDFLAGS) $(am__append_11)
testrunner_SOURCES = \
arguments.cc \
base32.cc \
base64.cc base64.hh \
dns.cc dns.hh \
dnslabeltext.cc \
dnsname.cc dnsname.hh \
dnsparser.hh dnsparser.cc \
dns_random.cc dns_random.hh \
dnsrecords.cc \
dnssecinfra.cc \
dnswriter.cc dnswriter.hh \
ednsoptions.cc ednsoptions.hh \
ednssubnet.cc ednssubnet.hh \
gettime.cc gettime.hh \
gss_context.cc gss_context.hh \
iputils.cc iputils.hh \
ixfr.cc ixfr.hh \
logger.cc logger.hh \
misc.cc misc.hh \
namespaces.hh \
nsecrecords.cc \
pdnsexception.hh \
protobuf.cc protobuf.hh \
qtype.cc qtype.hh \
rcpgenerator.cc \
recpacketcache.cc recpacketcache.hh \
rec-protobuf.cc rec-protobuf.hh \
responsestats.cc \
sillyrecords.cc \
sholder.hh \
sstuff.hh \
test-arguments_cc.cc \
test-base32_cc.cc \
test-base64_cc.cc \
test-common.hh \
test-dns_random_hh.cc \
test-dnsname_cc.cc \
test-dnsparser_hh.cc \
test-dnsrecords_cc.cc \
test-iputils_hh.cc \
test-ixfr_cc.cc \
test-misc_hh.cc \
test-nmtree.cc \
test-rcpgenerator_cc.cc \
test-recpacketcache_cc.cc \
testrunner.cc \
tsigverifier.cc tsigverifier.hh \
unix_utility.cc \
zoneparser-tng.cc zoneparser-tng.hh

$(BOOST_CONTEXT_LDFLAGS) $(am__append_14)
testrunner_SOURCES = arguments.cc base32.cc base64.cc base64.hh dns.cc \
dns.hh dns_random.cc dns_random.hh dnslabeltext.cc dnsname.cc \
dnsname.hh dnsparser.hh dnsparser.cc dnsrecords.cc \
dnssecinfra.cc dnsseckeeper.hh dnswriter.cc dnswriter.hh \
ednscookies.cc ednscookies.hh ednsoptions.cc ednsoptions.hh \
ednssubnet.cc ednssubnet.hh filterpo.cc filterpo.hh gettime.cc \
gettime.hh gss_context.cc gss_context.hh iputils.cc iputils.hh \
ixfr.cc ixfr.hh logger.cc logger.hh misc.cc misc.hh \
negcache.hh negcache.cc namespaces.hh nsecrecords.cc \
pdnsexception.hh opensslsigners.cc opensslsigners.hh \
protobuf.cc protobuf.hh qtype.cc qtype.hh randomhelper.cc \
rcpgenerator.cc rec-protobuf.cc rec-protobuf.hh \
recpacketcache.cc recpacketcache.hh recursor_cache.cc \
recursor_cache.hh responsestats.cc root-dnssec.hh \
sillyrecords.cc sholder.hh sstuff.hh syncres.cc syncres.hh \
test-arguments_cc.cc test-base32_cc.cc test-base64_cc.cc \
test-common.hh test-dnsrecordcontent.cc test-dns_random_hh.cc \
test-dnsname_cc.cc test-dnsparser_hh.cc test-dnsrecords_cc.cc \
test-ednsoptions_cc.cc test-iputils_hh.cc test-ixfr_cc.cc \
test-misc_hh.cc test-nmtree.cc test-negcache_cc.cc \
test-rcpgenerator_cc.cc test-recpacketcache_cc.cc \
test-recursorcache_cc.cc test-syncres_cc.cc test-tsig.cc \
testrunner.cc tsigverifier.cc tsigverifier.hh unix_utility.cc \
validate.cc validate.hh validate-recursor.cc \
validate-recursor.hh zoneparser-tng.cc zoneparser-tng.hh \
$(am__append_9)
testrunner_LDFLAGS = \
$(AM_LDFLAGS) \
$(BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS) \
$(LIBCRYPTO_LDFLAGS)

testrunner_LDADD = $(BOOST_UNIT_TEST_FRAMEWORK_LIBS) $(LIBCRYPTO_LIBS) \
$(RT_LIBS) $(am__append_18)
$(RT_LIBS) $(am__append_10) $(am__append_21)
@HAVE_PROTOBUF_TRUE@@HAVE_PROTOC_TRUE@nodist_testrunner_SOURCES = dnsmessage.pb.cc dnsmessage.pb.h
rec_control_SOURCES = \
arguments.cc arguments.hh \
@@ -988,8 +1013,7 @@ sysconf_DATA = recursor.conf-dist
MANPAGES = pdns_recursor.1 \
rec_control.1

@HAVE_MANPAGES_TRUE@dist_man_MANS = $(MANPAGES)
@HAVE_PANDOC_TRUE@dist_man_MANS = $(MANPAGES)
dist_man_MANS = $(MANPAGES)
@HAVE_SYSTEMD_TRUE@systemdsystemunitdir = $(SYSTEMD_DIR)
@HAVE_SYSTEMD_TRUE@systemdsystemunit_DATA = \
@HAVE_SYSTEMD_TRUE@ pdns-recursor.service \
@@ -1191,7 +1215,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dnsrecords.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dnssecinfra.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dnswriter.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ecs.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ednscookies.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ednsoptions.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ednssubnet.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/epollmplexer.Po@am__quote@
@@ -1208,6 +1232,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/malloctrace.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/misc.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mtasker_context.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/negcache.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nsecrecords.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/opensslsigners.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pdns_recursor.Po@am__quote@
@@ -1220,6 +1245,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rec-carbon.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rec-lua-conf.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rec-protobuf.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rec-snmp.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rec_channel.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rec_channel_rec.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rec_control.Po@am__quote@
@@ -1233,6 +1259,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/secpoll-recursor.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/selectmplexer.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sillyrecords.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/snmp-agent.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sodiumsigners.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sortlist.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/syncres.Po@am__quote@
@@ -1242,13 +1269,19 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-dns_random_hh.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-dnsname_cc.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-dnsparser_hh.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-dnsrecordcontent.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-dnsrecords_cc.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-ednsoptions_cc.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-iputils_hh.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-ixfr_cc.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-misc_hh.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-negcache_cc.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-nmtree.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-rcpgenerator_cc.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-recpacketcache_cc.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-recursorcache_cc.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-syncres_cc.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-tsig.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testrunner.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tsigverifier.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unix_utility.Po@am__quote@
@@ -1625,6 +1658,13 @@ recheck: all
am__force_recheck=am--force-recheck \
TEST_LOGS="$$log_list"; \
exit $$?
test_libcrypto.log: test_libcrypto
@p='test_libcrypto'; \
b='test_libcrypto'; \
$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
testrunner.log: testrunner$(EXEEXT)
@p='testrunner$(EXEEXT)'; \
b='testrunner'; \
@@ -1704,6 +1744,9 @@ distdir: $(DISTFILES)
|| exit 1; \
fi; \
done
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$(top_distdir)" distdir="$(distdir)" \
dist-hook
-test -n "$(am__skip_mode_fix)" \
|| find "$(distdir)" -type d ! -perm -755 \
-exec chmod u+rwx,go+rx {} \; -o \
@@ -1967,9 +2010,9 @@ uninstall-man: uninstall-man1
am--refresh check check-TESTS check-am check-local clean \
clean-binPROGRAMS clean-cscope clean-generic clean-libtool \
clean-noinstPROGRAMS clean-sbinPROGRAMS cscope cscopelist-am \
ctags ctags-am dist dist-all dist-bzip2 dist-gzip dist-lzip \
dist-shar dist-tarZ dist-xz dist-zip distcheck distclean \
distclean-compile distclean-generic distclean-hdr \
ctags ctags-am dist dist-all dist-bzip2 dist-gzip dist-hook \
dist-lzip dist-shar dist-tarZ dist-xz dist-zip distcheck \
distclean distclean-compile distclean-generic distclean-hdr \
distclean-libtool distclean-tags distcleancheck distdir \
distuninstallcheck dvi dvi-am html html-am info info-am \
install install-am install-binPROGRAMS install-data \
@@ -1990,6 +2033,12 @@ uninstall-man: uninstall-man1

htmlfiles.h: html/*
./incfiles > $@

dist-hook:
for file in $$(find $(distdir)/docs -type l); do \
t=`stat -c%N $$file | awk '{print $$NF}' | sed "s/'//g"` ; \
ln -fs ../$$t $$file; \
done
@UNIT_TESTS_FALSE@check-local:
@UNIT_TESTS_FALSE@ @echo "Unit tests are not enabled"
@UNIT_TESTS_FALSE@ @echo "Run ./configure --enable-unit-tests"
@@ -2010,11 +2059,44 @@ pubsuffix.cc: $(srcdir)/effective_tld_names.dat
recursor.conf-dist: pdns_recursor
$(AM_V_GEN)./pdns_recursor --config > $@

@HAVE_PANDOC_TRUE@$(MANPAGES): %: %.md
@HAVE_PANDOC_TRUE@ $(AM_V_GEN)$(PANDOC) -s -t man $< -o $@
@HAVE_PANDOC_FALSE@$(MANPAGES):
@HAVE_PANDOC_FALSE@ echo "You need pandoc to generate the manpages"
@HAVE_PANDOC_FALSE@ exit 1
@HAVE_MANPAGES_FALSE@@HAVE_VIRTUALENV_TRUE@$(MANPAGES): %.1: docs/manpages/%.rst .venv
@HAVE_MANPAGES_FALSE@@HAVE_VIRTUALENV_TRUE@ .venv/bin/python -msphinx -b man docs . $<

@HAVE_VIRTUALENV_TRUE@.venv: docs/requirements.txt
@HAVE_VIRTUALENV_TRUE@ virtualenv .venv
@HAVE_VIRTUALENV_TRUE@ .venv/bin/pip install -U pip setuptools setuptools-git
@HAVE_VIRTUALENV_TRUE@ .venv/bin/pip install -r docs/requirements.txt

@HAVE_VIRTUALENV_TRUE@html-docs: docs/** .venv
@HAVE_VIRTUALENV_TRUE@ .venv/bin/python -msphinx -b html docs html-docs

@HAVE_VIRTUALENV_TRUE@latex/PowerDNS-Recursor.pdf: docs/** .venv
@HAVE_VIRTUALENV_TRUE@ .venv/bin/python -msphinx -M latexpdf docs .

@HAVE_VIRTUALENV_TRUE@PowerDNS-Recursor.pdf: latex/PowerDNS-Recursor.pdf
@HAVE_VIRTUALENV_TRUE@ mv $< $@

@HAVE_VIRTUALENV_TRUE@html-docs.tar.bz2: html-docs
@HAVE_VIRTUALENV_TRUE@ tar cjf $@ $<

@HAVE_VIRTUALENV_TRUE@all-docs: PowerDNS-Recursor.pdf html-docs html-docs.tar.bz2

@HAVE_VIRTUALENV_TRUE@upload-docs: all-docs
@HAVE_VIRTUALENV_TRUE@ rsync -crv --delete --no-p --chmod=g=rwX --exclude '*~' ./html-docs/ web1.powerdns.com:/srv/www/doc.powerdns.com/recursor/
@HAVE_VIRTUALENV_TRUE@ rsync -crv --no-p --chmod=g=rwX --exclude '*~' ./html-docs.tar.bz2 web1.powerdns.com:/srv/www/doc.powerdns.com/recursor/
@HAVE_VIRTUALENV_TRUE@ rsync -crv --no-p --chmod=g=rwX --exclude '*~' ./PowerDNS-Recursor.pdf web1.powerdns.com:/srv/www/doc.powerdns.com/recursor/

@HAVE_VIRTUALENV_FALSE@$(MANPAGES):
@HAVE_VIRTUALENV_FALSE@ echo "You need virtualenv to generate the manpages"
@HAVE_VIRTUALENV_FALSE@ exit 1

@HAVE_VIRTUALENV_FALSE@PowerDNS-Recursor.pdf:
@HAVE_VIRTUALENV_FALSE@ echo "You need virtualenv to generate the PDF"
@HAVE_VIRTUALENV_FALSE@ exit 1

@HAVE_VIRTUALENV_FALSE@html-docs:
@HAVE_VIRTUALENV_FALSE@ echo "You need virtualenv to generate the HTML docs"
@HAVE_VIRTUALENV_FALSE@ exit 1

@HAVE_SYSTEMD_TRUE@pdns-recursor.service: pdns-recursor.service.in
@HAVE_SYSTEMD_TRUE@ $(AM_V_GEN)sed -e 's![@]sbindir[@]!$(sbindir)!' < $< > $@


+ 2
- 2
README View File

@@ -7,7 +7,7 @@ Here follow some brief notes that may be useful to get you going.
Compiling
---------
Starting with version 4.0.0, the PowerDNS recursor uses autotools and compiling
from the tarball can be as simple as
[from the tarball](https://downloads.powerdns.com/releases/) can be as simple as

```
$ ./configure
@@ -78,6 +78,6 @@ reported.

License
-------
PowerDNS is copyright © 2002-2016 by PowerDNS.COM BV and lots of
PowerDNS is copyright © 2002-2017 by PowerDNS.COM BV and lots of
contributors, using the GNU GPLv2 license (see NOTICE for the
exact license and exception used).

+ 908
- 0
RECURSOR-MIB.txt View File

@@ -0,0 +1,908 @@
-- -*- snmpv2 -*-
-- ----------------------------------------------------------------------
-- MIB file for PowerDNS Recursor
-- ----------------------------------------------------------------------

PDNSRECURSOR-MIB DEFINITIONS ::= BEGIN

IMPORTS
OBJECT-TYPE, MODULE-IDENTITY, enterprises,
Counter64, NOTIFICATION-TYPE
FROM SNMPv2-SMI
CounterBasedGauge64
FROM HCNUM-TC
OBJECT-GROUP, MODULE-COMPLIANCE, NOTIFICATION-GROUP
FROM SNMPv2-CONF;

rec MODULE-IDENTITY
LAST-UPDATED "201611290000Z"
ORGANIZATION "PowerDNS BV"
CONTACT-INFO "support@powerdns.com"
DESCRIPTION
"This MIB module describes information gathered through PowerDNS Recursor."

REVISION "201611290000Z"
DESCRIPTION "Initial revision."

::= { powerdns 2 }

powerdns OBJECT IDENTIFIER ::= { enterprises 43315 }

stats OBJECT IDENTIFIER ::= { rec 1 }

questions OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of questions"
::= { stats 1 }

ipv6Questions OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of IPv6 questions"
::= { stats 2 }

tcpQuestions OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of TCP questions"
::= { stats 3 }

cacheHits OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of cache hits"
::= { stats 4 }

cacheMisses OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of cache misses"
::= { stats 5 }

cacheEntries OBJECT-TYPE
SYNTAX CounterBasedGauge64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of cache entries"
::= { stats 6 }

cacheBytes OBJECT-TYPE
SYNTAX CounterBasedGauge64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Size of the cache in bytes"
::= { stats 7 }

packetcacheHits OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of packetcache hits"
::= { stats 8 }

packetcacheMisses OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of packetcache misses"
::= { stats 9 }

packetcacheEntries OBJECT-TYPE
SYNTAX CounterBasedGauge64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of packetcache entries"
::= { stats 10 }

packetcacheBytes OBJECT-TYPE
SYNTAX CounterBasedGauge64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Size of the packetcache in bytes"
::= { stats 11 }

mallocBytes OBJECT-TYPE
SYNTAX CounterBasedGauge64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of bytes allocated by malloc"
::= { stats 12 }

servfailAnswers OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of servfail answers"
::= { stats 13 }

nxdomainAnswers OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of nxdomain answers"
::= { stats 14 }

noerrorAnswers OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of noerror answers"
::= { stats 15 }

unauthorizedUdp OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of unauthorized UDP queries"
::= { stats 16 }

unauthorizedTcp OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of unauthorized TCP queries"
::= { stats 17 }

tcpClientOverflow OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of TCP client connections refused because of too many connections"
::= { stats 18 }

clientParseErrors OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of client parse errors"
::= { stats 19 }

serverParseErrors OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of server parse errors"
::= { stats 20 }

tooOldDrops OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of responses dropped because of a timeout"
::= { stats 21 }

answers01 OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of queries answered in less than 1 ms"
::= { stats 22 }

answers110 OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of queries answered in 1-10 ms"
::= { stats 23 }

answers10100 OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of queries answered in 10-100 ms"
::= { stats 24 }

answers1001000 OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of queries answered in 100-1000 ms"
::= { stats 25 }

answersSlow OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of queries answered in more than 1000 ms"
::= { stats 26 }

auth4Answers01 OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of IPv4 queries answered in less than 1 ms"
::= { stats 27 }

auth4Answers110 OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of IPv4 queries answered in 1-10 ms"
::= { stats 28 }

auth4Answers10100 OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of IPv4 queries answered in 10-100 ms"
::= { stats 29 }

auth4Answers1001000 OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of IPv4 queries answered in 100-1000 ms"
::= { stats 30 }

auth4Answersslow OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of IPv4 queries answered in more than 1000 ms"
::= { stats 31 }

auth6Answers01 OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of IPv6 queries answered in less than 1 ms"
::= { stats 32 }

auth6Answers110 OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of IPv6 queries answered in 1-10 ms"
::= { stats 33 }

auth6Answers10100 OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of IPv6 queries answered in 10-100 ms"
::= { stats 34 }

auth6Answers1001000 OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of IPv6 queries answered in 100-1000 ms"
::= { stats 35 }

auth6AnswersSlow OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of IPv6 queries answered in more than 1000 ms"
::= { stats 36 }

qaLatency OBJECT-TYPE
SYNTAX CounterBasedGauge64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Average latency in microseconds"
::= { stats 37 }

unexpectedPackets OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of unexpected packets"
::= { stats 38 }

caseMismatches OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of case mismatches"
::= { stats 39 }

spoofPrevents OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of spoof prevents"
::= { stats 40 }

nssetInvalidations OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of nsset invalidations"
::= { stats 41 }

resourceLimits OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of resolution aborted because of a local resource limit"
::= { stats 42 }

overCapacityDrops OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of queries dropped because the threads limit was reached"
::= { stats 43 }

policyDrops OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of queries dropped because of a policy"
::= { stats 44 }

noPacketError OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of noPacketError"
::= { stats 45 }

dlgOnlyDrops OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of records dropped because of they belonged to a delegation-only zone"
::= { stats 46 }

ignoredPackets OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of ignored packets"
::= { stats 47 }

maxMthreadStack OBJECT-TYPE
SYNTAX CounterBasedGauge64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Maximum size of the Mthread stack"
::= { stats 48 }

negcacheEntries OBJECT-TYPE
SYNTAX CounterBasedGauge64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of negcache entries"
::= { stats 49 }

throttleEntries OBJECT-TYPE
SYNTAX CounterBasedGauge64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of throttle entries"
::= { stats 50 }

nsspeedsEntries OBJECT-TYPE
SYNTAX CounterBasedGauge64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of nsspeeds entries"
::= { stats 51 }

failedHostEntries OBJECT-TYPE
SYNTAX CounterBasedGauge64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of failed host entries"
::= { stats 52 }

concurrentQueries OBJECT-TYPE
SYNTAX CounterBasedGauge64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of concurrent queries"
::= { stats 53 }

securityStatus OBJECT-TYPE
SYNTAX CounterBasedGauge64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Current security status"
::= { stats 54 }

outgoingTimeouts OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of outgoing timeouts"
::= { stats 55 }

outgoing4Timeouts OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of IPv4 outgoing timeouts"
::= { stats 56 }

outgoing6Timeouts OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of IPv6 outgoing timeouts"
::= { stats 57 }

tcpOutqueries OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of outgoing TCP queries sent"
::= { stats 58 }

allOutqueries OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of outgoing queries sent"
::= { stats 59 }

ipv6Outqueries OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of IPv6 outgoing queries sent"
::= { stats 60 }

throttledOutqueries OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of throttled outgoing queries"
::= { stats 61 }

dontOutqueries OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of outgoing queries not sent because of a 'dont-query' setting"
::= { stats 62 }

unreachables OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of errors due to an unreachable server"
::= { stats 63 }

chainResends OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of chain resends"
::= { stats 64 }

tcpClients OBJECT-TYPE
SYNTAX CounterBasedGauge64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of TCP clients"
::= { stats 65 }

udpRecvbufErrors OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of UDP recvbuf errors (Linux only)"
::= { stats 66 }

udpSndbufErrors OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of UDP sndbuf errors (Linux only)"
::= { stats 67 }

udpNoportErrors OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of UDP noport errors (Linux only)"
::= { stats 68 }

udpinErrors OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of UDP in errors (Linux only)"
::= { stats 69 }

ednsPingMatches OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of EDNS Ping matches"
::= { stats 70 }

ednsPingMismatches OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of EDNS Ping mismatches"
::= { stats 71 }

dnssecQueries OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of DNSSEC queries"
::= { stats 72 }

nopingOutqueries OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of outgoing queries w/o ping"
::= { stats 73 }

noednsOutqueries OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of outgoing queries w/o EDNS"
::= { stats 74 }

uptime OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Process uptime in seconds"
::= { stats 75 }

realMemoryUsage OBJECT-TYPE
SYNTAX CounterBasedGauge64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Memory usage"
::= { stats 76 }

fdUsage OBJECT-TYPE
SYNTAX CounterBasedGauge64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"File descriptors usage"
::= { stats 77 }

userMsec OBJECT-TYPE
SYNTAX CounterBasedGauge64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"CPU usage (user) in ms"
::= { stats 78 }

sysMsec OBJECT-TYPE
SYNTAX CounterBasedGauge64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"CPU usage (system) in ms"
::= { stats 79 }

dnssecValidations OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of DNSSEC validations"
::= { stats 80 }

dnssecResultInsecure OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of DNSSEC insecure results"
::= { stats 81 }

dnssecResultSecure OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of DNSSEC secure results"
::= { stats 82 }

dnssecResultBogus OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of DNSSEC bogus results"
::= { stats 83 }

dnssecResultIndeterminate OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of DNSSEC indeterminate results"
::= { stats 84 }

dnssecResultNta OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of DNSSEC NTA results"
::= { stats 85 }

policyResultNoaction OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of policy-mandated no-action results"
::= { stats 86 }

policyResultDrop OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of policy-mandated drops"
::= { stats 87 }

policyResultNxdomain OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of policy-mandated NXdomain results"
::= { stats 88 }

policyResultNodata OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of policy-mandated nodata results"
::= { stats 89 }

policyResultTruncate OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of policy-mandated truncate results"
::= { stats 90 }

policyResultCustom OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of policy-mandated custom results"
::= { stats 91 }

---
--- Traps / Notifications
---

trap OBJECT IDENTIFIER ::= { rec 10 }
traps OBJECT IDENTIFIER ::= { trap 0 } --- reverse-mappable
trapObjects OBJECT IDENTIFIER ::= { rec 11 }

trapReason OBJECT-TYPE
SYNTAX OCTET STRING
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Reason for this trap"
::= { trapObjects 1 }

customTrap NOTIFICATION-TYPE
OBJECTS {
trapReason
}
STATUS current
DESCRIPTION "Trap sent by sendCustomTrap"
::= { traps 1 }

---
--- Conformance
---

recConformance OBJECT IDENTIFIER ::= { rec 100 }

recCompliances MODULE-COMPLIANCE
STATUS current
DESCRIPTION "PowerDNS Recursor compliance statement"
MODULE
MANDATORY-GROUPS {
recGroup,
recTrapsGroup
}
::= { recConformance 1 }

recGroup OBJECT-GROUP
OBJECTS {
questions,
ipv6Questions,
tcpQuestions,
cacheHits,
cacheMisses,
cacheEntries,
cacheBytes,
packetcacheHits,
packetcacheMisses,
packetcacheEntries,
packetcacheBytes,
mallocBytes,
servfailAnswers,
nxdomainAnswers,
noerrorAnswers,
unauthorizedUdp,
unauthorizedTcp,
tcpClientOverflow,
clientParseErrors,
serverParseErrors,
tooOldDrops,
answers01,
answers110,
answers10100,
answers1001000,
answersSlow,
auth4Answers01,
auth4Answers110,
auth4Answers10100,
auth4Answers1001000,
auth4Answersslow,
auth6Answers01,
auth6Answers110,
auth6Answers10100,
auth6Answers1001000,
auth6AnswersSlow,
qaLatency,
unexpectedPackets,
caseMismatches,
spoofPrevents,
nssetInvalidations,
resourceLimits,
overCapacityDrops,
policyDrops,
noPacketError,
dlgOnlyDrops,
ignoredPackets,
maxMthreadStack,
negcacheEntries,
throttleEntries,
nsspeedsEntries,
failedHostEntries,
concurrentQueries,
securityStatus,
outgoingTimeouts,
outgoing4Timeouts,
outgoing6Timeouts,
tcpOutqueries,
allOutqueries,
ipv6Outqueries,
throttledOutqueries,
dontOutqueries,
unreachables,
chainResends,
tcpClients,
udpRecvbufErrors,
udpSndbufErrors,
udpNoportErrors,
udpinErrors,
ednsPingMatches,
ednsPingMismatches,
dnssecQueries,
nopingOutqueries,
noednsOutqueries,
uptime,
realMemoryUsage,
fdUsage,
userMsec,
sysMsec,
dnssecValidations,
dnssecResultInsecure,
dnssecResultSecure,
dnssecResultBogus,
dnssecResultIndeterminate,
dnssecResultNta,
policyResultNoaction,
policyResultDrop,
policyResultNxdomain,
policyResultNodata,
policyResultTruncate,
policyResultCustom,
trapReason
}
STATUS current
DESCRIPTION "Objects conformance group for PowerDNS Recursor"
::= { recConformance 2 }

recTrapsGroup NOTIFICATION-GROUP
NOTIFICATIONS {
customTrap
}
STATUS current
DESCRIPTION "Traps conformance group for PowerDNS Recursor"
::= { recConformance 3 }

END

+ 4
- 2
aclocal.m4 View File

@@ -1400,7 +1400,6 @@ AC_SUBST([am__untar])
]) # _AM_PROG_TAR

m4_include([m4/ax_arg_default_enable_disable.m4])
m4_include([m4/ax_check_link_flag.m4])
m4_include([m4/ax_cxx_compile_stdcxx_11.m4])
m4_include([m4/boost.m4])
m4_include([m4/libtool.m4])
@@ -1417,14 +1416,16 @@ m4_include([m4/pdns_check_libsodium.m4])
m4_include([m4/pdns_check_lua_hpp.m4])
m4_include([m4/pdns_check_network_libs.m4])
m4_include([m4/pdns_check_os.m4])
m4_include([m4/pdns_check_pandoc.m4])
m4_include([m4/pdns_check_pthread_np.m4])
m4_include([m4/pdns_check_ragel.m4])
m4_include([m4/pdns_check_virtualenv.m4])
m4_include([m4/pdns_d_fortify_source.m4])
m4_include([m4/pdns_enable_botan.m4])
m4_include([m4/pdns_enable_malloc_trace.m4])
m4_include([m4/pdns_enable_reproducible.m4])
m4_include([m4/pdns_enable_sanitizers.m4])
m4_include([m4/pdns_enable_unit_tests.m4])
m4_include([m4/pdns_enable_valgrind.m4])
m4_include([m4/pdns_enable_verbose_logging.m4])
m4_include([m4/pdns_param_ssp_buffer_size.m4])
m4_include([m4/pdns_pie.m4])
@@ -1432,6 +1433,7 @@ m4_include([m4/pdns_relro.m4])
m4_include([m4/pdns_stack_protector.m4])
m4_include([m4/pdns_with_lua.m4])
m4_include([m4/pdns_with_luajit.m4])
m4_include([m4/pdns_with_net_snmp.m4])
m4_include([m4/pdns_with_protobuf.m4])
m4_include([m4/systemd.m4])
m4_include([m4/warnings.m4])

+ 1
- 1
arguments.hh View File

@@ -62,7 +62,7 @@ typedef PDNSException ArgException;
R.parse(argc, argv); // read the arguments from main()
cout<<"Will we be a deamon?: "<<R.isset("daemon")<<endl;
cout<<"Will we be a daemon?: "<<R.isset("daemon")<<endl;
cout<<"Our port will be "<<R["port"]<<endl;
map<string,string>::const_iterator i;


+ 41
- 0
ascii.hh View File

<
@@ -0,0 +1,41 @@
/*
* This file is part of PowerDNS or dnsdist.
* Copyright -- PowerDNS.COM B.V. and its contributors
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of version 2 of the GNU General Public License as
* published by the Free Software Foundation.
*
* In addition, for the avoidance of any doubt, permission is granted to
* link this program with OpenSSL and to (re)distribute the binaries
* produced as the result of such linking.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.