Browse Source

New upstream version 4.0.5

tags/devuan/4.3.0-2+devuan1
Christian Hofstaedtler 3 years ago
parent
commit
f919d49475
100 changed files with 5088 additions and 752 deletions
  1. +1
    -1
      .version
  2. +80
    -0
      Makefile.am
  3. +555
    -74
      Makefile.in
  4. +40
    -0
      aclocal.m4
  5. +1
    -0
      arguments.cc
  6. +14
    -14
      botan110signers.cc
  7. +1
    -1
      build-aux/gen-version
  8. +14
    -7
      build-aux/install-sh
  9. +139
    -0
      build-aux/test-driver
  10. +9
    -0
      config.h.in
  11. +552
    -12
      configure
  12. +2
    -0
      configure.ac
  13. +1
    -1
      dnsbackend.hh
  14. +3
    -0
      dnsmessage.proto
  15. +9
    -4
      dnsname.hh
  16. +12
    -15
      dnssecinfra.cc
  17. +8
    -8
      dnssecinfra.hh
  18. +4
    -4
      dnsseckeeper.hh
  19. +56
    -0
      ecs.cc
  20. +13
    -6
      ednssubnet.cc
  21. +2
    -0
      ednssubnet.hh
  22. +214
    -77
      effective_tld_names.dat
  23. +8
    -0
      ext/Makefile.in
  24. +8
    -0
      ext/json11/Makefile.in
  25. +119
    -31
      ext/json11/json11.cpp
  26. +36
    -4
      ext/json11/json11.hpp
  27. +10
    -9
      ext/luawrapper/include/LuaContext.hpp
  28. +8
    -0
      ext/yahttp/Makefile.in
  29. +8
    -0
      ext/yahttp/yahttp/Makefile.in
  30. +66
    -62
      ext/yahttp/yahttp/cookie.hpp
  31. +2
    -2
      ext/yahttp/yahttp/exception.hpp
  32. +64
    -22
      ext/yahttp/yahttp/reqresp.cpp
  33. +22
    -17
      ext/yahttp/yahttp/reqresp.hpp
  34. +0
    -1
      ext/yahttp/yahttp/router.cpp
  35. +1
    -1
      ext/yahttp/yahttp/url.hpp
  36. +35
    -18
      ext/yahttp/yahttp/utility.hpp
  37. +1
    -1
      ext/yahttp/yahttp/yahttp-config.h
  38. +2
    -1
      ext/yahttp/yahttp/yahttp.hpp
  39. +44
    -5
      filterpo.cc
  40. +7
    -3
      filterpo.hh
  41. +2
    -1
      iputils.cc
  42. +21
    -13
      iputils.hh
  43. +13
    -12
      lua-recursor4.cc
  44. +71
    -8
      lwres.cc
  45. +4
    -2
      lwres.hh
  46. +74
    -0
      m4/ax_check_link_flag.m4
  47. +10
    -2
      m4/boost.m4
  48. +19
    -0
      m4/pdns_check_libsodium.m4
  49. +5
    -1
      m4/pdns_check_os.m4
  50. +1
    -1
      m4/pdns_enable_reproducible.m4
  51. +28
    -0
      m4/pdns_enable_unit_tests.m4
  52. +7
    -5
      misc.cc
  53. +6
    -6
      nsecrecords.cc
  54. +4
    -4
      opensslsigners.cc
  55. +137
    -89
      pdns_recursor.cc
  56. +43
    -7
      protobuf.cc
  57. +5
    -1
      protobuf.hh
  58. +124
    -37
      pubsuffix.cc
  59. +1
    -2
      qtype.cc
  60. +1
    -1
      rcpgenerator.cc
  61. +42
    -16
      rec-lua-conf.cc
  62. +1
    -0
      rec-lua-conf.hh
  63. +14
    -12
      rec_channel_rec.cc
  64. +15
    -0
      rec_control.1
  65. +8
    -0
      rec_control.1.md
  66. +1
    -8
      recursor_cache.cc
  67. +7
    -5
      reczones.cc
  68. +0
    -27
      remote_logger.cc
  69. +0
    -1
      remote_logger.hh
  70. +22
    -0
      resolve-context.hh
  71. +16
    -3
      resolver.cc
  72. +1
    -1
      resolver.hh
  73. +1
    -1
      root-addresses.hh
  74. +2
    -1
      root-dnssec.hh
  75. +7
    -7
      rpzloader.cc
  76. +4
    -2
      secpoll-recursor.cc
  77. +7
    -4
      sholder.hh
  78. +152
    -0
      sodiumsigners.cc
  79. +6
    -1
      sstuff.hh
  80. +48
    -21
      syncres.cc
  81. +21
    -2
      syncres.hh
  82. +61
    -0
      test-arguments_cc.cc
  83. +38
    -0
      test-base32_cc.cc
  84. +77
    -0
      test-base64_cc.cc
  85. +57
    -0
      test-dns_random_hh.cc
  86. +737
    -0
      test-dnsname_cc.cc
  87. +21
    -0
      test-dnsparser_hh.cc
  88. +319
    -0
      test-dnsrecords_cc.cc
  89. +213
    -0
      test-iputils_hh.cc
  90. +184
    -0
      test-misc_hh.cc
  91. +98
    -0
      test-nmtree.cc
  92. +34
    -0
      test-rcpgenerator_cc.cc
  93. +70
    -0
      test-recpacketcache_cc.cc
  94. +31
    -0
      testrunner.cc
  95. +0
    -27
      unix_utility.cc
  96. +1
    -5
      utility.hh
  97. +10
    -2
      validate-recursor.cc
  98. +2
    -1
      validate-recursor.hh
  99. +9
    -8
      validate.cc
  100. +4
    -4
      webserver.cc

+ 1
- 1
.version View File

@@ -1 +1 @@
4.0.4
4.0.5

+ 80
- 0
Makefile.am View File

@@ -62,6 +62,16 @@ EXTRA_DIST = \
sbin_PROGRAMS = pdns_recursor
bin_PROGRAMS = rec_control

if UNIT_TESTS
noinst_PROGRAMS = testrunner
TESTS_ENVIRONMENT = env BOOST_TEST_LOG_LEVEL=message SRCDIR='$(srcdir)'
TESTS=testrunner
else
check-local:
@echo "Unit tests are not enabled"
@echo "Run ./configure --enable-unit-tests"
endif

pdns_recursor_SOURCES = \
arguments.cc \
base32.cc base32.hh \
@@ -79,6 +89,7 @@ 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 \
@@ -116,6 +127,7 @@ pdns_recursor_SOURCES = \
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 \
@@ -156,12 +168,75 @@ pdns_recursor_LDADD = \
pdns_recursor_LDFLAGS = $(AM_LDFLAGS) \
$(LIBCRYPTO_LDFLAGS) $(BOOST_CONTEXT_LDFLAGS)

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 \
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-dns_random_hh.cc \
test-dnsname_cc.cc \
test-dnsparser_hh.cc \
test-dnsrecords_cc.cc \
test-iputils_hh.cc \
test-misc_hh.cc \
test-nmtree.cc \
test-rcpgenerator_cc.cc \
test-recpacketcache_cc.cc \
testrunner.cc \
unix_utility.cc \
zoneparser-tng.cc zoneparser-tng.hh

testrunner_LDFLAGS = \
$(AM_LDFLAGS) \
$(BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS) \
$(LIBCRYPTO_LDFLAGS)

testrunner_LDADD = \
$(BOOST_UNIT_TEST_FRAMEWORK_LIBS) \
$(LIBCRYPTO_LIBS) \
$(RT_LIBS)

if BOTAN110
pdns_recursor_SOURCES += \
botan110signers.cc
pdns_recursor_LDADD += $(BOTAN110_LIBS)
endif

if LIBSODIUM
pdns_recursor_SOURCES += \
sodiumsigners.cc
pdns_recursor_LDADD += $(LIBSODIUM_LIBS)
endif

if MALLOC_TRACE
pdns_recursor_SOURCES += \
malloctrace.cc \
@@ -196,6 +271,11 @@ BUILT_SOURCES += dnsmessage.pb.cc
pdns_recursor_LDADD += $(PROTOBUF_LIBS)
nodist_pdns_recursor_SOURCES = dnsmessage.pb.cc dnsmessage.pb.h
pdns_recursor.$(OBJEXT): dnsmessage.pb.cc

nodist_testrunner_SOURCES = dnsmessage.pb.cc dnsmessage.pb.h
testrunner_LDADD += $(PROTOBUF_LIBS)
testrunner$(OBJEXT): dnsmessage.pb.cc

endif
endif



+ 555
- 74
Makefile.in View File

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

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

@LIBSODIUM_TRUE@am__append_7 = $(LIBSODIUM_LIBS)
@MALLOC_TRACE_TRUE@am__append_8 = \
@MALLOC_TRACE_TRUE@ malloctrace.cc \
@MALLOC_TRACE_TRUE@ malloctrace.hh

@MALLOC_TRACE_TRUE@am__append_7 = -rdynamic
@LUA_TRUE@am__append_8 = $(LUA_LIBS)
@HAVE_FREEBSD_TRUE@am__append_9 = kqueuemplexer.cc
@HAVE_LINUX_TRUE@am__append_10 = epollmplexer.cc
@HAVE_SOLARIS_TRUE@am__append_11 = \
@MALLOC_TRACE_TRUE@am__append_9 = -rdynamic
@LUA_TRUE@am__append_10 = $(LUA_LIBS)
@HAVE_FREEBSD_TRUE@am__append_11 = kqueuemplexer.cc
@HAVE_LINUX_TRUE@am__append_12 = epollmplexer.cc
@HAVE_SOLARIS_TRUE@am__append_13 = \
@HAVE_SOLARIS_TRUE@ devpollmplexer.cc \
@HAVE_SOLARIS_TRUE@ portsmplexer.cc

@HAVE_PROTOBUF_TRUE@@HAVE_PROTOC_TRUE@am__append_12 = dnsmessage.pb.cc
@HAVE_PROTOBUF_TRUE@@HAVE_PROTOC_TRUE@am__append_13 = $(PROTOBUF_LIBS)
@HAVE_PROTOBUF_TRUE@@HAVE_PROTOC_TRUE@am__append_14 = dnsmessage.pb.cc
@HAVE_PROTOBUF_TRUE@@HAVE_PROTOC_TRUE@am__append_15 = $(PROTOBUF_LIBS)
@HAVE_PROTOBUF_TRUE@@HAVE_PROTOC_TRUE@am__append_16 = $(PROTOBUF_LIBS)
DIST_COMMON = $(srcdir)/lua_hpp.mk $(srcdir)/Makefile.in \
$(srcdir)/Makefile.am $(top_srcdir)/configure \
$(am__configure_deps) $(srcdir)/config.h.in \
$(top_srcdir)/build-aux/depcomp $(dist_man_MANS) COPYING \
README build-aux/compile build-aux/config.guess \
build-aux/config.sub build-aux/depcomp build-aux/install-sh \
build-aux/missing build-aux/ltmain.sh \
$(top_srcdir)/build-aux/compile \
$(top_srcdir)/build-aux/depcomp $(dist_man_MANS) \
$(top_srcdir)/build-aux/test-driver COPYING README \
build-aux/compile build-aux/config.guess build-aux/config.sub \
build-aux/depcomp build-aux/install-sh build-aux/missing \
build-aux/ltmain.sh $(top_srcdir)/build-aux/compile \
$(top_srcdir)/build-aux/config.guess \
$(top_srcdir)/build-aux/config.sub \
$(top_srcdir)/build-aux/install-sh \
@@ -119,6 +126,7 @@ 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 \
@@ -127,6 +135,7 @@ am__aclocal_m4_deps = \
$(top_srcdir)/m4/pdns_check_curl.m4 \
$(top_srcdir)/m4/pdns_check_libcrypto.m4 \
$(top_srcdir)/m4/pdns_check_libcrypto_ecdsa.m4 \
$(top_srcdir)/m4/pdns_check_libsodium.m4 \
$(top_srcdir)/m4/pdns_check_lua_hpp.m4 \
$(top_srcdir)/m4/pdns_check_network_libs.m4 \
$(top_srcdir)/m4/pdns_check_os.m4 \
@@ -137,6 +146,7 @@ am__aclocal_m4_deps = \
$(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_verbose_logging.m4 \
$(top_srcdir)/m4/pdns_param_ssp_buffer_size.m4 \
$(top_srcdir)/m4/pdns_pie.m4 $(top_srcdir)/m4/pdns_relro.m4 \
@@ -157,15 +167,15 @@ CONFIG_CLEAN_VPATH_FILES =
am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(sbindir)" \
"$(DESTDIR)$(man1dir)" "$(DESTDIR)$(sysconfdir)" \
"$(DESTDIR)$(systemdsystemunitdir)"
PROGRAMS = $(bin_PROGRAMS) $(sbin_PROGRAMS)
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 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 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 \
@@ -179,33 +189,34 @@ am__pdns_recursor_SOURCES_DIST = arguments.cc base32.cc base32.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 \
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 botan110signers.cc malloctrace.cc \
malloctrace.hh kqueuemplexer.cc epollmplexer.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 botan110signers.cc sodiumsigners.cc \
malloctrace.cc malloctrace.hh kqueuemplexer.cc epollmplexer.cc \
devpollmplexer.cc portsmplexer.cc
@BOTAN110_TRUE@am__objects_1 = botan110signers.$(OBJEXT)
@MALLOC_TRACE_TRUE@am__objects_2 = malloctrace.$(OBJEXT)
@HAVE_FREEBSD_TRUE@am__objects_3 = kqueuemplexer.$(OBJEXT)
@HAVE_LINUX_TRUE@am__objects_4 = epollmplexer.$(OBJEXT)
@HAVE_SOLARIS_TRUE@am__objects_5 = devpollmplexer.$(OBJEXT) \
@LIBSODIUM_TRUE@am__objects_2 = sodiumsigners.$(OBJEXT)
@MALLOC_TRACE_TRUE@am__objects_3 = malloctrace.$(OBJEXT)
@HAVE_FREEBSD_TRUE@am__objects_4 = kqueuemplexer.$(OBJEXT)
@HAVE_LINUX_TRUE@am__objects_5 = epollmplexer.$(OBJEXT)
@HAVE_SOLARIS_TRUE@am__objects_6 = devpollmplexer.$(OBJEXT) \
@HAVE_SOLARIS_TRUE@ portsmplexer.$(OBJEXT)
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) \
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) \
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) \
@@ -222,21 +233,22 @@ am_pdns_recursor_OBJECTS = arguments.$(OBJEXT) base32.$(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_4) $(am__objects_5) $(am__objects_6)
@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) \
$(nodist_pdns_recursor_OBJECTS)
am__DEPENDENCIES_1 =
@BOTAN110_TRUE@am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1)
@LUA_TRUE@am__DEPENDENCIES_3 = $(am__DEPENDENCIES_1)
@HAVE_PROTOBUF_TRUE@@HAVE_PROTOC_TRUE@am__DEPENDENCIES_4 = \
@LIBSODIUM_TRUE@am__DEPENDENCIES_3 = $(am__DEPENDENCIES_1)
@LUA_TRUE@am__DEPENDENCIES_4 = $(am__DEPENDENCIES_1)
@HAVE_PROTOBUF_TRUE@@HAVE_PROTOC_TRUE@am__DEPENDENCIES_5 = \
@HAVE_PROTOBUF_TRUE@@HAVE_PROTOC_TRUE@ $(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_4) $(am__DEPENDENCIES_5)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
@@ -251,6 +263,33 @@ am_rec_control_OBJECTS = arguments.$(OBJEXT) dnsname.$(OBJEXT) \
unix_utility.$(OBJEXT)
rec_control_OBJECTS = $(am_rec_control_OBJECTS)
rec_control_LDADD = $(LDADD)
am_testrunner_OBJECTS = arguments.$(OBJEXT) base32.$(OBJEXT) \
base64.$(OBJEXT) dns.$(OBJEXT) dnslabeltext.$(OBJEXT) \
dnsname.$(OBJEXT) dnsparser.$(OBJEXT) dns_random.$(OBJEXT) \
dnsrecords.$(OBJEXT) dnssecinfra.$(OBJEXT) dnswriter.$(OBJEXT) \
ednsoptions.$(OBJEXT) ednssubnet.$(OBJEXT) gettime.$(OBJEXT) \
gss_context.$(OBJEXT) iputils.$(OBJEXT) logger.$(OBJEXT) \
misc.$(OBJEXT) nsecrecords.$(OBJEXT) protobuf.$(OBJEXT) \
qtype.$(OBJEXT) rcpgenerator.$(OBJEXT) \
recpacketcache.$(OBJEXT) rec-protobuf.$(OBJEXT) \
responsestats.$(OBJEXT) sillyrecords.$(OBJEXT) \
test-arguments_cc.$(OBJEXT) test-base32_cc.$(OBJEXT) \
test-base64_cc.$(OBJEXT) test-dns_random_hh.$(OBJEXT) \
test-dnsname_cc.$(OBJEXT) test-dnsparser_hh.$(OBJEXT) \
test-dnsrecords_cc.$(OBJEXT) test-iputils_hh.$(OBJEXT) \
test-misc_hh.$(OBJEXT) test-nmtree.$(OBJEXT) \
test-rcpgenerator_cc.$(OBJEXT) \
test-recpacketcache_cc.$(OBJEXT) testrunner.$(OBJEXT) \
unix_utility.$(OBJEXT) zoneparser-tng.$(OBJEXT)
@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_5)
testrunner_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
$(CXXFLAGS) $(testrunner_LDFLAGS) $(LDFLAGS) -o $@
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
@@ -304,9 +343,10 @@ am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 =
SOURCES = $(pdns_recursor_SOURCES) $(nodist_pdns_recursor_SOURCES) \
$(rec_control_SOURCES)
$(rec_control_SOURCES) $(testrunner_SOURCES) \
$(nodist_testrunner_SOURCES)
DIST_SOURCES = $(am__pdns_recursor_SOURCES_DIST) \
$(rec_control_SOURCES)
$(rec_control_SOURCES) $(testrunner_SOURCES)
RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
ctags-recursive dvi-recursive html-recursive info-recursive \
install-data-recursive install-dvi-recursive \
@@ -358,7 +398,7 @@ am__recursive_targets = \
$(RECURSIVE_CLEAN_TARGETS) \
$(am__extra_recursive_targets)
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
cscope distdir dist dist-all distcheck
cscope check recheck distdir dist dist-all distcheck
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
$(LISP)config.h.in
# Read a list of newline-separated strings from the standard input,
@@ -380,6 +420,182 @@ am__define_uniq_tagged_files = \
ETAGS = etags
CTAGS = ctags
CSCOPE = cscope
am__tty_colors_dummy = \
mgn= red= grn= lgn= blu= brg= std=; \
am__color_tests=no
am__tty_colors = { \
$(am__tty_colors_dummy); \
if test "X$(AM_COLOR_TESTS)" = Xno; then \
am__color_tests=no; \
elif test "X$(AM_COLOR_TESTS)" = Xalways; then \
am__color_tests=yes; \
elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \
am__color_tests=yes; \
fi; \
if test $$am__color_tests = yes; then \
red=''; \
grn=''; \
lgn=''; \
blu=''; \
mgn=''; \
brg=''; \
std=''; \
fi; \
}
am__recheck_rx = ^[ ]*:recheck:[ ]*
am__global_test_result_rx = ^[ ]*:global-test-result:[ ]*
am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]*
# A command that, given a newline-separated list of test names on the
# standard input, print the name of the tests that are to be re-run
# upon "make recheck".
am__list_recheck_tests = $(AWK) '{ \
recheck = 1; \
while ((rc = (getline line < ($$0 ".trs"))) != 0) \
{ \
if (rc < 0) \
{ \
if ((getline line2 < ($$0 ".log")) < 0) \
recheck = 0; \
break; \
} \
else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \
{ \
recheck = 0; \
break; \
} \
else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \
{ \
break; \
} \
}; \
if (recheck) \
print $$0; \
close ($$0 ".trs"); \
close ($$0 ".log"); \
}'
# A command that, given a newline-separated list of test names on the
# standard input, create the global log from their .trs and .log files.
am__create_global_log = $(AWK) ' \
function fatal(msg) \
{ \
print "fatal: making $@: " msg | "cat >&2"; \
exit 1; \
} \
function rst_section(header) \
{ \
print header; \
len = length(header); \
for (i = 1; i <= len; i = i + 1) \
printf "="; \
printf "\n\n"; \
} \
{ \
copy_in_global_log = 1; \
global_test_result = "RUN"; \
while ((rc = (getline line < ($$0 ".trs"))) != 0) \
{ \
if (rc < 0) \
fatal("failed to read from " $$0 ".trs"); \
if (line ~ /$(am__global_test_result_rx)/) \
{ \
sub("$(am__global_test_result_rx)", "", line); \
sub("[ ]*$$", "", line); \
global_test_result = line; \
} \
else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \
copy_in_global_log = 0; \
}; \
if (copy_in_global_log) \
{ \
rst_section(global_test_result ": " $$0); \
while ((rc = (getline line < ($$0 ".log"))) != 0) \
{ \
if (rc < 0) \
fatal("failed to read from " $$0 ".log"); \
print line; \
}; \
printf "\n"; \
}; \
close ($$0 ".trs"); \
close ($$0 ".log"); \
}'
# Restructured Text title.
am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; }
# Solaris 10 'make', and several other traditional 'make' implementations,
# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it
# by disabling -e (using the XSI extension "set +e") if it's set.
am__sh_e_setup = case $$- in *e*) set +e;; esac
# Default flags passed to test drivers.
am__common_driver_flags = \
--color-tests "$$am__color_tests" \
--enable-hard-errors "$$am__enable_hard_errors" \
--expect-failure "$$am__expect_failure"
# To be inserted before the command running the test. Creates the
# directory for the log if needed. Stores in $dir the directory
# containing $f, in $tst the test, in $log the log. Executes the
# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and
# passes TESTS_ENVIRONMENT. Set up options for the wrapper that
# will run the test scripts (or their associated LOG_COMPILER, if
# thy have one).
am__check_pre = \
$(am__sh_e_setup); \
$(am__vpath_adj_setup) $(am__vpath_adj) \
$(am__tty_colors); \
srcdir=$(srcdir); export srcdir; \
case "$@" in \
*/*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \
*) am__odir=.;; \
esac; \
test "x$$am__odir" = x"." || test -d "$$am__odir" \
|| $(MKDIR_P) "$$am__odir" || exit $$?; \
if test -f "./$$f"; then dir=./; \
elif test -f "$$f"; then dir=; \
else dir="$(srcdir)/"; fi; \
tst=$$dir$$f; log='$@'; \
if test -n '$(DISABLE_HARD_ERRORS)'; then \
am__enable_hard_errors=no; \
else \
am__enable_hard_errors=yes; \
fi; \
case " $(XFAIL_TESTS) " in \
*[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \
am__expect_failure=yes;; \
*) \
am__expect_failure=no;; \
esac; \
$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT)
# A shell command to get the names of the tests scripts with any registered
# extension removed (i.e., equivalently, the names of the test logs, with
# the '.log' extension removed). The result is saved in the shell variable
# '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly,
# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)",
# since that might cause problem with VPATH rewrites for suffix-less tests.
# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'.
am__set_TESTS_bases = \
bases='$(TEST_LOGS)'; \
bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \
bases=`echo $$bases`
RECHECK_LOGS = $(TEST_LOGS)
TEST_SUITE_LOG = test-suite.log
TEST_EXTENSIONS = @EXEEXT@ .test
LOG_DRIVER = $(SHELL) $(top_srcdir)/build-aux/test-driver
LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS)
am__set_b = \
case '$@' in \
*/*) \
case '$*' in \
*/*) b='$*';; \
*) b=`echo '$@' | sed 's/\.log$$//'`; \
esac;; \
*) \
b='$*';; \
esac
am__test_logs1 = $(TESTS:=.log)
am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log)
TEST_LOGS = $(am__test_logs2:.test.log=.log)
TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/build-aux/test-driver
TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \
$(TEST_LOG_FLAGS)
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
@@ -449,6 +665,9 @@ BOOST_SYSTEM_LIBS = @BOOST_SYSTEM_LIBS@
BOOST_THREAD_LDFLAGS = @BOOST_THREAD_LDFLAGS@
BOOST_THREAD_LDPATH = @BOOST_THREAD_LDPATH@
BOOST_THREAD_LIBS = @BOOST_THREAD_LIBS@
BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS = @BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS@
BOOST_UNIT_TEST_FRAMEWORK_LDPATH = @BOOST_UNIT_TEST_FRAMEWORK_LDPATH@
BOOST_UNIT_TEST_FRAMEWORK_LIBS = @BOOST_UNIT_TEST_FRAMEWORK_LIBS@
BOTAN110_CFLAGS = @BOTAN110_CFLAGS@
BOTAN110_LIBS = @BOTAN110_LIBS@
CC = @CC@
@@ -489,6 +708,8 @@ LIBCRYPTO_LDFLAGS = @LIBCRYPTO_LDFLAGS@
LIBCRYPTO_LIBS = @LIBCRYPTO_LIBS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBSODIUM_CFLAGS = @LIBSODIUM_CFLAGS@
LIBSODIUM_LIBS = @LIBSODIUM_LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
@@ -607,7 +828,7 @@ AM_LDFLAGS = \
$(THREADFLAGS)

ACLOCAL_AMFLAGS = -I m4
BUILT_SOURCES = htmlfiles.h $(am__append_2) $(am__append_12)
BUILT_SOURCES = htmlfiles.h $(am__append_2) $(am__append_14)
CLEANFILES = htmlfiles.h dnsmessage.pb.cc dnsmessage.pb.h \
$(am__append_3)
SUBDIRS = ext
@@ -637,14 +858,15 @@ EXTRA_DIST = \
html incfiles \
pdns-recursor.service.in

@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 \
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 \
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 \
@@ -658,24 +880,81 @@ pdns_recursor_SOURCES = arguments.cc base32.cc base32.hh base64.cc \
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 \
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 \
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_9) $(am__append_10) $(am__append_11)
$(am__append_8) $(am__append_11) $(am__append_12) \
$(am__append_13)
@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_8) $(am__append_13)
$(am__append_5) $(am__append_7) $(am__append_10) \
$(am__append_15)
pdns_recursor_LDFLAGS = $(AM_LDFLAGS) $(LIBCRYPTO_LDFLAGS) \
$(BOOST_CONTEXT_LDFLAGS) $(am__append_7)
$(BOOST_CONTEXT_LDFLAGS) $(am__append_9)
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 \
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-dns_random_hh.cc \
test-dnsname_cc.cc \
test-dnsparser_hh.cc \
test-dnsrecords_cc.cc \
test-iputils_hh.cc \
test-misc_hh.cc \
test-nmtree.cc \
test-rcpgenerator_cc.cc \
test-recpacketcache_cc.cc \
testrunner.cc \
unix_utility.cc \
zoneparser-tng.cc zoneparser-tng.hh

testrunner_LDFLAGS = \
$(AM_LDFLAGS) \
$(BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS) \
$(LIBCRYPTO_LDFLAGS)

testrunner_LDADD = $(BOOST_UNIT_TEST_FRAMEWORK_LIBS) $(LIBCRYPTO_LIBS) \
$(RT_LIBS) $(am__append_16)
@HAVE_PROTOBUF_TRUE@@HAVE_PROTOC_TRUE@nodist_testrunner_SOURCES = dnsmessage.pb.cc dnsmessage.pb.h
rec_control_SOURCES = \
arguments.cc arguments.hh \
dnsname.hh dnsname.cc \
@@ -705,7 +984,7 @@ all: $(BUILT_SOURCES) config.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive

.SUFFIXES:
.SUFFIXES: .cc .lo .o .obj
.SUFFIXES: .cc .lo .log .o .obj .test .test$(EXEEXT) .trs
am--refresh: Makefile
@:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(srcdir)/lua_hpp.mk $(am__configure_deps)
@@ -805,6 +1084,15 @@ clean-binPROGRAMS:
list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
echo " rm -f" $$list; \
rm -f $$list

clean-noinstPROGRAMS:
@list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
echo " rm -f" $$list; \
rm -f $$list || exit $$?; \
test -n "$(EXEEXT)" || exit 0; \
list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
echo " rm -f" $$list; \
rm -f $$list
install-sbinPROGRAMS: $(sbin_PROGRAMS)
@$(NORMAL_INSTALL)
@list='$(sbin_PROGRAMS)'; test -n "$(sbindir)" || list=; \
@@ -863,6 +1151,10 @@ rec_control$(EXEEXT): $(rec_control_OBJECTS) $(rec_control_DEPENDENCIES) $(EXTRA
@rm -f rec_control$(EXEEXT)
$(AM_V_CXXLD)$(CXXLINK) $(rec_control_OBJECTS) $(rec_control_LDADD) $(LIBS)

testrunner$(EXEEXT): $(testrunner_OBJECTS) $(testrunner_DEPENDENCIES) $(EXTRA_testrunner_DEPENDENCIES)
@rm -f testrunner$(EXEEXT)
$(AM_V_CXXLD)$(testrunner_LINK) $(testrunner_OBJECTS) $(testrunner_LDADD) $(LIBS)

mostlyclean-compile:
-rm -f *.$(OBJEXT)

@@ -883,6 +1175,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)/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@
@@ -924,8 +1217,22 @@ 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)/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@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-arguments_cc.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-base32_cc.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-base64_cc.Po@am__quote@
@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-dnsrecords_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-misc_hh.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)/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@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/validate-recursor.Po@am__quote@
@@ -1160,6 +1467,169 @@ distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-rm -f cscope.out cscope.in.out cscope.po.out cscope.files

# Recover from deleted '.trs' file; this should ensure that
# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create
# both 'foo.log' and 'foo.trs'. Break the recipe in two subshells
# to avoid problems with "make -n".
.log.trs:
rm -f $< $@
$(MAKE) $(AM_MAKEFLAGS) $<

# Leading 'am--fnord' is there to ensure the list of targets does not
# expand to empty, as could happen e.g. with make check TESTS=''.
am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck)
am--force-recheck:
@:

$(TEST_SUITE_LOG): $(TEST_LOGS)
@$(am__set_TESTS_bases); \
am__f_ok () { test -f "$$1" && test -r "$$1"; }; \
redo_bases=`for i in $$bases; do \
am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \
done`; \
if test -n "$$redo_bases"; then \
redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \
redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \
if $(am__make_dryrun); then :; else \
rm -f $$redo_logs && rm -f $$redo_results || exit 1; \
fi; \
fi; \
if test -n "$$am__remaking_logs"; then \
echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
"recursion detected" >&2; \
else \
am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
fi; \
if $(am__make_dryrun); then :; else \
st=0; \
errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \
for i in $$redo_bases; do \
test -f $$i.trs && test -r $$i.trs \
|| { echo "$$errmsg $$i.trs" >&2; st=1; }; \
test -f $$i.log && test -r $$i.log \
|| { echo "$$errmsg $$i.log" >&2; st=1; }; \
done; \
test $$st -eq 0 || exit 1; \
fi
@$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \
ws='[ ]'; \
results=`for b in $$bases; do echo $$b.trs; done`; \
test -n "$$results" || results=/dev/null; \
all=` grep "^$$ws*:test-result:" $$results | wc -l`; \
pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \
fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \
skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \
xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \
xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \
error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \
if test `expr $$fail + $$xpass + $$error` -eq 0; then \
success=true; \
else \
success=false; \
fi; \
br='==================='; br=$$br$$br$$br$$br; \
result_count () \
{ \
if test x"$$1" = x"--maybe-color"; then \
maybe_colorize=yes; \
elif test x"$$1" = x"--no-color"; then \
maybe_colorize=no; \
else \
echo "$@: invalid 'result_count' usage" >&2; exit 4; \
fi; \
shift; \
desc=$$1 count=$$2; \
if test $$maybe_colorize = yes && test $$count -gt 0; then \
color_start=$$3 color_end=$$std; \
else \
color_start= color_end=; \
fi; \
echo "$${color_start}# $$desc $$count$${color_end}"; \
}; \
create_testsuite_report () \
{ \
result_count $$1 "TOTAL:" $$all "$$brg"; \
result_count $$1 "PASS: " $$pass "$$grn"; \
result_count $$1 "SKIP: " $$skip "$$blu"; \
result_count $$1 "XFAIL:" $$xfail "$$lgn"; \
result_count $$1 "FAIL: " $$fail "$$red"; \
result_count $$1 "XPASS:" $$xpass "$$red"; \
result_count $$1 "ERROR:" $$error "$$mgn"; \
}; \
{ \
echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \
$(am__rst_title); \
create_testsuite_report --no-color; \
echo; \
echo ".. contents:: :depth: 2"; \
echo; \
for b in $$bases; do echo $$b; done \
| $(am__create_global_log); \
} >$(TEST_SUITE_LOG).tmp || exit 1; \
mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \
if $$success; then \
col="$$grn"; \
else \
col="$$red"; \
test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \
fi; \
echo "$${col}$$br$${std}"; \
echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \
echo "$${col}$$br$${std}"; \
create_testsuite_report --maybe-color; \
echo "$$col$$br$$std"; \
if $$success; then :; else \
echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \
if test -n "$(PACKAGE_BUGREPORT)"; then \
echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \
fi; \
echo "$$col$$br$$std"; \
fi; \
$$success || exit 1

check-TESTS:
@list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list
@list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list
@test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
@set +e; $(am__set_TESTS_bases); \
log_list=`for i in $$bases; do echo $$i.log; done`; \
trs_list=`for i in $$bases; do echo $$i.trs; done`; \
log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \
$(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \
exit $$?;
recheck: all
@test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
@set +e; $(am__set_TESTS_bases); \
bases=`for i in $$bases; do echo $$i; done \
| $(am__list_recheck_tests)` || exit 1; \
log_list=`for i in $$bases; do echo $$i.log; done`; \
log_list=`echo $$log_list`; \
$(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \
am__force_recheck=am--force-recheck \
TEST_LOGS="$$log_list"; \
exit $$?
testrunner.log: testrunner$(EXEEXT)
@p='testrunner$(EXEEXT)'; \
b='testrunner'; \
$(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)
.test.log:
@p='$<'; \
$(am__set_b); \
$(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
@am__EXEEXT_TRUE@.test$(EXEEXT).log:
@am__EXEEXT_TRUE@ @p='$<'; \
@am__EXEEXT_TRUE@ $(am__set_b); \
@am__EXEEXT_TRUE@ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
@am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \
@am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
@am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT)

distdir: $(DISTFILES)
$(am__remove_distdir)
test -d "$(distdir)" || mkdir "$(distdir)"
@@ -1347,7 +1817,9 @@ distcleancheck: distclean
|| { echo "ERROR: files left in build directory after distclean:" ; \
$(distcleancheck_listfiles) ; \
exit 1; } >&2
@UNIT_TESTS_TRUE@check-local:
check-am: all-am
$(MAKE) $(AM_MAKEFLAGS) check-TESTS check-local
check: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) check-recursive
all-am: Makefile $(PROGRAMS) $(MANS) $(DATA) config.h
@@ -1377,6 +1849,9 @@ install-strip:
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
-test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS)
-test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs)
-test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)

clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
@@ -1392,7 +1867,7 @@ maintainer-clean-generic:
clean: clean-recursive

clean-am: clean-binPROGRAMS clean-generic clean-libtool \
clean-sbinPROGRAMS mostlyclean-am
clean-noinstPROGRAMS clean-sbinPROGRAMS mostlyclean-am

distclean: distclean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
@@ -1468,18 +1943,19 @@ uninstall-am: uninstall-binPROGRAMS uninstall-man \

uninstall-man: uninstall-man1

.MAKE: $(am__recursive_targets) all check install install-am \
.MAKE: $(am__recursive_targets) all check check-am install install-am \
install-strip

.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
am--refresh check check-am clean clean-binPROGRAMS \
clean-cscope clean-generic clean-libtool 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 distclean-libtool distclean-tags distcleancheck \
distdir distuninstallcheck dvi dvi-am html html-am info \
info-am install install-am install-binPROGRAMS install-data \
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 \
distclean-libtool distclean-tags distcleancheck distdir \
distuninstallcheck dvi dvi-am html html-am info info-am \
install install-am install-binPROGRAMS install-data \
install-data-am install-dvi install-dvi-am install-exec \
install-exec-am install-html install-html-am install-info \
install-info-am install-man install-man1 install-pdf \
@@ -1489,17 +1965,22 @@ uninstall-man: uninstall-man1
installdirs installdirs-am maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
tags tags-am uninstall uninstall-am uninstall-binPROGRAMS \
uninstall-man uninstall-man1 uninstall-sbinPROGRAMS \
uninstall-sysconfDATA uninstall-systemdsystemunitDATA
recheck tags tags-am uninstall uninstall-am \
uninstall-binPROGRAMS uninstall-man uninstall-man1 \
uninstall-sbinPROGRAMS uninstall-sysconfDATA \
uninstall-systemdsystemunitDATA


htmlfiles.h: html/*
./incfiles > $@
@UNIT_TESTS_FALSE@check-local:
@UNIT_TESTS_FALSE@ @echo "Unit tests are not enabled"
@UNIT_TESTS_FALSE@ @echo "Run ./configure --enable-unit-tests"

@HAVE_PROTOBUF_TRUE@@HAVE_PROTOC_TRUE@dnsmessage.pb.cc: dnsmessage.proto
@HAVE_PROTOBUF_TRUE@@HAVE_PROTOC_TRUE@ $(AM_V_GEN)$(PROTOC) --cpp_out=./ $<
@HAVE_PROTOBUF_TRUE@@HAVE_PROTOC_TRUE@pdns_recursor.$(OBJEXT): dnsmessage.pb.cc
@HAVE_PROTOBUF_TRUE@@HAVE_PROTOC_TRUE@testrunner$(OBJEXT): dnsmessage.pb.cc

dnslabeltext.cc: dnslabeltext.rl
$(AM_V_GEN)$(RAGEL) $< -o dnslabeltext.cc


+ 40
- 0
aclocal.m4 View File

@@ -323,6 +323,43 @@ AC_DEFUN([AM_AUX_DIR_EXPAND],
am_aux_dir=`cd "$ac_aux_dir" && pwd`
])

# AM_COND_IF -*- Autoconf -*-

# Copyright (C) 2008-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.

# _AM_COND_IF
# _AM_COND_ELSE
# _AM_COND_ENDIF
# --------------
# These macros are only used for tracing.
m4_define([_AM_COND_IF])
m4_define([_AM_COND_ELSE])
m4_define([_AM_COND_ENDIF])

# AM_COND_IF(COND, [IF-TRUE], [IF-FALSE])
# ---------------------------------------
# If the shell condition COND is true, execute IF-TRUE, otherwise execute
# IF-FALSE. Allow automake to learn about conditional instantiating macros
# (the AC_CONFIG_FOOS).
AC_DEFUN([AM_COND_IF],
[m4_ifndef([_AM_COND_VALUE_$1],
[m4_fatal([$0: no such condition "$1"])])dnl
_AM_COND_IF([$1])dnl
if test -z "$$1_TRUE"; then :
m4_n([$2])[]dnl
m4_ifval([$3],
[_AM_COND_ELSE([$1])dnl
else
$3
])dnl
_AM_COND_ENDIF([$1])dnl
fi[]dnl
])

# AM_CONDITIONAL -*- Autoconf -*-

# Copyright (C) 1997-2013 Free Software Foundation, Inc.
@@ -1363,6 +1400,7 @@ 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])
@@ -1374,6 +1412,7 @@ m4_include([m4/pdns_check_clock_gettime.m4])
m4_include([m4/pdns_check_curl.m4])
m4_include([m4/pdns_check_libcrypto.m4])
m4_include([m4/pdns_check_libcrypto_ecdsa.m4])
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])
@@ -1384,6 +1423,7 @@ 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_verbose_logging.m4])
m4_include([m4/pdns_param_ssp_buffer_size.m4])
m4_include([m4/pdns_pie.m4])


+ 1
- 0
arguments.cc View File

@@ -495,6 +495,7 @@ void ArgvMap::gatherIncludes(std::vector<std::string> &extraConfigs) {
// ensure it's readable file
if (stat(namebuf.str().c_str(), &st) || !S_ISREG(st.st_mode)) {
L << Logger::Error << namebuf.str() << " is not a file" << std::endl;
closedir(dir);
throw ArgException(namebuf.str() + " does not exist!");
}
extraConfigs.push_back(namebuf.str());


+ 14
- 14
botan110signers.cc View File

@@ -45,23 +45,23 @@ public:
explicit GOSTDNSCryptoKeyEngine(unsigned int algorithm) : DNSCryptoKeyEngine(algorithm) {}
// XXX FIXME NEEDS COPY CONSTRUCTOR SO WE DON'T SHARE KEYS
~GOSTDNSCryptoKeyEngine(){}
void create(unsigned int bits);
string getName() const { return "Botan 1.10 GOST"; }
storvector_t convertToISCVector() const;
std::string getPubKeyHash() const;
std::string sign(const std::string& hash) const;
std::string hash(const std::string& hash) const;
bool verify(const std::string& hash, const std::string& signature) const;
std::string getPublicKeyString() const;
int getBits() const;
void fromISCMap(DNSKEYRecordContent& drc, std::map<std::string, std::string>& content);
void fromPublicKeyString(const std::string& content);
void fromPEMString(DNSKEYRecordContent& drc, const std::string& raw)
void create(unsigned int bits) override;
string getName() const override { return "Botan 1.10 GOST"; }
storvector_t convertToISCVector() const override;
std::string getPubKeyHash() const override;
std::string sign(const std::string& hash) const override;
std::string hash(const std::string& hash) const override;
bool verify(const std::string& hash, const std::string& signature) const override;
std::string getPublicKeyString() const override;
int getBits() const override;
void fromISCMap(DNSKEYRecordContent& drc, std::map<std::string, std::string>& content) override;
void fromPublicKeyString(const std::string& content) override;
void fromPEMString(DNSKEYRecordContent& drc, const std::string& raw) override
{}

static DNSCryptoKeyEngine* maker(unsigned int algorithm)
static std::shared_ptr<DNSCryptoKeyEngine> maker(unsigned int algorithm)
{
return new GOSTDNSCryptoKeyEngine(algorithm);
return std::make_shared<GOSTDNSCryptoKeyEngine>(algorithm);
}

private:


+ 1
- 1
build-aux/gen-version View File

@@ -24,7 +24,7 @@ fi
if [ ! -z "$(git rev-parse --abbrev-ref HEAD 2> /dev/null)" ]; then
if $(git rev-parse --abbrev-ref HEAD | grep -q 'rel/'); then
REL_TYPE="$(git rev-parse --abbrev-ref HEAD | cut -d/ -f 2 | cut -d- -f 1)"
VERSION="$(git describe --match=${REL_TYPE}-* --dirty=.dirty | cut -d- -f 2-)"
VERSION="$(git describe --match=${REL_TYPE}-* --tags --dirty=.dirty | cut -d- -f 2-)"
else
GIT_VERSION=$(git show --no-patch --format=format:%h HEAD)
BRANCH=".$(git rev-parse --abbrev-ref HEAD | perl -p -e 's/-//g;')"


+ 14
- 7
build-aux/install-sh View File

@@ -345,34 +345,41 @@ do
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
;;
*)
# $RANDOM is not portable (e.g. dash); use it when possible to
# lower collision chance
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0

# As "mkdir -p" follows symlinks and we work in /tmp possibly; so
# create the $tmpdir first (and fail if unsuccessful) to make sure
# that nobody tries to guess the $tmpdir name.
if (umask $mkdir_umask &&
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
$mkdirprog $mkdir_mode "$tmpdir" &&
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
then
if test -z "$dir_arg" || {
# Check for POSIX incompatibilities with -m.
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
# other-writable bit of parent directory when it shouldn't.
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
ls_ld_tmpdir=`ls -ld "$tmpdir"`
test_tmpdir="$tmpdir/a"
ls_ld_tmpdir=`ls -ld "$test_tmpdir"`
case $ls_ld_tmpdir in
d????-?r-*) different_mode=700;;
d????-?--*) different_mode=755;;
*) false;;
esac &&
$mkdirprog -m$different_mode -p -- "$tmpdir" && {
ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
$mkdirprog -m$different_mode -p -- "$test_tmpdir" && {
ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
}
}
then posix_mkdir=:
fi
rmdir "$tmpdir/d" "$tmpdir"
rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
else
# Remove any dirs left behind by ancient mkdir implementations.
rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
fi
trap '' 0;;
esac;;


+ 139
- 0
build-aux/test-driver View File

@@ -0,0 +1,139 @@
#! /bin/sh
# test-driver - basic testsuite driver script.

scriptversion=2013-07-13.22; # UTC

# Copyright (C) 2011-2013 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.

# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.

# This file is maintained in Automake, please report
# bugs to <bug-automake@gnu.org> or send patches to
# <automake-patches@gnu.org>.

# Make unconditional expansion of undefined variables an error. This
# helps a lot in preventing typo-related bugs.
set -u

usage_error ()
{
echo "$0: $*" >&2
print_usage >&2
exit 2
}

print_usage ()
{
cat <<END
Usage:
test-driver --test-name=NAME --log-file=PATH --trs-file=PATH
[--expect-failure={yes|no}] [--color-tests={yes|no}]
[--enable-hard-errors={yes|no}] [--]
TEST-SCRIPT [TEST-SCRIPT-ARGUMENTS]
The '--test-name', '--log-file' and '--trs-file' options are mandatory.
END
}

test_name= # Used for reporting.
log_file= # Where to save the output of the test script.
trs_file= # Where to save the metadata of the test run.
expect_failure=no
color_tests=no
enable_hard_errors=yes
while test $# -gt 0; do
case $1 in
--help) print_usage; exit $?;;
--version) echo "test-driver $scriptversion"; exit $?;;
--test-name) test_name=$2; shift;;
--log-file) log_file=$2; shift;;
--trs-file) trs_file=$2; shift;;
--color-tests) color_tests=$2; shift;;
--expect-failure) expect_failure=$2; shift;;
--enable-hard-errors) enable_hard_errors=$2; shift;;
--) shift; break;;
-*) usage_error "invalid option: '$1'";;
*) break;;
esac
shift
done

missing_opts=
test x"$test_name" = x && missing_opts="$missing_opts --test-name"
test x"$log_file" = x && missing_opts="$missing_opts --log-file"
test x"$trs_file" = x && missing_opts="$missing_opts --trs-file"
if test x"$missing_opts" != x; then
usage_error "the following mandatory options are missing:$missing_opts"
fi

if test $# -eq 0; then
usage_error "missing argument"
fi

if test $color_tests = yes; then
# Keep this in sync with 'lib/am/check.am:$(am__tty_colors)'.
red='' # Red.
grn='' # Green.
lgn='' # Light green.
blu='' # Blue.
mgn='' # Magenta.
std='' # No color.
else
red= grn= lgn= blu= mgn= std=
fi

do_exit='rm -f $log_file $trs_file; (exit $st); exit $st'
trap "st=129; $do_exit" 1
trap "st=130; $do_exit" 2
trap "st=141; $do_exit" 13
trap "st=143; $do_exit" 15

# Test script is run here.
"$@" >$log_file 2>&1
estatus=$?
if test $enable_hard_errors = no && test $estatus -eq 99; then
estatus=1
fi

case $estatus:$expect_failure in
0:yes) col=$red res=XPASS recheck=yes gcopy=yes;;
0:*) col=$grn res=PASS recheck=no gcopy=no;;
77:*) col=$blu res=SKIP recheck=no gcopy=yes;;
99:*) col=$mgn res=ERROR recheck=yes gcopy=yes;;
*:yes) col=$lgn res=XFAIL recheck=no gcopy=yes;;
*:*) col=$red res=FAIL recheck=yes gcopy=yes;;
esac

# Report outcome to console.
echo "${col}${res}${std}: $test_name"

# Register the test result, and other relevant metadata.
echo ":test-result: $res" > $trs_file
echo ":global-test-result: $res" >> $trs_file
echo ":recheck: $recheck" >> $trs_file
echo ":copy-in-global-log: $gcopy" >> $trs_file

# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC"
# time-stamp-end: "; # UTC"
# End:

+ 9
- 0
config.h.in View File

@@ -21,12 +21,18 @@
/* Define to 1 if you have <boost/system/error_code.hpp> */
#undef HAVE_BOOST_SYSTEM_ERROR_CODE_HPP

/* Define to 1 if you have <boost/test/unit_test.hpp> */
#undef HAVE_BOOST_TEST_UNIT_TEST_HPP

/* Defined if the Boost thread library is available */
#undef HAVE_BOOST_THREAD

/* Define to 1 if you have <boost/thread.hpp> */
#undef HAVE_BOOST_THREAD_HPP

/* Defined if the Boost unit_test_framework library is available */
#undef HAVE_BOOST_UNIT_TEST_FRAMEWORK

/* Define to 1 if you have botan 1.10 */
#undef HAVE_BOTAN110

@@ -53,6 +59,9 @@
/* define to 1 if OpenSSL ecdsa support is available. */
#undef HAVE_LIBCRYPTO_ECDSA

/* Define to 1 if you have libsodium */
#undef HAVE_LIBSODIUM

/* Define to 1 if you have lua */
#undef HAVE_LUA



+ 552
- 12
configure View File

@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for pdns-recursor 4.0.4.
# Generated by GNU Autoconf 2.69 for pdns-recursor 4.0.5.
#
#
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@@ -587,8 +587,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='pdns-recursor'
PACKAGE_TARNAME='pdns-recursor'
PACKAGE_VERSION='4.0.4'
PACKAGE_STRING='pdns-recursor 4.0.4'
PACKAGE_VERSION='4.0.5'
PACKAGE_STRING='pdns-recursor 4.0.5'
PACKAGE_BUGREPORT=''
PACKAGE_URL=''

@@ -659,6 +659,10 @@ PIE_CFLAGS
socketdir
CURL
RAGEL
LIBSODIUM_LIBS
LIBSODIUM_CFLAGS
LIBSODIUM_FALSE
LIBSODIUM_TRUE
LIBCRYPTO_LDFLAGS
LIBCRYPTO_LIBS
LIBCRYPTO_INCLUDES
@@ -672,6 +676,13 @@ LUA_FALSE
LUA_TRUE
LUA_LIBS
LUA_CFLAGS
BOOST_UNIT_TEST_FRAMEWORK_LIBS
BOOST_UNIT_TEST_FRAMEWORK_LDPATH
BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS
BACKEND_UNIT_TESTS_FALSE
BACKEND_UNIT_TESTS_TRUE
UNIT_TESTS_FALSE
UNIT_TESTS_TRUE
BOOST_CONTEXT_LIBS
BOOST_CONTEXT_LDPATH
BOOST_CONTEXT_LDFLAGS
@@ -840,12 +851,15 @@ enable_libtool_lock
with_protobuf
with_boost
enable_static_boost
enable_unit_tests
enable_backend_unit_tests
enable_reproducible
with_luajit
with_lua
enable_verbose_logging
enable_botan1_10
with_libcrypto
enable_libsodium
with_socketdir
enable_hardening
enable_asan
@@ -880,6 +894,8 @@ LUA_CFLAGS
LUA_LIBS
BOTAN110_CFLAGS
BOTAN110_LIBS
LIBSODIUM_CFLAGS
LIBSODIUM_LIBS
SYSTEMD_CFLAGS
SYSTEMD_LIBS'

@@ -1422,7 +1438,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures pdns-recursor 4.0.4 to adapt to many kinds of systems.
\`configure' configures pdns-recursor 4.0.5 to adapt to many kinds of systems.

Usage: $0 [OPTION]... [VAR=VALUE]...

@@ -1492,7 +1508,7 @@ fi

if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of pdns-recursor 4.0.4:";;
short | recursive ) echo "Configuration of pdns-recursor 4.0.5:";;
esac
cat <<\_ACEOF

@@ -1513,6 +1529,9 @@ Optional Features:
--disable-libtool-lock avoid locking (might break parallel builds)
--enable-static-boost Prefer the static boost libraries over the shared
ones [no]
--enable-unit-tests enable unit test building [default=no]
--enable-backend-unit-tests
enable backend unit test building [default=no]
--enable-reproducible Create reproducible builds. Use this only if you are
a distribution maintainer and need reproducible
builds. If you compile PowerDNS yourself, leave this
@@ -1521,6 +1540,7 @@ Optional Features:
--enable-verbose-logging
enable verbose logging [default=no]
--enable-botan1.10 use Botan 1.10 [default=no]
--enable-libsodium use libsodium [default=no]
--disable-hardening disable compiler security checks [default=no]
--enable-asan enable AddressSanitizer [default=no]
--enable-msan enable MemorySanitizer [default=no]
@@ -1575,6 +1595,10 @@ Some influential environment variables:
C compiler flags for BOTAN110, overriding pkg-config
BOTAN110_LIBS
linker flags for BOTAN110, overriding pkg-config
LIBSODIUM_CFLAGS
C compiler flags for LIBSODIUM, overriding pkg-config
LIBSODIUM_LIBS
linker flags for LIBSODIUM, overriding pkg-config
SYSTEMD_CFLAGS
C compiler flags for SYSTEMD, overriding pkg-config
SYSTEMD_LIBS
@@ -1646,7 +1670,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
pdns-recursor configure 4.0.4
pdns-recursor configure 4.0.5
generated by GNU Autoconf 2.69

Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2245,7 +2269,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by pdns-recursor $as_me 4.0.4, which was
It was created by pdns-recursor $as_me 4.0.5, which was
generated by GNU Autoconf 2.69. Invocation command line was

$ $0 $@
@@ -3108,7 +3132,7 @@ fi

# Define the identity of the package.
PACKAGE='pdns-recursor'
VERSION='4.0.4'
VERSION='4.0.5'


cat >>confdefs.h <<_ACEOF
@@ -15860,7 +15884,47 @@ fi


case "$host" in
mips*)
mips* | powerpc* )
as_CACHEVAR=`$as_echo "ax_cv_check_ldflags_cannot continue" "$LINENO" 5
_-latomic" | $as_tr_sh`
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the linker accepts -latomic" >&5
$as_echo_n "checking whether the linker accepts -latomic... " >&6; }
if eval \${$as_CACHEVAR+:} false; then :
$as_echo_n "(cached) " >&6
else

ax_check_save_flags=$LDFLAGS
LDFLAGS="$LDFLAGS cannot continue" "$LINENO" 5
-latomic"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */

int
main ()
{

;
return 0;
}
_ACEOF
if ac_fn_cxx_try_link "$LINENO"; then :
eval "$as_CACHEVAR=yes"
else
eval "$as_CACHEVAR=no"
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
LDFLAGS=$ax_check_save_flags
fi
eval ac_res=\$$as_CACHEVAR
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
if eval test \"x\$"$as_CACHEVAR"\" = x"yes"; then :
:
else
as_fn_error $? "Unable to link against libatomic
fi

LDFLAGS="-latomic $LDFLAGS"
;;
esac
@@ -16754,6 +16818,18 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
# I'm not sure about my test for `il' (be careful: Intel's ICC pre-defines
# the same defines as GCC's).
for i in \
"defined __GNUC__ && __GNUC__ == 7 && __GNUC_MINOR__ == 1 && !defined __ICC && \
(defined WIN32 || defined WINNT || defined _WIN32 || defined __WIN32 \
|| defined __WIN32__ || defined __WINNT || defined __WINNT__) @ mgw71" \
"defined __GNUC__ && __GNUC__ == 7 && __GNUC_MINOR__ == 1 && !defined __ICC @ gcc71" \
"defined __GNUC__ && __GNUC__ == 7 && __GNUC_MINOR__ == 0 && !defined __ICC && \
(defined WIN32 || defined WINNT || defined _WIN32 || defined __WIN32 \
|| defined __WIN32__ || defined __WINNT || defined __WINNT__) @ mgw70" \
"defined __GNUC__ && __GNUC__ == 7 && __GNUC_MINOR__ == 0 && !defined __ICC @ gcc70" \
"defined __GNUC__ && __GNUC__ == 6 && __GNUC_MINOR__ == 3 && !defined __ICC && \
(defined WIN32 || defined WINNT || defined _WIN32 || defined __WIN32 \
|| defined __WIN32__ || defined __WINNT || defined __WINNT__) @ mgw63" \
"defined __GNUC__ && __GNUC__ == 6 && __GNUC_MINOR__ == 3 && !defined __ICC @ gcc63" \
"defined __GNUC__ && __GNUC__ == 6 && __GNUC_MINOR__ == 2 && !defined __ICC && \
(defined WIN32 || defined WINNT || defined _WIN32 || defined __WIN32 \
|| defined __WIN32__ || defined __WINNT || defined __WINNT__) @ mgw62" \
@@ -16766,6 +16842,10 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
(defined WIN32 || defined WINNT || defined _WIN32 || defined __WIN32 \
|| defined __WIN32__ || defined __WINNT || defined __WINNT__) @ mgw60" \
"defined __GNUC__ && __GNUC__ == 6 && __GNUC_MINOR__ == 0 && !defined __ICC @ gcc60" \
"defined __GNUC__ && __GNUC__ == 5 && __GNUC_MINOR__ == 4 && !defined __ICC && \
(defined WIN32 || defined WINNT || defined _WIN32 || defined __WIN32 \
|| defined __WIN32__ || defined __WINNT || defined __WINNT__) @ mgw54" \
"defined __GNUC__ && __GNUC__ == 5 && __GNUC_MINOR__ == 4 && !defined __ICC @ gcc54" \
"defined __GNUC__ && __GNUC__ == 5 && __GNUC_MINOR__ == 3 && !defined __ICC && \
(defined WIN32 || defined WINNT || defined _WIN32 || defined __WIN32 \
|| defined __WIN32__ || defined __WINNT || defined __WINNT__) @ mgw53" \
@@ -18211,6 +18291,348 @@ $as_echo "$as_me: MTasker will use System V ucontexts for context switching" >&6



{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable unit test building" >&5
$as_echo_n "checking whether to enable unit test building... " >&6; }
# Check whether --enable-unit-tests was given.
if test "${enable_unit_tests+set}" = set; then :
enableval=$enable_unit_tests; enable_unit_tests=$enableval
else
enable_unit_tests=no

fi

{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_unit_tests" >&5
$as_echo "$enable_unit_tests" >&6; }
if test "x$enable_unit_tests" != "xno"; then
UNIT_TESTS_TRUE=
UNIT_TESTS_FALSE='#'
else
UNIT_TESTS_TRUE='#'
UNIT_TESTS_FALSE=
fi


{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable backend unit test building" >&5
$as_echo_n "checking whether to enable backend unit test building... " >&6; }
# Check whether --enable-backend-unit-tests was given.
if test "${enable_backend_unit_tests+set}" = set; then :
enableval=$enable_backend_unit_tests; enable_backend_unit_tests=$enableval
else
enable_backend_unit_tests=no

fi

{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_backend_unit_tests" >&5
$as_echo "$enable_backend_unit_tests" >&6; }
if test "x$enable_backend_unit_tests" != "xno"; then
BACKEND_UNIT_TESTS_TRUE=
BACKEND_UNIT_TESTS_FALSE='#'
else
BACKEND_UNIT_TESTS_TRUE='#'
BACKEND_UNIT_TESTS_FALSE=
fi


if test "x$enable_unit_tests" != "xno" || test "x$enable_backend_unit_tests" != "xno"; then :

if test x"$boost_cv_inc_path" = xno; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: Boost not available, not searching for the Boost unit_test_framework library" >&5
$as_echo "$as_me: Boost not available, not searching for the Boost unit_test_framework library" >&6;}
else
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
if test x"$boost_cv_inc_path" = xno; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: Boost not available, not searching for boost/test/unit_test.hpp" >&5
$as_echo "$as_me: Boost not available, not searching for boost/test/unit_test.hpp" >&6;}
else
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
boost_save_CPPFLAGS=$CPPFLAGS
CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
ac_fn_cxx_check_header_mongrel "$LINENO" "boost/test/unit_test.hpp" "ac_cv_header_boost_test_unit_test_hpp" "$ac_includes_default"
if test "x$ac_cv_header_boost_test_unit_test_hpp" = xyes; then :

$as_echo "#define HAVE_BOOST_TEST_UNIT_TEST_HPP 1" >>confdefs.h

else
as_fn_error $? "cannot find boost/test/unit_test.hpp" "$LINENO" 5
fi


CPPFLAGS=$boost_save_CPPFLAGS
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
fi

boost_save_CPPFLAGS=$CPPFLAGS
CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for the Boost unit_test_framework library" >&5
$as_echo_n "checking for the Boost unit_test_framework library... " >&6; }
if ${boost_cv_lib_unit_test_framework+:} false; then :
$as_echo_n "(cached) " >&6
else
boost_cv_lib_unit_test_framework=no
case "mt" in #(
(mt | mt-) boost_mt=-mt; boost_rtopt=;; #(
(mt* | mt-*) boost_mt=-mt; boost_rtopt=`expr "Xmt" : 'Xmt-*\(.*\)'`;; #(
(*) boost_mt=; boost_rtopt=mt;;
esac
if test $enable_static_boost = yes; then
boost_rtopt="s$boost_rtopt"
fi
# Find the proper debug variant depending on what we've been asked to find.
case $boost_rtopt in #(
(*d*) boost_rt_d=$boost_rtopt;; #(
(*[sgpn]*) # Insert the `d' at the right place (in between `sg' and `pn')
boost_rt_d=`echo "$boost_rtopt" | sed 's/\(s*g*\)\(p*n*\)/\1\2/'`;; #(
(*) boost_rt_d='-d';;
esac
# If the PREFERRED-RT-OPT are not empty, prepend a `-'.
test -n "$boost_rtopt" && boost_rtopt="-$boost_rtopt"
$boost_guess_use_mt && boost_mt=-mt
# Look for the abs path the static archive.
# $libext is computed by Libtool but let's make sure it's non empty.
test -z "$libext" &&
as_fn_error $? "the libext variable is empty, did you invoke Libtool?" "$LINENO" 5
boost_save_ac_objext=$ac_objext
# Generate the test file.
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <boost/test/unit_test.hpp>
using boost::unit_test::test_suite;
test_suite* init_unit_test_suite(int argc, char ** argv)
{ return NULL; }
int
main ()
{
BOOST_CHECK(2 == 2);
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"; then :
ac_objext=do_not_rm_me_plz
else
as_fn_error $? "cannot compile a test that uses Boost unit_test_framework" "$LINENO" 5
fi
rm -f core conftest.err conftest.$ac_objext
ac_objext=$boost_save_ac_objext
boost_failed_libs=
# Don't bother to ident the following nested for loops, only the 2
# innermost ones matter.
for boost_lib_ in unit_test_framework; do
for boost_tag_ in -$boost_cv_lib_tag ''; do
for boost_ver_ in -$boost_cv_lib_version ''; do
for boost_mt_ in $boost_mt -mt ''; do
for boost_rtopt_ in $boost_rtopt '' -d; do
for boost_lib in \
boost_$boost_lib_$boost_tag_$boost_mt_$boost_rtopt_$boost_ver_ \
boost_$boost_lib_$boost_tag_$boost_rtopt_$boost_ver_ \
boost_$boost_lib_$boost_tag_$boost_mt_$boost_ver_ \
boost_$boost_lib_$boost_tag_$boost_ver_
do
# Avoid testing twice the same lib
case $boost_failed_libs in #(
(*@$boost_lib@*) continue;;
esac
# If with_boost is empty, we'll search in /lib first, which is not quite
# right so instead we'll try to a location based on where the headers are.
boost_tmp_lib=$with_boost
test x"$with_boost" = x && boost_tmp_lib=${boost_cv_inc_path%/include}
for boost_ldpath in "$boost_tmp_lib/lib" '' \
/opt/local/lib* /usr/local/lib* /opt/lib* /usr/lib* \
"$with_boost" C:/Boost/lib /lib*
do
# Don't waste time with directories that don't exist.
if test x"$boost_ldpath" != x && test ! -e "$boost_ldpath"; then
continue
fi
boost_save_LDFLAGS=$LDFLAGS
# Are we looking for a static library?
case $boost_ldpath:$boost_rtopt_ in #(
(*?*:*s*) # Yes (Non empty boost_ldpath + s in rt opt)
boost_cv_lib_unit_test_framework_LIBS="$boost_ldpath/lib$boost_lib.$libext"
test -e "$boost_cv_lib_unit_test_framework_LIBS" || continue;; #(
(*) # No: use -lboost_foo to find the shared library.
boost_cv_lib_unit_test_framework_LIBS="-l$boost_lib";;
esac
boost_save_LIBS=$LIBS
LIBS="$boost_cv_lib_unit_test_framework_LIBS $LIBS"
test x"$boost_ldpath" != x && LDFLAGS="$LDFLAGS -L$boost_ldpath"
rm -f conftest$ac_exeext
boost_save_ac_ext=$ac_ext
boost_use_source=:
# If we already have a .o, re-use it. We change $ac_ext so that $ac_link
# tries to link the existing object file instead of compiling from source.
test -f conftest.$ac_objext && ac_ext=$ac_objext && boost_use_source=false &&
$as_echo "$as_me:${as_lineno-$LINENO}: re-using the existing conftest.$ac_objext" >&5
if { { ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
(eval "$ac_link") 2>conftest.err
ac_status=$?
if test -s conftest.err; then
grep -v '^ *+' conftest.err >conftest.er1
cat conftest.er1 >&5
mv -f conftest.er1 conftest.err
fi
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
} && test -s conftest$ac_exeext && {
test "$cross_compiling" = yes ||
$as_executable_p conftest$ac_exeext
}; then :
boost_cv_lib_unit_test_framework=yes
else
if $boost_use_source; then
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

fi
boost_cv_lib_unit_test_framework=no
fi
ac_objext=$boost_save_ac_objext
ac_ext=$boost_save_ac_ext
rm -f core conftest.err conftest_ipa8_conftest.oo \
conftest$ac_exeext
ac_objext=$boost_save_ac_objext
LDFLAGS=$boost_save_LDFLAGS
LIBS=$boost_save_LIBS
if test x"$boost_cv_lib_unit_test_framework" = xyes; then
# Check or used cached result of whether or not using -R or
# -rpath makes sense. Some implementations of ld, such as for
# Mac OSX, require -rpath but -R is the flag known to work on
# other systems. https://github.com/tsuna/boost.m4/issues/19
if ${boost_cv_rpath_link_ldflag+:} false; then :
$as_echo_n "(cached) " >&6
else
case $boost_ldpath in
'') # Nothing to do.
boost_cv_rpath_link_ldflag=
boost_rpath_link_ldflag_found=yes;;
*)
for boost_cv_rpath_link_ldflag in -Wl,-R, -Wl,-rpath,; do
LDFLAGS="$boost_save_LDFLAGS -L$boost_ldpath $boost_cv_rpath_link_ldflag$boost_ldpath"
LIBS="$boost_save_LIBS $boost_cv_lib_unit_test_framework_LIBS"
rm -f conftest$ac_exeext
boost_save_ac_ext=$ac_ext
boost_use_source=:
# If we already have a .o, re-use it. We change $ac_ext so that $ac_link
# tries to link the existing object file instead of compiling from source.
test -f conftest.$ac_objext && ac_ext=$ac_objext && boost_use_source=false &&
$as_echo "$as_me:${as_lineno-$LINENO}: re-using the existing conftest.$ac_objext" >&5
if { { ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
(eval "$ac_link") 2>conftest.err
ac_status=$?
if test -s conftest.err; then
grep -v '^ *+' conftest.err >conftest.er1
cat conftest.er1 >&5
mv -f conftest.er1 conftest.err
fi
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
} && test -s conftest$ac_exeext && {
test "$cross_compiling" = yes ||
$as_executable_p conftest$ac_exeext
}; then :
boost_rpath_link_ldflag_found=yes
break
else
if $boost_use_source; then
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

fi
boost_rpath_link_ldflag_found=no
fi
ac_objext=$boost_save_ac_objext
ac_ext=$boost_save_ac_ext
rm -f core conftest.err conftest_ipa8_conftest.oo \
conftest$ac_exeext
done
;;
esac
if test "x$boost_rpath_link_ldflag_found" != "xyes"; then :
as_fn_error $? "Unable to determine whether to use -R or -rpath" "$LINENO" 5
fi
LDFLAGS=$boost_save_LDFLAGS
LIBS=$boost_save_LIBS

fi

test x"$boost_ldpath" != x &&
boost_cv_lib_unit_test_framework_LDFLAGS="-L$boost_ldpath $boost_cv_rpath_link_ldflag$boost_ldpath"
boost_cv_lib_unit_test_framework_LDPATH="$boost_ldpath"
break 7
else
boost_failed_libs="$boost_failed_libs@$boost_lib@"
fi
done
done
done
done
done
done
done # boost_lib_
rm -f conftest.$ac_objext

fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $boost_cv_lib_unit_test_framework" >&5
$as_echo "$boost_cv_lib_unit_test_framework" >&6; }
case $boost_cv_lib_unit_test_framework in #(
(yes) $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5


$as_echo "#define HAVE_BOOST_UNIT_TEST_FRAMEWORK 1" >>confdefs.h
BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS=$boost_cv_lib_unit_test_framework_LDFLAGS
BOOST_UNIT_TEST_FRAMEWORK_LDPATH=$boost_cv_lib_unit_test_framework_LDPATH
BOOST_LDPATH=$boost_cv_lib_unit_test_framework_LDPATH
BOOST_UNIT_TEST_FRAMEWORK_LIBS=$boost_cv_lib_unit_test_framework_LIBS
;;
esac
CPPFLAGS=$boost_save_CPPFLAGS
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'