[-]
[+]
|
Changed |
pdns-3.2.tar.gz/INSTALL
|
@@ -1,3 +1,370 @@
-See README. Especially helpful is the 'pdns' init.d script in pdns/pdns
+Installation Instructions
+*************************
+
+Copyright (C) 1994-1996, 1999-2002, 2004-2011 Free Software Foundation,
+Inc.
+
+ Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved. This file is offered as-is,
+without warranty of any kind.
+
+Basic Installation
+==================
+
+ Briefly, the shell commands `./configure; make; make install' should
+configure, build, and install this package. The following
+more-detailed instructions are generic; see the `README' file for
+instructions specific to this package. Some packages provide this
+`INSTALL' file but do not implement all of the features documented
+below. The lack of an optional feature in a given package is not
+necessarily a bug. More recommendations for GNU packages can be found
+in *note Makefile Conventions: (standards)Makefile Conventions.
+
+ The `configure' shell script attempts to guess correct values for
+various system-dependent variables used during compilation. It uses
+those values to create a `Makefile' in each directory of the package.
+It may also create one or more `.h' files containing system-dependent
+definitions. Finally, it creates a shell script `config.status' that
+you can run in the future to recreate the current configuration, and a
+file `config.log' containing compiler output (useful mainly for
+debugging `configure').
+
+ It can also use an optional file (typically called `config.cache'
+and enabled with `--cache-file=config.cache' or simply `-C') that saves
+the results of its tests to speed up reconfiguring. Caching is
+disabled by default to prevent problems with accidental use of stale
+cache files.
+
+ If you need to do unusual things to compile the package, please try
+to figure out how `configure' could check whether to do them, and mail
+diffs or instructions to the address given in the `README' so they can
+be considered for the next release. If you are using the cache, and at
+some point `config.cache' contains results you don't want to keep, you
+may remove or edit it.
+
+ The file `configure.ac' (or `configure.in') is used to create
+`configure' by a program called `autoconf'. You need `configure.ac' if
+you want to change it or regenerate `configure' using a newer version
+of `autoconf'.
+
+ The simplest way to compile this package is:
+
+ 1. `cd' to the directory containing the package's source code and type
+ `./configure' to configure the package for your system.
+
+ Running `configure' might take a while. While running, it prints
+ some messages telling which features it is checking for.
+
+ 2. Type `make' to compile the package.
+
+ 3. Optionally, type `make check' to run any self-tests that come with
+ the package, generally using the just-built uninstalled binaries.
+
+ 4. Type `make install' to install the programs and any data files and
+ documentation. When installing into a prefix owned by root, it is
+ recommended that the package be configured and built as a regular
+ user, and only the `make install' phase executed with root
+ privileges.
+
+ 5. Optionally, type `make installcheck' to repeat any self-tests, but
+ this time using the binaries in their final installed location.
+ This target does not install anything. Running this target as a
+ regular user, particularly if the prior `make install' required
+ root privileges, verifies that the installation completed
+ correctly.
+
+ 6. You can remove the program binaries and object files from the
+ source code directory by typing `make clean'. To also remove the
+ files that `configure' created (so you can compile the package for
+ a different kind of computer), type `make distclean'. There is
+ also a `make maintainer-clean' target, but that is intended mainly
+ for the package's developers. If you use it, you may have to get
+ all sorts of other programs in order to regenerate files that came
+ with the distribution.
+
+ 7. Often, you can also type `make uninstall' to remove the installed
+ files again. In practice, not all packages have tested that
+ uninstallation works correctly, even though it is required by the
+ GNU Coding Standards.
+
+ 8. Some packages, particularly those that use Automake, provide `make
+ distcheck', which can by used by developers to test that all other
+ targets like `make install' and `make uninstall' work correctly.
+ This target is generally not run by end users.
+
+Compilers and Options
+=====================
+
+ Some systems require unusual options for compilation or linking that
+the `configure' script does not know about. Run `./configure --help'
+for details on some of the pertinent environment variables.
+
+ You can give `configure' initial values for configuration parameters
+by setting variables in the command line or in the environment. Here
+is an example:
+
+ ./configure CC=c99 CFLAGS=-g LIBS=-lposix
+
+ *Note Defining Variables::, for more details.
+
+Compiling For Multiple Architectures
+====================================
+
+ You can compile the package for more than one kind of computer at the
+same time, by placing the object files for each architecture in their
+own directory. To do this, you can use GNU `make'. `cd' to the
+directory where you want the object files and executables to go and run
+the `configure' script. `configure' automatically checks for the
+source code in the directory that `configure' is in and in `..'. This
+is known as a "VPATH" build.
+
+ With a non-GNU `make', it is safer to compile the package for one
+architecture at a time in the source code directory. After you have
+installed the package for one architecture, use `make distclean' before
+reconfiguring for another architecture.
+
+ On MacOS X 10.5 and later systems, you can create libraries and
+executables that work on multiple system types--known as "fat" or
+"universal" binaries--by specifying multiple `-arch' options to the
+compiler but only a single `-arch' option to the preprocessor. Like
+this:
+
+ ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
+ CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
+ CPP="gcc -E" CXXCPP="g++ -E"
+
+ This is not guaranteed to produce working output in all cases, you
+may have to build one architecture at a time and combine the results
+using the `lipo' tool if you have problems.
+
+Installation Names
+==================
+
+ By default, `make install' installs the package's commands under
+`/usr/local/bin', include files under `/usr/local/include', etc. You
+can specify an installation prefix other than `/usr/local' by giving
+`configure' the option `--prefix=PREFIX', where PREFIX must be an
+absolute file name.
+
+ You can specify separate installation prefixes for
+architecture-specific files and architecture-independent files. If you
+pass the option `--exec-prefix=PREFIX' to `configure', the package uses
+PREFIX as the prefix for installing programs and libraries.
+Documentation and other data files still use the regular prefix.
+
+ In addition, if you use an unusual directory layout you can give
+options like `--bindir=DIR' to specify different values for particular
+kinds of files. Run `configure --help' for a list of the directories
+you can set and what kinds of files go in them. In general, the
+default for these options is expressed in terms of `${prefix}', so that
+specifying just `--prefix' will affect all of the other directory
+specifications that were not explicitly provided.
+
+ The most portable way to affect installation locations is to pass the
+correct locations to `configure'; however, many packages provide one or
+both of the following shortcuts of passing variable assignments to the
+`make install' command line to change installation locations without
+having to reconfigure or recompile.
+
+ The first method involves providing an override variable for each
+affected directory. For example, `make install
+prefix=/alternate/directory' will choose an alternate location for all
+directory configuration variables that were expressed in terms of
+`${prefix}'. Any directories that were specified during `configure',
+but not in terms of `${prefix}', must each be overridden at install
+time for the entire installation to be relocated. The approach of
+makefile variable overrides for each directory variable is required by
+the GNU Coding Standards, and ideally causes no recompilation.
+However, some platforms have known limitations with the semantics of
+shared libraries that end up requiring recompilation when using this
+method, particularly noticeable in packages that use GNU Libtool.
+
+ The second method involves providing the `DESTDIR' variable. For
+example, `make install DESTDIR=/alternate/directory' will prepend
+`/alternate/directory' before all installation names. The approach of
+`DESTDIR' overrides is not required by the GNU Coding Standards, and
+does not work on platforms that have drive letters. On the other hand,
+it does better at avoiding recompilation issues, and works well even
+when some directory options were not specified in terms of `${prefix}'
+at `configure' time.
+
+Optional Features
+=================
+
+ If the package supports it, you can cause programs to be installed
+with an extra prefix or suffix on their names by giving `configure' the
+option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
+
+ Some packages pay attention to `--enable-FEATURE' options to
+`configure', where FEATURE indicates an optional part of the package.
+They may also pay attention to `--with-PACKAGE' options, where PACKAGE
+is something like `gnu-as' or `x' (for the X Window System). The
+`README' should mention any `--enable-' and `--with-' options that the
+package recognizes.
+
+ For packages that use the X Window System, `configure' can usually
+find the X include and library files automatically, but if it doesn't,
+you can use the `configure' options `--x-includes=DIR' and
+`--x-libraries=DIR' to specify their locations.
+
+ Some packages offer the ability to configure how verbose the
+execution of `make' will be. For these packages, running `./configure
+--enable-silent-rules' sets the default to minimal output, which can be
+overridden with `make V=1'; while running `./configure
+--disable-silent-rules' sets the default to verbose, which can be
+overridden with `make V=0'.
+
+Particular systems
+==================
+
+ On HP-UX, the default C compiler is not ANSI C compatible. If GNU
+CC is not installed, it is recommended to use the following options in
+order to use an ANSI C compiler:
+
+ ./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
+
+and if that doesn't work, install pre-built binaries of GCC for HP-UX.
+
+ HP-UX `make' updates targets which have the same time stamps as
+their prerequisites, which makes it generally unusable when shipped
+generated files such as `configure' are involved. Use GNU `make'
+instead.
+
+ On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
+parse its `<wchar.h>' header file. The option `-nodtk' can be used as
+a workaround. If GNU CC is not installed, it is therefore recommended
+to try
+
+ ./configure CC="cc"
+
+and if that doesn't work, try
+
+ ./configure CC="cc -nodtk"
+
+ On Solaris, don't put `/usr/ucb' early in your `PATH'. This
+directory contains several dysfunctional programs; working variants of
+these programs are available in `/usr/bin'. So, if you need `/usr/ucb'
+in your `PATH', put it _after_ `/usr/bin'.
+
+ On Haiku, software installed for all users goes in `/boot/common',
+not `/usr/local'. It is recommended to use the following options:
+
+ ./configure --prefix=/boot/common
+
+Specifying the System Type
+==========================
+
+ There may be some features `configure' cannot figure out
+automatically, but needs to determine by the type of machine the package
+will run on. Usually, assuming the package is built to be run on the
+_same_ architectures, `configure' can figure that out, but if it prints
+a message saying it cannot guess the machine type, give it the
+`--build=TYPE' option. TYPE can either be a short name for the system
+type, such as `sun4', or a canonical name which has the form:
+
+ CPU-COMPANY-SYSTEM
+
+where SYSTEM can have one of these forms:
+
+ OS
+ KERNEL-OS
+
+ See the file `config.sub' for the possible values of each field. If
+`config.sub' isn't included in this package, then this package doesn't
+need to know the machine type.
+
+ If you are _building_ compiler tools for cross-compiling, you should
+use the option `--target=TYPE' to select the type of system they will
+produce code for.
+
+ If you want to _use_ a cross compiler, that generates code for a
+platform different from the build platform, you should specify the
+"host" platform (i.e., that on which the generated programs will
+eventually be run) with `--host=TYPE'.
+
+Sharing Defaults
+================
+
+ If you want to set default values for `configure' scripts to share,
+you can create a site shell script called `config.site' that gives
+default values for variables like `CC', `cache_file', and `prefix'.
+`configure' looks for `PREFIX/share/config.site' if it exists, then
+`PREFIX/etc/config.site' if it exists. Or, you can set the
+`CONFIG_SITE' environment variable to the location of the site script.
+A warning: not all `configure' scripts look for a site script.
+
+Defining Variables
+==================
+
+ Variables not defined in a site shell script can be set in the
+environment passed to `configure'. However, some packages may run
+configure again during the build, and the customized values of these
+variables may be lost. In order to avoid this problem, you should set
+them in the `configure' command line, using `VAR=value'. For example:
+
+ ./configure CC=/usr/local2/bin/gcc
+
+causes the specified `gcc' to be used as the C compiler (unless it is
+overridden in the site shell script).
+
+Unfortunately, this technique does not work for `CONFIG_SHELL' due to
+an Autoconf bug. Until the bug is fixed you can use this workaround:
+
+ CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
+
+`configure' Invocation
+======================
+
+ `configure' recognizes the following options to control how it
+operates.
+
+`--help'
+`-h'
+ Print a summary of all of the options to `configure', and exit.
+
+`--help=short'
+`--help=recursive'
+ Print a summary of the options unique to this package's
+ `configure', and exit. The `short' variant lists options used
+ only in the top level, while the `recursive' variant lists options
+ also present in any nested packages.
+
+`--version'
+`-V'
+ Print the version of Autoconf used to generate the `configure'
+ script, and exit.
+
+`--cache-file=FILE'
+ Enable the cache: use and save the results of the tests in FILE,
+ traditionally `config.cache'. FILE defaults to `/dev/null' to
+ disable caching.
+
+`--config-cache'
+`-C'
+ Alias for `--cache-file=config.cache'.
+
+`--quiet'
+`--silent'
+`-q'
+ Do not print messages saying which checks are being made. To
+ suppress all normal output, redirect it to `/dev/null' (any error
+ messages will still be shown).
+
+`--srcdir=DIR'
+ Look for the package's source code in directory DIR. Usually
+ `configure' can determine that directory automatically.
+
+`--prefix=DIR'
+ Use DIR as the installation prefix. *note Installation Names::
+ for more details, including other options available for fine-tuning
+ the installation locations.
+
+`--no-create'
+`-n'
+ Run the configure checks, but stop before creating any output
+ files.
+
+`configure' also accepts some other, not widely useful, options. Run
+`configure --help' for more details.
-http://doc.powerdns.com is also a good place to start
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/Makefile.in
^
|
@@ -152,6 +152,8 @@
BOOST_ROOT = @BOOST_ROOT@
BOOST_SERIALIZATION_LDFLAGS = @BOOST_SERIALIZATION_LDFLAGS@
BOOST_SERIALIZATION_LIBS = @BOOST_SERIALIZATION_LIBS@
+BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS = @BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS@
+BOOST_UNIT_TEST_FRAMEWORK_LIBS = @BOOST_UNIT_TEST_FRAMEWORK_LIBS@
BOTAN110_CFLAGS = @BOTAN110_CFLAGS@
BOTAN110_LIBS = @BOTAN110_LIBS@
BOTAN18_CFLAGS = @BOTAN18_CFLAGS@
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/autom4te.cache/output.2
^
|
@@ -664,6 +664,8 @@
PKG_CONFIG_LIBDIR
PKG_CONFIG_PATH
PKG_CONFIG
+BOOST_UNIT_TEST_FRAMEWORK_LIBS
+BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS
BOOST_SERIALIZATION_LIBS
BOOST_SERIALIZATION_LDFLAGS
BOOST_PROGRAM_OPTIONS_LIBS
@@ -804,6 +806,7 @@
enable_libtool_lock
with_boost
enable_static_boost
+enable_unit_tests
with_lua
with_sqlite3
enable_verbose_logging
@@ -1488,6 +1491,7 @@
--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
--enable-verbose-logging Do verbose logging
--enable-botan1.10 Use Botan 1.10
--enable-botan1.8 Use Botan 1.8
@@ -3102,7 +3106,7 @@
# Define the identity of the package.
PACKAGE=pdns
- VERSION=3.2-rc4
+ VERSION=3.2
cat >>confdefs.h <<_ACEOF
@@ -17361,6 +17365,234 @@
fi
+@%:@ Check whether --enable-unit-tests was given.
+if test "${enable_unit_tests+set}" = set; then :
+ enableval=$enable_unit_tests; enable_unit_tests=yes
+else
+ enable_unit_tests=no
+fi
+
+
+if test x"$enable_unit_tests" = "xyes"; 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"
+# Now let's try to find the library. The algorithm is as follows: first look
+# for a given library name according to the user's PREFERRED-RT-OPT. For each
+# library name, we prefer to use the ones that carry the tag (toolset name).
+# Each library is searched through the various standard paths were Boost is
+# usually installed. If we can't find the standard variants, we try to
+# enforce -mt (for instance on MacOSX, libboost_threads.dylib doesn't exist
+# but there's -obviously- libboost_threads-mt.dylib).
+{ $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 6 nested for loops, only the 2 innermost ones
+# matter.
+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_unit_test_framework$boost_tag_$boost_mt_$boost_rtopt_$boost_ver_ \
+ boost_unit_test_framework$boost_tag_$boost_rtopt_$boost_ver_ \
+ boost_unit_test_framework$boost_tag_$boost_mt_$boost_ver_ \
+ boost_unit_test_framework$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 /usr/lib64 /lib64
+ do
+ test -e "$boost_ldpath" || continue
+ 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
+ boost_cv_lib_unit_test_framework_LDFLAGS="-L$boost_ldpath -R$boost_ldpath"
+ break 6
+ else
+ boost_failed_libs="$boost_failed_libs@$boost_lib@"
+ fi
+ done
+ done
+done
+done
+done
+done
+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 #(
+ no) $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ as_fn_error $? "cannot not find the flags to link with Boost unit_test_framework" "$LINENO" 5
+ ;;
+esac
+BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS=$boost_cv_lib_unit_test_framework_LDFLAGS
+
+BOOST_UNIT_TEST_FRAMEWORK_LIBS=$boost_cv_lib_unit_test_framework_LIBS
+
+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
+
+
+fi
#BOOST_SYSTEM([mt])
# detect pkg-config explicitly
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/autom4te.cache/output.3
^
|
@@ -664,6 +664,8 @@
PKG_CONFIG_LIBDIR
PKG_CONFIG_PATH
PKG_CONFIG
+BOOST_UNIT_TEST_FRAMEWORK_LIBS
+BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS
BOOST_SERIALIZATION_LIBS
BOOST_SERIALIZATION_LDFLAGS
BOOST_PROGRAM_OPTIONS_LIBS
@@ -804,6 +806,7 @@
enable_libtool_lock
with_boost
enable_static_boost
+enable_unit_tests
with_lua
with_sqlite3
enable_verbose_logging
@@ -1488,6 +1491,7 @@
--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
--enable-verbose-logging Do verbose logging
--enable-botan1.10 Use Botan 1.10
--enable-botan1.8 Use Botan 1.8
@@ -3102,7 +3106,7 @@
# Define the identity of the package.
PACKAGE=pdns
- VERSION=3.2-rc4
+ VERSION=3.2
cat >>confdefs.h <<_ACEOF
@@ -17361,6 +17365,234 @@
fi
+@%:@ Check whether --enable-unit-tests was given.
+if test "${enable_unit_tests+set}" = set; then :
+ enableval=$enable_unit_tests; enable_unit_tests=yes
+else
+ enable_unit_tests=no
+fi
+
+
+if test x"$enable_unit_tests" = "xyes"; 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"
+# Now let's try to find the library. The algorithm is as follows: first look
+# for a given library name according to the user's PREFERRED-RT-OPT. For each
+# library name, we prefer to use the ones that carry the tag (toolset name).
+# Each library is searched through the various standard paths were Boost is
+# usually installed. If we can't find the standard variants, we try to
+# enforce -mt (for instance on MacOSX, libboost_threads.dylib doesn't exist
+# but there's -obviously- libboost_threads-mt.dylib).
+{ $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 6 nested for loops, only the 2 innermost ones
+# matter.
+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_unit_test_framework$boost_tag_$boost_mt_$boost_rtopt_$boost_ver_ \
+ boost_unit_test_framework$boost_tag_$boost_rtopt_$boost_ver_ \
+ boost_unit_test_framework$boost_tag_$boost_mt_$boost_ver_ \
+ boost_unit_test_framework$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 /usr/lib64 /lib64
+ do
+ test -e "$boost_ldpath" || continue
+ 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
+ boost_cv_lib_unit_test_framework_LDFLAGS="-L$boost_ldpath -R$boost_ldpath"
+ break 6
+ else
+ boost_failed_libs="$boost_failed_libs@$boost_lib@"
+ fi
+ done
+ done
+done
+done
+done
+done
+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 #(
+ no) $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ as_fn_error $? "cannot not find the flags to link with Boost unit_test_framework" "$LINENO" 5
+ ;;
+esac
+BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS=$boost_cv_lib_unit_test_framework_LDFLAGS
+
+BOOST_UNIT_TEST_FRAMEWORK_LIBS=$boost_cv_lib_unit_test_framework_LIBS
+
+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
+
+
+fi
#BOOST_SYSTEM([mt])
# detect pkg-config explicitly
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/autom4te.cache/traces.2
^
|
@@ -153,7 +153,7 @@
m4trace:configure.ac:2: -1- AC_SUBST([target_alias])
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([target_alias])
m4trace:configure.ac:2: -1- m4_pattern_allow([^target_alias$])
-m4trace:configure.ac:3: -1- AM_INIT_AUTOMAKE([pdns], [3.2-rc4])
+m4trace:configure.ac:3: -1- AM_INIT_AUTOMAKE([pdns], [3.2])
m4trace:configure.ac:3: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$])
m4trace:configure.ac:3: -1- AM_AUTOMAKE_VERSION([1.11.3])
m4trace:configure.ac:3: -1- AC_REQUIRE_AUX_FILE([install-sh])
@@ -176,7 +176,7 @@
m4trace:configure.ac:3: -1- AC_SUBST([PACKAGE], [pdns])
m4trace:configure.ac:3: -1- AC_SUBST_TRACE([PACKAGE])
m4trace:configure.ac:3: -1- m4_pattern_allow([^PACKAGE$])
-m4trace:configure.ac:3: -1- AC_SUBST([VERSION], [3.2-rc4])
+m4trace:configure.ac:3: -1- AC_SUBST([VERSION], [3.2])
m4trace:configure.ac:3: -1- AC_SUBST_TRACE([VERSION])
m4trace:configure.ac:3: -1- m4_pattern_allow([^VERSION$])
m4trace:configure.ac:3: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE])
@@ -663,511 +663,525 @@
m4trace:configure.ac:24: -1- AC_SUBST([BOOST_SERIALIZATION_LIBS], [$Boost_lib_LIBS])
m4trace:configure.ac:24: -1- AC_SUBST_TRACE([BOOST_SERIALIZATION_LIBS])
m4trace:configure.ac:24: -1- m4_pattern_allow([^BOOST_SERIALIZATION_LIBS$])
-m4trace:configure.ac:28: -1- m4_pattern_forbid([^_?PKG_[A-Z_]+$])
-m4trace:configure.ac:28: -1- m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
-m4trace:configure.ac:28: -1- m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
-m4trace:configure.ac:28: -1- AC_SUBST([PKG_CONFIG])
-m4trace:configure.ac:28: -1- AC_SUBST_TRACE([PKG_CONFIG])
-m4trace:configure.ac:28: -1- m4_pattern_allow([^PKG_CONFIG$])
-m4trace:configure.ac:28: -1- AC_SUBST([PKG_CONFIG_PATH])
-m4trace:configure.ac:28: -1- AC_SUBST_TRACE([PKG_CONFIG_PATH])
-m4trace:configure.ac:28: -1- m4_pattern_allow([^PKG_CONFIG_PATH$])
-m4trace:configure.ac:28: -1- AC_SUBST([PKG_CONFIG_LIBDIR])
-m4trace:configure.ac:28: -1- AC_SUBST_TRACE([PKG_CONFIG_LIBDIR])
-m4trace:configure.ac:28: -1- m4_pattern_allow([^PKG_CONFIG_LIBDIR$])
-m4trace:configure.ac:28: -1- AC_SUBST([PKG_CONFIG])
-m4trace:configure.ac:28: -1- AC_SUBST_TRACE([PKG_CONFIG])
-m4trace:configure.ac:28: -1- m4_pattern_allow([^PKG_CONFIG$])
-m4trace:configure.ac:32: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+m4trace:configure.ac:25: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
-configure.ac:32: the top level])
-m4trace:configure.ac:42: -1- AC_SUBST([LUA_CFLAGS])
-m4trace:configure.ac:42: -1- AC_SUBST_TRACE([LUA_CFLAGS])
-m4trace:configure.ac:42: -1- m4_pattern_allow([^LUA_CFLAGS$])
-m4trace:configure.ac:42: -1- AC_SUBST([LUA_LIBS])
-m4trace:configure.ac:42: -1- AC_SUBST_TRACE([LUA_LIBS])
-m4trace:configure.ac:42: -1- m4_pattern_allow([^LUA_LIBS$])
-m4trace:configure.ac:42: -1- AC_SUBST([LUA_CFLAGS])
-m4trace:configure.ac:42: -1- AC_SUBST_TRACE([LUA_CFLAGS])
-m4trace:configure.ac:42: -1- m4_pattern_allow([^LUA_CFLAGS$])
-m4trace:configure.ac:42: -1- AC_SUBST([LUA_LIBS])
-m4trace:configure.ac:42: -1- AC_SUBST_TRACE([LUA_LIBS])
-m4trace:configure.ac:42: -1- m4_pattern_allow([^LUA_LIBS$])
-m4trace:configure.ac:42: -1- AC_SUBST([LUA_CFLAGS])
-m4trace:configure.ac:42: -1- AC_SUBST_TRACE([LUA_CFLAGS])
-m4trace:configure.ac:42: -1- m4_pattern_allow([^LUA_CFLAGS$])
-m4trace:configure.ac:42: -1- AC_SUBST([LUA_LIBS])
-m4trace:configure.ac:42: -1- AC_SUBST_TRACE([LUA_LIBS])
-m4trace:configure.ac:42: -1- m4_pattern_allow([^LUA_LIBS$])
-m4trace:configure.ac:42: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LUA])
-m4trace:configure.ac:42: -1- m4_pattern_allow([^HAVE_LUA$])
-m4trace:configure.ac:42: -1- AH_OUTPUT([HAVE_LUA], [/* liblua */
+configure.ac:25: the top level])
+m4trace:configure.ac:28: -1- m4_pattern_allow([^BOOST_CHECK$])
+m4trace:configure.ac:28: -1- AC_DEFINE_TRACE_LITERAL([HAVE_BOOST_TEST_UNIT_TEST_HPP])
+m4trace:configure.ac:28: -1- m4_pattern_allow([^HAVE_BOOST_TEST_UNIT_TEST_HPP$])
+m4trace:configure.ac:28: -1- AH_OUTPUT([HAVE_BOOST_TEST_UNIT_TEST_HPP], [/* Define to 1 if you have <boost/test/unit_test.hpp> */
+@%:@undef HAVE_BOOST_TEST_UNIT_TEST_HPP])
+m4trace:configure.ac:28: -1- AC_SUBST([BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS], [$Boost_lib_LDFLAGS])
+m4trace:configure.ac:28: -1- AC_SUBST_TRACE([BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS])
+m4trace:configure.ac:28: -1- m4_pattern_allow([^BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS$])
+m4trace:configure.ac:28: -1- AC_SUBST([BOOST_UNIT_TEST_FRAMEWORK_LIBS], [$Boost_lib_LIBS])
+m4trace:configure.ac:28: -1- AC_SUBST_TRACE([BOOST_UNIT_TEST_FRAMEWORK_LIBS])
+m4trace:configure.ac:28: -1- m4_pattern_allow([^BOOST_UNIT_TEST_FRAMEWORK_LIBS$])
+m4trace:configure.ac:33: -1- m4_pattern_forbid([^_?PKG_[A-Z_]+$])
+m4trace:configure.ac:33: -1- m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
+m4trace:configure.ac:33: -1- m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
+m4trace:configure.ac:33: -1- AC_SUBST([PKG_CONFIG])
+m4trace:configure.ac:33: -1- AC_SUBST_TRACE([PKG_CONFIG])
+m4trace:configure.ac:33: -1- m4_pattern_allow([^PKG_CONFIG$])
+m4trace:configure.ac:33: -1- AC_SUBST([PKG_CONFIG_PATH])
+m4trace:configure.ac:33: -1- AC_SUBST_TRACE([PKG_CONFIG_PATH])
+m4trace:configure.ac:33: -1- m4_pattern_allow([^PKG_CONFIG_PATH$])
+m4trace:configure.ac:33: -1- AC_SUBST([PKG_CONFIG_LIBDIR])
+m4trace:configure.ac:33: -1- AC_SUBST_TRACE([PKG_CONFIG_LIBDIR])
+m4trace:configure.ac:33: -1- m4_pattern_allow([^PKG_CONFIG_LIBDIR$])
+m4trace:configure.ac:33: -1- AC_SUBST([PKG_CONFIG])
+m4trace:configure.ac:33: -1- AC_SUBST_TRACE([PKG_CONFIG])
+m4trace:configure.ac:33: -1- m4_pattern_allow([^PKG_CONFIG$])
+m4trace:configure.ac:37: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
+configure.ac:37: the top level])
+m4trace:configure.ac:47: -1- AC_SUBST([LUA_CFLAGS])
+m4trace:configure.ac:47: -1- AC_SUBST_TRACE([LUA_CFLAGS])
+m4trace:configure.ac:47: -1- m4_pattern_allow([^LUA_CFLAGS$])
+m4trace:configure.ac:47: -1- AC_SUBST([LUA_LIBS])
+m4trace:configure.ac:47: -1- AC_SUBST_TRACE([LUA_LIBS])
+m4trace:configure.ac:47: -1- m4_pattern_allow([^LUA_LIBS$])
+m4trace:configure.ac:47: -1- AC_SUBST([LUA_CFLAGS])
+m4trace:configure.ac:47: -1- AC_SUBST_TRACE([LUA_CFLAGS])
+m4trace:configure.ac:47: -1- m4_pattern_allow([^LUA_CFLAGS$])
+m4trace:configure.ac:47: -1- AC_SUBST([LUA_LIBS])
+m4trace:configure.ac:47: -1- AC_SUBST_TRACE([LUA_LIBS])
+m4trace:configure.ac:47: -1- m4_pattern_allow([^LUA_LIBS$])
+m4trace:configure.ac:47: -1- AC_SUBST([LUA_CFLAGS])
+m4trace:configure.ac:47: -1- AC_SUBST_TRACE([LUA_CFLAGS])
+m4trace:configure.ac:47: -1- m4_pattern_allow([^LUA_CFLAGS$])
+m4trace:configure.ac:47: -1- AC_SUBST([LUA_LIBS])
+m4trace:configure.ac:47: -1- AC_SUBST_TRACE([LUA_LIBS])
+m4trace:configure.ac:47: -1- m4_pattern_allow([^LUA_LIBS$])
+m4trace:configure.ac:47: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LUA])
+m4trace:configure.ac:47: -1- m4_pattern_allow([^HAVE_LUA$])
+m4trace:configure.ac:47: -1- AH_OUTPUT([HAVE_LUA], [/* liblua */
@%:@undef HAVE_LUA])
-m4trace:configure.ac:42: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LUA_H])
-m4trace:configure.ac:42: -1- m4_pattern_allow([^HAVE_LUA_H$])
-m4trace:configure.ac:42: -1- AH_OUTPUT([HAVE_LUA_H], [/* lua.h */
+m4trace:configure.ac:47: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LUA_H])
+m4trace:configure.ac:47: -1- m4_pattern_allow([^HAVE_LUA_H$])
+m4trace:configure.ac:47: -1- AH_OUTPUT([HAVE_LUA_H], [/* lua.h */
@%:@undef HAVE_LUA_H])
-m4trace:configure.ac:42: -1- AC_SUBST([LUA_CFLAGS])
-m4trace:configure.ac:42: -1- AC_SUBST_TRACE([LUA_CFLAGS])
-m4trace:configure.ac:42: -1- m4_pattern_allow([^LUA_CFLAGS$])
-m4trace:configure.ac:42: -1- AC_SUBST([LUA_LIBS])
-m4trace:configure.ac:42: -1- AC_SUBST_TRACE([LUA_LIBS])
-m4trace:configure.ac:42: -1- m4_pattern_allow([^LUA_LIBS$])
-m4trace:configure.ac:42: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LUA])
-m4trace:configure.ac:42: -1- m4_pattern_allow([^HAVE_LUA$])
-m4trace:configure.ac:42: -1- AH_OUTPUT([HAVE_LUA], [/* liblua */
+m4trace:configure.ac:47: -1- AC_SUBST([LUA_CFLAGS])
+m4trace:configure.ac:47: -1- AC_SUBST_TRACE([LUA_CFLAGS])
+m4trace:configure.ac:47: -1- m4_pattern_allow([^LUA_CFLAGS$])
+m4trace:configure.ac:47: -1- AC_SUBST([LUA_LIBS])
+m4trace:configure.ac:47: -1- AC_SUBST_TRACE([LUA_LIBS])
+m4trace:configure.ac:47: -1- m4_pattern_allow([^LUA_LIBS$])
+m4trace:configure.ac:47: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LUA])
+m4trace:configure.ac:47: -1- m4_pattern_allow([^HAVE_LUA$])
+m4trace:configure.ac:47: -1- AH_OUTPUT([HAVE_LUA], [/* liblua */
@%:@undef HAVE_LUA])
-m4trace:configure.ac:42: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LUA_H])
-m4trace:configure.ac:42: -1- m4_pattern_allow([^HAVE_LUA_H$])
-m4trace:configure.ac:42: -1- AH_OUTPUT([HAVE_LUA_H], [/* lua.h */
+m4trace:configure.ac:47: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LUA_H])
+m4trace:configure.ac:47: -1- m4_pattern_allow([^HAVE_LUA_H$])
+m4trace:configure.ac:47: -1- AH_OUTPUT([HAVE_LUA_H], [/* lua.h */
@%:@undef HAVE_LUA_H])
-m4trace:configure.ac:42: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LUA])
-m4trace:configure.ac:42: -1- m4_pattern_allow([^HAVE_LUA$])
-m4trace:configure.ac:42: -1- AH_OUTPUT([HAVE_LUA], [/* liblua */
+m4trace:configure.ac:47: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LUA])
+m4trace:configure.ac:47: -1- m4_pattern_allow([^HAVE_LUA$])
+m4trace:configure.ac:47: -1- AH_OUTPUT([HAVE_LUA], [/* liblua */
@%:@undef HAVE_LUA])
-m4trace:configure.ac:42: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LUA_H])
-m4trace:configure.ac:42: -1- m4_pattern_allow([^HAVE_LUA_H$])
-m4trace:configure.ac:42: -1- AH_OUTPUT([HAVE_LUA_H], [/* lua.h */
+m4trace:configure.ac:47: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LUA_H])
+m4trace:configure.ac:47: -1- m4_pattern_allow([^HAVE_LUA_H$])
+m4trace:configure.ac:47: -1- AH_OUTPUT([HAVE_LUA_H], [/* lua.h */
@%:@undef HAVE_LUA_H])
-m4trace:configure.ac:42: -1- AC_SUBST([LUA_CFLAGS])
-m4trace:configure.ac:42: -1- AC_SUBST_TRACE([LUA_CFLAGS])
-m4trace:configure.ac:42: -1- m4_pattern_allow([^LUA_CFLAGS$])
-m4trace:configure.ac:42: -1- AC_SUBST([LUA_LIBS])
-m4trace:configure.ac:42: -1- AC_SUBST_TRACE([LUA_LIBS])
-m4trace:configure.ac:42: -1- m4_pattern_allow([^LUA_LIBS$])
-m4trace:configure.ac:42: -1- AC_SUBST([LUA_CFLAGS])
-m4trace:configure.ac:42: -1- AC_SUBST_TRACE([LUA_CFLAGS])
-m4trace:configure.ac:42: -1- m4_pattern_allow([^LUA_CFLAGS$])
-m4trace:configure.ac:42: -1- AC_SUBST([LUA_LIBS])
-m4trace:configure.ac:42: -1- AC_SUBST_TRACE([LUA_LIBS])
-m4trace:configure.ac:42: -1- m4_pattern_allow([^LUA_LIBS$])
-m4trace:configure.ac:42: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LUA])
-m4trace:configure.ac:42: -1- m4_pattern_allow([^HAVE_LUA$])
-m4trace:configure.ac:42: -1- AH_OUTPUT([HAVE_LUA], [/* liblua */
+m4trace:configure.ac:47: -1- AC_SUBST([LUA_CFLAGS])
+m4trace:configure.ac:47: -1- AC_SUBST_TRACE([LUA_CFLAGS])
+m4trace:configure.ac:47: -1- m4_pattern_allow([^LUA_CFLAGS$])
+m4trace:configure.ac:47: -1- AC_SUBST([LUA_LIBS])
+m4trace:configure.ac:47: -1- AC_SUBST_TRACE([LUA_LIBS])
+m4trace:configure.ac:47: -1- m4_pattern_allow([^LUA_LIBS$])
+m4trace:configure.ac:47: -1- AC_SUBST([LUA_CFLAGS])
+m4trace:configure.ac:47: -1- AC_SUBST_TRACE([LUA_CFLAGS])
+m4trace:configure.ac:47: -1- m4_pattern_allow([^LUA_CFLAGS$])
+m4trace:configure.ac:47: -1- AC_SUBST([LUA_LIBS])
+m4trace:configure.ac:47: -1- AC_SUBST_TRACE([LUA_LIBS])
+m4trace:configure.ac:47: -1- m4_pattern_allow([^LUA_LIBS$])
+m4trace:configure.ac:47: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LUA])
+m4trace:configure.ac:47: -1- m4_pattern_allow([^HAVE_LUA$])
+m4trace:configure.ac:47: -1- AH_OUTPUT([HAVE_LUA], [/* liblua */
@%:@undef HAVE_LUA])
-m4trace:configure.ac:42: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LUA_H])
-m4trace:configure.ac:42: -1- m4_pattern_allow([^HAVE_LUA_H$])
-m4trace:configure.ac:42: -1- AH_OUTPUT([HAVE_LUA_H], [/* lua.h */
+m4trace:configure.ac:47: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LUA_H])
+m4trace:configure.ac:47: -1- m4_pattern_allow([^HAVE_LUA_H$])
+m4trace:configure.ac:47: -1- AH_OUTPUT([HAVE_LUA_H], [/* lua.h */
@%:@undef HAVE_LUA_H])
-m4trace:configure.ac:42: -1- AC_SUBST([LUA_CFLAGS])
-m4trace:configure.ac:42: -1- AC_SUBST_TRACE([LUA_CFLAGS])
-m4trace:configure.ac:42: -1- m4_pattern_allow([^LUA_CFLAGS$])
-m4trace:configure.ac:42: -1- AC_SUBST([LUA_LIBS])
-m4trace:configure.ac:42: -1- AC_SUBST_TRACE([LUA_LIBS])
-m4trace:configure.ac:42: -1- m4_pattern_allow([^LUA_LIBS$])
-m4trace:configure.ac:42: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LUA])
-m4trace:configure.ac:42: -1- m4_pattern_allow([^HAVE_LUA$])
-m4trace:configure.ac:42: -1- AH_OUTPUT([HAVE_LUA], [/* liblua */
+m4trace:configure.ac:47: -1- AC_SUBST([LUA_CFLAGS])
+m4trace:configure.ac:47: -1- AC_SUBST_TRACE([LUA_CFLAGS])
+m4trace:configure.ac:47: -1- m4_pattern_allow([^LUA_CFLAGS$])
+m4trace:configure.ac:47: -1- AC_SUBST([LUA_LIBS])
+m4trace:configure.ac:47: -1- AC_SUBST_TRACE([LUA_LIBS])
+m4trace:configure.ac:47: -1- m4_pattern_allow([^LUA_LIBS$])
+m4trace:configure.ac:47: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LUA])
+m4trace:configure.ac:47: -1- m4_pattern_allow([^HAVE_LUA$])
+m4trace:configure.ac:47: -1- AH_OUTPUT([HAVE_LUA], [/* liblua */
@%:@undef HAVE_LUA])
-m4trace:configure.ac:42: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LUA_H])
-m4trace:configure.ac:42: -1- m4_pattern_allow([^HAVE_LUA_H$])
-m4trace:configure.ac:42: -1- AH_OUTPUT([HAVE_LUA_H], [/* lua.h */
+m4trace:configure.ac:47: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LUA_H])
+m4trace:configure.ac:47: -1- m4_pattern_allow([^HAVE_LUA_H$])
+m4trace:configure.ac:47: -1- AH_OUTPUT([HAVE_LUA_H], [/* lua.h */
@%:@undef HAVE_LUA_H])
-m4trace:configure.ac:42: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LUA])
-m4trace:configure.ac:42: -1- m4_pattern_allow([^HAVE_LUA$])
-m4trace:configure.ac:42: -1- AH_OUTPUT([HAVE_LUA], [/* liblua */
+m4trace:configure.ac:47: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LUA])
+m4trace:configure.ac:47: -1- m4_pattern_allow([^HAVE_LUA$])
+m4trace:configure.ac:47: -1- AH_OUTPUT([HAVE_LUA], [/* liblua */
@%:@undef HAVE_LUA])
-m4trace:configure.ac:42: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LUA_H])
-m4trace:configure.ac:42: -1- m4_pattern_allow([^HAVE_LUA_H$])
-m4trace:configure.ac:42: -1- AH_OUTPUT([HAVE_LUA_H], [/* lua.h */
+m4trace:configure.ac:47: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LUA_H])
+m4trace:configure.ac:47: -1- m4_pattern_allow([^HAVE_LUA_H$])
+m4trace:configure.ac:47: -1- AH_OUTPUT([HAVE_LUA_H], [/* lua.h */
@%:@undef HAVE_LUA_H])
-m4trace:configure.ac:42: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LUA])
-m4trace:configure.ac:42: -1- m4_pattern_allow([^HAVE_LUA$])
-m4trace:configure.ac:42: -1- AH_OUTPUT([HAVE_LUA], [/* liblua */
+m4trace:configure.ac:47: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LUA])
+m4trace:configure.ac:47: -1- m4_pattern_allow([^HAVE_LUA$])
+m4trace:configure.ac:47: -1- AH_OUTPUT([HAVE_LUA], [/* liblua */
@%:@undef HAVE_LUA])
-m4trace:configure.ac:42: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LUA_H])
-m4trace:configure.ac:42: -1- m4_pattern_allow([^HAVE_LUA_H$])
-m4trace:configure.ac:42: -1- AH_OUTPUT([HAVE_LUA_H], [/* lua.h */
+m4trace:configure.ac:47: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LUA_H])
+m4trace:configure.ac:47: -1- m4_pattern_allow([^HAVE_LUA_H$])
+m4trace:configure.ac:47: -1- AH_OUTPUT([HAVE_LUA_H], [/* lua.h */
@%:@undef HAVE_LUA_H])
-m4trace:configure.ac:56: -1- AC_SUBST([LUA_CFLAGS])
-m4trace:configure.ac:56: -1- AC_SUBST_TRACE([LUA_CFLAGS])
-m4trace:configure.ac:56: -1- m4_pattern_allow([^LUA_CFLAGS$])
-m4trace:configure.ac:57: -1- AC_SUBST([LUA_LIBS])
-m4trace:configure.ac:57: -1- AC_SUBST_TRACE([LUA_LIBS])
-m4trace:configure.ac:57: -1- m4_pattern_allow([^LUA_LIBS$])
-m4trace:configure.ac:62: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+m4trace:configure.ac:61: -1- AC_SUBST([LUA_CFLAGS])
+m4trace:configure.ac:61: -1- AC_SUBST_TRACE([LUA_CFLAGS])
+m4trace:configure.ac:61: -1- m4_pattern_allow([^LUA_CFLAGS$])
+m4trace:configure.ac:62: -1- AC_SUBST([LUA_LIBS])
+m4trace:configure.ac:62: -1- AC_SUBST_TRACE([LUA_LIBS])
+m4trace:configure.ac:62: -1- m4_pattern_allow([^LUA_LIBS$])
+m4trace:configure.ac:67: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
-configure.ac:62: the top level])
-m4trace:configure.ac:73: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS])
-m4trace:configure.ac:73: -1- m4_pattern_allow([^STDC_HEADERS$])
-m4trace:configure.ac:73: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */
+configure.ac:67: the top level])
+m4trace:configure.ac:78: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS])
+m4trace:configure.ac:78: -1- m4_pattern_allow([^STDC_HEADERS$])
+m4trace:configure.ac:78: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */
@%:@undef STDC_HEADERS])
-m4trace:configure.ac:74: -1- AH_OUTPUT([HAVE_FCNTL_H], [/* Define to 1 if you have the <fcntl.h> header file. */
+m4trace:configure.ac:79: -1- AH_OUTPUT([HAVE_FCNTL_H], [/* Define to 1 if you have the <fcntl.h> header file. */
@%:@undef HAVE_FCNTL_H])
-m4trace:configure.ac:74: -1- AH_OUTPUT([HAVE_GETOPT_H], [/* Define to 1 if you have the <getopt.h> header file. */
+m4trace:configure.ac:79: -1- AH_OUTPUT([HAVE_GETOPT_H], [/* Define to 1 if you have the <getopt.h> header file. */
@%:@undef HAVE_GETOPT_H])
-m4trace:configure.ac:74: -1- AH_OUTPUT([HAVE_LIMITS_H], [/* Define to 1 if you have the <limits.h> header file. */
+m4trace:configure.ac:79: -1- AH_OUTPUT([HAVE_LIMITS_H], [/* Define to 1 if you have the <limits.h> header file. */
@%:@undef HAVE_LIMITS_H])
-m4trace:configure.ac:74: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the <strings.h> header file. */
+m4trace:configure.ac:79: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the <strings.h> header file. */
@%:@undef HAVE_STRINGS_H])
-m4trace:configure.ac:74: -1- AH_OUTPUT([HAVE_SYS_TIME_H], [/* Define to 1 if you have the <sys/time.h> header file. */
+m4trace:configure.ac:79: -1- AH_OUTPUT([HAVE_SYS_TIME_H], [/* Define to 1 if you have the <sys/time.h> header file. */
@%:@undef HAVE_SYS_TIME_H])
-m4trace:configure.ac:74: -1- AH_OUTPUT([HAVE_SYSLOG_H], [/* Define to 1 if you have the <syslog.h> header file. */
+m4trace:configure.ac:79: -1- AH_OUTPUT([HAVE_SYSLOG_H], [/* Define to 1 if you have the <syslog.h> header file. */
@%:@undef HAVE_SYSLOG_H])
-m4trace:configure.ac:74: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
+m4trace:configure.ac:79: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
@%:@undef HAVE_UNISTD_H])
-m4trace:configure.ac:77: -1- AC_DEFINE_TRACE_LITERAL([size_t])
-m4trace:configure.ac:77: -1- m4_pattern_allow([^size_t$])
-m4trace:configure.ac:77: -1- AH_OUTPUT([size_t], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
+m4trace:configure.ac:82: -1- AC_DEFINE_TRACE_LITERAL([size_t])
+m4trace:configure.ac:82: -1- m4_pattern_allow([^size_t$])
+m4trace:configure.ac:82: -1- AH_OUTPUT([size_t], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
@%:@undef size_t])
-m4trace:configure.ac:78: -1- AC_DEFINE_TRACE_LITERAL([TIME_WITH_SYS_TIME])
-m4trace:configure.ac:78: -1- m4_pattern_allow([^TIME_WITH_SYS_TIME$])
-m4trace:configure.ac:78: -1- AH_OUTPUT([TIME_WITH_SYS_TIME], [/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
+m4trace:configure.ac:83: -1- AC_DEFINE_TRACE_LITERAL([TIME_WITH_SYS_TIME])
+m4trace:configure.ac:83: -1- m4_pattern_allow([^TIME_WITH_SYS_TIME$])
+m4trace:configure.ac:83: -1- AH_OUTPUT([TIME_WITH_SYS_TIME], [/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
@%:@undef TIME_WITH_SYS_TIME])
-m4trace:configure.ac:79: -1- AC_DEFINE_TRACE_LITERAL([TM_IN_SYS_TIME])
-m4trace:configure.ac:79: -1- m4_pattern_allow([^TM_IN_SYS_TIME$])
-m4trace:configure.ac:79: -1- AH_OUTPUT([TM_IN_SYS_TIME], [/* Define to 1 if your <sys/time.h> declares `struct tm\'. */
+m4trace:configure.ac:84: -1- AC_DEFINE_TRACE_LITERAL([TM_IN_SYS_TIME])
+m4trace:configure.ac:84: -1- m4_pattern_allow([^TM_IN_SYS_TIME$])
+m4trace:configure.ac:84: -1- AH_OUTPUT([TM_IN_SYS_TIME], [/* Define to 1 if your <sys/time.h> declares `struct tm\'. */
@%:@undef TM_IN_SYS_TIME])
-m4trace:configure.ac:82: -1- _m4_warn([obsolete], [The macro `AC_TYPE_SIGNAL' is obsolete.
+m4trace:configure.ac:87: -1- _m4_warn([obsolete], [The macro `AC_TYPE_SIGNAL' is obsolete.
You should run autoupdate.], [../../lib/autoconf/types.m4:738: AC_TYPE_SIGNAL is expanded from...
-configure.ac:82: the top level])
-m4trace:configure.ac:82: -1- AC_DEFINE_TRACE_LITERAL([RETSIGTYPE])
-m4trace:configure.ac:82: -1- m4_pattern_allow([^RETSIGTYPE$])
-m4trace:configure.ac:82: -1- AH_OUTPUT([RETSIGTYPE], [/* Define as the return type of signal handlers (`int\' or `void\'). */
+configure.ac:87: the top level])
+m4trace:configure.ac:87: -1- AC_DEFINE_TRACE_LITERAL([RETSIGTYPE])
+m4trace:configure.ac:87: -1- m4_pattern_allow([^RETSIGTYPE$])
+m4trace:configure.ac:87: -1- AH_OUTPUT([RETSIGTYPE], [/* Define as the return type of signal handlers (`int\' or `void\'). */
@%:@undef RETSIGTYPE])
-m4trace:configure.ac:83: -1- AH_OUTPUT([HAVE_GETHOSTNAME], [/* Define to 1 if you have the `gethostname\' function. */
+m4trace:configure.ac:88: -1- AH_OUTPUT([HAVE_GETHOSTNAME], [/* Define to 1 if you have the `gethostname\' function. */
@%:@undef HAVE_GETHOSTNAME])
-m4trace:configure.ac:83: -1- AH_OUTPUT([HAVE_GETTIMEOFDAY], [/* Define to 1 if you have the `gettimeofday\' function. */
+m4trace:configure.ac:88: -1- AH_OUTPUT([HAVE_GETTIMEOFDAY], [/* Define to 1 if you have the `gettimeofday\' function. */
@%:@undef HAVE_GETTIMEOFDAY])
-m4trace:configure.ac:83: -1- AH_OUTPUT([HAVE_MKDIR], [/* Define to 1 if you have the `mkdir\' function. */
+m4trace:configure.ac:88: -1- AH_OUTPUT([HAVE_MKDIR], [/* Define to 1 if you have the `mkdir\' function. */
@%:@undef HAVE_MKDIR])
-m4trace:configure.ac:83: -1- AH_OUTPUT([HAVE_MKTIME], [/* Define to 1 if you have the `mktime\' function. */
+m4trace:configure.ac:88: -1- AH_OUTPUT([HAVE_MKTIME], [/* Define to 1 if you have the `mktime\' function. */
@%:@undef HAVE_MKTIME])
-m4trace:configure.ac:83: -1- AH_OUTPUT([HAVE_SELECT], [/* Define to 1 if you have the `select\' function. */
+m4trace:configure.ac:88: -1- AH_OUTPUT([HAVE_SELECT], [/* Define to 1 if you have the `select\' function. */
@%:@undef HAVE_SELECT])
-m4trace:configure.ac:83: -1- AH_OUTPUT([HAVE_SOCKET], [/* Define to 1 if you have the `socket\' function. */
+m4trace:configure.ac:88: -1- AH_OUTPUT([HAVE_SOCKET], [/* Define to 1 if you have the `socket\' function. */
@%:@undef HAVE_SOCKET])
-m4trace:configure.ac:83: -1- AH_OUTPUT([HAVE_STRERROR], [/* Define to 1 if you have the `strerror\' function. */
+m4trace:configure.ac:88: -1- AH_OUTPUT([HAVE_STRERROR], [/* Define to 1 if you have the `strerror\' function. */
@%:@undef HAVE_STRERROR])
-m4trace:configure.ac:83: -1- AH_OUTPUT([HAVE_STRCASESTR], [/* Define to 1 if you have the `strcasestr\' function. */
+m4trace:configure.ac:88: -1- AH_OUTPUT([HAVE_STRCASESTR], [/* Define to 1 if you have the `strcasestr\' function. */
@%:@undef HAVE_STRCASESTR])
-m4trace:configure.ac:91: -1- AH_OUTPUT([HAVE_LIBDL], [/* Define to 1 if you have the `dl\' library (-ldl). */
+m4trace:configure.ac:96: -1- AH_OUTPUT([HAVE_LIBDL], [/* Define to 1 if you have the `dl\' library (-ldl). */
@%:@undef HAVE_LIBDL])
-m4trace:configure.ac:91: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBDL])
-m4trace:configure.ac:91: -1- m4_pattern_allow([^HAVE_LIBDL$])
-m4trace:configure.ac:94: -1- AC_SUBST([LIBDL])
-m4trace:configure.ac:94: -1- AC_SUBST_TRACE([LIBDL])
-m4trace:configure.ac:94: -1- m4_pattern_allow([^LIBDL$])
-m4trace:configure.ac:99: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+m4trace:configure.ac:96: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBDL])
+m4trace:configure.ac:96: -1- m4_pattern_allow([^HAVE_LIBDL$])
+m4trace:configure.ac:99: -1- AC_SUBST([LIBDL])
+m4trace:configure.ac:99: -1- AC_SUBST_TRACE([LIBDL])
+m4trace:configure.ac:99: -1- m4_pattern_allow([^LIBDL$])
+m4trace:configure.ac:104: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
You should run autoupdate.], [../../lib/autoconf/general.m4:2688: AC_TRY_LINK is expanded from...
-configure.ac:99: the top level])
-m4trace:configure.ac:106: -1- AC_DEFINE_TRACE_LITERAL([NEED_RTLD_NOW])
-m4trace:configure.ac:106: -1- m4_pattern_allow([^NEED_RTLD_NOW$])
-m4trace:configure.ac:106: -1- AH_OUTPUT([NEED_RTLD_NOW], [/* If host OS misses RTLD_NOW */
+configure.ac:104: the top level])
+m4trace:configure.ac:111: -1- AC_DEFINE_TRACE_LITERAL([NEED_RTLD_NOW])
+m4trace:configure.ac:111: -1- m4_pattern_allow([^NEED_RTLD_NOW$])
+m4trace:configure.ac:111: -1- AH_OUTPUT([NEED_RTLD_NOW], [/* If host OS misses RTLD_NOW */
@%:@undef NEED_RTLD_NOW])
-m4trace:configure.ac:114: -1- AH_OUTPUT([HAVE_LIBCRYPT], [/* Define to 1 if you have the `crypt\' library (-lcrypt). */
+m4trace:configure.ac:119: -1- AH_OUTPUT([HAVE_LIBCRYPT], [/* Define to 1 if you have the `crypt\' library (-lcrypt). */
@%:@undef HAVE_LIBCRYPT])
-m4trace:configure.ac:114: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBCRYPT])
-m4trace:configure.ac:114: -1- m4_pattern_allow([^HAVE_LIBCRYPT$])
-m4trace:configure.ac:117: -1- AC_SUBST([LIBCRYPT])
-m4trace:configure.ac:117: -1- AC_SUBST_TRACE([LIBCRYPT])
-m4trace:configure.ac:117: -1- m4_pattern_allow([^LIBCRYPT$])
-m4trace:configure.ac:122: -1- AM_CONDITIONAL([OS_MACOSX], [false])
-m4trace:configure.ac:122: -1- AC_SUBST([OS_MACOSX_TRUE])
-m4trace:configure.ac:122: -1- AC_SUBST_TRACE([OS_MACOSX_TRUE])
-m4trace:configure.ac:122: -1- m4_pattern_allow([^OS_MACOSX_TRUE$])
-m4trace:configure.ac:122: -1- AC_SUBST([OS_MACOSX_FALSE])
-m4trace:configure.ac:122: -1- AC_SUBST_TRACE([OS_MACOSX_FALSE])
-m4trace:configure.ac:122: -1- m4_pattern_allow([^OS_MACOSX_FALSE$])
-m4trace:configure.ac:122: -1- _AM_SUBST_NOTMAKE([OS_MACOSX_TRUE])
-m4trace:configure.ac:122: -1- _AM_SUBST_NOTMAKE([OS_MACOSX_FALSE])
-m4trace:configure.ac:125: -1- AC_DEFINE_TRACE_LITERAL([HAVE_IPV6])
-m4trace:configure.ac:125: -1- m4_pattern_allow([^HAVE_IPV6$])
-m4trace:configure.ac:125: -1- AH_OUTPUT([HAVE_IPV6], [/* If the host operating system understands IPv6 */
+m4trace:configure.ac:119: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBCRYPT])
+m4trace:configure.ac:119: -1- m4_pattern_allow([^HAVE_LIBCRYPT$])
+m4trace:configure.ac:122: -1- AC_SUBST([LIBCRYPT])
+m4trace:configure.ac:122: -1- AC_SUBST_TRACE([LIBCRYPT])
+m4trace:configure.ac:122: -1- m4_pattern_allow([^LIBCRYPT$])
+m4trace:configure.ac:127: -1- AM_CONDITIONAL([OS_MACOSX], [false])
+m4trace:configure.ac:127: -1- AC_SUBST([OS_MACOSX_TRUE])
+m4trace:configure.ac:127: -1- AC_SUBST_TRACE([OS_MACOSX_TRUE])
+m4trace:configure.ac:127: -1- m4_pattern_allow([^OS_MACOSX_TRUE$])
+m4trace:configure.ac:127: -1- AC_SUBST([OS_MACOSX_FALSE])
+m4trace:configure.ac:127: -1- AC_SUBST_TRACE([OS_MACOSX_FALSE])
+m4trace:configure.ac:127: -1- m4_pattern_allow([^OS_MACOSX_FALSE$])
+m4trace:configure.ac:127: -1- _AM_SUBST_NOTMAKE([OS_MACOSX_TRUE])
+m4trace:configure.ac:127: -1- _AM_SUBST_NOTMAKE([OS_MACOSX_FALSE])
+m4trace:configure.ac:130: -1- AC_DEFINE_TRACE_LITERAL([HAVE_IPV6])
+m4trace:configure.ac:130: -1- m4_pattern_allow([^HAVE_IPV6$])
+m4trace:configure.ac:130: -1- AH_OUTPUT([HAVE_IPV6], [/* If the host operating system understands IPv6 */
@%:@undef HAVE_IPV6])
-m4trace:configure.ac:131: -1- AC_DEFINE_TRACE_LITERAL([NEED_POSIX_TYPEDEF])
-m4trace:configure.ac:131: -1- m4_pattern_allow([^NEED_POSIX_TYPEDEF$])
-m4trace:configure.ac:131: -1- AH_OUTPUT([NEED_POSIX_TYPEDEF], [/* If POSIX typedefs need to be defined */
+m4trace:configure.ac:136: -1- AC_DEFINE_TRACE_LITERAL([NEED_POSIX_TYPEDEF])
+m4trace:configure.ac:136: -1- m4_pattern_allow([^NEED_POSIX_TYPEDEF$])
+m4trace:configure.ac:136: -1- AH_OUTPUT([NEED_POSIX_TYPEDEF], [/* If POSIX typedefs need to be defined */
@%:@undef NEED_POSIX_TYPEDEF])
-m4trace:configure.ac:132: -1- AC_DEFINE_TRACE_LITERAL([NEED_INET_NTOP_PROTO])
-m4trace:configure.ac:132: -1- m4_pattern_allow([^NEED_INET_NTOP_PROTO$])
-m4trace:configure.ac:132: -1- AH_OUTPUT([NEED_INET_NTOP_PROTO], [/* If your OS is so broken that it needs an additional prototype */
+m4trace:configure.ac:137: -1- AC_DEFINE_TRACE_LITERAL([NEED_INET_NTOP_PROTO])
+m4trace:configure.ac:137: -1- m4_pattern_allow([^NEED_INET_NTOP_PROTO$])
+m4trace:configure.ac:137: -1- AH_OUTPUT([NEED_INET_NTOP_PROTO], [/* If your OS is so broken that it needs an additional prototype */
@%:@undef NEED_INET_NTOP_PROTO])
-m4trace:configure.ac:133: -1- AC_DEFINE_TRACE_LITERAL([HAVE_IPV6])
-m4trace:configure.ac:133: -1- m4_pattern_allow([^HAVE_IPV6$])
-m4trace:configure.ac:133: -1- AH_OUTPUT([HAVE_IPV6], [/* If the host operating system understands IPv6 */
+m4trace:configure.ac:138: -1- AC_DEFINE_TRACE_LITERAL([HAVE_IPV6])
+m4trace:configure.ac:138: -1- m4_pattern_allow([^HAVE_IPV6$])
+m4trace:configure.ac:138: -1- AH_OUTPUT([HAVE_IPV6], [/* If the host operating system understands IPv6 */
@%:@undef HAVE_IPV6])
-m4trace:configure.ac:138: -1- AC_DEFINE_TRACE_LITERAL([NEED_POSIX_TYPEDEF])
-m4trace:configure.ac:138: -1- m4_pattern_allow([^NEED_POSIX_TYPEDEF$])
-m4trace:configure.ac:138: -1- AH_OUTPUT([NEED_POSIX_TYPEDEF], [/* If POSIX typedefs need to be defined */
+m4trace:configure.ac:143: -1- AC_DEFINE_TRACE_LITERAL([NEED_POSIX_TYPEDEF])
+m4trace:configure.ac:143: -1- m4_pattern_allow([^NEED_POSIX_TYPEDEF$])
+m4trace:configure.ac:143: -1- AH_OUTPUT([NEED_POSIX_TYPEDEF], [/* If POSIX typedefs need to be defined */
@%:@undef NEED_POSIX_TYPEDEF])
-m4trace:configure.ac:139: -1- AC_DEFINE_TRACE_LITERAL([NEED_INET_NTOP_PROTO])
-m4trace:configure.ac:139: -1- m4_pattern_allow([^NEED_INET_NTOP_PROTO$])
-m4trace:configure.ac:139: -1- AH_OUTPUT([NEED_INET_NTOP_PROTO], [/* If your OS is so broken that it needs an additional prototype */
+m4trace:configure.ac:144: -1- AC_DEFINE_TRACE_LITERAL([NEED_INET_NTOP_PROTO])
+m4trace:configure.ac:144: -1- m4_pattern_allow([^NEED_INET_NTOP_PROTO$])
+m4trace:configure.ac:144: -1- AH_OUTPUT([NEED_INET_NTOP_PROTO], [/* If your OS is so broken that it needs an additional prototype */
@%:@undef NEED_INET_NTOP_PROTO])
-m4trace:configure.ac:144: -1- AC_DEFINE_TRACE_LITERAL([HAVE_IPV6])
-m4trace:configure.ac:144: -1- m4_pattern_allow([^HAVE_IPV6$])
-m4trace:configure.ac:144: -1- AH_OUTPUT([HAVE_IPV6], [/* If the host operating system understands IPv6 */
+m4trace:configure.ac:149: -1- AC_DEFINE_TRACE_LITERAL([HAVE_IPV6])
+m4trace:configure.ac:149: -1- m4_pattern_allow([^HAVE_IPV6$])
+m4trace:configure.ac:149: -1- AH_OUTPUT([HAVE_IPV6], [/* If the host operating system understands IPv6 */
@%:@undef HAVE_IPV6])
-m4trace:configure.ac:151: -1- AC_DEFINE_TRACE_LITERAL([HAVE_IPV6])
-m4trace:configure.ac:151: -1- m4_pattern_allow([^HAVE_IPV6$])
-m4trace:configure.ac:151: -1- AH_OUTPUT([HAVE_IPV6], [/* If the host operating system understands IPv6 */
+m4trace:configure.ac:156: -1- AC_DEFINE_TRACE_LITERAL([HAVE_IPV6])
+m4trace:configure.ac:156: -1- m4_pattern_allow([^HAVE_IPV6$])
+m4trace:configure.ac:156: -1- AH_OUTPUT([HAVE_IPV6], [/* If the host operating system understands IPv6 */
@%:@undef HAVE_IPV6])
-m4trace:configure.ac:155: -1- AM_CONDITIONAL([OS_MACOSX], [true])
-m4trace:configure.ac:155: -1- AC_SUBST([OS_MACOSX_TRUE])
-m4trace:configure.ac:155: -1- AC_SUBST_TRACE([OS_MACOSX_TRUE])
-m4trace:configure.ac:155: -1- m4_pattern_allow([^OS_MACOSX_TRUE$])
-m4trace:configure.ac:155: -1- AC_SUBST([OS_MACOSX_FALSE])
-m4trace:configure.ac:155: -1- AC_SUBST_TRACE([OS_MACOSX_FALSE])
-m4trace:configure.ac:155: -1- m4_pattern_allow([^OS_MACOSX_FALSE$])
-m4trace:configure.ac:155: -1- _AM_SUBST_NOTMAKE([OS_MACOSX_TRUE])
-m4trace:configure.ac:155: -1- _AM_SUBST_NOTMAKE([OS_MACOSX_FALSE])
-m4trace:configure.ac:158: -1- AC_DEFINE_TRACE_LITERAL([HAVE_IPV6])
-m4trace:configure.ac:158: -1- m4_pattern_allow([^HAVE_IPV6$])
-m4trace:configure.ac:158: -1- AH_OUTPUT([HAVE_IPV6], [/* If the host operating system understands IPv6 */
+m4trace:configure.ac:160: -1- AM_CONDITIONAL([OS_MACOSX], [true])
+m4trace:configure.ac:160: -1- AC_SUBST([OS_MACOSX_TRUE])
+m4trace:configure.ac:160: -1- AC_SUBST_TRACE([OS_MACOSX_TRUE])
+m4trace:configure.ac:160: -1- m4_pattern_allow([^OS_MACOSX_TRUE$])
+m4trace:configure.ac:160: -1- AC_SUBST([OS_MACOSX_FALSE])
+m4trace:configure.ac:160: -1- AC_SUBST_TRACE([OS_MACOSX_FALSE])
+m4trace:configure.ac:160: -1- m4_pattern_allow([^OS_MACOSX_FALSE$])
+m4trace:configure.ac:160: -1- _AM_SUBST_NOTMAKE([OS_MACOSX_TRUE])
+m4trace:configure.ac:160: -1- _AM_SUBST_NOTMAKE([OS_MACOSX_FALSE])
+m4trace:configure.ac:163: -1- AC_DEFINE_TRACE_LITERAL([HAVE_IPV6])
+m4trace:configure.ac:163: -1- m4_pattern_allow([^HAVE_IPV6$])
+m4trace:configure.ac:163: -1- AH_OUTPUT([HAVE_IPV6], [/* If the host operating system understands IPv6 */
@%:@undef HAVE_IPV6])
-m4trace:configure.ac:165: -1- AC_SUBST([THREADFLAGS])
-m4trace:configure.ac:165: -1- AC_SUBST_TRACE([THREADFLAGS])
-m4trace:configure.ac:165: -1- m4_pattern_allow([^THREADFLAGS$])
-m4trace:configure.ac:167: -1- AC_SUBST([DYNLINKFLAGS])
-m4trace:configure.ac:167: -1- AC_SUBST_TRACE([DYNLINKFLAGS])
-m4trace:configure.ac:167: -1- m4_pattern_allow([^DYNLINKFLAGS$])
-m4trace:configure.ac:173: -1- AC_DEFINE_TRACE_LITERAL([VERBOSELOG])
-m4trace:configure.ac:173: -1- m4_pattern_allow([^VERBOSELOG$])
-m4trace:configure.ac:173: -1- AH_OUTPUT([VERBOSELOG], [/* If verbose logging should be enabled */
+m4trace:configure.ac:170: -1- AC_SUBST([THREADFLAGS])
+m4trace:configure.ac:170: -1- AC_SUBST_TRACE([THREADFLAGS])
+m4trace:configure.ac:170: -1- m4_pattern_allow([^THREADFLAGS$])
+m4trace:configure.ac:172: -1- AC_SUBST([DYNLINKFLAGS])
+m4trace:configure.ac:172: -1- AC_SUBST_TRACE([DYNLINKFLAGS])
+m4trace:configure.ac:172: -1- m4_pattern_allow([^DYNLINKFLAGS$])
+m4trace:configure.ac:178: -1- AC_DEFINE_TRACE_LITERAL([VERBOSELOG])
+m4trace:configure.ac:178: -1- m4_pattern_allow([^VERBOSELOG$])
+m4trace:configure.ac:178: -1- AH_OUTPUT([VERBOSELOG], [/* If verbose logging should be enabled */
@%:@undef VERBOSELOG])
-m4trace:configure.ac:178: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+m4trace:configure.ac:183: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
../../lib/autoconf/general.m4:1482: AC_ARG_WITH is expanded from...
-configure.ac:178: the top level])
-m4trace:configure.ac:183: -1- AM_CONDITIONAL([HAVE_LIBPOLARSSL], [false])
-m4trace:configure.ac:183: -1- AC_SUBST([HAVE_LIBPOLARSSL_TRUE])
-m4trace:configure.ac:183: -1- AC_SUBST_TRACE([HAVE_LIBPOLARSSL_TRUE])
-m4trace:configure.ac:183: -1- m4_pattern_allow([^HAVE_LIBPOLARSSL_TRUE$])
-m4trace:configure.ac:183: -1- AC_SUBST([HAVE_LIBPOLARSSL_FALSE])
-m4trace:configure.ac:183: -1- AC_SUBST_TRACE([HAVE_LIBPOLARSSL_FALSE])
-m4trace:configure.ac:183: -1- m4_pattern_allow([^HAVE_LIBPOLARSSL_FALSE$])
-m4trace:configure.ac:183: -1- _AM_SUBST_NOTMAKE([HAVE_LIBPOLARSSL_TRUE])
-m4trace:configure.ac:183: -1- _AM_SUBST_NOTMAKE([HAVE_LIBPOLARSSL_FALSE])
-m4trace:configure.ac:200: -1- AH_OUTPUT([HAVE_LIBPOLARSSL], [/* Define to 1 if you have the `polarssl\' library (-lpolarssl). */
+configure.ac:183: the top level])
+m4trace:configure.ac:188: -1- AM_CONDITIONAL([HAVE_LIBPOLARSSL], [false])
+m4trace:configure.ac:188: -1- AC_SUBST([HAVE_LIBPOLARSSL_TRUE])
+m4trace:configure.ac:188: -1- AC_SUBST_TRACE([HAVE_LIBPOLARSSL_TRUE])
+m4trace:configure.ac:188: -1- m4_pattern_allow([^HAVE_LIBPOLARSSL_TRUE$])
+m4trace:configure.ac:188: -1- AC_SUBST([HAVE_LIBPOLARSSL_FALSE])
+m4trace:configure.ac:188: -1- AC_SUBST_TRACE([HAVE_LIBPOLARSSL_FALSE])
+m4trace:configure.ac:188: -1- m4_pattern_allow([^HAVE_LIBPOLARSSL_FALSE$])
+m4trace:configure.ac:188: -1- _AM_SUBST_NOTMAKE([HAVE_LIBPOLARSSL_TRUE])
+m4trace:configure.ac:188: -1- _AM_SUBST_NOTMAKE([HAVE_LIBPOLARSSL_FALSE])
+m4trace:configure.ac:205: -1- AH_OUTPUT([HAVE_LIBPOLARSSL], [/* Define to 1 if you have the `polarssl\' library (-lpolarssl). */
@%:@undef HAVE_LIBPOLARSSL])
-m4trace:configure.ac:200: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBPOLARSSL])
-m4trace:configure.ac:200: -1- m4_pattern_allow([^HAVE_LIBPOLARSSL$])
-m4trace:configure.ac:207: -1- AM_CONDITIONAL([BOTAN110], [test x"$enable_botan110" = "xyes"])
-m4trace:configure.ac:207: -1- AC_SUBST([BOTAN110_TRUE])
-m4trace:configure.ac:207: -1- AC_SUBST_TRACE([BOTAN110_TRUE])
-m4trace:configure.ac:207: -1- m4_pattern_allow([^BOTAN110_TRUE$])
-m4trace:configure.ac:207: -1- AC_SUBST([BOTAN110_FALSE])
-m4trace:configure.ac:207: -1- AC_SUBST_TRACE([BOTAN110_FALSE])
-m4trace:configure.ac:207: -1- m4_pattern_allow([^BOTAN110_FALSE$])
-m4trace:configure.ac:207: -1- _AM_SUBST_NOTMAKE([BOTAN110_TRUE])
-m4trace:configure.ac:207: -1- _AM_SUBST_NOTMAKE([BOTAN110_FALSE])
-m4trace:configure.ac:213: -1- AM_CONDITIONAL([BOTAN18], [test x"$enable_botan18" = "xyes"])
-m4trace:configure.ac:213: -1- AC_SUBST([BOTAN18_TRUE])
-m4trace:configure.ac:213: -1- AC_SUBST_TRACE([BOTAN18_TRUE])
-m4trace:configure.ac:213: -1- m4_pattern_allow([^BOTAN18_TRUE$])
-m4trace:configure.ac:213: -1- AC_SUBST([BOTAN18_FALSE])
-m4trace:configure.ac:213: -1- AC_SUBST_TRACE([BOTAN18_FALSE])
-m4trace:configure.ac:213: -1- m4_pattern_allow([^BOTAN18_FALSE$])
-m4trace:configure.ac:213: -1- _AM_SUBST_NOTMAKE([BOTAN18_TRUE])
-m4trace:configure.ac:213: -1- _AM_SUBST_NOTMAKE([BOTAN18_FALSE])
-m4trace:configure.ac:219: -1- AM_CONDITIONAL([CRYPTOPP], [test x"$enable_cryptopp" = "xyes"])
-m4trace:configure.ac:219: -1- AC_SUBST([CRYPTOPP_TRUE])
-m4trace:configure.ac:219: -1- AC_SUBST_TRACE([CRYPTOPP_TRUE])
-m4trace:configure.ac:219: -1- m4_pattern_allow([^CRYPTOPP_TRUE$])
-m4trace:configure.ac:219: -1- AC_SUBST([CRYPTOPP_FALSE])
-m4trace:configure.ac:219: -1- AC_SUBST_TRACE([CRYPTOPP_FALSE])
-m4trace:configure.ac:219: -1- m4_pattern_allow([^CRYPTOPP_FALSE$])
-m4trace:configure.ac:219: -1- _AM_SUBST_NOTMAKE([CRYPTOPP_TRUE])
-m4trace:configure.ac:219: -1- _AM_SUBST_NOTMAKE([CRYPTOPP_FALSE])
-m4trace:configure.ac:222: -1- AC_SUBST([BOTAN110_CFLAGS])
-m4trace:configure.ac:222: -1- AC_SUBST_TRACE([BOTAN110_CFLAGS])
-m4trace:configure.ac:222: -1- m4_pattern_allow([^BOTAN110_CFLAGS$])
-m4trace:configure.ac:222: -1- AC_SUBST([BOTAN110_LIBS])
-m4trace:configure.ac:222: -1- AC_SUBST_TRACE([BOTAN110_LIBS])
-m4trace:configure.ac:222: -1- m4_pattern_allow([^BOTAN110_LIBS$])
-m4trace:configure.ac:223: -1- AC_SUBST([BOTAN110_LIBS])
-m4trace:configure.ac:223: -1- AC_SUBST_TRACE([BOTAN110_LIBS])
-m4trace:configure.ac:223: -1- m4_pattern_allow([^BOTAN110_LIBS$])
-m4trace:configure.ac:224: -1- AC_SUBST([BOTAN110_CFLAGS])
-m4trace:configure.ac:224: -1- AC_SUBST_TRACE([BOTAN110_CFLAGS])
-m4trace:configure.ac:224: -1- m4_pattern_allow([^BOTAN110_CFLAGS$])
-m4trace:configure.ac:225: -1- AC_DEFINE_TRACE_LITERAL([HAVE_BOTAN110])
-m4trace:configure.ac:225: -1- m4_pattern_allow([^HAVE_BOTAN110$])
-m4trace:configure.ac:225: -1- AH_OUTPUT([HAVE_BOTAN110], [/* If we have botan 1.10 */
+m4trace:configure.ac:205: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBPOLARSSL])
+m4trace:configure.ac:205: -1- m4_pattern_allow([^HAVE_LIBPOLARSSL$])
+m4trace:configure.ac:212: -1- AM_CONDITIONAL([BOTAN110], [test x"$enable_botan110" = "xyes"])
+m4trace:configure.ac:212: -1- AC_SUBST([BOTAN110_TRUE])
+m4trace:configure.ac:212: -1- AC_SUBST_TRACE([BOTAN110_TRUE])
+m4trace:configure.ac:212: -1- m4_pattern_allow([^BOTAN110_TRUE$])
+m4trace:configure.ac:212: -1- AC_SUBST([BOTAN110_FALSE])
+m4trace:configure.ac:212: -1- AC_SUBST_TRACE([BOTAN110_FALSE])
+m4trace:configure.ac:212: -1- m4_pattern_allow([^BOTAN110_FALSE$])
+m4trace:configure.ac:212: -1- _AM_SUBST_NOTMAKE([BOTAN110_TRUE])
+m4trace:configure.ac:212: -1- _AM_SUBST_NOTMAKE([BOTAN110_FALSE])
+m4trace:configure.ac:218: -1- AM_CONDITIONAL([BOTAN18], [test x"$enable_botan18" = "xyes"])
+m4trace:configure.ac:218: -1- AC_SUBST([BOTAN18_TRUE])
+m4trace:configure.ac:218: -1- AC_SUBST_TRACE([BOTAN18_TRUE])
+m4trace:configure.ac:218: -1- m4_pattern_allow([^BOTAN18_TRUE$])
+m4trace:configure.ac:218: -1- AC_SUBST([BOTAN18_FALSE])
+m4trace:configure.ac:218: -1- AC_SUBST_TRACE([BOTAN18_FALSE])
+m4trace:configure.ac:218: -1- m4_pattern_allow([^BOTAN18_FALSE$])
+m4trace:configure.ac:218: -1- _AM_SUBST_NOTMAKE([BOTAN18_TRUE])
+m4trace:configure.ac:218: -1- _AM_SUBST_NOTMAKE([BOTAN18_FALSE])
+m4trace:configure.ac:224: -1- AM_CONDITIONAL([CRYPTOPP], [test x"$enable_cryptopp" = "xyes"])
+m4trace:configure.ac:224: -1- AC_SUBST([CRYPTOPP_TRUE])
+m4trace:configure.ac:224: -1- AC_SUBST_TRACE([CRYPTOPP_TRUE])
+m4trace:configure.ac:224: -1- m4_pattern_allow([^CRYPTOPP_TRUE$])
+m4trace:configure.ac:224: -1- AC_SUBST([CRYPTOPP_FALSE])
+m4trace:configure.ac:224: -1- AC_SUBST_TRACE([CRYPTOPP_FALSE])
+m4trace:configure.ac:224: -1- m4_pattern_allow([^CRYPTOPP_FALSE$])
+m4trace:configure.ac:224: -1- _AM_SUBST_NOTMAKE([CRYPTOPP_TRUE])
+m4trace:configure.ac:224: -1- _AM_SUBST_NOTMAKE([CRYPTOPP_FALSE])
+m4trace:configure.ac:227: -1- AC_SUBST([BOTAN110_CFLAGS])
+m4trace:configure.ac:227: -1- AC_SUBST_TRACE([BOTAN110_CFLAGS])
+m4trace:configure.ac:227: -1- m4_pattern_allow([^BOTAN110_CFLAGS$])
+m4trace:configure.ac:227: -1- AC_SUBST([BOTAN110_LIBS])
+m4trace:configure.ac:227: -1- AC_SUBST_TRACE([BOTAN110_LIBS])
+m4trace:configure.ac:227: -1- m4_pattern_allow([^BOTAN110_LIBS$])
+m4trace:configure.ac:228: -1- AC_SUBST([BOTAN110_LIBS])
+m4trace:configure.ac:228: -1- AC_SUBST_TRACE([BOTAN110_LIBS])
+m4trace:configure.ac:228: -1- m4_pattern_allow([^BOTAN110_LIBS$])
+m4trace:configure.ac:229: -1- AC_SUBST([BOTAN110_CFLAGS])
+m4trace:configure.ac:229: -1- AC_SUBST_TRACE([BOTAN110_CFLAGS])
+m4trace:configure.ac:229: -1- m4_pattern_allow([^BOTAN110_CFLAGS$])
+m4trace:configure.ac:230: -1- AC_DEFINE_TRACE_LITERAL([HAVE_BOTAN110])
+m4trace:configure.ac:230: -1- m4_pattern_allow([^HAVE_BOTAN110$])
+m4trace:configure.ac:230: -1- AH_OUTPUT([HAVE_BOTAN110], [/* If we have botan 1.10 */
@%:@undef HAVE_BOTAN110])
-m4trace:configure.ac:230: -1- AC_SUBST([BOTAN18_CFLAGS])
-m4trace:configure.ac:230: -1- AC_SUBST_TRACE([BOTAN18_CFLAGS])
-m4trace:configure.ac:230: -1- m4_pattern_allow([^BOTAN18_CFLAGS$])
-m4trace:configure.ac:230: -1- AC_SUBST([BOTAN18_LIBS])
-m4trace:configure.ac:230: -1- AC_SUBST_TRACE([BOTAN18_LIBS])
-m4trace:configure.ac:230: -1- m4_pattern_allow([^BOTAN18_LIBS$])
-m4trace:configure.ac:231: -1- AC_SUBST([BOTAN18_LIBS])
-m4trace:configure.ac:231: -1- AC_SUBST_TRACE([BOTAN18_LIBS])
-m4trace:configure.ac:231: -1- m4_pattern_allow([^BOTAN18_LIBS$])
-m4trace:configure.ac:232: -1- AC_SUBST([BOTAN18_CFLAGS])
-m4trace:configure.ac:232: -1- AC_SUBST_TRACE([BOTAN18_CFLAGS])
-m4trace:configure.ac:232: -1- m4_pattern_allow([^BOTAN18_CFLAGS$])
-m4trace:configure.ac:233: -1- AC_DEFINE_TRACE_LITERAL([HAVE_BOTAN18])
-m4trace:configure.ac:233: -1- m4_pattern_allow([^HAVE_BOTAN18$])
-m4trace:configure.ac:233: -1- AH_OUTPUT([HAVE_BOTAN18], [/* If we have botan 1.8 */
+m4trace:configure.ac:235: -1- AC_SUBST([BOTAN18_CFLAGS])
+m4trace:configure.ac:235: -1- AC_SUBST_TRACE([BOTAN18_CFLAGS])
+m4trace:configure.ac:235: -1- m4_pattern_allow([^BOTAN18_CFLAGS$])
+m4trace:configure.ac:235: -1- AC_SUBST([BOTAN18_LIBS])
+m4trace:configure.ac:235: -1- AC_SUBST_TRACE([BOTAN18_LIBS])
+m4trace:configure.ac:235: -1- m4_pattern_allow([^BOTAN18_LIBS$])
+m4trace:configure.ac:236: -1- AC_SUBST([BOTAN18_LIBS])
+m4trace:configure.ac:236: -1- AC_SUBST_TRACE([BOTAN18_LIBS])
+m4trace:configure.ac:236: -1- m4_pattern_allow([^BOTAN18_LIBS$])
+m4trace:configure.ac:237: -1- AC_SUBST([BOTAN18_CFLAGS])
+m4trace:configure.ac:237: -1- AC_SUBST_TRACE([BOTAN18_CFLAGS])
+m4trace:configure.ac:237: -1- m4_pattern_allow([^BOTAN18_CFLAGS$])
+m4trace:configure.ac:238: -1- AC_DEFINE_TRACE_LITERAL([HAVE_BOTAN18])
+m4trace:configure.ac:238: -1- m4_pattern_allow([^HAVE_BOTAN18$])
+m4trace:configure.ac:238: -1- AH_OUTPUT([HAVE_BOTAN18], [/* If we have botan 1.8 */
@%:@undef HAVE_BOTAN18])
-m4trace:configure.ac:239: -1- AM_CONDITIONAL([REMOTEBACKEND_HTTP], [test x"$enable_remotebackend_http" = "xyes"])
-m4trace:configure.ac:239: -1- AC_SUBST([REMOTEBACKEND_HTTP_TRUE])
-m4trace:configure.ac:239: -1- AC_SUBST_TRACE([REMOTEBACKEND_HTTP_TRUE])
-m4trace:configure.ac:239: -1- m4_pattern_allow([^REMOTEBACKEND_HTTP_TRUE$])
-m4trace:configure.ac:239: -1- AC_SUBST([REMOTEBACKEND_HTTP_FALSE])
-m4trace:configure.ac:239: -1- AC_SUBST_TRACE([REMOTEBACKEND_HTTP_FALSE])
-m4trace:configure.ac:239: -1- m4_pattern_allow([^REMOTEBACKEND_HTTP_FALSE$])
-m4trace:configure.ac:239: -1- _AM_SUBST_NOTMAKE([REMOTEBACKEND_HTTP_TRUE])
-m4trace:configure.ac:239: -1- _AM_SUBST_NOTMAKE([REMOTEBACKEND_HTTP_FALSE])
-m4trace:configure.ac:242: -1- AC_SUBST([LIBCURL_CFLAGS])
-m4trace:configure.ac:242: -1- AC_SUBST_TRACE([LIBCURL_CFLAGS])
-m4trace:configure.ac:242: -1- m4_pattern_allow([^LIBCURL_CFLAGS$])
-m4trace:configure.ac:242: -1- AC_SUBST([LIBCURL_LIBS])
-m4trace:configure.ac:242: -1- AC_SUBST_TRACE([LIBCURL_LIBS])
-m4trace:configure.ac:242: -1- m4_pattern_allow([^LIBCURL_LIBS$])
-m4trace:configure.ac:243: -1- AC_SUBST([LIBCURL_LIBS])
-m4trace:configure.ac:243: -1- AC_SUBST_TRACE([LIBCURL_LIBS])
-m4trace:configure.ac:243: -1- m4_pattern_allow([^LIBCURL_LIBS$])
-m4trace:configure.ac:244: -1- AC_SUBST([LIBCURL_CFLAGS])
-m4trace:configure.ac:244: -1- AC_SUBST_TRACE([LIBCURL_CFLAGS])
-m4trace:configure.ac:244: -1- m4_pattern_allow([^LIBCURL_CFLAGS$])
-m4trace:configure.ac:245: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBCURL])
-m4trace:configure.ac:245: -1- m4_pattern_allow([^HAVE_LIBCURL$])
-m4trace:configure.ac:245: -1- AH_OUTPUT([HAVE_LIBCURL], [/* If we have libcurl */
+m4trace:configure.ac:244: -1- AM_CONDITIONAL([REMOTEBACKEND_HTTP], [test x"$enable_remotebackend_http" = "xyes"])
+m4trace:configure.ac:244: -1- AC_SUBST([REMOTEBACKEND_HTTP_TRUE])
+m4trace:configure.ac:244: -1- AC_SUBST_TRACE([REMOTEBACKEND_HTTP_TRUE])
+m4trace:configure.ac:244: -1- m4_pattern_allow([^REMOTEBACKEND_HTTP_TRUE$])
+m4trace:configure.ac:244: -1- AC_SUBST([REMOTEBACKEND_HTTP_FALSE])
+m4trace:configure.ac:244: -1- AC_SUBST_TRACE([REMOTEBACKEND_HTTP_FALSE])
+m4trace:configure.ac:244: -1- m4_pattern_allow([^REMOTEBACKEND_HTTP_FALSE$])
+m4trace:configure.ac:244: -1- _AM_SUBST_NOTMAKE([REMOTEBACKEND_HTTP_TRUE])
+m4trace:configure.ac:244: -1- _AM_SUBST_NOTMAKE([REMOTEBACKEND_HTTP_FALSE])
+m4trace:configure.ac:247: -1- AC_SUBST([LIBCURL_CFLAGS])
+m4trace:configure.ac:247: -1- AC_SUBST_TRACE([LIBCURL_CFLAGS])
+m4trace:configure.ac:247: -1- m4_pattern_allow([^LIBCURL_CFLAGS$])
+m4trace:configure.ac:247: -1- AC_SUBST([LIBCURL_LIBS])
+m4trace:configure.ac:247: -1- AC_SUBST_TRACE([LIBCURL_LIBS])
+m4trace:configure.ac:247: -1- m4_pattern_allow([^LIBCURL_LIBS$])
+m4trace:configure.ac:248: -1- AC_SUBST([LIBCURL_LIBS])
+m4trace:configure.ac:248: -1- AC_SUBST_TRACE([LIBCURL_LIBS])
+m4trace:configure.ac:248: -1- m4_pattern_allow([^LIBCURL_LIBS$])
+m4trace:configure.ac:249: -1- AC_SUBST([LIBCURL_CFLAGS])
+m4trace:configure.ac:249: -1- AC_SUBST_TRACE([LIBCURL_CFLAGS])
+m4trace:configure.ac:249: -1- m4_pattern_allow([^LIBCURL_CFLAGS$])
+m4trace:configure.ac:250: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBCURL])
+m4trace:configure.ac:250: -1- m4_pattern_allow([^HAVE_LIBCURL$])
+m4trace:configure.ac:250: -1- AH_OUTPUT([HAVE_LIBCURL], [/* If we have libcurl */
@%:@undef HAVE_LIBCURL])
-m4trace:configure.ac:246: -1- AC_DEFINE_TRACE_LITERAL([REMOTEBACKEND_HTTP])
-m4trace:configure.ac:246: -1- m4_pattern_allow([^REMOTEBACKEND_HTTP$])
-m4trace:configure.ac:246: -1- AH_OUTPUT([REMOTEBACKEND_HTTP], [/* If we want HTTP connector */
+m4trace:configure.ac:251: -1- AC_DEFINE_TRACE_LITERAL([REMOTEBACKEND_HTTP])
+m4trace:configure.ac:251: -1- m4_pattern_allow([^REMOTEBACKEND_HTTP$])
+m4trace:configure.ac:251: -1- AH_OUTPUT([REMOTEBACKEND_HTTP], [/* If we want HTTP connector */
@%:@undef REMOTEBACKEND_HTTP])
-m4trace:configure.ac:260: -1- AM_CONDITIONAL([ALLSTATIC], [test x$static = xtrue])
-m4trace:configure.ac:260: -1- AC_SUBST([ALLSTATIC_TRUE])
-m4trace:configure.ac:260: -1- AC_SUBST_TRACE([ALLSTATIC_TRUE])
-m4trace:configure.ac:260: -1- m4_pattern_allow([^ALLSTATIC_TRUE$])
-m4trace:configure.ac:260: -1- AC_SUBST([ALLSTATIC_FALSE])
-m4trace:configure.ac:260: -1- AC_SUBST_TRACE([ALLSTATIC_FALSE])
-m4trace:configure.ac:260: -1- m4_pattern_allow([^ALLSTATIC_FALSE$])
-m4trace:configure.ac:260: -1- _AM_SUBST_NOTMAKE([ALLSTATIC_TRUE])
-m4trace:configure.ac:260: -1- _AM_SUBST_NOTMAKE([ALLSTATIC_FALSE])
-m4trace:configure.ac:283: -1- AC_SUBST([socketdir])
-m4trace:configure.ac:283: -1- AC_SUBST_TRACE([socketdir])
-m4trace:configure.ac:283: -1- m4_pattern_allow([^socketdir$])
-m4trace:configure.ac:290: -1- AC_SUBST([moduledirs])
-m4trace:configure.ac:290: -1- AC_SUBST_TRACE([moduledirs])
-m4trace:configure.ac:290: -1- m4_pattern_allow([^moduledirs$])
-m4trace:configure.ac:291: -1- AC_SUBST([moduleobjects])
-m4trace:configure.ac:291: -1- AC_SUBST_TRACE([moduleobjects])
-m4trace:configure.ac:291: -1- m4_pattern_allow([^moduleobjects$])
-m4trace:configure.ac:292: -1- AC_SUBST([modulelibs])
-m4trace:configure.ac:292: -1- AC_SUBST_TRACE([modulelibs])
-m4trace:configure.ac:292: -1- m4_pattern_allow([^modulelibs$])
-m4trace:configure.ac:307: -1- AC_SUBST([programdescend])
-m4trace:configure.ac:307: -1- AC_SUBST_TRACE([programdescend])
-m4trace:configure.ac:307: -1- m4_pattern_allow([^programdescend$])
-m4trace:configure.ac:311: -2- AC_DEFINE_TRACE_LITERAL([GCC_SKIP_LOCKING])
-m4trace:configure.ac:311: -2- m4_pattern_allow([^GCC_SKIP_LOCKING$])
-m4trace:configure.ac:311: -2- AH_OUTPUT([GCC_SKIP_LOCKING], [/* Skip gcc locking */
+m4trace:configure.ac:265: -1- AM_CONDITIONAL([ALLSTATIC], [test x$static = xtrue])
+m4trace:configure.ac:265: -1- AC_SUBST([ALLSTATIC_TRUE])
+m4trace:configure.ac:265: -1- AC_SUBST_TRACE([ALLSTATIC_TRUE])
+m4trace:configure.ac:265: -1- m4_pattern_allow([^ALLSTATIC_TRUE$])
+m4trace:configure.ac:265: -1- AC_SUBST([ALLSTATIC_FALSE])
+m4trace:configure.ac:265: -1- AC_SUBST_TRACE([ALLSTATIC_FALSE])
+m4trace:configure.ac:265: -1- m4_pattern_allow([^ALLSTATIC_FALSE$])
+m4trace:configure.ac:265: -1- _AM_SUBST_NOTMAKE([ALLSTATIC_TRUE])
+m4trace:configure.ac:265: -1- _AM_SUBST_NOTMAKE([ALLSTATIC_FALSE])
+m4trace:configure.ac:288: -1- AC_SUBST([socketdir])
+m4trace:configure.ac:288: -1- AC_SUBST_TRACE([socketdir])
+m4trace:configure.ac:288: -1- m4_pattern_allow([^socketdir$])
+m4trace:configure.ac:295: -1- AC_SUBST([moduledirs])
+m4trace:configure.ac:295: -1- AC_SUBST_TRACE([moduledirs])
+m4trace:configure.ac:295: -1- m4_pattern_allow([^moduledirs$])
+m4trace:configure.ac:296: -1- AC_SUBST([moduleobjects])
+m4trace:configure.ac:296: -1- AC_SUBST_TRACE([moduleobjects])
+m4trace:configure.ac:296: -1- m4_pattern_allow([^moduleobjects$])
+m4trace:configure.ac:297: -1- AC_SUBST([modulelibs])
+m4trace:configure.ac:297: -1- AC_SUBST_TRACE([modulelibs])
+m4trace:configure.ac:297: -1- m4_pattern_allow([^modulelibs$])
+m4trace:configure.ac:312: -1- AC_SUBST([programdescend])
+m4trace:configure.ac:312: -1- AC_SUBST_TRACE([programdescend])
+m4trace:configure.ac:312: -1- m4_pattern_allow([^programdescend$])
+m4trace:configure.ac:316: -2- AC_DEFINE_TRACE_LITERAL([GCC_SKIP_LOCKING])
+m4trace:configure.ac:316: -2- m4_pattern_allow([^GCC_SKIP_LOCKING$])
+m4trace:configure.ac:316: -2- AH_OUTPUT([GCC_SKIP_LOCKING], [/* Skip gcc locking */
@%:@undef GCC_SKIP_LOCKING])
-m4trace:configure.ac:321: -1- AM_CONDITIONAL([RECURSOR], [test x"$enable_recursor" = "xyes"])
-m4trace:configure.ac:321: -1- AC_SUBST([RECURSOR_TRUE])
-m4trace:configure.ac:321: -1- AC_SUBST_TRACE([RECURSOR_TRUE])
-m4trace:configure.ac:321: -1- m4_pattern_allow([^RECURSOR_TRUE$])
-m4trace:configure.ac:321: -1- AC_SUBST([RECURSOR_FALSE])
-m4trace:configure.ac:321: -1- AC_SUBST_TRACE([RECURSOR_FALSE])
-m4trace:configure.ac:321: -1- m4_pattern_allow([^RECURSOR_FALSE$])
-m4trace:configure.ac:321: -1- _AM_SUBST_NOTMAKE([RECURSOR_TRUE])
-m4trace:configure.ac:321: -1- _AM_SUBST_NOTMAKE([RECURSOR_FALSE])
-m4trace:configure.ac:342: -1- AH_OUTPUT([HAVE_LDAP_H], [/* Define to 1 if you have the <ldap.h> header file. */
+m4trace:configure.ac:326: -1- AM_CONDITIONAL([RECURSOR], [test x"$enable_recursor" = "xyes"])
+m4trace:configure.ac:326: -1- AC_SUBST([RECURSOR_TRUE])
+m4trace:configure.ac:326: -1- AC_SUBST_TRACE([RECURSOR_TRUE])
+m4trace:configure.ac:326: -1- m4_pattern_allow([^RECURSOR_TRUE$])
+m4trace:configure.ac:326: -1- AC_SUBST([RECURSOR_FALSE])
+m4trace:configure.ac:326: -1- AC_SUBST_TRACE([RECURSOR_FALSE])
+m4trace:configure.ac:326: -1- m4_pattern_allow([^RECURSOR_FALSE$])
+m4trace:configure.ac:326: -1- _AM_SUBST_NOTMAKE([RECURSOR_TRUE])
+m4trace:configure.ac:326: -1- _AM_SUBST_NOTMAKE([RECURSOR_FALSE])
+m4trace:configure.ac:347: -1- AH_OUTPUT([HAVE_LDAP_H], [/* Define to 1 if you have the <ldap.h> header file. */
@%:@undef HAVE_LDAP_H])
-m4trace:configure.ac:342: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LDAP_H])
-m4trace:configure.ac:342: -1- m4_pattern_allow([^HAVE_LDAP_H$])
-m4trace:configure.ac:343: -1- AH_OUTPUT([HAVE_LBER_H], [/* Define to 1 if you have the <lber.h> header file. */
+m4trace:configure.ac:347: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LDAP_H])
+m4trace:configure.ac:347: -1- m4_pattern_allow([^HAVE_LDAP_H$])
+m4trace:configure.ac:348: -1- AH_OUTPUT([HAVE_LBER_H], [/* Define to 1 if you have the <lber.h> header file. */
@%:@undef HAVE_LBER_H])
-m4trace:configure.ac:343: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LBER_H])
-m4trace:configure.ac:343: -1- m4_pattern_allow([^HAVE_LBER_H$])
-m4trace:configure.ac:344: -1- AC_SUBST([LIBLDAP])
-m4trace:configure.ac:344: -1- AC_SUBST_TRACE([LIBLDAP])
-m4trace:configure.ac:344: -1- m4_pattern_allow([^LIBLDAP$])
-m4trace:configure.ac:345: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBLDAP_R])
-m4trace:configure.ac:345: -1- m4_pattern_allow([^HAVE_LIBLDAP_R$])
-m4trace:configure.ac:345: -1- AH_OUTPUT([HAVE_LIBLDAP_R], [/* Have -lldap_r */
+m4trace:configure.ac:348: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LBER_H])
+m4trace:configure.ac:348: -1- m4_pattern_allow([^HAVE_LBER_H$])
+m4trace:configure.ac:349: -1- AC_SUBST([LIBLDAP])
+m4trace:configure.ac:349: -1- AC_SUBST_TRACE([LIBLDAP])
+m4trace:configure.ac:349: -1- m4_pattern_allow([^LIBLDAP$])
+m4trace:configure.ac:350: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBLDAP_R])
+m4trace:configure.ac:350: -1- m4_pattern_allow([^HAVE_LIBLDAP_R$])
+m4trace:configure.ac:350: -1- AH_OUTPUT([HAVE_LIBLDAP_R], [/* Have -lldap_r */
@%:@undef HAVE_LIBLDAP_R])
-m4trace:configure.ac:345: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBLDAP])
-m4trace:configure.ac:345: -1- m4_pattern_allow([^HAVE_LIBLDAP$])
-m4trace:configure.ac:345: -1- AH_OUTPUT([HAVE_LIBLDAP], [/* Have -lldap */
+m4trace:configure.ac:350: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBLDAP])
+m4trace:configure.ac:350: -1- m4_pattern_allow([^HAVE_LIBLDAP$])
+m4trace:configure.ac:350: -1- AH_OUTPUT([HAVE_LIBLDAP], [/* Have -lldap */
@%:@undef HAVE_LIBLDAP])
-m4trace:configure.ac:354: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LDAP_INITIALIZE])
-m4trace:configure.ac:354: -1- m4_pattern_allow([^HAVE_LDAP_INITIALIZE$])
-m4trace:configure.ac:354: -1- AH_OUTPUT([HAVE_LDAP_INITIALIZE], [/* Define to 1 if you have ldap_initialize */
+m4trace:configure.ac:359: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LDAP_INITIALIZE])
+m4trace:configure.ac:359: -1- m4_pattern_allow([^HAVE_LDAP_INITIALIZE$])
+m4trace:configure.ac:359: -1- AH_OUTPUT([HAVE_LDAP_INITIALIZE], [/* Define to 1 if you have ldap_initialize */
@%:@undef HAVE_LDAP_INITIALIZE])
-m4trace:configure.ac:358: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LDAP_SASL_BIND])
-m4trace:configure.ac:358: -1- m4_pattern_allow([^HAVE_LDAP_SASL_BIND$])
-m4trace:configure.ac:358: -1- AH_OUTPUT([HAVE_LDAP_SASL_BIND], [/* Define to 1 if you have ldap_sasl_bind */
+m4trace:configure.ac:363: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LDAP_SASL_BIND])
+m4trace:configure.ac:363: -1- m4_pattern_allow([^HAVE_LDAP_SASL_BIND$])
+m4trace:configure.ac:363: -1- AH_OUTPUT([HAVE_LDAP_SASL_BIND], [/* Define to 1 if you have ldap_sasl_bind */
@%:@undef HAVE_LDAP_SASL_BIND])
-m4trace:configure.ac:367: -1- AH_OUTPUT([HAVE_ODBX_H], [/* Define to 1 if you have the <odbx.h> header file. */
+m4trace:configure.ac:372: -1- AH_OUTPUT([HAVE_ODBX_H], [/* Define to 1 if you have the <odbx.h> header file. */
@%:@undef HAVE_ODBX_H])
-m4trace:configure.ac:367: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ODBX_H])
-m4trace:configure.ac:367: -1- m4_pattern_allow([^HAVE_ODBX_H$])
-m4trace:configure.ac:368: -1- AC_SUBST([LIBOPENDBX])
-m4trace:configure.ac:368: -1- AC_SUBST_TRACE([LIBOPENDBX])
-m4trace:configure.ac:368: -1- m4_pattern_allow([^LIBOPENDBX$])
-m4trace:configure.ac:369: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBOPENDBX])
-m4trace:configure.ac:369: -1- m4_pattern_allow([^HAVE_LIBOPENDBX$])
-m4trace:configure.ac:369: -1- AH_OUTPUT([HAVE_LIBOPENDBX], [/* Have -lopendbx */
+m4trace:configure.ac:372: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ODBX_H])
+m4trace:configure.ac:372: -1- m4_pattern_allow([^HAVE_ODBX_H$])
+m4trace:configure.ac:373: -1- AC_SUBST([LIBOPENDBX])
+m4trace:configure.ac:373: -1- AC_SUBST_TRACE([LIBOPENDBX])
+m4trace:configure.ac:373: -1- m4_pattern_allow([^LIBOPENDBX$])
+m4trace:configure.ac:374: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBOPENDBX])
+m4trace:configure.ac:374: -1- m4_pattern_allow([^HAVE_LIBOPENDBX$])
+m4trace:configure.ac:374: -1- AH_OUTPUT([HAVE_LIBOPENDBX], [/* Have -lopendbx */
@%:@undef HAVE_LIBOPENDBX])
-m4trace:configure.ac:459: -1- AC_SUBST([MYSQL_lib])
-m4trace:configure.ac:459: -1- AC_SUBST_TRACE([MYSQL_lib])
-m4trace:configure.ac:459: -1- m4_pattern_allow([^MYSQL_lib$])
-m4trace:configure.ac:481: -1- AC_SUBST([MYSQL_lib])
-m4trace:configure.ac:481: -1- AC_SUBST_TRACE([MYSQL_lib])
-m4trace:configure.ac:481: -1- m4_pattern_allow([^MYSQL_lib$])
-m4trace:configure.ac:482: -1- AC_SUBST([MYSQL_inc])
-m4trace:configure.ac:482: -1- AC_SUBST_TRACE([MYSQL_inc])
-m4trace:configure.ac:482: -1- m4_pattern_allow([^MYSQL_inc$])
-m4trace:configure.ac:524: -1- AC_SUBST([PGSQL_lib])
-m4trace:configure.ac:524: -1- AC_SUBST_TRACE([PGSQL_lib])
-m4trace:configure.ac:524: -1- m4_pattern_allow([^PGSQL_lib$])
-m4trace:configure.ac:542: -1- AC_SUBST([PGSQL_incdir])
-m4trace:configure.ac:542: -1- AC_SUBST_TRACE([PGSQL_incdir])
-m4trace:configure.ac:542: -1- m4_pattern_allow([^PGSQL_incdir$])
-m4trace:configure.ac:548: -1- AC_SUBST([SQLITE3_CFLAGS])
-m4trace:configure.ac:548: -1- AC_SUBST_TRACE([SQLITE3_CFLAGS])
-m4trace:configure.ac:548: -1- m4_pattern_allow([^SQLITE3_CFLAGS$])
-m4trace:configure.ac:548: -1- AC_SUBST([SQLITE3_LIBS])
-m4trace:configure.ac:548: -1- AC_SUBST_TRACE([SQLITE3_LIBS])
-m4trace:configure.ac:548: -1- m4_pattern_allow([^SQLITE3_LIBS$])
-m4trace:configure.ac:549: -1- AC_SUBST([SQLITE3_LIBS])
-m4trace:configure.ac:549: -1- AC_SUBST_TRACE([SQLITE3_LIBS])
-m4trace:configure.ac:549: -1- m4_pattern_allow([^SQLITE3_LIBS$])
-m4trace:configure.ac:550: -1- AC_SUBST([SQLITE3_CFLAGS])
-m4trace:configure.ac:550: -1- AC_SUBST_TRACE([SQLITE3_CFLAGS])
-m4trace:configure.ac:550: -1- m4_pattern_allow([^SQLITE3_CFLAGS$])
-m4trace:configure.ac:551: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SQLITE3])
-m4trace:configure.ac:551: -1- m4_pattern_allow([^HAVE_SQLITE3$])
-m4trace:configure.ac:551: -1- AH_OUTPUT([HAVE_SQLITE3], [/* If we have sqlite3 */
+m4trace:configure.ac:464: -1- AC_SUBST([MYSQL_lib])
+m4trace:configure.ac:464: -1- AC_SUBST_TRACE([MYSQL_lib])
+m4trace:configure.ac:464: -1- m4_pattern_allow([^MYSQL_lib$])
+m4trace:configure.ac:486: -1- AC_SUBST([MYSQL_lib])
+m4trace:configure.ac:486: -1- AC_SUBST_TRACE([MYSQL_lib])
+m4trace:configure.ac:486: -1- m4_pattern_allow([^MYSQL_lib$])
+m4trace:configure.ac:487: -1- AC_SUBST([MYSQL_inc])
+m4trace:configure.ac:487: -1- AC_SUBST_TRACE([MYSQL_inc])
+m4trace:configure.ac:487: -1- m4_pattern_allow([^MYSQL_inc$])
+m4trace:configure.ac:529: -1- AC_SUBST([PGSQL_lib])
+m4trace:configure.ac:529: -1- AC_SUBST_TRACE([PGSQL_lib])
+m4trace:configure.ac:529: -1- m4_pattern_allow([^PGSQL_lib$])
+m4trace:configure.ac:547: -1- AC_SUBST([PGSQL_incdir])
+m4trace:configure.ac:547: -1- AC_SUBST_TRACE([PGSQL_incdir])
+m4trace:configure.ac:547: -1- m4_pattern_allow([^PGSQL_incdir$])
+m4trace:configure.ac:553: -1- AC_SUBST([SQLITE3_CFLAGS])
+m4trace:configure.ac:553: -1- AC_SUBST_TRACE([SQLITE3_CFLAGS])
+m4trace:configure.ac:553: -1- m4_pattern_allow([^SQLITE3_CFLAGS$])
+m4trace:configure.ac:553: -1- AC_SUBST([SQLITE3_LIBS])
+m4trace:configure.ac:553: -1- AC_SUBST_TRACE([SQLITE3_LIBS])
+m4trace:configure.ac:553: -1- m4_pattern_allow([^SQLITE3_LIBS$])
+m4trace:configure.ac:554: -1- AC_SUBST([SQLITE3_LIBS])
+m4trace:configure.ac:554: -1- AC_SUBST_TRACE([SQLITE3_LIBS])
+m4trace:configure.ac:554: -1- m4_pattern_allow([^SQLITE3_LIBS$])
+m4trace:configure.ac:555: -1- AC_SUBST([SQLITE3_CFLAGS])
+m4trace:configure.ac:555: -1- AC_SUBST_TRACE([SQLITE3_CFLAGS])
+m4trace:configure.ac:555: -1- m4_pattern_allow([^SQLITE3_CFLAGS$])
+m4trace:configure.ac:556: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SQLITE3])
+m4trace:configure.ac:556: -1- m4_pattern_allow([^HAVE_SQLITE3$])
+m4trace:configure.ac:556: -1- AH_OUTPUT([HAVE_SQLITE3], [/* If we have sqlite3 */
@%:@undef HAVE_SQLITE3])
-m4trace:configure.ac:556: -1- AC_SUBST([CDB_CFLAGS])
-m4trace:configure.ac:556: -1- AC_SUBST_TRACE([CDB_CFLAGS])
-m4trace:configure.ac:556: -1- m4_pattern_allow([^CDB_CFLAGS$])
-m4trace:configure.ac:556: -1- AC_SUBST([CDB_LIBS])
-m4trace:configure.ac:556: -1- AC_SUBST_TRACE([CDB_LIBS])
-m4trace:configure.ac:556: -1- m4_pattern_allow([^CDB_LIBS$])
-m4trace:configure.ac:557: -1- AC_SUBST([CDB_LIBS])
-m4trace:configure.ac:557: -1- AC_SUBST_TRACE([CDB_LIBS])
-m4trace:configure.ac:557: -1- m4_pattern_allow([^CDB_LIBS$])
-m4trace:configure.ac:558: -1- AC_SUBST([CDB_CFLAGS])
-m4trace:configure.ac:558: -1- AC_SUBST_TRACE([CDB_CFLAGS])
-m4trace:configure.ac:558: -1- m4_pattern_allow([^CDB_CFLAGS$])
-m4trace:configure.ac:561: -1- AM_CONDITIONAL([SQLITE3], [test "$needsqlite3"])
-m4trace:configure.ac:561: -1- AC_SUBST([SQLITE3_TRUE])
-m4trace:configure.ac:561: -1- AC_SUBST_TRACE([SQLITE3_TRUE])
-m4trace:configure.ac:561: -1- m4_pattern_allow([^SQLITE3_TRUE$])
-m4trace:configure.ac:561: -1- AC_SUBST([SQLITE3_FALSE])
-m4trace:configure.ac:561: -1- AC_SUBST_TRACE([SQLITE3_FALSE])
-m4trace:configure.ac:561: -1- m4_pattern_allow([^SQLITE3_FALSE$])
-m4trace:configure.ac:561: -1- _AM_SUBST_NOTMAKE([SQLITE3_TRUE])
-m4trace:configure.ac:561: -1- _AM_SUBST_NOTMAKE([SQLITE3_FALSE])
-m4trace:configure.ac:599: -1- AC_SUBST([UNIXODBC_lib])
-m4trace:configure.ac:599: -1- AC_SUBST_TRACE([UNIXODBC_lib])
-m4trace:configure.ac:599: -1- m4_pattern_allow([^UNIXODBC_lib$])
-m4trace:configure.ac:617: -1- AC_SUBST([UNIXODBC_incdir])
-m4trace:configure.ac:617: -1- AC_SUBST_TRACE([UNIXODBC_incdir])
-m4trace:configure.ac:617: -1- m4_pattern_allow([^UNIXODBC_incdir$])
-m4trace:configure.ac:654: -1- AC_SUBST([LIBS])
-m4trace:configure.ac:654: -1- AC_SUBST_TRACE([LIBS])
-m4trace:configure.ac:654: -1- m4_pattern_allow([^LIBS$])
-m4trace:configure.ac:658: -1- AC_CONFIG_FILES([Makefile modules/Makefile pdns/Makefile codedocs/Makefile \
+m4trace:configure.ac:561: -1- AC_SUBST([CDB_CFLAGS])
+m4trace:configure.ac:561: -1- AC_SUBST_TRACE([CDB_CFLAGS])
+m4trace:configure.ac:561: -1- m4_pattern_allow([^CDB_CFLAGS$])
+m4trace:configure.ac:561: -1- AC_SUBST([CDB_LIBS])
+m4trace:configure.ac:561: -1- AC_SUBST_TRACE([CDB_LIBS])
+m4trace:configure.ac:561: -1- m4_pattern_allow([^CDB_LIBS$])
+m4trace:configure.ac:562: -1- AC_SUBST([CDB_LIBS])
+m4trace:configure.ac:562: -1- AC_SUBST_TRACE([CDB_LIBS])
+m4trace:configure.ac:562: -1- m4_pattern_allow([^CDB_LIBS$])
+m4trace:configure.ac:563: -1- AC_SUBST([CDB_CFLAGS])
+m4trace:configure.ac:563: -1- AC_SUBST_TRACE([CDB_CFLAGS])
+m4trace:configure.ac:563: -1- m4_pattern_allow([^CDB_CFLAGS$])
+m4trace:configure.ac:566: -1- AM_CONDITIONAL([SQLITE3], [test "$needsqlite3"])
+m4trace:configure.ac:566: -1- AC_SUBST([SQLITE3_TRUE])
+m4trace:configure.ac:566: -1- AC_SUBST_TRACE([SQLITE3_TRUE])
+m4trace:configure.ac:566: -1- m4_pattern_allow([^SQLITE3_TRUE$])
+m4trace:configure.ac:566: -1- AC_SUBST([SQLITE3_FALSE])
+m4trace:configure.ac:566: -1- AC_SUBST_TRACE([SQLITE3_FALSE])
+m4trace:configure.ac:566: -1- m4_pattern_allow([^SQLITE3_FALSE$])
+m4trace:configure.ac:566: -1- _AM_SUBST_NOTMAKE([SQLITE3_TRUE])
+m4trace:configure.ac:566: -1- _AM_SUBST_NOTMAKE([SQLITE3_FALSE])
+m4trace:configure.ac:604: -1- AC_SUBST([UNIXODBC_lib])
+m4trace:configure.ac:604: -1- AC_SUBST_TRACE([UNIXODBC_lib])
+m4trace:configure.ac:604: -1- m4_pattern_allow([^UNIXODBC_lib$])
+m4trace:configure.ac:622: -1- AC_SUBST([UNIXODBC_incdir])
+m4trace:configure.ac:622: -1- AC_SUBST_TRACE([UNIXODBC_incdir])
+m4trace:configure.ac:622: -1- m4_pattern_allow([^UNIXODBC_incdir$])
+m4trace:configure.ac:659: -1- AC_SUBST([LIBS])
+m4trace:configure.ac:659: -1- AC_SUBST_TRACE([LIBS])
+m4trace:configure.ac:659: -1- m4_pattern_allow([^LIBS$])
+m4trace:configure.ac:663: -1- AC_CONFIG_FILES([Makefile modules/Makefile pdns/Makefile codedocs/Makefile \
pdns/backends/Makefile pdns/backends/bind/Makefile pdns/pdns pdns/precursor \
modules/gmysqlbackend/Makefile modules/db2backend/Makefile \
modules/geobackend/Makefile modules/opendbxbackend/Makefile \
@@ -1178,32 +1192,32 @@
modules/goraclebackend/Makefile modules/mydnsbackend/Makefile \
modules/luabackend/Makefile modules/tinydnsbackend/Makefile \
modules/remotebackend/Makefile])
-m4trace:configure.ac:658: -1- _m4_warn([obsolete], [AC_OUTPUT should be used without arguments.
+m4trace:configure.ac:663: -1- _m4_warn([obsolete], [AC_OUTPUT should be used without arguments.
You should run autoupdate.], [])
-m4trace:configure.ac:658: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs])
-m4trace:configure.ac:658: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.ac:658: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.ac:658: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs])
-m4trace:configure.ac:658: -1- AC_SUBST_TRACE([LTLIBOBJS])
-m4trace:configure.ac:658: -1- m4_pattern_allow([^LTLIBOBJS$])
-m4trace:configure.ac:658: -1- AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])
-m4trace:configure.ac:658: -1- AC_SUBST([am__EXEEXT_TRUE])
-m4trace:configure.ac:658: -1- AC_SUBST_TRACE([am__EXEEXT_TRUE])
-m4trace:configure.ac:658: -1- m4_pattern_allow([^am__EXEEXT_TRUE$])
-m4trace:configure.ac:658: -1- AC_SUBST([am__EXEEXT_FALSE])
-m4trace:configure.ac:658: -1- AC_SUBST_TRACE([am__EXEEXT_FALSE])
-m4trace:configure.ac:658: -1- m4_pattern_allow([^am__EXEEXT_FALSE$])
-m4trace:configure.ac:658: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_TRUE])
-m4trace:configure.ac:658: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_FALSE])
-m4trace:configure.ac:658: -1- AC_SUBST_TRACE([top_builddir])
-m4trace:configure.ac:658: -1- AC_SUBST_TRACE([top_build_prefix])
-m4trace:configure.ac:658: -1- AC_SUBST_TRACE([srcdir])
-m4trace:configure.ac:658: -1- AC_SUBST_TRACE([abs_srcdir])
-m4trace:configure.ac:658: -1- AC_SUBST_TRACE([top_srcdir])
-m4trace:configure.ac:658: -1- AC_SUBST_TRACE([abs_top_srcdir])
-m4trace:configure.ac:658: -1- AC_SUBST_TRACE([builddir])
-m4trace:configure.ac:658: -1- AC_SUBST_TRACE([abs_builddir])
-m4trace:configure.ac:658: -1- AC_SUBST_TRACE([abs_top_builddir])
-m4trace:configure.ac:658: -1- AC_SUBST_TRACE([INSTALL])
-m4trace:configure.ac:658: -1- AC_SUBST_TRACE([MKDIR_P])
-m4trace:configure.ac:658: -1- AC_REQUIRE_AUX_FILE([ltmain.sh])
+m4trace:configure.ac:663: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs])
+m4trace:configure.ac:663: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.ac:663: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.ac:663: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs])
+m4trace:configure.ac:663: -1- AC_SUBST_TRACE([LTLIBOBJS])
+m4trace:configure.ac:663: -1- m4_pattern_allow([^LTLIBOBJS$])
+m4trace:configure.ac:663: -1- AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])
+m4trace:configure.ac:663: -1- AC_SUBST([am__EXEEXT_TRUE])
+m4trace:configure.ac:663: -1- AC_SUBST_TRACE([am__EXEEXT_TRUE])
+m4trace:configure.ac:663: -1- m4_pattern_allow([^am__EXEEXT_TRUE$])
+m4trace:configure.ac:663: -1- AC_SUBST([am__EXEEXT_FALSE])
+m4trace:configure.ac:663: -1- AC_SUBST_TRACE([am__EXEEXT_FALSE])
+m4trace:configure.ac:663: -1- m4_pattern_allow([^am__EXEEXT_FALSE$])
+m4trace:configure.ac:663: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_TRUE])
+m4trace:configure.ac:663: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_FALSE])
+m4trace:configure.ac:663: -1- AC_SUBST_TRACE([top_builddir])
+m4trace:configure.ac:663: -1- AC_SUBST_TRACE([top_build_prefix])
+m4trace:configure.ac:663: -1- AC_SUBST_TRACE([srcdir])
+m4trace:configure.ac:663: -1- AC_SUBST_TRACE([abs_srcdir])
+m4trace:configure.ac:663: -1- AC_SUBST_TRACE([top_srcdir])
+m4trace:configure.ac:663: -1- AC_SUBST_TRACE([abs_top_srcdir])
+m4trace:configure.ac:663: -1- AC_SUBST_TRACE([builddir])
+m4trace:configure.ac:663: -1- AC_SUBST_TRACE([abs_builddir])
+m4trace:configure.ac:663: -1- AC_SUBST_TRACE([abs_top_builddir])
+m4trace:configure.ac:663: -1- AC_SUBST_TRACE([INSTALL])
+m4trace:configure.ac:663: -1- AC_SUBST_TRACE([MKDIR_P])
+m4trace:configure.ac:663: -1- AC_REQUIRE_AUX_FILE([ltmain.sh])
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/autom4te.cache/traces.3
^
|
@@ -2917,7 +2917,7 @@
m4trace:configure.ac:2: -1- m4_pattern_allow([^build_alias$])
m4trace:configure.ac:2: -1- m4_pattern_allow([^host_alias$])
m4trace:configure.ac:2: -1- m4_pattern_allow([^target_alias$])
-m4trace:configure.ac:3: -1- AM_INIT_AUTOMAKE([pdns], [3.2-rc4])
+m4trace:configure.ac:3: -1- AM_INIT_AUTOMAKE([pdns], [3.2])
m4trace:configure.ac:3: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$])
m4trace:configure.ac:3: -1- AM_SET_CURRENT_AUTOMAKE_VERSION
m4trace:configure.ac:3: -1- AM_AUTOMAKE_VERSION([1.11.3])
@@ -3202,18 +3202,30 @@
m4trace:configure.ac:24: -1- m4_pattern_allow([^HAVE_BOOST_ARCHIVE_TEXT_OARCHIVE_HPP$])
m4trace:configure.ac:24: -1- m4_pattern_allow([^BOOST_SERIALIZATION_LDFLAGS$])
m4trace:configure.ac:24: -1- m4_pattern_allow([^BOOST_SERIALIZATION_LIBS$])
-m4trace:configure.ac:28: -1- PKG_PROG_PKG_CONFIG
-m4trace:configure.ac:28: -1- m4_pattern_forbid([^_?PKG_[A-Z_]+$])
-m4trace:configure.ac:28: -1- m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
-m4trace:configure.ac:28: -1- m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
-m4trace:configure.ac:28: -1- m4_pattern_allow([^PKG_CONFIG$])
-m4trace:configure.ac:28: -1- m4_pattern_allow([^PKG_CONFIG_PATH$])
-m4trace:configure.ac:28: -1- m4_pattern_allow([^PKG_CONFIG_LIBDIR$])
-m4trace:configure.ac:28: -1- m4_pattern_allow([^PKG_CONFIG$])
-m4trace:configure.ac:32: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+m4trace:configure.ac:25: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
-configure.ac:32: the top level])
-m4trace:configure.ac:42: -1- PKG_CHECK_MODULES([LUA], [$LUAPC >= 5.1], [
+configure.ac:25: the top level])
+m4trace:configure.ac:28: -1- BOOST_TEST([mt])
+m4trace:configure.ac:28: -1- m4_pattern_allow([^BOOST_CHECK$])
+m4trace:configure.ac:28: -1- BOOST_FIND_LIB([unit_test_framework], [mt], [boost/test/unit_test.hpp], [BOOST_CHECK(2 == 2);], [using boost::unit_test::test_suite;
+ test_suite* init_unit_test_suite(int argc, char ** argv)
+ { return NULL; }])
+m4trace:configure.ac:28: -1- BOOST_FIND_HEADER([boost/test/unit_test.hpp])
+m4trace:configure.ac:28: -1- m4_pattern_allow([^HAVE_BOOST_TEST_UNIT_TEST_HPP$])
+m4trace:configure.ac:28: -1- m4_pattern_allow([^BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS$])
+m4trace:configure.ac:28: -1- m4_pattern_allow([^BOOST_UNIT_TEST_FRAMEWORK_LIBS$])
+m4trace:configure.ac:33: -1- PKG_PROG_PKG_CONFIG
+m4trace:configure.ac:33: -1- m4_pattern_forbid([^_?PKG_[A-Z_]+$])
+m4trace:configure.ac:33: -1- m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
+m4trace:configure.ac:33: -1- m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
+m4trace:configure.ac:33: -1- m4_pattern_allow([^PKG_CONFIG$])
+m4trace:configure.ac:33: -1- m4_pattern_allow([^PKG_CONFIG_PATH$])
+m4trace:configure.ac:33: -1- m4_pattern_allow([^PKG_CONFIG_LIBDIR$])
+m4trace:configure.ac:33: -1- m4_pattern_allow([^PKG_CONFIG$])
+m4trace:configure.ac:37: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
+configure.ac:37: the top level])
+m4trace:configure.ac:47: -1- PKG_CHECK_MODULES([LUA], [$LUAPC >= 5.1], [
AC_DEFINE([HAVE_LUA], [1], [liblua])
AC_DEFINE([HAVE_LUA_H], [1], [lua.h])
], [
@@ -3227,14 +3239,14 @@
])
])
])
-m4trace:configure.ac:42: -1- m4_pattern_allow([^LUA_CFLAGS$])
-m4trace:configure.ac:42: -1- m4_pattern_allow([^LUA_LIBS$])
-m4trace:configure.ac:42: -1- PKG_CHECK_EXISTS([$LUAPC >= 5.1], [pkg_cv_[]LUA_CFLAGS=`$PKG_CONFIG --[]cflags "$LUAPC >= 5.1" 2>/dev/null`
+m4trace:configure.ac:47: -1- m4_pattern_allow([^LUA_CFLAGS$])
+m4trace:configure.ac:47: -1- m4_pattern_allow([^LUA_LIBS$])
+m4trace:configure.ac:47: -1- PKG_CHECK_EXISTS([$LUAPC >= 5.1], [pkg_cv_[]LUA_CFLAGS=`$PKG_CONFIG --[]cflags "$LUAPC >= 5.1" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes ], [pkg_failed=yes])
-m4trace:configure.ac:42: -1- PKG_CHECK_EXISTS([$LUAPC >= 5.1], [pkg_cv_[]LUA_LIBS=`$PKG_CONFIG --[]libs "$LUAPC >= 5.1" 2>/dev/null`
+m4trace:configure.ac:47: -1- PKG_CHECK_EXISTS([$LUAPC >= 5.1], [pkg_cv_[]LUA_LIBS=`$PKG_CONFIG --[]libs "$LUAPC >= 5.1" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes ], [pkg_failed=yes])
-m4trace:configure.ac:42: -1- _PKG_SHORT_ERRORS_SUPPORTED
-m4trace:configure.ac:42: -1- PKG_CHECK_MODULES([LUA], [lua5.1 >= 5.1], [
+m4trace:configure.ac:47: -1- _PKG_SHORT_ERRORS_SUPPORTED
+m4trace:configure.ac:47: -1- PKG_CHECK_MODULES([LUA], [lua5.1 >= 5.1], [
AC_DEFINE([HAVE_LUA], [1], [liblua])
AC_DEFINE([HAVE_LUA_H], [1], [lua.h])
], [
@@ -3243,42 +3255,42 @@
AC_DEFINE([HAVE_LUA_H], [1], [lua.h])
])
])
-m4trace:configure.ac:42: -1- m4_pattern_allow([^LUA_CFLAGS$])
-m4trace:configure.ac:42: -1- m4_pattern_allow([^LUA_LIBS$])
-m4trace:configure.ac:42: -1- PKG_CHECK_EXISTS([lua5.1 >= 5.1], [pkg_cv_[]LUA_CFLAGS=`$PKG_CONFIG --[]cflags "lua5.1 >= 5.1" 2>/dev/null`
+m4trace:configure.ac:47: -1- m4_pattern_allow([^LUA_CFLAGS$])
+m4trace:configure.ac:47: -1- m4_pattern_allow([^LUA_LIBS$])
+m4trace:configure.ac:47: -1- PKG_CHECK_EXISTS([lua5.1 >= 5.1], [pkg_cv_[]LUA_CFLAGS=`$PKG_CONFIG --[]cflags "lua5.1 >= 5.1" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes ], [pkg_failed=yes])
-m4trace:configure.ac:42: -1- PKG_CHECK_EXISTS([lua5.1 >= 5.1], [pkg_cv_[]LUA_LIBS=`$PKG_CONFIG --[]libs "lua5.1 >= 5.1" 2>/dev/null`
+m4trace:configure.ac:47: -1- PKG_CHECK_EXISTS([lua5.1 >= 5.1], [pkg_cv_[]LUA_LIBS=`$PKG_CONFIG --[]libs "lua5.1 >= 5.1" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes ], [pkg_failed=yes])
-m4trace:configure.ac:42: -1- _PKG_SHORT_ERRORS_SUPPORTED
-m4trace:configure.ac:42: -1- PKG_CHECK_MODULES([LUA], [lua-5.1 >= 5.1], [
+m4trace:configure.ac:47: -1- _PKG_SHORT_ERRORS_SUPPORTED
+m4trace:configure.ac:47: -1- PKG_CHECK_MODULES([LUA], [lua-5.1 >= 5.1], [
AC_DEFINE([HAVE_LUA], [1], [liblua])
AC_DEFINE([HAVE_LUA_H], [1], [lua.h])
])
-m4trace:configure.ac:42: -1- m4_pattern_allow([^LUA_CFLAGS$])
-m4trace:configure.ac:42: -1- m4_pattern_allow([^LUA_LIBS$])
-m4trace:configure.ac:42: -1- PKG_CHECK_EXISTS([lua-5.1 >= 5.1], [pkg_cv_[]LUA_CFLAGS=`$PKG_CONFIG --[]cflags "lua-5.1 >= 5.1" 2>/dev/null`
- test "x$?" != "x0" && pkg_failed=yes ], [pkg_failed=yes])
-m4trace:configure.ac:42: -1- PKG_CHECK_EXISTS([lua-5.1 >= 5.1], [pkg_cv_[]LUA_LIBS=`$PKG_CONFIG --[]libs "lua-5.1 >= 5.1" 2>/dev/null`
- test "x$?" != "x0" && pkg_failed=yes ], [pkg_failed=yes])
-m4trace:configure.ac:42: -1- _PKG_SHORT_ERRORS_SUPPORTED
-m4trace:configure.ac:42: -1- m4_pattern_allow([^HAVE_LUA$])
-m4trace:configure.ac:42: -1- m4_pattern_allow([^HAVE_LUA_H$])
-m4trace:configure.ac:42: -1- PKG_CHECK_MODULES([LUA], [lua-5.1 >= 5.1], [
+m4trace:configure.ac:47: -1- m4_pattern_allow([^LUA_CFLAGS$])
+m4trace:configure.ac:47: -1- m4_pattern_allow([^LUA_LIBS$])
+m4trace:configure.ac:47: -1- PKG_CHECK_EXISTS([lua-5.1 >= 5.1], [pkg_cv_[]LUA_CFLAGS=`$PKG_CONFIG --[]cflags "lua-5.1 >= 5.1" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes ], [pkg_failed=yes])
+m4trace:configure.ac:47: -1- PKG_CHECK_EXISTS([lua-5.1 >= 5.1], [pkg_cv_[]LUA_LIBS=`$PKG_CONFIG --[]libs "lua-5.1 >= 5.1" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes ], [pkg_failed=yes])
+m4trace:configure.ac:47: -1- _PKG_SHORT_ERRORS_SUPPORTED
+m4trace:configure.ac:47: -1- m4_pattern_allow([^HAVE_LUA$])
+m4trace:configure.ac:47: -1- m4_pattern_allow([^HAVE_LUA_H$])
+m4trace:configure.ac:47: -1- PKG_CHECK_MODULES([LUA], [lua-5.1 >= 5.1], [
AC_DEFINE([HAVE_LUA], [1], [liblua])
AC_DEFINE([HAVE_LUA_H], [1], [lua.h])
])
-m4trace:configure.ac:42: -1- m4_pattern_allow([^LUA_CFLAGS$])
-m4trace:configure.ac:42: -1- m4_pattern_allow([^LUA_LIBS$])
-m4trace:configure.ac:42: -1- PKG_CHECK_EXISTS([lua-5.1 >= 5.1], [pkg_cv_[]LUA_CFLAGS=`$PKG_CONFIG --[]cflags "lua-5.1 >= 5.1" 2>/dev/null`
- test "x$?" != "x0" && pkg_failed=yes ], [pkg_failed=yes])
-m4trace:configure.ac:42: -1- PKG_CHECK_EXISTS([lua-5.1 >= 5.1], [pkg_cv_[]LUA_LIBS=`$PKG_CONFIG --[]libs "lua-5.1 >= 5.1" 2>/dev/null`
- test "x$?" != "x0" && pkg_failed=yes ], [pkg_failed=yes])
-m4trace:configure.ac:42: -1- _PKG_SHORT_ERRORS_SUPPORTED
-m4trace:configure.ac:42: -1- m4_pattern_allow([^HAVE_LUA$])
-m4trace:configure.ac:42: -1- m4_pattern_allow([^HAVE_LUA_H$])
-m4trace:configure.ac:42: -1- m4_pattern_allow([^HAVE_LUA$])
-m4trace:configure.ac:42: -1- m4_pattern_allow([^HAVE_LUA_H$])
-m4trace:configure.ac:42: -1- PKG_CHECK_MODULES([LUA], [lua5.1 >= 5.1], [
+m4trace:configure.ac:47: -1- m4_pattern_allow([^LUA_CFLAGS$])
+m4trace:configure.ac:47: -1- m4_pattern_allow([^LUA_LIBS$])
+m4trace:configure.ac:47: -1- PKG_CHECK_EXISTS([lua-5.1 >= 5.1], [pkg_cv_[]LUA_CFLAGS=`$PKG_CONFIG --[]cflags "lua-5.1 >= 5.1" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes ], [pkg_failed=yes])
+m4trace:configure.ac:47: -1- PKG_CHECK_EXISTS([lua-5.1 >= 5.1], [pkg_cv_[]LUA_LIBS=`$PKG_CONFIG --[]libs "lua-5.1 >= 5.1" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes ], [pkg_failed=yes])
+m4trace:configure.ac:47: -1- _PKG_SHORT_ERRORS_SUPPORTED
+m4trace:configure.ac:47: -1- m4_pattern_allow([^HAVE_LUA$])
+m4trace:configure.ac:47: -1- m4_pattern_allow([^HAVE_LUA_H$])
+m4trace:configure.ac:47: -1- m4_pattern_allow([^HAVE_LUA$])
+m4trace:configure.ac:47: -1- m4_pattern_allow([^HAVE_LUA_H$])
+m4trace:configure.ac:47: -1- PKG_CHECK_MODULES([LUA], [lua5.1 >= 5.1], [
AC_DEFINE([HAVE_LUA], [1], [liblua])
AC_DEFINE([HAVE_LUA_H], [1], [lua.h])
], [
@@ -3287,219 +3299,219 @@
AC_DEFINE([HAVE_LUA_H], [1], [lua.h])
])
])
-m4trace:configure.ac:42: -1- m4_pattern_allow([^LUA_CFLAGS$])
-m4trace:configure.ac:42: -1- m4_pattern_allow([^LUA_LIBS$])
-m4trace:configure.ac:42: -1- PKG_CHECK_EXISTS([lua5.1 >= 5.1], [pkg_cv_[]LUA_CFLAGS=`$PKG_CONFIG --[]cflags "lua5.1 >= 5.1" 2>/dev/null`
+m4trace:configure.ac:47: -1- m4_pattern_allow([^LUA_CFLAGS$])
+m4trace:configure.ac:47: -1- m4_pattern_allow([^LUA_LIBS$])
+m4trace:configure.ac:47: -1- PKG_CHECK_EXISTS([lua5.1 >= 5.1], [pkg_cv_[]LUA_CFLAGS=`$PKG_CONFIG --[]cflags "lua5.1 >= 5.1" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes ], [pkg_failed=yes])
-m4trace:configure.ac:42: -1- PKG_CHECK_EXISTS([lua5.1 >= 5.1], [pkg_cv_[]LUA_LIBS=`$PKG_CONFIG --[]libs "lua5.1 >= 5.1" 2>/dev/null`
+m4trace:configure.ac:47: -1- PKG_CHECK_EXISTS([lua5.1 >= 5.1], [pkg_cv_[]LUA_LIBS=`$PKG_CONFIG --[]libs "lua5.1 >= 5.1" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes ], [pkg_failed=yes])
-m4trace:configure.ac:42: -1- _PKG_SHORT_ERRORS_SUPPORTED
-m4trace:configure.ac:42: -1- PKG_CHECK_MODULES([LUA], [lua-5.1 >= 5.1], [
+m4trace:configure.ac:47: -1- _PKG_SHORT_ERRORS_SUPPORTED
+m4trace:configure.ac:47: -1- PKG_CHECK_MODULES([LUA], [lua-5.1 >= 5.1], [
AC_DEFINE([HAVE_LUA], [1], [liblua])
AC_DEFINE([HAVE_LUA_H], [1], [lua.h])
])
-m4trace:configure.ac:42: -1- m4_pattern_allow([^LUA_CFLAGS$])
-m4trace:configure.ac:42: -1- m4_pattern_allow([^LUA_LIBS$])
-m4trace:configure.ac:42: -1- PKG_CHECK_EXISTS([lua-5.1 >= 5.1], [pkg_cv_[]LUA_CFLAGS=`$PKG_CONFIG --[]cflags "lua-5.1 >= 5.1" 2>/dev/null`
- test "x$?" != "x0" && pkg_failed=yes ], [pkg_failed=yes])
-m4trace:configure.ac:42: -1- PKG_CHECK_EXISTS([lua-5.1 >= 5.1], [pkg_cv_[]LUA_LIBS=`$PKG_CONFIG --[]libs "lua-5.1 >= 5.1" 2>/dev/null`
- test "x$?" != "x0" && pkg_failed=yes ], [pkg_failed=yes])
-m4trace:configure.ac:42: -1- _PKG_SHORT_ERRORS_SUPPORTED
-m4trace:configure.ac:42: -1- m4_pattern_allow([^HAVE_LUA$])
-m4trace:configure.ac:42: -1- m4_pattern_allow([^HAVE_LUA_H$])
-m4trace:configure.ac:42: -1- PKG_CHECK_MODULES([LUA], [lua-5.1 >= 5.1], [
+m4trace:configure.ac:47: -1- m4_pattern_allow([^LUA_CFLAGS$])
+m4trace:configure.ac:47: -1- m4_pattern_allow([^LUA_LIBS$])
+m4trace:configure.ac:47: -1- PKG_CHECK_EXISTS([lua-5.1 >= 5.1], [pkg_cv_[]LUA_CFLAGS=`$PKG_CONFIG --[]cflags "lua-5.1 >= 5.1" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes ], [pkg_failed=yes])
+m4trace:configure.ac:47: -1- PKG_CHECK_EXISTS([lua-5.1 >= 5.1], [pkg_cv_[]LUA_LIBS=`$PKG_CONFIG --[]libs "lua-5.1 >= 5.1" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes ], [pkg_failed=yes])
+m4trace:configure.ac:47: -1- _PKG_SHORT_ERRORS_SUPPORTED
+m4trace:configure.ac:47: -1- m4_pattern_allow([^HAVE_LUA$])
+m4trace:configure.ac:47: -1- m4_pattern_allow([^HAVE_LUA_H$])
+m4trace:configure.ac:47: -1- PKG_CHECK_MODULES([LUA], [lua-5.1 >= 5.1], [
AC_DEFINE([HAVE_LUA], [1], [liblua])
AC_DEFINE([HAVE_LUA_H], [1], [lua.h])
])
-m4trace:configure.ac:42: -1- m4_pattern_allow([^LUA_CFLAGS$])
-m4trace:configure.ac:42: -1- m4_pattern_allow([^LUA_LIBS$])
-m4trace:configure.ac:42: -1- PKG_CHECK_EXISTS([lua-5.1 >= 5.1], [pkg_cv_[]LUA_CFLAGS=`$PKG_CONFIG --[]cflags "lua-5.1 >= 5.1" 2>/dev/null`
- test "x$?" != "x0" && pkg_failed=yes ], [pkg_failed=yes])
-m4trace:configure.ac:42: -1- PKG_CHECK_EXISTS([lua-5.1 >= 5.1], [pkg_cv_[]LUA_LIBS=`$PKG_CONFIG --[]libs "lua-5.1 >= 5.1" 2>/dev/null`
- test "x$?" != "x0" && pkg_failed=yes ], [pkg_failed=yes])
-m4trace:configure.ac:42: -1- _PKG_SHORT_ERRORS_SUPPORTED
-m4trace:configure.ac:42: -1- m4_pattern_allow([^HAVE_LUA$])
-m4trace:configure.ac:42: -1- m4_pattern_allow([^HAVE_LUA_H$])
-m4trace:configure.ac:42: -1- m4_pattern_allow([^HAVE_LUA$])
-m4trace:configure.ac:42: -1- m4_pattern_allow([^HAVE_LUA_H$])
-m4trace:configure.ac:42: -1- m4_pattern_allow([^HAVE_LUA$])
-m4trace:configure.ac:42: -1- m4_pattern_allow([^HAVE_LUA_H$])
-m4trace:configure.ac:56: -1- m4_pattern_allow([^LUA_CFLAGS$])
-m4trace:configure.ac:57: -1- m4_pattern_allow([^LUA_LIBS$])
-m4trace:configure.ac:62: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+m4trace:configure.ac:47: -1- m4_pattern_allow([^LUA_CFLAGS$])
+m4trace:configure.ac:47: -1- m4_pattern_allow([^LUA_LIBS$])
+m4trace:configure.ac:47: -1- PKG_CHECK_EXISTS([lua-5.1 >= 5.1], [pkg_cv_[]LUA_CFLAGS=`$PKG_CONFIG --[]cflags "lua-5.1 >= 5.1" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes ], [pkg_failed=yes])
+m4trace:configure.ac:47: -1- PKG_CHECK_EXISTS([lua-5.1 >= 5.1], [pkg_cv_[]LUA_LIBS=`$PKG_CONFIG --[]libs "lua-5.1 >= 5.1" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes ], [pkg_failed=yes])
+m4trace:configure.ac:47: -1- _PKG_SHORT_ERRORS_SUPPORTED
+m4trace:configure.ac:47: -1- m4_pattern_allow([^HAVE_LUA$])
+m4trace:configure.ac:47: -1- m4_pattern_allow([^HAVE_LUA_H$])
+m4trace:configure.ac:47: -1- m4_pattern_allow([^HAVE_LUA$])
+m4trace:configure.ac:47: -1- m4_pattern_allow([^HAVE_LUA_H$])
+m4trace:configure.ac:47: -1- m4_pattern_allow([^HAVE_LUA$])
+m4trace:configure.ac:47: -1- m4_pattern_allow([^HAVE_LUA_H$])
+m4trace:configure.ac:61: -1- m4_pattern_allow([^LUA_CFLAGS$])
+m4trace:configure.ac:62: -1- m4_pattern_allow([^LUA_LIBS$])
+m4trace:configure.ac:67: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
-configure.ac:62: the top level])
-m4trace:configure.ac:73: -1- m4_pattern_allow([^STDC_HEADERS$])
-m4trace:configure.ac:77: -1- m4_pattern_allow([^size_t$])
-m4trace:configure.ac:78: -1- m4_pattern_allow([^TIME_WITH_SYS_TIME$])
-m4trace:configure.ac:79: -1- m4_pattern_allow([^TM_IN_SYS_TIME$])
-m4trace:configure.ac:82: -1- _m4_warn([obsolete], [The macro `AC_TYPE_SIGNAL' is obsolete.
+configure.ac:67: the top level])
+m4trace:configure.ac:78: -1- m4_pattern_allow([^STDC_HEADERS$])
+m4trace:configure.ac:82: -1- m4_pattern_allow([^size_t$])
+m4trace:configure.ac:83: -1- m4_pattern_allow([^TIME_WITH_SYS_TIME$])
+m4trace:configure.ac:84: -1- m4_pattern_allow([^TM_IN_SYS_TIME$])
+m4trace:configure.ac:87: -1- _m4_warn([obsolete], [The macro `AC_TYPE_SIGNAL' is obsolete.
You should run autoupdate.], [../../lib/autoconf/types.m4:738: AC_TYPE_SIGNAL is expanded from...
-configure.ac:82: the top level])
-m4trace:configure.ac:82: -1- m4_pattern_allow([^RETSIGTYPE$])
-m4trace:configure.ac:91: -1- m4_pattern_allow([^HAVE_LIBDL$])
-m4trace:configure.ac:94: -1- m4_pattern_allow([^LIBDL$])
-m4trace:configure.ac:99: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+configure.ac:87: the top level])
+m4trace:configure.ac:87: -1- m4_pattern_allow([^RETSIGTYPE$])
+m4trace:configure.ac:96: -1- m4_pattern_allow([^HAVE_LIBDL$])
+m4trace:configure.ac:99: -1- m4_pattern_allow([^LIBDL$])
+m4trace:configure.ac:104: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
You should run autoupdate.], [../../lib/autoconf/general.m4:2688: AC_TRY_LINK is expanded from...
-configure.ac:99: the top level])
-m4trace:configure.ac:106: -1- m4_pattern_allow([^NEED_RTLD_NOW$])
-m4trace:configure.ac:114: -1- m4_pattern_allow([^HAVE_LIBCRYPT$])
-m4trace:configure.ac:117: -1- m4_pattern_allow([^LIBCRYPT$])
-m4trace:configure.ac:122: -1- AM_CONDITIONAL([OS_MACOSX], [false])
-m4trace:configure.ac:122: -1- m4_pattern_allow([^OS_MACOSX_TRUE$])
-m4trace:configure.ac:122: -1- m4_pattern_allow([^OS_MACOSX_FALSE$])
-m4trace:configure.ac:122: -1- _AM_SUBST_NOTMAKE([OS_MACOSX_TRUE])
-m4trace:configure.ac:122: -1- _AM_SUBST_NOTMAKE([OS_MACOSX_FALSE])
-m4trace:configure.ac:125: -1- m4_pattern_allow([^HAVE_IPV6$])
-m4trace:configure.ac:131: -1- m4_pattern_allow([^NEED_POSIX_TYPEDEF$])
-m4trace:configure.ac:132: -1- m4_pattern_allow([^NEED_INET_NTOP_PROTO$])
-m4trace:configure.ac:133: -1- m4_pattern_allow([^HAVE_IPV6$])
-m4trace:configure.ac:138: -1- m4_pattern_allow([^NEED_POSIX_TYPEDEF$])
-m4trace:configure.ac:139: -1- m4_pattern_allow([^NEED_INET_NTOP_PROTO$])
-m4trace:configure.ac:144: -1- m4_pattern_allow([^HAVE_IPV6$])
-m4trace:configure.ac:151: -1- m4_pattern_allow([^HAVE_IPV6$])
-m4trace:configure.ac:155: -1- AM_CONDITIONAL([OS_MACOSX], [true])
-m4trace:configure.ac:155: -1- m4_pattern_allow([^OS_MACOSX_TRUE$])
-m4trace:configure.ac:155: -1- m4_pattern_allow([^OS_MACOSX_FALSE$])
-m4trace:configure.ac:155: -1- _AM_SUBST_NOTMAKE([OS_MACOSX_TRUE])
-m4trace:configure.ac:155: -1- _AM_SUBST_NOTMAKE([OS_MACOSX_FALSE])
-m4trace:configure.ac:158: -1- m4_pattern_allow([^HAVE_IPV6$])
-m4trace:configure.ac:165: -1- m4_pattern_allow([^THREADFLAGS$])
-m4trace:configure.ac:167: -1- m4_pattern_allow([^DYNLINKFLAGS$])
-m4trace:configure.ac:173: -1- m4_pattern_allow([^VERBOSELOG$])
-m4trace:configure.ac:178: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+configure.ac:104: the top level])
+m4trace:configure.ac:111: -1- m4_pattern_allow([^NEED_RTLD_NOW$])
+m4trace:configure.ac:119: -1- m4_pattern_allow([^HAVE_LIBCRYPT$])
+m4trace:configure.ac:122: -1- m4_pattern_allow([^LIBCRYPT$])
+m4trace:configure.ac:127: -1- AM_CONDITIONAL([OS_MACOSX], [false])
+m4trace:configure.ac:127: -1- m4_pattern_allow([^OS_MACOSX_TRUE$])
+m4trace:configure.ac:127: -1- m4_pattern_allow([^OS_MACOSX_FALSE$])
+m4trace:configure.ac:127: -1- _AM_SUBST_NOTMAKE([OS_MACOSX_TRUE])
+m4trace:configure.ac:127: -1- _AM_SUBST_NOTMAKE([OS_MACOSX_FALSE])
+m4trace:configure.ac:130: -1- m4_pattern_allow([^HAVE_IPV6$])
+m4trace:configure.ac:136: -1- m4_pattern_allow([^NEED_POSIX_TYPEDEF$])
+m4trace:configure.ac:137: -1- m4_pattern_allow([^NEED_INET_NTOP_PROTO$])
+m4trace:configure.ac:138: -1- m4_pattern_allow([^HAVE_IPV6$])
+m4trace:configure.ac:143: -1- m4_pattern_allow([^NEED_POSIX_TYPEDEF$])
+m4trace:configure.ac:144: -1- m4_pattern_allow([^NEED_INET_NTOP_PROTO$])
+m4trace:configure.ac:149: -1- m4_pattern_allow([^HAVE_IPV6$])
+m4trace:configure.ac:156: -1- m4_pattern_allow([^HAVE_IPV6$])
+m4trace:configure.ac:160: -1- AM_CONDITIONAL([OS_MACOSX], [true])
+m4trace:configure.ac:160: -1- m4_pattern_allow([^OS_MACOSX_TRUE$])
+m4trace:configure.ac:160: -1- m4_pattern_allow([^OS_MACOSX_FALSE$])
+m4trace:configure.ac:160: -1- _AM_SUBST_NOTMAKE([OS_MACOSX_TRUE])
+m4trace:configure.ac:160: -1- _AM_SUBST_NOTMAKE([OS_MACOSX_FALSE])
+m4trace:configure.ac:163: -1- m4_pattern_allow([^HAVE_IPV6$])
+m4trace:configure.ac:170: -1- m4_pattern_allow([^THREADFLAGS$])
+m4trace:configure.ac:172: -1- m4_pattern_allow([^DYNLINKFLAGS$])
+m4trace:configure.ac:178: -1- m4_pattern_allow([^VERBOSELOG$])
+m4trace:configure.ac:183: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
../../lib/autoconf/general.m4:1482: AC_ARG_WITH is expanded from...
-configure.ac:178: the top level])
-m4trace:configure.ac:183: -1- AM_CONDITIONAL([HAVE_LIBPOLARSSL], [false])
-m4trace:configure.ac:183: -1- m4_pattern_allow([^HAVE_LIBPOLARSSL_TRUE$])
-m4trace:configure.ac:183: -1- m4_pattern_allow([^HAVE_LIBPOLARSSL_FALSE$])
-m4trace:configure.ac:183: -1- _AM_SUBST_NOTMAKE([HAVE_LIBPOLARSSL_TRUE])
-m4trace:configure.ac:183: -1- _AM_SUBST_NOTMAKE([HAVE_LIBPOLARSSL_FALSE])
-m4trace:configure.ac:200: -1- m4_pattern_allow([^HAVE_LIBPOLARSSL$])
-m4trace:configure.ac:207: -1- AM_CONDITIONAL([BOTAN110], [test x"$enable_botan110" = "xyes"])
-m4trace:configure.ac:207: -1- m4_pattern_allow([^BOTAN110_TRUE$])
-m4trace:configure.ac:207: -1- m4_pattern_allow([^BOTAN110_FALSE$])
-m4trace:configure.ac:207: -1- _AM_SUBST_NOTMAKE([BOTAN110_TRUE])
-m4trace:configure.ac:207: -1- _AM_SUBST_NOTMAKE([BOTAN110_FALSE])
-m4trace:configure.ac:213: -1- AM_CONDITIONAL([BOTAN18], [test x"$enable_botan18" = "xyes"])
-m4trace:configure.ac:213: -1- m4_pattern_allow([^BOTAN18_TRUE$])
-m4trace:configure.ac:213: -1- m4_pattern_allow([^BOTAN18_FALSE$])
-m4trace:configure.ac:213: -1- _AM_SUBST_NOTMAKE([BOTAN18_TRUE])
-m4trace:configure.ac:213: -1- _AM_SUBST_NOTMAKE([BOTAN18_FALSE])
-m4trace:configure.ac:219: -1- AM_CONDITIONAL([CRYPTOPP], [test x"$enable_cryptopp" = "xyes"])
-m4trace:configure.ac:219: -1- m4_pattern_allow([^CRYPTOPP_TRUE$])
-m4trace:configure.ac:219: -1- m4_pattern_allow([^CRYPTOPP_FALSE$])
-m4trace:configure.ac:219: -1- _AM_SUBST_NOTMAKE([CRYPTOPP_TRUE])
-m4trace:configure.ac:219: -1- _AM_SUBST_NOTMAKE([CRYPTOPP_FALSE])
-m4trace:configure.ac:222: -1- PKG_CHECK_MODULES([BOTAN110], [botan-1.10], [HAVE_BOTAN110=yes], [as_fn_error $? "Could not find botan 1.10" "$LINENO" 5])
-m4trace:configure.ac:222: -1- m4_pattern_allow([^BOTAN110_CFLAGS$])
-m4trace:configure.ac:222: -1- m4_pattern_allow([^BOTAN110_LIBS$])
-m4trace:configure.ac:222: -1- PKG_CHECK_EXISTS([botan-1.10], [pkg_cv_[]BOTAN110_CFLAGS=`$PKG_CONFIG --[]cflags "botan-1.10" 2>/dev/null`
- test "x$?" != "x0" && pkg_failed=yes ], [pkg_failed=yes])
-m4trace:configure.ac:222: -1- PKG_CHECK_EXISTS([botan-1.10], [pkg_cv_[]BOTAN110_LIBS=`$PKG_CONFIG --[]libs "botan-1.10" 2>/dev/null`
- test "x$?" != "x0" && pkg_failed=yes ], [pkg_failed=yes])
-m4trace:configure.ac:222: -1- _PKG_SHORT_ERRORS_SUPPORTED
-m4trace:configure.ac:223: -1- m4_pattern_allow([^BOTAN110_LIBS$])
-m4trace:configure.ac:224: -1- m4_pattern_allow([^BOTAN110_CFLAGS$])
-m4trace:configure.ac:225: -1- m4_pattern_allow([^HAVE_BOTAN110$])
-m4trace:configure.ac:230: -1- PKG_CHECK_MODULES([BOTAN18], [botan-1.8], [HAVE_BOTAN18=yes], [as_fn_error $? "Could not find botan 1.8" "$LINENO" 5])
-m4trace:configure.ac:230: -1- m4_pattern_allow([^BOTAN18_CFLAGS$])
-m4trace:configure.ac:230: -1- m4_pattern_allow([^BOTAN18_LIBS$])
-m4trace:configure.ac:230: -1- PKG_CHECK_EXISTS([botan-1.8], [pkg_cv_[]BOTAN18_CFLAGS=`$PKG_CONFIG --[]cflags "botan-1.8" 2>/dev/null`
- test "x$?" != "x0" && pkg_failed=yes ], [pkg_failed=yes])
-m4trace:configure.ac:230: -1- PKG_CHECK_EXISTS([botan-1.8], [pkg_cv_[]BOTAN18_LIBS=`$PKG_CONFIG --[]libs "botan-1.8" 2>/dev/null`
- test "x$?" != "x0" && pkg_failed=yes ], [pkg_failed=yes])
-m4trace:configure.ac:230: -1- _PKG_SHORT_ERRORS_SUPPORTED
-m4trace:configure.ac:231: -1- m4_pattern_allow([^BOTAN18_LIBS$])
-m4trace:configure.ac:232: -1- m4_pattern_allow([^BOTAN18_CFLAGS$])
-m4trace:configure.ac:233: -1- m4_pattern_allow([^HAVE_BOTAN18$])
-m4trace:configure.ac:239: -1- AM_CONDITIONAL([REMOTEBACKEND_HTTP], [test x"$enable_remotebackend_http" = "xyes"])
-m4trace:configure.ac:239: -1- m4_pattern_allow([^REMOTEBACKEND_HTTP_TRUE$])
-m4trace:configure.ac:239: -1- m4_pattern_allow([^REMOTEBACKEND_HTTP_FALSE$])
-m4trace:configure.ac:239: -1- _AM_SUBST_NOTMAKE([REMOTEBACKEND_HTTP_TRUE])
-m4trace:configure.ac:239: -1- _AM_SUBST_NOTMAKE([REMOTEBACKEND_HTTP_FALSE])
-m4trace:configure.ac:242: -1- PKG_CHECK_MODULES([LIBCURL], [libcurl], [HAVE_LIBCURL=yes], [as_fn_error $? "Could not find libcurl" "$LINENO" 5])
-m4trace:configure.ac:242: -1- m4_pattern_allow([^LIBCURL_CFLAGS$])
-m4trace:configure.ac:242: -1- m4_pattern_allow([^LIBCURL_LIBS$])
-m4trace:configure.ac:242: -1- PKG_CHECK_EXISTS([libcurl], [pkg_cv_[]LIBCURL_CFLAGS=`$PKG_CONFIG --[]cflags "libcurl" 2>/dev/null`
- test "x$?" != "x0" && pkg_failed=yes ], [pkg_failed=yes])
-m4trace:configure.ac:242: -1- PKG_CHECK_EXISTS([libcurl], [pkg_cv_[]LIBCURL_LIBS=`$PKG_CONFIG --[]libs "libcurl" 2>/dev/null`
- test "x$?" != "x0" && pkg_failed=yes ], [pkg_failed=yes])
-m4trace:configure.ac:242: -1- _PKG_SHORT_ERRORS_SUPPORTED
-m4trace:configure.ac:243: -1- m4_pattern_allow([^LIBCURL_LIBS$])
-m4trace:configure.ac:244: -1- m4_pattern_allow([^LIBCURL_CFLAGS$])
-m4trace:configure.ac:245: -1- m4_pattern_allow([^HAVE_LIBCURL$])
-m4trace:configure.ac:246: -1- m4_pattern_allow([^REMOTEBACKEND_HTTP$])
-m4trace:configure.ac:260: -1- AM_CONDITIONAL([ALLSTATIC], [test x$static = xtrue])
-m4trace:configure.ac:260: -1- m4_pattern_allow([^ALLSTATIC_TRUE$])
-m4trace:configure.ac:260: -1- m4_pattern_allow([^ALLSTATIC_FALSE$])
-m4trace:configure.ac:260: -1- _AM_SUBST_NOTMAKE([ALLSTATIC_TRUE])
-m4trace:configure.ac:260: -1- _AM_SUBST_NOTMAKE([ALLSTATIC_FALSE])
-m4trace:configure.ac:283: -1- m4_pattern_allow([^socketdir$])
-m4trace:configure.ac:290: -1- m4_pattern_allow([^moduledirs$])
-m4trace:configure.ac:291: -1- m4_pattern_allow([^moduleobjects$])
-m4trace:configure.ac:292: -1- m4_pattern_allow([^modulelibs$])
-m4trace:configure.ac:307: -1- m4_pattern_allow([^programdescend$])
-m4trace:configure.ac:311: -2- m4_pattern_allow([^GCC_SKIP_LOCKING$])
-m4trace:configure.ac:321: -1- AM_CONDITIONAL([RECURSOR], [test x"$enable_recursor" = "xyes"])
-m4trace:configure.ac:321: -1- m4_pattern_allow([^RECURSOR_TRUE$])
-m4trace:configure.ac:321: -1- m4_pattern_allow([^RECURSOR_FALSE$])
-m4trace:configure.ac:321: -1- _AM_SUBST_NOTMAKE([RECURSOR_TRUE])
-m4trace:configure.ac:321: -1- _AM_SUBST_NOTMAKE([RECURSOR_FALSE])
-m4trace:configure.ac:342: -1- m4_pattern_allow([^HAVE_LDAP_H$])
-m4trace:configure.ac:343: -1- m4_pattern_allow([^HAVE_LBER_H$])
-m4trace:configure.ac:344: -1- m4_pattern_allow([^LIBLDAP$])
-m4trace:configure.ac:345: -1- m4_pattern_allow([^HAVE_LIBLDAP_R$])
-m4trace:configure.ac:345: -1- m4_pattern_allow([^HAVE_LIBLDAP$])
-m4trace:configure.ac:354: -1- m4_pattern_allow([^HAVE_LDAP_INITIALIZE$])
-m4trace:configure.ac:358: -1- m4_pattern_allow([^HAVE_LDAP_SASL_BIND$])
-m4trace:configure.ac:367: -1- m4_pattern_allow([^HAVE_ODBX_H$])
-m4trace:configure.ac:368: -1- m4_pattern_allow([^LIBOPENDBX$])
-m4trace:configure.ac:369: -1- m4_pattern_allow([^HAVE_LIBOPENDBX$])
-m4trace:configure.ac:459: -1- m4_pattern_allow([^MYSQL_lib$])
-m4trace:configure.ac:481: -1- m4_pattern_allow([^MYSQL_lib$])
-m4trace:configure.ac:482: -1- m4_pattern_allow([^MYSQL_inc$])
-m4trace:configure.ac:524: -1- m4_pattern_allow([^PGSQL_lib$])
-m4trace:configure.ac:542: -1- m4_pattern_allow([^PGSQL_incdir$])
-m4trace:configure.ac:548: -1- PKG_CHECK_MODULES([SQLITE3], [$SQLITE3PC], [HAVE_SQLITE3=yes], [as_fn_error $? "+Could not find sqlite3" "$LINENO" 5])
-m4trace:configure.ac:548: -1- m4_pattern_allow([^SQLITE3_CFLAGS$])
-m4trace:configure.ac:548: -1- m4_pattern_allow([^SQLITE3_LIBS$])
-m4trace:configure.ac:548: -1- PKG_CHECK_EXISTS([$SQLITE3PC], [pkg_cv_[]SQLITE3_CFLAGS=`$PKG_CONFIG --[]cflags "$SQLITE3PC" 2>/dev/null`
- test "x$?" != "x0" && pkg_failed=yes ], [pkg_failed=yes])
-m4trace:configure.ac:548: -1- PKG_CHECK_EXISTS([$SQLITE3PC], [pkg_cv_[]SQLITE3_LIBS=`$PKG_CONFIG --[]libs "$SQLITE3PC" 2>/dev/null`
- test "x$?" != "x0" && pkg_failed=yes ], [pkg_failed=yes])
-m4trace:configure.ac:548: -1- _PKG_SHORT_ERRORS_SUPPORTED
-m4trace:configure.ac:549: -1- m4_pattern_allow([^SQLITE3_LIBS$])
-m4trace:configure.ac:550: -1- m4_pattern_allow([^SQLITE3_CFLAGS$])
-m4trace:configure.ac:551: -1- m4_pattern_allow([^HAVE_SQLITE3$])
-m4trace:configure.ac:556: -1- PKG_CHECK_MODULES([CDB], [libcdb], [HAVE_CDB=yes], [as_fn_error $? "+Could not find libcdb/tinycdb" "$LINENO" 5])
-m4trace:configure.ac:556: -1- m4_pattern_allow([^CDB_CFLAGS$])
-m4trace:configure.ac:556: -1- m4_pattern_allow([^CDB_LIBS$])
-m4trace:configure.ac:556: -1- PKG_CHECK_EXISTS([libcdb], [pkg_cv_[]CDB_CFLAGS=`$PKG_CONFIG --[]cflags "libcdb" 2>/dev/null`
- test "x$?" != "x0" && pkg_failed=yes ], [pkg_failed=yes])
-m4trace:configure.ac:556: -1- PKG_CHECK_EXISTS([libcdb], [pkg_cv_[]CDB_LIBS=`$PKG_CONFIG --[]libs "libcdb" 2>/dev/null`
- test "x$?" != "x0" && pkg_failed=yes ], [pkg_failed=yes])
-m4trace:configure.ac:556: -1- _PKG_SHORT_ERRORS_SUPPORTED
-m4trace:configure.ac:557: -1- m4_pattern_allow([^CDB_LIBS$])
-m4trace:configure.ac:558: -1- m4_pattern_allow([^CDB_CFLAGS$])
-m4trace:configure.ac:561: -1- AM_CONDITIONAL([SQLITE3], [test "$needsqlite3"])
-m4trace:configure.ac:561: -1- m4_pattern_allow([^SQLITE3_TRUE$])
-m4trace:configure.ac:561: -1- m4_pattern_allow([^SQLITE3_FALSE$])
-m4trace:configure.ac:561: -1- _AM_SUBST_NOTMAKE([SQLITE3_TRUE])
-m4trace:configure.ac:561: -1- _AM_SUBST_NOTMAKE([SQLITE3_FALSE])
-m4trace:configure.ac:599: -1- m4_pattern_allow([^UNIXODBC_lib$])
-m4trace:configure.ac:617: -1- m4_pattern_allow([^UNIXODBC_incdir$])
-m4trace:configure.ac:654: -1- m4_pattern_allow([^LIBS$])
-m4trace:configure.ac:658: -1- _m4_warn([obsolete], [AC_OUTPUT should be used without arguments.
+configure.ac:183: the top level])
+m4trace:configure.ac:188: -1- AM_CONDITIONAL([HAVE_LIBPOLARSSL], [false])
+m4trace:configure.ac:188: -1- m4_pattern_allow([^HAVE_LIBPOLARSSL_TRUE$])
+m4trace:configure.ac:188: -1- m4_pattern_allow([^HAVE_LIBPOLARSSL_FALSE$])
+m4trace:configure.ac:188: -1- _AM_SUBST_NOTMAKE([HAVE_LIBPOLARSSL_TRUE])
+m4trace:configure.ac:188: -1- _AM_SUBST_NOTMAKE([HAVE_LIBPOLARSSL_FALSE])
+m4trace:configure.ac:205: -1- m4_pattern_allow([^HAVE_LIBPOLARSSL$])
+m4trace:configure.ac:212: -1- AM_CONDITIONAL([BOTAN110], [test x"$enable_botan110" = "xyes"])
+m4trace:configure.ac:212: -1- m4_pattern_allow([^BOTAN110_TRUE$])
+m4trace:configure.ac:212: -1- m4_pattern_allow([^BOTAN110_FALSE$])
+m4trace:configure.ac:212: -1- _AM_SUBST_NOTMAKE([BOTAN110_TRUE])
+m4trace:configure.ac:212: -1- _AM_SUBST_NOTMAKE([BOTAN110_FALSE])
+m4trace:configure.ac:218: -1- AM_CONDITIONAL([BOTAN18], [test x"$enable_botan18" = "xyes"])
+m4trace:configure.ac:218: -1- m4_pattern_allow([^BOTAN18_TRUE$])
+m4trace:configure.ac:218: -1- m4_pattern_allow([^BOTAN18_FALSE$])
+m4trace:configure.ac:218: -1- _AM_SUBST_NOTMAKE([BOTAN18_TRUE])
+m4trace:configure.ac:218: -1- _AM_SUBST_NOTMAKE([BOTAN18_FALSE])
+m4trace:configure.ac:224: -1- AM_CONDITIONAL([CRYPTOPP], [test x"$enable_cryptopp" = "xyes"])
+m4trace:configure.ac:224: -1- m4_pattern_allow([^CRYPTOPP_TRUE$])
+m4trace:configure.ac:224: -1- m4_pattern_allow([^CRYPTOPP_FALSE$])
+m4trace:configure.ac:224: -1- _AM_SUBST_NOTMAKE([CRYPTOPP_TRUE])
+m4trace:configure.ac:224: -1- _AM_SUBST_NOTMAKE([CRYPTOPP_FALSE])
+m4trace:configure.ac:227: -1- PKG_CHECK_MODULES([BOTAN110], [botan-1.10], [HAVE_BOTAN110=yes], [as_fn_error $? "Could not find botan 1.10" "$LINENO" 5])
+m4trace:configure.ac:227: -1- m4_pattern_allow([^BOTAN110_CFLAGS$])
+m4trace:configure.ac:227: -1- m4_pattern_allow([^BOTAN110_LIBS$])
+m4trace:configure.ac:227: -1- PKG_CHECK_EXISTS([botan-1.10], [pkg_cv_[]BOTAN110_CFLAGS=`$PKG_CONFIG --[]cflags "botan-1.10" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes ], [pkg_failed=yes])
+m4trace:configure.ac:227: -1- PKG_CHECK_EXISTS([botan-1.10], [pkg_cv_[]BOTAN110_LIBS=`$PKG_CONFIG --[]libs "botan-1.10" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes ], [pkg_failed=yes])
+m4trace:configure.ac:227: -1- _PKG_SHORT_ERRORS_SUPPORTED
+m4trace:configure.ac:228: -1- m4_pattern_allow([^BOTAN110_LIBS$])
+m4trace:configure.ac:229: -1- m4_pattern_allow([^BOTAN110_CFLAGS$])
+m4trace:configure.ac:230: -1- m4_pattern_allow([^HAVE_BOTAN110$])
+m4trace:configure.ac:235: -1- PKG_CHECK_MODULES([BOTAN18], [botan-1.8], [HAVE_BOTAN18=yes], [as_fn_error $? "Could not find botan 1.8" "$LINENO" 5])
+m4trace:configure.ac:235: -1- m4_pattern_allow([^BOTAN18_CFLAGS$])
+m4trace:configure.ac:235: -1- m4_pattern_allow([^BOTAN18_LIBS$])
+m4trace:configure.ac:235: -1- PKG_CHECK_EXISTS([botan-1.8], [pkg_cv_[]BOTAN18_CFLAGS=`$PKG_CONFIG --[]cflags "botan-1.8" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes ], [pkg_failed=yes])
+m4trace:configure.ac:235: -1- PKG_CHECK_EXISTS([botan-1.8], [pkg_cv_[]BOTAN18_LIBS=`$PKG_CONFIG --[]libs "botan-1.8" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes ], [pkg_failed=yes])
+m4trace:configure.ac:235: -1- _PKG_SHORT_ERRORS_SUPPORTED
+m4trace:configure.ac:236: -1- m4_pattern_allow([^BOTAN18_LIBS$])
+m4trace:configure.ac:237: -1- m4_pattern_allow([^BOTAN18_CFLAGS$])
+m4trace:configure.ac:238: -1- m4_pattern_allow([^HAVE_BOTAN18$])
+m4trace:configure.ac:244: -1- AM_CONDITIONAL([REMOTEBACKEND_HTTP], [test x"$enable_remotebackend_http" = "xyes"])
+m4trace:configure.ac:244: -1- m4_pattern_allow([^REMOTEBACKEND_HTTP_TRUE$])
+m4trace:configure.ac:244: -1- m4_pattern_allow([^REMOTEBACKEND_HTTP_FALSE$])
+m4trace:configure.ac:244: -1- _AM_SUBST_NOTMAKE([REMOTEBACKEND_HTTP_TRUE])
+m4trace:configure.ac:244: -1- _AM_SUBST_NOTMAKE([REMOTEBACKEND_HTTP_FALSE])
+m4trace:configure.ac:247: -1- PKG_CHECK_MODULES([LIBCURL], [libcurl], [HAVE_LIBCURL=yes], [as_fn_error $? "Could not find libcurl" "$LINENO" 5])
+m4trace:configure.ac:247: -1- m4_pattern_allow([^LIBCURL_CFLAGS$])
+m4trace:configure.ac:247: -1- m4_pattern_allow([^LIBCURL_LIBS$])
+m4trace:configure.ac:247: -1- PKG_CHECK_EXISTS([libcurl], [pkg_cv_[]LIBCURL_CFLAGS=`$PKG_CONFIG --[]cflags "libcurl" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes ], [pkg_failed=yes])
+m4trace:configure.ac:247: -1- PKG_CHECK_EXISTS([libcurl], [pkg_cv_[]LIBCURL_LIBS=`$PKG_CONFIG --[]libs "libcurl" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes ], [pkg_failed=yes])
+m4trace:configure.ac:247: -1- _PKG_SHORT_ERRORS_SUPPORTED
+m4trace:configure.ac:248: -1- m4_pattern_allow([^LIBCURL_LIBS$])
+m4trace:configure.ac:249: -1- m4_pattern_allow([^LIBCURL_CFLAGS$])
+m4trace:configure.ac:250: -1- m4_pattern_allow([^HAVE_LIBCURL$])
+m4trace:configure.ac:251: -1- m4_pattern_allow([^REMOTEBACKEND_HTTP$])
+m4trace:configure.ac:265: -1- AM_CONDITIONAL([ALLSTATIC], [test x$static = xtrue])
+m4trace:configure.ac:265: -1- m4_pattern_allow([^ALLSTATIC_TRUE$])
+m4trace:configure.ac:265: -1- m4_pattern_allow([^ALLSTATIC_FALSE$])
+m4trace:configure.ac:265: -1- _AM_SUBST_NOTMAKE([ALLSTATIC_TRUE])
+m4trace:configure.ac:265: -1- _AM_SUBST_NOTMAKE([ALLSTATIC_FALSE])
+m4trace:configure.ac:288: -1- m4_pattern_allow([^socketdir$])
+m4trace:configure.ac:295: -1- m4_pattern_allow([^moduledirs$])
+m4trace:configure.ac:296: -1- m4_pattern_allow([^moduleobjects$])
+m4trace:configure.ac:297: -1- m4_pattern_allow([^modulelibs$])
+m4trace:configure.ac:312: -1- m4_pattern_allow([^programdescend$])
+m4trace:configure.ac:316: -2- m4_pattern_allow([^GCC_SKIP_LOCKING$])
+m4trace:configure.ac:326: -1- AM_CONDITIONAL([RECURSOR], [test x"$enable_recursor" = "xyes"])
+m4trace:configure.ac:326: -1- m4_pattern_allow([^RECURSOR_TRUE$])
+m4trace:configure.ac:326: -1- m4_pattern_allow([^RECURSOR_FALSE$])
+m4trace:configure.ac:326: -1- _AM_SUBST_NOTMAKE([RECURSOR_TRUE])
+m4trace:configure.ac:326: -1- _AM_SUBST_NOTMAKE([RECURSOR_FALSE])
+m4trace:configure.ac:347: -1- m4_pattern_allow([^HAVE_LDAP_H$])
+m4trace:configure.ac:348: -1- m4_pattern_allow([^HAVE_LBER_H$])
+m4trace:configure.ac:349: -1- m4_pattern_allow([^LIBLDAP$])
+m4trace:configure.ac:350: -1- m4_pattern_allow([^HAVE_LIBLDAP_R$])
+m4trace:configure.ac:350: -1- m4_pattern_allow([^HAVE_LIBLDAP$])
+m4trace:configure.ac:359: -1- m4_pattern_allow([^HAVE_LDAP_INITIALIZE$])
+m4trace:configure.ac:363: -1- m4_pattern_allow([^HAVE_LDAP_SASL_BIND$])
+m4trace:configure.ac:372: -1- m4_pattern_allow([^HAVE_ODBX_H$])
+m4trace:configure.ac:373: -1- m4_pattern_allow([^LIBOPENDBX$])
+m4trace:configure.ac:374: -1- m4_pattern_allow([^HAVE_LIBOPENDBX$])
+m4trace:configure.ac:464: -1- m4_pattern_allow([^MYSQL_lib$])
+m4trace:configure.ac:486: -1- m4_pattern_allow([^MYSQL_lib$])
+m4trace:configure.ac:487: -1- m4_pattern_allow([^MYSQL_inc$])
+m4trace:configure.ac:529: -1- m4_pattern_allow([^PGSQL_lib$])
+m4trace:configure.ac:547: -1- m4_pattern_allow([^PGSQL_incdir$])
+m4trace:configure.ac:553: -1- PKG_CHECK_MODULES([SQLITE3], [$SQLITE3PC], [HAVE_SQLITE3=yes], [as_fn_error $? "+Could not find sqlite3" "$LINENO" 5])
+m4trace:configure.ac:553: -1- m4_pattern_allow([^SQLITE3_CFLAGS$])
+m4trace:configure.ac:553: -1- m4_pattern_allow([^SQLITE3_LIBS$])
+m4trace:configure.ac:553: -1- PKG_CHECK_EXISTS([$SQLITE3PC], [pkg_cv_[]SQLITE3_CFLAGS=`$PKG_CONFIG --[]cflags "$SQLITE3PC" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes ], [pkg_failed=yes])
+m4trace:configure.ac:553: -1- PKG_CHECK_EXISTS([$SQLITE3PC], [pkg_cv_[]SQLITE3_LIBS=`$PKG_CONFIG --[]libs "$SQLITE3PC" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes ], [pkg_failed=yes])
+m4trace:configure.ac:553: -1- _PKG_SHORT_ERRORS_SUPPORTED
+m4trace:configure.ac:554: -1- m4_pattern_allow([^SQLITE3_LIBS$])
+m4trace:configure.ac:555: -1- m4_pattern_allow([^SQLITE3_CFLAGS$])
+m4trace:configure.ac:556: -1- m4_pattern_allow([^HAVE_SQLITE3$])
+m4trace:configure.ac:561: -1- PKG_CHECK_MODULES([CDB], [libcdb], [HAVE_CDB=yes], [as_fn_error $? "+Could not find libcdb/tinycdb" "$LINENO" 5])
+m4trace:configure.ac:561: -1- m4_pattern_allow([^CDB_CFLAGS$])
+m4trace:configure.ac:561: -1- m4_pattern_allow([^CDB_LIBS$])
+m4trace:configure.ac:561: -1- PKG_CHECK_EXISTS([libcdb], [pkg_cv_[]CDB_CFLAGS=`$PKG_CONFIG --[]cflags "libcdb" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes ], [pkg_failed=yes])
+m4trace:configure.ac:561: -1- PKG_CHECK_EXISTS([libcdb], [pkg_cv_[]CDB_LIBS=`$PKG_CONFIG --[]libs "libcdb" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes ], [pkg_failed=yes])
+m4trace:configure.ac:561: -1- _PKG_SHORT_ERRORS_SUPPORTED
+m4trace:configure.ac:562: -1- m4_pattern_allow([^CDB_LIBS$])
+m4trace:configure.ac:563: -1- m4_pattern_allow([^CDB_CFLAGS$])
+m4trace:configure.ac:566: -1- AM_CONDITIONAL([SQLITE3], [test "$needsqlite3"])
+m4trace:configure.ac:566: -1- m4_pattern_allow([^SQLITE3_TRUE$])
+m4trace:configure.ac:566: -1- m4_pattern_allow([^SQLITE3_FALSE$])
+m4trace:configure.ac:566: -1- _AM_SUBST_NOTMAKE([SQLITE3_TRUE])
+m4trace:configure.ac:566: -1- _AM_SUBST_NOTMAKE([SQLITE3_FALSE])
+m4trace:configure.ac:604: -1- m4_pattern_allow([^UNIXODBC_lib$])
+m4trace:configure.ac:622: -1- m4_pattern_allow([^UNIXODBC_incdir$])
+m4trace:configure.ac:659: -1- m4_pattern_allow([^LIBS$])
+m4trace:configure.ac:663: -1- _m4_warn([obsolete], [AC_OUTPUT should be used without arguments.
You should run autoupdate.], [])
-m4trace:configure.ac:658: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.ac:658: -1- m4_pattern_allow([^LTLIBOBJS$])
-m4trace:configure.ac:658: -1- AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])
-m4trace:configure.ac:658: -1- m4_pattern_allow([^am__EXEEXT_TRUE$])
-m4trace:configure.ac:658: -1- m4_pattern_allow([^am__EXEEXT_FALSE$])
-m4trace:configure.ac:658: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_TRUE])
-m4trace:configure.ac:658: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_FALSE])
-m4trace:configure.ac:658: -1- _AC_AM_CONFIG_HEADER_HOOK(["$ac_file"])
-m4trace:configure.ac:658: -1- _AM_OUTPUT_DEPENDENCY_COMMANDS
-m4trace:configure.ac:658: -1- _LT_PROG_LTMAIN
+m4trace:configure.ac:663: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.ac:663: -1- m4_pattern_allow([^LTLIBOBJS$])
+m4trace:configure.ac:663: -1- AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])
+m4trace:configure.ac:663: -1- m4_pattern_allow([^am__EXEEXT_TRUE$])
+m4trace:configure.ac:663: -1- m4_pattern_allow([^am__EXEEXT_FALSE$])
+m4trace:configure.ac:663: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_TRUE])
+m4trace:configure.ac:663: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_FALSE])
+m4trace:configure.ac:663: -1- _AC_AM_CONFIG_HEADER_HOOK(["$ac_file"])
+m4trace:configure.ac:663: -1- _AM_OUTPUT_DEPENDENCY_COMMANDS
+m4trace:configure.ac:663: -1- _LT_PROG_LTMAIN
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/build-scripts/set-version-auth
^
|
@@ -2,6 +2,6 @@
VERSION=$1
[ -z "$VERSION" ] && exit
-ssed -r "s/Version: (.*)/Version: \\1.$VERSION/" -i *.spec
+ssed -r "s/Version: (.*)/Version: \\1.$VERSION/" -i pdns.spec
ssed -r "s/AM_INIT_AUTOMAKE\\(pdns, (.*)\\)/AM_INIT_AUTOMAKE\(pdns, \\1.$VERSION\)/" -i configure.ac
ssed -r "1 s/^pdns \\(([^)]*)-([0-9.])\\)/pdns \\(\\1.$VERSION-\\2\\)/" -i debian-pdns/changelog
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/build-scripts/set-version-recursor
^
|
@@ -3,3 +3,4 @@
[ -z "$VERSION" ] && exit
ssed -r "s/^VERSION=(.*)/VERSION=\\1.$VERSION/" -i pdns/dist-recursor
+ssed -r "s/Version: (.*)/Version: \\1.$VERSION/" -i pdns/pdns-recursor.spec
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/codedocs/Makefile.in
^
|
@@ -62,6 +62,8 @@
BOOST_ROOT = @BOOST_ROOT@
BOOST_SERIALIZATION_LDFLAGS = @BOOST_SERIALIZATION_LDFLAGS@
BOOST_SERIALIZATION_LIBS = @BOOST_SERIALIZATION_LIBS@
+BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS = @BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS@
+BOOST_UNIT_TEST_FRAMEWORK_LIBS = @BOOST_UNIT_TEST_FRAMEWORK_LIBS@
BOTAN110_CFLAGS = @BOTAN110_CFLAGS@
BOTAN110_LIBS = @BOTAN110_LIBS@
BOTAN18_CFLAGS = @BOTAN18_CFLAGS@
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/config.h.in
^
|
@@ -18,6 +18,9 @@
/* Define to 1 if you have <boost/program_options.hpp> */
#undef HAVE_BOOST_PROGRAM_OPTIONS_HPP
+/* Define to 1 if you have <boost/test/unit_test.hpp> */
+#undef HAVE_BOOST_TEST_UNIT_TEST_HPP
+
/* If we have botan 1.10 */
#undef HAVE_BOTAN110
|
[-]
[+]
|
Added |
pdns-3.2.tar.gz/config.h.in~
^
|
@@ -0,0 +1,219 @@
+/* config.h.in. Generated from configure.ac by autoheader. */
+
+/* Define if building universal (internal helper macro) */
+#undef AC_APPLE_UNIVERSAL_BUILD
+
+/* Skip gcc locking */
+#undef GCC_SKIP_LOCKING
+
+/* Defined if the requested minimum BOOST version is satisfied */
+#undef HAVE_BOOST
+
+/* Define to 1 if you have <boost/archive/text_oarchive.hpp> */
+#undef HAVE_BOOST_ARCHIVE_TEXT_OARCHIVE_HPP
+
+/* Define to 1 if you have <boost/foreach.hpp> */
+#undef HAVE_BOOST_FOREACH_HPP
+
+/* Define to 1 if you have <boost/program_options.hpp> */
+#undef HAVE_BOOST_PROGRAM_OPTIONS_HPP
+
+/* If we have botan 1.10 */
+#undef HAVE_BOTAN110
+
+/* If we have botan 1.8 */
+#undef HAVE_BOTAN18
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#undef HAVE_DLFCN_H
+
+/* Define to 1 if you have the <fcntl.h> header file. */
+#undef HAVE_FCNTL_H
+
+/* Define to 1 if you have the `gethostname' function. */
+#undef HAVE_GETHOSTNAME
+
+/* Define to 1 if you have the <getopt.h> header file. */
+#undef HAVE_GETOPT_H
+
+/* Define to 1 if you have the `gettimeofday' function. */
+#undef HAVE_GETTIMEOFDAY
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#undef HAVE_INTTYPES_H
+
+/* If the host operating system understands IPv6 */
+#undef HAVE_IPV6
+
+/* Define to 1 if you have the <lber.h> header file. */
+#undef HAVE_LBER_H
+
+/* Define to 1 if you have the <ldap.h> header file. */
+#undef HAVE_LDAP_H
+
+/* Define to 1 if you have ldap_initialize */
+#undef HAVE_LDAP_INITIALIZE
+
+/* Define to 1 if you have ldap_sasl_bind */
+#undef HAVE_LDAP_SASL_BIND
+
+/* Define to 1 if you have the `crypt' library (-lcrypt). */
+#undef HAVE_LIBCRYPT
+
+/* If we have libcurl */
+#undef HAVE_LIBCURL
+
+/* Define to 1 if you have the `dl' library (-ldl). */
+#undef HAVE_LIBDL
+
+/* Have -lldap */
+#undef HAVE_LIBLDAP
+
+/* Have -lldap_r */
+#undef HAVE_LIBLDAP_R
+
+/* Have -lopendbx */
+#undef HAVE_LIBOPENDBX
+
+/* Define to 1 if you have the `polarssl' library (-lpolarssl). */
+#undef HAVE_LIBPOLARSSL
+
+/* Define to 1 if you have the <limits.h> header file. */
+#undef HAVE_LIMITS_H
+
+/* liblua */
+#undef HAVE_LUA
+
+/* lua.h */
+#undef HAVE_LUA_H
+
+/* Define to 1 if you have the <memory.h> header file. */
+#undef HAVE_MEMORY_H
+
+/* Define to 1 if you have the `mkdir' function. */
+#undef HAVE_MKDIR
+
+/* Define to 1 if you have the `mktime' function. */
+#undef HAVE_MKTIME
+
+/* Define to 1 if you have the <odbx.h> header file. */
+#undef HAVE_ODBX_H
+
+/* Define to 1 if you have the `select' function. */
+#undef HAVE_SELECT
+
+/* Define to 1 if you have the `socket' function. */
+#undef HAVE_SOCKET
+
+/* If we have sqlite3 */
+#undef HAVE_SQLITE3
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#undef HAVE_STDINT_H
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H
+
+/* Define to 1 if you have the `strcasestr' function. */
+#undef HAVE_STRCASESTR
+
+/* Define to 1 if you have the `strerror' function. */
+#undef HAVE_STRERROR
+
+/* Define to 1 if you have the <strings.h> header file. */
+#undef HAVE_STRINGS_H
+
+/* Define to 1 if you have the <string.h> header file. */
+#undef HAVE_STRING_H
+
+/* Define to 1 if you have the <syslog.h> header file. */
+#undef HAVE_SYSLOG_H
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#undef HAVE_SYS_STAT_H
+
+/* Define to 1 if you have the <sys/time.h> header file. */
+#undef HAVE_SYS_TIME_H
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#undef HAVE_SYS_TYPES_H
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H
+
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+ */
+#undef LT_OBJDIR
+
+/* If your OS is so broken that it needs an additional prototype */
+#undef NEED_INET_NTOP_PROTO
+
+/* If POSIX typedefs need to be defined */
+#undef NEED_POSIX_TYPEDEF
+
+/* If host OS misses RTLD_NOW */
+#undef NEED_RTLD_NOW
+
+/* Define to 1 if your C compiler doesn't accept -c and -o together. */
+#undef NO_MINUS_C_MINUS_O
+
+/* Name of package */
+#undef PACKAGE
+
+/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT
+
+/* Define to the full name of this package. */
+#undef PACKAGE_NAME
+
+/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING
+
+/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME
+
+/* Define to the home page for this package. */
+#undef PACKAGE_URL
+
+/* Define to the version of this package. */
+#undef PACKAGE_VERSION
+
+/* If we want HTTP connector */
+#undef REMOTEBACKEND_HTTP
+
+/* Define as the return type of signal handlers (`int' or `void'). */
+#undef RETSIGTYPE
+
+/* Define to 1 if you have the ANSI C header files. */
+#undef STDC_HEADERS
+
+/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
+#undef TIME_WITH_SYS_TIME
+
+/* Define to 1 if your <sys/time.h> declares `struct tm'. */
+#undef TM_IN_SYS_TIME
+
+/* If verbose logging should be enabled */
+#undef VERBOSELOG
+
+/* Version number of package */
+#undef VERSION
+
+/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
+ significant byte first (like Motorola and SPARC, unlike Intel). */
+#if defined AC_APPLE_UNIVERSAL_BUILD
+# if defined __BIG_ENDIAN__
+# define WORDS_BIGENDIAN 1
+# endif
+#else
+# ifndef WORDS_BIGENDIAN
+# undef WORDS_BIGENDIAN
+# endif
+#endif
+
+/* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a
+ `char[]'. */
+#undef YYTEXT_POINTER
+
+/* Define to `unsigned int' if <sys/types.h> does not define. */
+#undef size_t
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/configure
^
|
@@ -664,6 +664,8 @@
PKG_CONFIG_LIBDIR
PKG_CONFIG_PATH
PKG_CONFIG
+BOOST_UNIT_TEST_FRAMEWORK_LIBS
+BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS
BOOST_SERIALIZATION_LIBS
BOOST_SERIALIZATION_LDFLAGS
BOOST_PROGRAM_OPTIONS_LIBS
@@ -804,6 +806,7 @@
enable_libtool_lock
with_boost
enable_static_boost
+enable_unit_tests
with_lua
with_sqlite3
enable_verbose_logging
@@ -1488,6 +1491,7 @@
--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
--enable-verbose-logging Do verbose logging
--enable-botan1.10 Use Botan 1.10
--enable-botan1.8 Use Botan 1.8
@@ -3102,7 +3106,7 @@
# Define the identity of the package.
PACKAGE=pdns
- VERSION=3.2-rc4
+ VERSION=3.2
cat >>confdefs.h <<_ACEOF
@@ -17361,6 +17365,234 @@
fi
+# Check whether --enable-unit-tests was given.
+if test "${enable_unit_tests+set}" = set; then :
+ enableval=$enable_unit_tests; enable_unit_tests=yes
+else
+ enable_unit_tests=no
+fi
+
+
+if test x"$enable_unit_tests" = "xyes"; 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"
+# Now let's try to find the library. The algorithm is as follows: first look
+# for a given library name according to the user's PREFERRED-RT-OPT. For each
+# library name, we prefer to use the ones that carry the tag (toolset name).
+# Each library is searched through the various standard paths were Boost is
+# usually installed. If we can't find the standard variants, we try to
+# enforce -mt (for instance on MacOSX, libboost_threads.dylib doesn't exist
+# but there's -obviously- libboost_threads-mt.dylib).
+{ $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 6 nested for loops, only the 2 innermost ones
+# matter.
+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_unit_test_framework$boost_tag_$boost_mt_$boost_rtopt_$boost_ver_ \
+ boost_unit_test_framework$boost_tag_$boost_rtopt_$boost_ver_ \
+ boost_unit_test_framework$boost_tag_$boost_mt_$boost_ver_ \
+ boost_unit_test_framework$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 /usr/lib64 /lib64
+ do
+ test -e "$boost_ldpath" || continue
+ 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
+ boost_cv_lib_unit_test_framework_LDFLAGS="-L$boost_ldpath -R$boost_ldpath"
+ break 6
+ else
+ boost_failed_libs="$boost_failed_libs@$boost_lib@"
+ fi
+ done
+ done
+done
+done
+done
+done
+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 #(
+ no) $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ as_fn_error $? "cannot not find the flags to link with Boost unit_test_framework" "$LINENO" 5
+ ;;
+esac
+BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS=$boost_cv_lib_unit_test_framework_LDFLAGS
+
+BOOST_UNIT_TEST_FRAMEWORK_LIBS=$boost_cv_lib_unit_test_framework_LIBS
+
+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
+
+
+fi
#BOOST_SYSTEM([mt])
# detect pkg-config explicitly
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/configure.ac
^
|
@@ -1,6 +1,6 @@
dnl intro
AC_INIT(pdns/receiver.cc)
-AM_INIT_AUTOMAKE(pdns, 3.2-rc4)
+AM_INIT_AUTOMAKE(pdns, 3.2)
AC_CANONICAL_HOST
AM_CONFIG_HEADER(config.h)
AC_C_BIGENDIAN
@@ -22,6 +22,11 @@
#BOOST_FILESYSTEM([mt])
BOOST_PROGRAM_OPTIONS([mt])
BOOST_SERIALIZATION([mt])
+AC_ARG_ENABLE(unit-tests, AC_HELP_STRING([--enable-unit-tests],[Enable unit test building]), [enable_unit_tests=yes],[enable_unit_tests=no])
+
+if test x"$enable_unit_tests" = "xyes"; then
+ BOOST_TEST([mt])
+fi
#BOOST_SYSTEM([mt])
# detect pkg-config explicitly
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/contrib/systemd-pdns-recursor.service
^
|
@@ -5,6 +5,7 @@
[Service]
Type=forking
ExecStart=/usr/sbin/pdns_recursor --daemon
+PrivateTmp=true
[Install]
WantedBy=multi-user.target
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/contrib/systemd-pdns.service
^
|
@@ -8,6 +8,7 @@
ExecStop=/usr/bin/pdns_control quit
Restart=on-failure
RestartSec=2
+PrivateTmp=true
[Install]
WantedBy=multi-user.target
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/debian-pdns/changelog
^
|
@@ -1,3 +1,9 @@
+pdns (3.2-1) unstable; urgency=medium
+
+ * fill in the blanks
+
+ -- peter van dijk <peter.van.dijk@netherlabs.nl> Tue, 15 Jan 2013 15:00:00 +0100
+
pdns (3.2-rc4-1) unstable; urgency=medium
* fill in the blanks
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/install-sh
^
|
@@ -1,7 +1,7 @@
#!/bin/sh
# install - install a program, script, or datafile
-scriptversion=2009-04-28.21; # UTC
+scriptversion=2011-01-19.21; # UTC
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
@@ -156,6 +156,10 @@
-s) stripcmd=$stripprog;;
-t) dst_arg=$2
+ # Protect names problematic for `test' and other utilities.
+ case $dst_arg in
+ -* | [=\(\)!]) dst_arg=./$dst_arg;;
+ esac
shift;;
-T) no_target_directory=true;;
@@ -186,6 +190,10 @@
fi
shift # arg
dst_arg=$arg
+ # Protect names problematic for `test' and other utilities.
+ case $dst_arg in
+ -* | [=\(\)!]) dst_arg=./$dst_arg;;
+ esac
done
fi
@@ -200,7 +208,11 @@
fi
if test -z "$dir_arg"; then
- trap '(exit $?); exit' 1 2 13 15
+ do_exit='(exit $ret); exit $ret'
+ trap "ret=129; $do_exit" 1
+ trap "ret=130; $do_exit" 2
+ trap "ret=141; $do_exit" 13
+ trap "ret=143; $do_exit" 15
# Set umask so as not to create temps with too-generous modes.
# However, 'strip' requires both read and write access to temps.
@@ -228,9 +240,9 @@
for src
do
- # Protect names starting with `-'.
+ # Protect names problematic for `test' and other utilities.
case $src in
- -*) src=./$src;;
+ -* | [=\(\)!]) src=./$src;;
esac
if test -n "$dir_arg"; then
@@ -252,12 +264,7 @@
echo "$0: no destination specified." >&2
exit 1
fi
-
dst=$dst_arg
- # Protect names starting with `-'.
- case $dst in
- -*) dst=./$dst;;
- esac
# If destination is a directory, append the input filename; won't work
# if double slashes aren't ignored.
@@ -385,7 +392,7 @@
case $dstdir in
/*) prefix='/';;
- -*) prefix='./';;
+ [-=\(\)!]*) prefix='./';;
*) prefix='';;
esac
@@ -403,7 +410,7 @@
for d
do
- test -z "$d" && continue
+ test X"$d" = X && continue
prefix=$prefix$d
if test -d "$prefix"; then
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/modules/Makefile.in
^
|
@@ -101,6 +101,8 @@
BOOST_ROOT = @BOOST_ROOT@
BOOST_SERIALIZATION_LDFLAGS = @BOOST_SERIALIZATION_LDFLAGS@
BOOST_SERIALIZATION_LIBS = @BOOST_SERIALIZATION_LIBS@
+BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS = @BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS@
+BOOST_UNIT_TEST_FRAMEWORK_LIBS = @BOOST_UNIT_TEST_FRAMEWORK_LIBS@
BOTAN110_CFLAGS = @BOTAN110_CFLAGS@
BOTAN110_LIBS = @BOTAN110_LIBS@
BOTAN18_CFLAGS = @BOTAN18_CFLAGS@
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/modules/db2backend/Makefile.in
^
|
@@ -122,6 +122,8 @@
BOOST_ROOT = @BOOST_ROOT@
BOOST_SERIALIZATION_LDFLAGS = @BOOST_SERIALIZATION_LDFLAGS@
BOOST_SERIALIZATION_LIBS = @BOOST_SERIALIZATION_LIBS@
+BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS = @BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS@
+BOOST_UNIT_TEST_FRAMEWORK_LIBS = @BOOST_UNIT_TEST_FRAMEWORK_LIBS@
BOTAN110_CFLAGS = @BOTAN110_CFLAGS@
BOTAN110_LIBS = @BOTAN110_LIBS@
BOTAN18_CFLAGS = @BOTAN18_CFLAGS@
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/modules/geobackend/Makefile.in
^
|
@@ -122,6 +122,8 @@
BOOST_ROOT = @BOOST_ROOT@
BOOST_SERIALIZATION_LDFLAGS = @BOOST_SERIALIZATION_LDFLAGS@
BOOST_SERIALIZATION_LIBS = @BOOST_SERIALIZATION_LIBS@
+BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS = @BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS@
+BOOST_UNIT_TEST_FRAMEWORK_LIBS = @BOOST_UNIT_TEST_FRAMEWORK_LIBS@
BOTAN110_CFLAGS = @BOTAN110_CFLAGS@
BOTAN110_LIBS = @BOTAN110_LIBS@
BOTAN18_CFLAGS = @BOTAN18_CFLAGS@
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/modules/gmysqlbackend/Makefile.in
^
|
@@ -122,6 +122,8 @@
BOOST_ROOT = @BOOST_ROOT@
BOOST_SERIALIZATION_LDFLAGS = @BOOST_SERIALIZATION_LDFLAGS@
BOOST_SERIALIZATION_LIBS = @BOOST_SERIALIZATION_LIBS@
+BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS = @BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS@
+BOOST_UNIT_TEST_FRAMEWORK_LIBS = @BOOST_UNIT_TEST_FRAMEWORK_LIBS@
BOTAN110_CFLAGS = @BOTAN110_CFLAGS@
BOTAN110_LIBS = @BOTAN110_LIBS@
BOTAN18_CFLAGS = @BOTAN18_CFLAGS@
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/modules/godbcbackend/Makefile.in
^
|
@@ -122,6 +122,8 @@
BOOST_ROOT = @BOOST_ROOT@
BOOST_SERIALIZATION_LDFLAGS = @BOOST_SERIALIZATION_LDFLAGS@
BOOST_SERIALIZATION_LIBS = @BOOST_SERIALIZATION_LIBS@
+BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS = @BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS@
+BOOST_UNIT_TEST_FRAMEWORK_LIBS = @BOOST_UNIT_TEST_FRAMEWORK_LIBS@
BOTAN110_CFLAGS = @BOTAN110_CFLAGS@
BOTAN110_LIBS = @BOTAN110_LIBS@
BOTAN18_CFLAGS = @BOTAN18_CFLAGS@
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/modules/goraclebackend/Makefile.in
^
|
@@ -122,6 +122,8 @@
BOOST_ROOT = @BOOST_ROOT@
BOOST_SERIALIZATION_LDFLAGS = @BOOST_SERIALIZATION_LDFLAGS@
BOOST_SERIALIZATION_LIBS = @BOOST_SERIALIZATION_LIBS@
+BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS = @BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS@
+BOOST_UNIT_TEST_FRAMEWORK_LIBS = @BOOST_UNIT_TEST_FRAMEWORK_LIBS@
BOTAN110_CFLAGS = @BOTAN110_CFLAGS@
BOTAN110_LIBS = @BOTAN110_LIBS@
BOTAN18_CFLAGS = @BOTAN18_CFLAGS@
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/modules/gpgsqlbackend/Makefile.in
^
|
@@ -122,6 +122,8 @@
BOOST_ROOT = @BOOST_ROOT@
BOOST_SERIALIZATION_LDFLAGS = @BOOST_SERIALIZATION_LDFLAGS@
BOOST_SERIALIZATION_LIBS = @BOOST_SERIALIZATION_LIBS@
+BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS = @BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS@
+BOOST_UNIT_TEST_FRAMEWORK_LIBS = @BOOST_UNIT_TEST_FRAMEWORK_LIBS@
BOTAN110_CFLAGS = @BOTAN110_CFLAGS@
BOTAN110_LIBS = @BOTAN110_LIBS@
BOTAN18_CFLAGS = @BOTAN18_CFLAGS@
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/modules/gsqlite3backend/Makefile.in
^
|
@@ -122,6 +122,8 @@
BOOST_ROOT = @BOOST_ROOT@
BOOST_SERIALIZATION_LDFLAGS = @BOOST_SERIALIZATION_LDFLAGS@
BOOST_SERIALIZATION_LIBS = @BOOST_SERIALIZATION_LIBS@
+BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS = @BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS@
+BOOST_UNIT_TEST_FRAMEWORK_LIBS = @BOOST_UNIT_TEST_FRAMEWORK_LIBS@
BOTAN110_CFLAGS = @BOTAN110_CFLAGS@
BOTAN110_LIBS = @BOTAN110_LIBS@
BOTAN18_CFLAGS = @BOTAN18_CFLAGS@
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/modules/ldapbackend/Makefile.in
^
|
@@ -122,6 +122,8 @@
BOOST_ROOT = @BOOST_ROOT@
BOOST_SERIALIZATION_LDFLAGS = @BOOST_SERIALIZATION_LDFLAGS@
BOOST_SERIALIZATION_LIBS = @BOOST_SERIALIZATION_LIBS@
+BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS = @BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS@
+BOOST_UNIT_TEST_FRAMEWORK_LIBS = @BOOST_UNIT_TEST_FRAMEWORK_LIBS@
BOTAN110_CFLAGS = @BOTAN110_CFLAGS@
BOTAN110_LIBS = @BOTAN110_LIBS@
BOTAN18_CFLAGS = @BOTAN18_CFLAGS@
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/modules/luabackend/Makefile.in
^
|
@@ -124,6 +124,8 @@
BOOST_ROOT = @BOOST_ROOT@
BOOST_SERIALIZATION_LDFLAGS = @BOOST_SERIALIZATION_LDFLAGS@
BOOST_SERIALIZATION_LIBS = @BOOST_SERIALIZATION_LIBS@
+BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS = @BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS@
+BOOST_UNIT_TEST_FRAMEWORK_LIBS = @BOOST_UNIT_TEST_FRAMEWORK_LIBS@
BOTAN110_CFLAGS = @BOTAN110_CFLAGS@
BOTAN110_LIBS = @BOTAN110_LIBS@
BOTAN18_CFLAGS = @BOTAN18_CFLAGS@
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/modules/luabackend/README
^
|
@@ -2,6 +2,10 @@
This is the luabackend for PowerDNS!
====================================
+Note: shortly before the 3.2 release of PowerDNS, Fredrik Danerklinkt
+(author of this Luabackend) opened https://github.com/fredan/luabackend
+and is doing development there.
+
http://www.lua.org for more information about what Lua really is.
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/modules/mydnsbackend/Makefile.in
^
|
@@ -122,6 +122,8 @@
BOOST_ROOT = @BOOST_ROOT@
BOOST_SERIALIZATION_LDFLAGS = @BOOST_SERIALIZATION_LDFLAGS@
BOOST_SERIALIZATION_LIBS = @BOOST_SERIALIZATION_LIBS@
+BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS = @BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS@
+BOOST_UNIT_TEST_FRAMEWORK_LIBS = @BOOST_UNIT_TEST_FRAMEWORK_LIBS@
BOTAN110_CFLAGS = @BOTAN110_CFLAGS@
BOTAN110_LIBS = @BOTAN110_LIBS@
BOTAN18_CFLAGS = @BOTAN18_CFLAGS@
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/modules/opendbxbackend/Makefile.in
^
|
@@ -122,6 +122,8 @@
BOOST_ROOT = @BOOST_ROOT@
BOOST_SERIALIZATION_LDFLAGS = @BOOST_SERIALIZATION_LDFLAGS@
BOOST_SERIALIZATION_LIBS = @BOOST_SERIALIZATION_LIBS@
+BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS = @BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS@
+BOOST_UNIT_TEST_FRAMEWORK_LIBS = @BOOST_UNIT_TEST_FRAMEWORK_LIBS@
BOTAN110_CFLAGS = @BOTAN110_CFLAGS@
BOTAN110_LIBS = @BOTAN110_LIBS@
BOTAN18_CFLAGS = @BOTAN18_CFLAGS@
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/modules/oraclebackend/Makefile.in
^
|
@@ -123,6 +123,8 @@
BOOST_ROOT = @BOOST_ROOT@
BOOST_SERIALIZATION_LDFLAGS = @BOOST_SERIALIZATION_LDFLAGS@
BOOST_SERIALIZATION_LIBS = @BOOST_SERIALIZATION_LIBS@
+BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS = @BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS@
+BOOST_UNIT_TEST_FRAMEWORK_LIBS = @BOOST_UNIT_TEST_FRAMEWORK_LIBS@
BOTAN110_CFLAGS = @BOTAN110_CFLAGS@
BOTAN110_LIBS = @BOTAN110_LIBS@
BOTAN18_CFLAGS = @BOTAN18_CFLAGS@
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/modules/pipebackend/Makefile.in
^
|
@@ -122,6 +122,8 @@
BOOST_ROOT = @BOOST_ROOT@
BOOST_SERIALIZATION_LDFLAGS = @BOOST_SERIALIZATION_LDFLAGS@
BOOST_SERIALIZATION_LIBS = @BOOST_SERIALIZATION_LIBS@
+BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS = @BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS@
+BOOST_UNIT_TEST_FRAMEWORK_LIBS = @BOOST_UNIT_TEST_FRAMEWORK_LIBS@
BOTAN110_CFLAGS = @BOTAN110_CFLAGS@
BOTAN110_LIBS = @BOTAN110_LIBS@
BOTAN18_CFLAGS = @BOTAN18_CFLAGS@
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/modules/pipebackend/coprocess.cc
^
|
@@ -7,21 +7,26 @@
#include <string.h>
#include <sys/types.h>
#include <sys/wait.h>
+#include <sys/un.h>
#include <pdns/misc.hh>
#include <pdns/ahuexception.hh>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <boost/algorithm/string.hpp>
+#include <vector>
CoProcess::CoProcess(const string &command,int timeout, int infd, int outfd)
{
- const char *argv[2];
- argv[0]=strdup(command.c_str());
- argv[1]=0;
+ vector <string> v;
+ split(v, command, is_any_of(" "));
- launch(argv,timeout,infd,outfd);
-}
+ const char *argv[v.size()+1];
+ argv[v.size()]=0;
-CoProcess::CoProcess(const char **argv, int timeout, int infd, int outfd)
-{
- launch(argv,timeout,infd,outfd);
+ for (size_t n = 0; n < v.size(); n++)
+ argv[n]=v[n].c_str();
+ // we get away with not copying since nobody resizes v
+ launch(argv, timeout, infd, outfd);
}
void CoProcess::launch(const char **argv, int timeout, int infd, int outfd)
@@ -158,6 +163,63 @@
receive(rcv);
}
+
+UnixRemote::UnixRemote(const string& path, int timeout)
+{
+ d_fd = socket(AF_LOCAL, SOCK_STREAM, 0);
+ if(d_fd < 0)
+ throw AhuException("Unable to create UNIX domain socket: "+string(strerror(errno)));
+
+ struct sockaddr_un remote;
+ memset(&remote, 0, sizeof(remote));
+ remote.sun_family = AF_UNIX;
+ memset(remote.sun_path, 0, sizeof(remote.sun_path));
+ path.copy(remote.sun_path, sizeof(remote.sun_path), 0);
+
+ // fcntl(fd, F_SETFL, O_NONBLOCK, &sock);
+
+ if(connect(d_fd, (struct sockaddr*)&remote, sizeof(remote)) < 0)
+ unixDie("Unable to connect to remote '"+path+"' using UNIX domain socket");
+
+ d_fp = fdopen(d_fd, "r");
+}
+
+UnixRemote::~UnixRemote()
+{
+ fclose(d_fp);
+}
+
+void UnixRemote::send(const string& line)
+{
+ string nline(line);
+ nline.append(1, '\n');
+ writen2(d_fd, nline);
+}
+
+void UnixRemote::receive(string& line)
+{
+ line.clear();
+ stringfgets(d_fp, line);
+ trim_right(line);
+}
+
+void UnixRemote::sendReceive(const string &snd, string &rcv)
+{
+ // checkStatus();
+ send(snd);
+ receive(rcv);
+}
+
+bool isUnixSocket(const string& fname)
+{
+ struct stat st;
+ if(stat(fname.c_str(), &st) < 0)
+ return false; // not a unix socket in any case ;-)
+
+ return (st.st_mode & S_IFSOCK) == S_IFSOCK;
+}
+
+
#ifdef TESTDRIVER
main()
{
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/modules/pipebackend/coprocess.hh
^
|
@@ -5,20 +5,28 @@
#include <stdio.h>
#include <string>
-#include "pdns/namespaces.hh"
+#include "pdns/namespaces.hh"
-class CoProcess
+class CoRemote
+{
+public:
+ virtual ~CoRemote() {}
+ virtual void sendReceive(const string &send, string &receive) = 0;
+ virtual void receive(string &rcv) = 0;
+ virtual void send(const string &send) = 0;
+
+};
+
+class CoProcess : public CoRemote
{
public:
CoProcess(const string &command,int timeout=0, int infd=0, int outfd=1);
- CoProcess(const char **argv, int timeout=0, int infd=0, int outfd=1);
~CoProcess();
-
- void launch(const char **argv, int timeout=0, int infd=0, int outfd=1);
void sendReceive(const string &send, string &receive);
void receive(string &rcv);
void send(const string &send);
private:
+ void launch(const char **argv, int timeout=0, int infd=0, int outfd=1);
void checkStatus();
int d_fd1[2], d_fd2[2];
int d_pid;
@@ -27,4 +35,18 @@
int d_timeout;
FILE *d_fp;
};
+
+class UnixRemote : public CoRemote
+{
+public:
+ UnixRemote(const string &path, int timeout=0);
+ ~UnixRemote();
+ void sendReceive(const string &send, string &receive);
+ void receive(string &rcv);
+ void send(const string &send);
+private:
+ int d_fd;
+ FILE *d_fp;
+};
+bool isUnixSocket(const string& fname);
#endif
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/modules/pipebackend/pipebackend.cc
^
|
@@ -1,6 +1,6 @@
// -*- sateh-c -*-
// File : pdnsbackend.cc
-// Version : $Id: pipebackend.cc 2971 2012-12-06 12:16:15Z peter $
+// Version : $Id: pipebackend.cc 3111 2013-03-07 09:55:38Z ahu $
//
#include <string>
@@ -48,7 +48,10 @@
if(d_cp)
return;
- d_cp=new CoProcess(d_command, d_timeout);
+ if(isUnixSocket(d_command))
+ d_cp = new UnixRemote(d_command, d_timeout);
+ else
+ d_cp = new CoProcess(d_command, d_timeout);
d_cp->send("HELO\t"+lexical_cast<string>(::arg().asNum("pipebackend-abi-version")));
string banner;
d_cp->receive(banner);
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/modules/pipebackend/pipebackend.hh
^
|
@@ -1,6 +1,6 @@
//
// File : pdnsbackend.hh
-// Version : $Id: pipebackend.hh 3040 2013-01-11 09:23:54Z ahu $
+// Version : $Id: pipebackend.hh 3111 2013-03-07 09:55:38Z ahu $
//
#ifndef PIPEBACKEND_HH
@@ -25,7 +25,7 @@
void send(const string &line);
void receive(string &line);
private:
- CoProcess* d_cp;
+ CoRemote* d_cp;
string d_command;
void launch();
int d_timeout;
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/modules/remotebackend/Makefile.in
^
|
@@ -123,6 +123,8 @@
BOOST_ROOT = @BOOST_ROOT@
BOOST_SERIALIZATION_LDFLAGS = @BOOST_SERIALIZATION_LDFLAGS@
BOOST_SERIALIZATION_LIBS = @BOOST_SERIALIZATION_LIBS@
+BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS = @BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS@
+BOOST_UNIT_TEST_FRAMEWORK_LIBS = @BOOST_UNIT_TEST_FRAMEWORK_LIBS@
BOTAN110_CFLAGS = @BOTAN110_CFLAGS@
BOTAN110_LIBS = @BOTAN110_LIBS@
BOTAN18_CFLAGS = @BOTAN18_CFLAGS@
|
[-]
[+]
|
Added |
pdns-3.2.tar.gz/modules/remotebackend/example.rb
^
|
@@ -0,0 +1,203 @@
+#!/usr/bin/ruby
+
+require 'rubygems'
+require 'json'
+
+## this is an example stub for remote backend
+## to add more methods, just write
+## def do_<methodname>(args)
+## end
+## look at the existing methods to find out
+## how to customize this.
+
+## WARNING: this contains some code that
+## should never be used in production, but
+## is provided to give a more comprehensive
+## example code.
+
+## Code provided only as example, not suitable
+## for production.
+
+## Usage:
+## launch=remote
+## remote-dnssec=yes
+## remote-connection-string=pipe:command=/path/to/example.rb,timeout=2000
+
+class RequestHandler
+
+public
+ def initialize
+ @_log = []
+ @initialized = false
+ @default_ttl = 3600
+ end
+
+protected
+
+ ## YOUR METHODS GO AFTER THIS LINE
+
+ def do_initialize(args)
+ if @initialized
+ raise "Cannot reinitialize"
+ end
+ log "Example backend v1.0 starting"
+ @initialized = true
+ true
+ end
+
+ ## used to tell that we do NSEC3 NARROW
+ def do_getdomainmetadata(args)
+ if args["name"] == "example.com"
+ if args["kind"] == "NSEC3NARROW"
+ return "1"
+ elsif args["kind"] == "NSEC3PARAM"
+ return "1 1 1 fe"
+ end
+ end
+ false
+ end
+
+ ## returns keys, do not use in production
+ def do_getdomainkeys(args)
+ if args["name"] == "example.com"
+ return [
+ {
+ "id" => 1,
+ "flags" => 257,
+ "active" => true,
+ "content" => "Private-key-format: v1.2
+Algorithm: 8 (RSASHA256)
+Modulus: ovvzf1fHdptdXsBrBLSqmGqdEKwR2B9st/KBgh8xQKoQzTGUG00CsPjF/J59IBU+EU/IIInMn0MxLLTyUKa2DJUkR6i7UKif5jKX1c7yvWzrFKLGOHjugUX2++r+o789biUte1qpWp3Kc2RYL18oPco4zpo6JcsPmhOK3aUCDJXmuWgHl1KudCQIiPkISArXVn4oOp+skQq+mUBl1Pysc4D+6sl77ERR2fW6xJ4ZRPOIKr445RJJmKgoMG8yRrR3it1RmV49hZlvMosQjBUoNcqhqOI0n4l8HOLyna7KIzoNKG62GtUCZh8uy8IjdUiWPYGEtkZ9zE0bnnF+R7HGvQ==
+PublicExponent: AQAB
+PrivateExponent: Lp/c3IUD7o4re7uX4dS9KLT3EZnn0OfMdiLNoafCszjzbX/NWrIBHxdLrCS6rr7k7pbgLU6+VqEmJB/vYdsPITJZGpbOXxieBYBbpzJ4hm/uIA0gn28Y66pUKWTkS3ud2zCPfkZFREL3c2M1Rvf1zxdWgOPl1oHsiKsmgpl9qJOSKHMWFC+m/pUMJ7iOMgyDRV+PNeb/8P1jVOAYyQMEnu+enw2ro2NiWXNikbnaWrIv3IxVZAyZG4/H8+1vfQFPDWztosOy7OhV3WyMJkfwcXrlGoyLlxyAgkh/jeCnmPllxlJZGTgCtoVYd/n8osMXCDKxpAhsfdfCPeNOcjocgQ==
+Prime1: +T+s7wv+zVqONJqkAKw4OCVzxBc5FWrmDPcjPCUeKIK/K/3+XjmIqTlbvBKf+7rm+AGVnXAbqk90+jzE3mKI8HMG/rM2cx01986xNQsIqwi2VAt25huPhEyrtNzos6lmrCYaioaQnNpMvMLun3DvcaygkDUXxH7Dg+6BTHeUfnk=
+Prime2: p2YbBveBK3XyGMuVrDH9CvvpgKEoko+mPwLoKNpBoHrGxeOdCQmlPbnr0GrtZpy4sBNc5+shz2c6c1J3GlgPndT7zi2+MFGfWIGV48SAknVLfOU4iUpaGllnxcbjZeytG6WHdy2RaR3ReeGvdWxmxeuv084c2zC/7/vkcmgOqWU=
+Exponent1: EdVFeUEBdQ3imM7rpwSrbRD47HHA6tBgL1NLWRVKyBk6tloQ5gr1xS3Oa3FlsuwXdG0gmEgaIqBWvUS1zTd9lr6UJIsL/UZ8wwMt2J62ew4/hVngouwb45pcuq8HkzsulmiPg5PHKwHPdb34tr2s1BRG1KqHzc5IDNt2stLnc/k=
+Exponent2: oT+Iv1BAu7WUa/AHj+RjJGZ+iaozo+H9uOq66Uc8OjKqMErNpLwG0Qu7rHqjjdlfSjSMpNXpLpj4Q8fm9JhpCpbzq6qCbpbhUGcbFFjfpLSZ74f5yr21R3ZhsLChsTenlF8Bu3pIfKH9e1M7KXgvE22xY+xB/Z3a9XeFmfLEVMU=
+Coefficient: vG8tLZBE4s3bftN5INv2/o3knEcaoUAPfakSsjM2uLwQCGiUbBOOlp3QSdTU4MiLjDsza3fKIptdwYP9PvSkhGhtLPjBpKjRk1J1+sct3dfT66JPClJc1A8bLQPj4ZpO/BkJe6ji4HYfOp7Rjn9z8rTqwEfbP64CZV3/frUzIkQ="
+ },
+ {
+ "id" => 2,
+ "flags" => 256,
+ "active" => true,
+ "content" => "Private-key-format: v1.2
+Algorithm: 8 (RSASHA256)
+Modulus: wKPNcDwkCd2DKxfdkMqTFOV2ITdgxIDaOd4vQ2QtphMBY9yYwmEkNsVdVFz7VVuQHdls20JUe+brFUhs1zEMMbokulFP/qVAItAeEWcqtkPULT+mmX5HsexpFVAZ5+UXuerObk/HMiIMt1CvkIWhmjSIkAI6dFRlf/93zTjy0+vwrNWZPXSzLccK5TfJmxdYdGPcsHkg6UmqEFPQuyZpmlmpg3IwjL5YddTDobAoABz/BrH7WsW0q/PyVubITo8JuFiBI5Fmw+3ef3PVUt1jtUCGASvtqNXW4wtWrgqvQKg/odthpceQ4QagV9XSlOdml527thnf9cMpm0Gh4Ox5HQ==
+PublicExponent: AQAB
+PrivateExponent: f+M+26fRdQstrUomuZ0Cj/jVt69/+nRga9JpJiA3fe1YGue0MjczR3k3QG6KHFyxDF/vuJAMbkUbBAIU37ecFNcy0s5wgOlL7tCjZYJMBLx6+58qBvSivCfqi0+mIyEf4zlS2kD0SP/52SkjpJpScoE1uAUCsX/l8lezPPb1nmH3RDwJwX1NVhsErHCAmxGDoj4nPCEhKgHkdbR0i8geXGdWR4slyq1EhuGJal4p5sNvzDQTYRy6r49rpbNHw9F7ojomIhTUCUjOXAX0X1HB5UTXRMpgpCNEjRG1a+aqxp/ZSMHSEGCv67fua5Qrd/qX1Ppns/oqZfCfTpTD3v/sMQ==
+Prime1: +0zQuFi7rZDTMGMIKiF6UOG5+pKwGxHmgKPOGF6fk3tIuSomgiVD3DLz5Y6kYk0kKls6IiA6X2esYwNXAaLe0dyMzpAnU4URXhFW7fUnHP0zA7NmaFRYPHstPeU59/JS+zmVlj4Ok1oeGocSGAFYGxXa+Sot0fyCXpAjZboDWg8=
+Prime2: xD4hprQmcn5gmLqYO9+nEEJTNyNccbAciiKjRJxIE7w6muuKESx0uUn5XdnzSxhbVkK16kkEqW3s+Y+VoLxwRj2fuvoPfx8nTQXY1esgcIZCG8ubvHW5T0bzee5gyX3cMvaxkoeM7euYgvh0UwR/FG910SwAlmMZjSwXay2YlhM=
+Exponent1: 6vcWzNcCnDWmkT53WtU0hb2Y4+YVzSm+iRcf039d20rRY3g6y0NGoPPvQftOTi9smkH0KAZULfJEp8tupbQAfN6ntVfpvVjVNUwnKJUo/hzsfxBVt0Ttv5c4ZQAYZHHqDsX3zKO3gyUmso0KaPGQzLpxpLlAYG+mAf7paeszyRc=
+Exponent2: ouvWMjk0Bi/ncETRqDuYzkXSIl+oGvaT6xawp4B70m6d1QohWPqoeT/x2Dne44R4J9hAgR5X0XXinJnZJlXrfFUi7C84eFhb33UwPQD0sJa2Aa97Pu4Zh7im4J7IGd/01Ra7+6Ovm8LRnkI5CMcd3dBfZuX6IuBpUSu+0YtMN6M=
+Coefficient: 5lP9IFknvFgaXKCs8MproehHSFhFTWac4557HIn03KrnlGOKDcY6DC/vgu1e42bEZ4J0RU0EELp5u4tAEYcumIaIVhfzRsajYRGln2mHe6o6nTO+FbANKuhyVmBEvTVczPOcYLrFXKVTglKAs+8W96dYIMDhiAwxi9zijLKKQ1k="
+ }
+ ]
+ end
+ false
+ end
+
+ ## Example lookup
+ ## Returns SOA, MX, NS and A records for example.com
+ ## also static A record for test.example.com
+ ## and dynamic A record for anything else in example.com domain
+ def do_lookup(args)
+ if args["qname"] == "example.com" and args["qtype"].downcase == "soa"
+ return [
+ record("SOA","example.com", "sns.dns.icann.org noc.dns.icann.org 2013012485 7200 3600 1209600 3600"),
+ ]
+ elsif args["qname"] == "example.com" and args["qtype"].downcase == "any"
+ return [
+ record("SOA","example.com", "sns.dns.icann.org noc.dns.icann.org 2013012485 7200 3600 1209600 3600"),
+ record("NS","example.com","sns.dns.icann.org"),
+ record_prio("MX","example.com","test.example.com",10)
+ ]
+ elsif args["qname"] == "test.example.com" and args["qtype"].downcase == "any"
+ return [
+ record("A","test.example.com","127.0.0.1")
+ ]
+ elsif args["qname"] =~ /(.*)\.example\.com$/ and args["qtype"].downcase == "any"
+ ip = 0
+ $1.downcase.each_byte do |b| ip = ip + b end
+ ip_2 = ip/256
+ ip = ip%256
+ return [
+ record("A",args["qname"], "127.0.#{ip_2}.#{ip}")
+ ]
+ end
+ false
+ end
+
+ ## AXFR support
+ ## Do note that having AXFR here is somewhat stupid since
+ ## we generate records above. But it is still included
+ ## for sake of having an example. Do not do ths in production.
+ def do_list(args)
+ if args["zonename"] == "example.com"
+ return [
+ record("SOA","example.com", "sns.dns.icann.org noc.dns.icann.org 2013012485 7200 3600 1209600 3600"),
+ record("NS","example.com","sns.dns.icann.org"),
+ record_prio("MX","example.com","test.example.com",10),
+ record("A","test.example.com","127.0.0.1")
+ ]
+ end
+ false
+ end
+
+ ## Please see http://doc.powerdns.com/remotebackend.html for methods to add here
+ ## Just remember to prefix them with do_
+
+ ## Some helpers after this
+
+ def record_prio_ttl(qtype,qname,content,prio,ttl)
+ {:qtype => qtype, :qname => qname, :content => content, :priority => prio, :ttl => ttl, :auth => 1}
+ end
+
+ def record_prio(qtype,qname,content,prio)
+ record_prio_ttl(qtype,qname,content,prio,@default_ttl)
+ end
+
+ def record(qtype,qname,content)
+ record_prio_ttl(qtype,qname,content,0,@default_ttl)
+ end
+
+ def log(message)
+ @_log << message
+ end
+
+ ## Flushes log array and returns it.
+ def consume_log
+ ret = @_log
+ @_log = []
+ ret
+ end
+
+public
+ def run
+ STDOUT.sync=true
+ STDIN.each_line do |line|
+ # So far rapidjson has managed to follow RFC4627
+ # and hasn't done formatted json so there should be
+ # no newlines.
+ msg = JSON.parse(line)
+
+ # it's a good idea to prefix methods with do_ to prevent
+ # clashes with initialize et al, and downcase it for simplicity
+ method = "do_#{msg["method"].downcase}".to_sym
+ if self.respond_to? method
+ result = self.send method, msg["parameters"]
+ else
+ log "Method #{msg["method"]} not implemented"
+ result = false
+ end
+ # build and emit result
+ reply = { :result => result, :log => consume_log }
+ puts reply.to_json
+ end
+ end
+end
+
+begin
+ RequestHandler.new.run
+rescue Interrupt
+ # ignore this exception, caused by ctrl+c in foreground mode
+end
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/modules/remotebackend/httpconnector.cc
^
|
@@ -1,7 +1,6 @@
#include "remotebackend.hh"
#include <sys/socket.h>
#include <unistd.h>
-#include <sys/select.h>
#include <fcntl.h>
#include <boost/foreach.hpp>
#include <sstream>
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/modules/remotebackend/remotebackend.cc
^
|
@@ -18,23 +18,18 @@
* that the receiving happened ok, and extract
* result. Logging is performed here, too.
*/
-bool Connector::recv(rapidjson::Value &value) {
- rapidjson::Document input;
- if (recv_message(input)>0) {
+bool Connector::recv(rapidjson::Document &value) {
+ if (recv_message(value)>0) {
bool rv = true;
// check for error
- if (input.HasMember("result")) {
- value = input["result"];
- } else {
- value = false;
+ if (!value.HasMember("result")) {
return false;
}
- if (!value.IsObject() && (value.IsBool() && value.GetBool() == false)) {
+ if (!value["result"].IsObject() && (value["result"].IsBool() && value["result"].GetBool() == false)) {
rv = false;
- value = false;
}
- if (input.HasMember("log")) {
- const rapidjson::Value& messages = input["log"];
+ if (value.HasMember("log")) {
+ const rapidjson::Value& messages = value["log"];
if (messages.IsArray()) {
// log em all
for (rapidjson::Value::ConstValueIterator iter = messages.Begin(); iter != messages.End(); ++iter)
@@ -153,11 +148,50 @@
JSON_ADD_MEMBER(parameters, "zone-id", zoneId, query.GetAllocator());
query.AddMember("parameters", parameters, query.GetAllocator());
- if (connector->send(query) == false || connector->recv(d_result) == false) return;
+ d_result = new rapidjson::Document();
+
+ if (connector->send(query) == false || connector->recv(*d_result) == false) {
+ delete d_result;
+ return;
+ }
+
+ // OK. we have result parameters in result
+ if ((*d_result)["result"].IsArray() == false) {
+ delete d_result;
+ return;
+ }
+
+ d_index = 0;
+}
+
+bool RemoteBackend::list(const std::string &target, int domain_id) {
+ rapidjson::Document query;
+ rapidjson::Value parameters;
+
+ if (d_index != -1)
+ throw AhuException("Attempt to lookup while one running");
+
+ query.SetObject();
+ JSON_ADD_MEMBER(query, "method", "list", query.GetAllocator());
+ query["method"] = "list";
+ parameters.SetObject();
+ JSON_ADD_MEMBER(parameters, "zonename", target.c_str(), query.GetAllocator());
+ JSON_ADD_MEMBER(parameters, "domain-id", domain_id, query.GetAllocator());
+ query.AddMember("parameters", parameters, query.GetAllocator());
+
+ d_result = new rapidjson::Document();
+
+ if (connector->send(query) == false || connector->recv(*d_result) == false) {
+ delete d_result;
+ return false;
+ }
+ if ((*d_result)["result"].IsArray() == false) {
+ delete d_result;
+ return false;
+ }
- // OK. we have result parametersues in result
- if (d_result.IsArray() == false) return;
d_index = 0;
+ return true;
}
bool RemoteBackend::get(DNSResourceRecord &rr) {
@@ -165,59 +199,36 @@
rapidjson::Value value;
value = "";
- rr.qtype = JSON_GET(d_result[d_index], "qtype", value).GetString();
- rr.qname = JSON_GET(d_result[d_index], "qname", value).GetString();
+ rr.qtype = JSON_GET((*d_result)["result"][d_index], "qtype", value).GetString();
+ rr.qname = JSON_GET((*d_result)["result"][d_index], "qname", value).GetString();
rr.qclass = QClass::IN;
- rr.content = JSON_GET(d_result[d_index], "content",value).GetString();
+ rr.content = JSON_GET((*d_result)["result"][d_index], "content",value).GetString();
value = -1;
- rr.ttl = JSON_GET(d_result[d_index], "ttl",value).GetInt();
- rr.domain_id = JSON_GET(d_result[d_index],"domain_id",value).GetInt();
- rr.priority = JSON_GET(d_result[d_index],"priority",value).GetInt();
+ rr.ttl = JSON_GET((*d_result)["result"][d_index], "ttl",value).GetInt();
+ rr.domain_id = JSON_GET((*d_result)["result"][d_index],"domain_id",value).GetInt();
+ rr.priority = JSON_GET((*d_result)["result"][d_index],"priority",value).GetInt();
value = 1;
if (d_dnssec)
- rr.auth = JSON_GET(d_result[d_index],"auth", value).GetInt();
+ rr.auth = JSON_GET((*d_result)["result"][d_index],"auth", value).GetInt();
else
rr.auth = 1;
value = 0;
- rr.scopeMask = JSON_GET(d_result[d_index],"scopeMask", value).GetInt();
+ rr.scopeMask = JSON_GET((*d_result)["result"][d_index],"scopeMask", value).GetInt();
d_index++;
// id index is out of bounds, we know the results end here.
- if (d_index == static_cast<int>(d_result.Size())) {
- d_result.SetNull();
+ if (d_index == static_cast<int>((*d_result)["result"].Size())) {
+ delete d_result;
+ d_result = NULL;
d_index = -1;
}
return true;
}
-bool RemoteBackend::list(const std::string &target, int domain_id) {
- rapidjson::Document query;
- rapidjson::Value parameters;
-
- if (d_index != -1)
- throw AhuException("Attempt to lookup while one running");
-
- query.SetObject();
- JSON_ADD_MEMBER(query, "method", "list", query.GetAllocator());
- query["method"] = "list";
- parameters.SetObject();
- JSON_ADD_MEMBER(parameters, "zonename", target.c_str(), query.GetAllocator());
- JSON_ADD_MEMBER(parameters, "domain-id", domain_id, query.GetAllocator());
- query.AddMember("parameters", parameters, query.GetAllocator());
-
- if (connector->send(query) == false || connector->recv(d_result) == false)
- return false;
- if (d_result.IsArray() == false)
- return false;
-
- d_index = 0;
- return true;
-}
-
bool RemoteBackend::getBeforeAndAfterNamesAbsolute(uint32_t id, const std::string& qname, std::string& unhashed, std::string& before, std::string& after) {
- rapidjson::Document query;
- rapidjson::Value answer,parameters;
+ rapidjson::Document query,answer;
+ rapidjson::Value parameters;
// no point doing dnssec if it's not supported
if (d_dnssec == false) return false;
@@ -232,16 +243,16 @@
if (connector->send(query) == false || connector->recv(answer) == false)
return false;
- unhashed = answer["unhashed"].GetString();
- before = answer["before"].GetString();
- after = answer["after"].GetString();
+ unhashed = answer["result"]["unhashed"].GetString();
+ before = answer["result"]["before"].GetString();
+ after = answer["result"]["after"].GetString();
return true;
}
bool RemoteBackend::getDomainMetadata(const std::string& name, const std::string& kind, std::vector<std::string>& meta) {
- rapidjson::Document query;
- rapidjson::Value answer,parameters;
+ rapidjson::Document query,answer;
+ rapidjson::Value parameters;
query.SetObject();
JSON_ADD_MEMBER(query, "method", "getDomainMetadata", query.GetAllocator());
@@ -252,26 +263,27 @@
if (connector->send(query) == false)
return false;
+
meta.clear();
// not mandatory to implement
if (connector->recv(answer) == false)
return true;
- if (answer.IsArray()) {
- for(rapidjson::Value::ValueIterator iter = answer.Begin(); iter != answer.End(); iter++) {
+ if (answer["result"].IsArray()) {
+ for(rapidjson::Value::ValueIterator iter = answer["result"].Begin(); iter != answer["result"].End(); iter++) {
meta.push_back(iter->GetString());
}
- } else if (answer.IsString()) {
- meta.push_back(answer.GetString());
+ } else if (answer["result"].IsString()) {
+ meta.push_back(answer["result"].GetString());
}
return true;
}
bool RemoteBackend::setDomainMetadata(const string& name, const std::string& kind, const std::vector<std::string>& meta) {
- rapidjson::Document query;
- rapidjson::Value answer,parameters,val;
+ rapidjson::Document query,answer;
+ rapidjson::Value parameters,val;
query.SetObject();
JSON_ADD_MEMBER(query, "method", "setDomainMetadata", query.GetAllocator());
parameters.SetObject();
@@ -287,15 +299,15 @@
if (connector->send(query) == false || connector->recv(answer) == false)
return false;
- if (answer.IsBool())
+ if (answer["result"].IsBool())
return answer.GetBool();
return false;
}
bool RemoteBackend::getDomainKeys(const std::string& name, unsigned int kind, std::vector<DNSBackend::KeyData>& keys) {
- rapidjson::Document query;
- rapidjson::Value answer,parameters;
+ rapidjson::Document query,answer;
+ rapidjson::Value parameters;
// no point doing dnssec if it's not supported
if (d_dnssec == false) return false;
@@ -311,7 +323,7 @@
keys.clear();
- for(rapidjson::Value::ValueIterator iter = answer.Begin(); iter != answer.End(); iter++) {
+ for(rapidjson::Value::ValueIterator iter = answer["result"].Begin(); iter != answer["result"].End(); iter++) {
DNSBackend::KeyData key;
key.id = (*iter)["id"].GetUint();
key.flags = (*iter)["flags"].GetUint();
@@ -324,8 +336,8 @@
}
bool RemoteBackend::removeDomainKey(const string& name, unsigned int id) {
- rapidjson::Document query;
- rapidjson::Value answer,parameters;
+ rapidjson::Document query,answer;
+ rapidjson::Value parameters;
// no point doing dnssec if it's not supported
if (d_dnssec == false) return false;
@@ -339,12 +351,12 @@
if (connector->send(query) == false || connector->recv(answer) == false)
return false;
- return answer.GetBool();
+ return answer["result"].GetBool();
}
int RemoteBackend::addDomainKey(const string& name, const KeyData& key) {
- rapidjson::Document query;
- rapidjson::Value answer,parameters,jkey;
+ rapidjson::Document query,answer;
+ rapidjson::Value parameters,jkey;
// no point doing dnssec if it's not supported
if (d_dnssec == false) return false;
@@ -362,12 +374,12 @@
if (connector->send(query) == false || connector->recv(answer) == false)
return false;
- return answer.GetInt();
+ return answer["result"].GetInt();
}
bool RemoteBackend::activateDomainKey(const string& name, unsigned int id) {
- rapidjson::Document query;
- rapidjson::Value answer, parameters;
+ rapidjson::Document query,answer;
+ rapidjson::Value parameters;
// no point doing dnssec if it's not supported
if (d_dnssec == false) return false;
@@ -382,12 +394,12 @@
if (connector->send(query) == false || connector->recv(answer) == false)
return false;
- return answer.GetBool();
+ return answer["result"].GetBool();
}
bool RemoteBackend::deactivateDomainKey(const string& name, unsigned int id) {
- rapidjson::Document query;
- rapidjson::Value answer, parameters;
+ rapidjson::Document query,answer;
+ rapidjson::Value parameters;
// no point doing dnssec if it's not supported
if (d_dnssec == false) return false;
@@ -402,7 +414,7 @@
if (connector->send(query) == false || connector->recv(answer) == false)
return false;
- return answer.GetBool();
+ return answer["result"].GetBool();
}
bool RemoteBackend::doesDNSSEC() {
@@ -410,8 +422,8 @@
}
bool RemoteBackend::getTSIGKey(const std::string& name, std::string* algorithm, std::string* content) {
- rapidjson::Document query;
- rapidjson::Value answer, parameters;
+ rapidjson::Document query,answer;
+ rapidjson::Value parameters;
// no point doing dnssec if it's not supported
if (d_dnssec == false) return false;
@@ -425,16 +437,16 @@
return false;
if (algorithm != NULL)
- algorithm->assign(answer["algorithm"].GetString());
+ algorithm->assign(answer["result"]["algorithm"].GetString());
if (content != NULL)
- content->assign(answer["content"].GetString());
+ content->assign(answer["result"]["content"].GetString());
return true;
}
bool RemoteBackend::getDomainInfo(const string &domain, DomainInfo &di) {
- rapidjson::Document query;
- rapidjson::Value answer, parameters;
+ rapidjson::Document query,answer;
+ rapidjson::Value parameters;
rapidjson::Value value;
std::string kind;
@@ -448,26 +460,26 @@
return false;
// make sure we got zone & kind
- if (!answer.HasMember("zone")) {
+ if (!answer["result"].HasMember("zone")) {
L<<Logger::Error<<kBackendId<<"Missing zone in getDomainInfo return value"<<endl;
throw AhuException();
}
value = -1;
// parse return value. we need at least zone,serial,kind
- di.id = JSON_GET(answer,"id",value).GetInt();
- di.zone = answer["zone"].GetString();
- if (answer.HasMember("masters") && answer["masters"].IsArray()) {
- rapidjson::Value& value = answer["masters"];
+ di.id = JSON_GET(answer["result"],"id",value).GetInt();
+ di.zone = answer["result"]["zone"].GetString();
+ if (answer["result"].HasMember("masters") && answer["result"]["masters"].IsArray()) {
+ rapidjson::Value& value = answer["result"]["masters"];
for(rapidjson::Value::ValueIterator i = value.Begin(); i != value.End(); i++) {
di.masters.push_back(i->GetString());
}
}
- di.notified_serial = JSON_GET(answer, "notified_serial", value).GetInt();
+ di.notified_serial = JSON_GET(answer["result"], "notified_serial", value).GetInt();
value = 0;
- di.serial = JSON_GET(answer,"serial", value).GetInt();
- di.last_check = JSON_GET(answer,"last_check", value).GetInt();
+ di.serial = JSON_GET(answer["result"],"serial", value).GetInt();
+ di.last_check = JSON_GET(answer["result"],"last_check", value).GetInt();
value = "native";
- kind = JSON_GET(answer, "kind", value).GetString();
+ kind = JSON_GET(answer["result"], "kind", value).GetString();
if (kind == "master") {
di.kind = DomainInfo::Master;
} else if (kind == "slave") {
@@ -480,8 +492,8 @@
}
void RemoteBackend::setNotified(uint32_t id, uint32_t serial) {
- rapidjson::Document query;
- rapidjson::Value answer, parameters;
+ rapidjson::Document query,answer;
+ rapidjson::Value parameters;
query.SetObject();
JSON_ADD_MEMBER(query, "method", "setNotified", query.GetAllocator());
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/modules/remotebackend/remotebackend.hh
^
|
@@ -27,7 +27,7 @@
public:
virtual ~Connector() {};
bool send(rapidjson::Document &value);
- bool recv(rapidjson::Value &value);
+ bool recv(rapidjson::Document &value);
virtual int send_message(const rapidjson::Document &input) = 0;
virtual int recv_message(rapidjson::Document &output) = 0;
};
@@ -118,7 +118,7 @@
int build(const std::string &connstr);
Connector *connector;
bool d_dnssec;
- rapidjson::Value d_result;
+ rapidjson::Document *d_result;
int d_index;
};
#endif
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/modules/remotebackend/unixconnector.cc
^
|
@@ -2,7 +2,6 @@
#include <sys/socket.h>
#include <pdns/lock.hh>
#include <unistd.h>
-#include <sys/select.h>
#include <fcntl.h>
#ifndef UNIX_PATH_MAX
#define UNIX_PATH_MAX 108
@@ -120,7 +119,6 @@
void UnixsocketConnector::reconnect() {
struct sockaddr_un sock;
struct timeval tv;
- fd_set rd;
rapidjson::Document init,res;
rapidjson::Value val;
@@ -140,11 +138,7 @@
fcntl(fd, F_SETFL, O_NONBLOCK, &fd);
while(connect(fd, reinterpret_cast<struct sockaddr*>(&sock), sizeof sock)==-1 && (errno == EINPROGRESS)) {
- tv.tv_sec = 0;
- tv.tv_usec = 500;
- FD_ZERO(&rd);
- FD_SET(fd, &rd);
- select(fd+1,&rd,NULL,NULL,&tv); // wait a moment
+ waitForData(fd, 0, 500);
}
if (errno != EISCONN && errno != 0) {
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/modules/tinydnsbackend/Makefile.in
^
|
@@ -122,6 +122,8 @@
BOOST_ROOT = @BOOST_ROOT@
BOOST_SERIALIZATION_LDFLAGS = @BOOST_SERIALIZATION_LDFLAGS@
BOOST_SERIALIZATION_LIBS = @BOOST_SERIALIZATION_LIBS@
+BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS = @BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS@
+BOOST_UNIT_TEST_FRAMEWORK_LIBS = @BOOST_UNIT_TEST_FRAMEWORK_LIBS@
BOTAN110_CFLAGS = @BOTAN110_CFLAGS@
BOTAN110_LIBS = @BOTAN110_LIBS@
BOTAN18_CFLAGS = @BOTAN18_CFLAGS@
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/modules/tinydnsbackend/data
^
|
@@ -20046,6 +20046,10 @@
Cstart3.example.com:start4.example.com.:120
+start4.example.com:192.168.2.2:120
:text.example.com:16:\025Hi\054\040this\040is\040some\040text:120
+:text0.example.com:16:\014k\075rsa\073\040p\075one:120
+:text1.example.com:16:\014k\075rsa\073\040p\075one:120
+:text2.example.com:16:\015k\075rsa\134\073\040p\075one:120
+:text3.example.com:16:\015k\075rsa\134\073\040p\075one:120
@together-too-much.example.com::toomuchinfo-a.example.com.:25:120
@together-too-much.example.com::toomuchinfo-b.example.com.:25:120
+toomuchinfo-a.example.com:192.168.99.1:120
|
|
Changed |
pdns-3.2.tar.gz/modules/tinydnsbackend/data.cdb
^
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/modules/xdbbackend/Makefile.in
^
|
@@ -133,6 +133,8 @@
BOOST_ROOT = @BOOST_ROOT@
BOOST_SERIALIZATION_LDFLAGS = @BOOST_SERIALIZATION_LDFLAGS@
BOOST_SERIALIZATION_LIBS = @BOOST_SERIALIZATION_LIBS@
+BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS = @BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS@
+BOOST_UNIT_TEST_FRAMEWORK_LIBS = @BOOST_UNIT_TEST_FRAMEWORK_LIBS@
BOTAN110_CFLAGS = @BOTAN110_CFLAGS@
BOTAN110_LIBS = @BOTAN110_LIBS@
BOTAN18_CFLAGS = @BOTAN18_CFLAGS@
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/pdns.spec
^
|
@@ -1,6 +1,6 @@
BuildRoot: /tmp/pdns
Name: pdns-static
-Version: 3.2rc4
+Version: 3.2
Release: 1
Summary: extremely powerful and versatile nameserver
License: GPL
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/pdns/Makefile-recursor
^
|
@@ -3,7 +3,7 @@
BINDIR=/usr/bin/
CONFIGDIR="/etc/powerdns/"
OPTFLAGS?=-O3
-CXXFLAGS:= $(CXXFLAGS) -Iext/rapidjson/include -Wall $(OPTFLAGS) $(PROFILEFLAGS) $(ARCHFLAGS) -pthread
+CXXFLAGS:= $(CXXFLAGS) -I$(PWD) -Iext/rapidjson/include -Wall $(OPTFLAGS) $(PROFILEFLAGS) $(ARCHFLAGS) -pthread
CFLAGS:=$(CFLAGS) -Wall $(OPTFLAGS) $(PROFILEFLAGS) $(ARCHFLAGS) -pthread
LDFLAGS:=$(LDFLAGS) $(ARCHFLAGS) -pthread
@@ -18,7 +18,7 @@
arguments.o lwres.o pdns_recursor.o recursor_cache.o dnsparser.o \
dnswriter.o dnsrecords.o rcpgenerator.o base64.o zoneparser-tng.o \
rec_channel.o rec_channel_rec.o selectmplexer.o sillyrecords.o \
-dns_random.o aescrypt.o aeskey.o aes_modes.o aestab.o dnslabeltext.o \
+aes/dns_random.o aes/aescrypt.o aes/aeskey.o aes/aes_modes.o aes/aestab.o dnslabeltext.o \
lua-pdns.o lua-recursor.o randomhelper.o recpacketcache.o dns.o \
reczones.o base32.o nsecrecords.o json.o json_ws.o
@@ -29,7 +29,7 @@
all: message pdns_recursor rec_control
# OS specific instructions
--include sysdeps/$(shell uname).inc
+-include sysdeps-recursor/$(shell uname).inc
ifeq ($(LUA), 1)
LUALIBS=$(LUA_LIBS_CONFIG)
@@ -88,9 +88,12 @@
binclean:
-rm -f *.o pdns_recursor rec_control optional/*.o
-
+
+dnslabeltext.cc: dnslabeltext.rl
+ ragel dnslabeltext.rl -o dnslabeltext.cc
+
dep:
- $(CXX) $(CXXFLAGS) -MM -MG *.cc *.c *.hh > $@
+ $(CXX) $(CXXFLAGS) -MM -MG *.cc *.hh aes/*.c aes/*.h aes/*.cc > $@
-include dep
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/pdns/Makefile.am
^
|
@@ -40,6 +40,7 @@
endif
EXTRA_PROGRAMS=pdns_recursor sdig tsig-tests speedtest pdns_control dnsscope dnsgram \
+testrunner \
toysdig dnsdemog dnswasher dnsscan nproxy notify pdnssec dnsbulktest nsec3dig # dnslabel # tcptorture
pdns_server_SOURCES=dnspacket.cc nameserver.cc tcpreceiver.hh \
@@ -232,6 +233,10 @@
rec_control_SOURCES=rec_channel.cc rec_channel.hh rec_control.cc arguments.cc arguments.hh misc.cc qtype.cc \
unix_utility.cc logger.cc statbag.cc
+testrunner_SOURCES=testrunner.cc test-misc_hh.cc
+testrunner_LDFLAGS= @DYNLINKFLAGS@ @THREADFLAGS@ $(BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS)
+testrunner_LDADD= $(BOOST_UNIT_TEST_FRAMEWORK_LIBS)
+
pdns_recursor_SOURCES=syncres.cc resolver.hh misc.cc unix_utility.cc qtype.cc \
logger.cc statbag.cc arguments.cc lwres.cc pdns_recursor.cc reczones.cc lwres.hh \
mtasker.hh syncres.hh recursor_cache.cc recursor_cache.hh dnsparser.cc \
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/pdns/Makefile.in
^
|
@@ -48,10 +48,10 @@
@RECURSOR_TRUE@ dnsreplay$(EXEEXT)
EXTRA_PROGRAMS = pdns_recursor$(EXEEXT) sdig$(EXEEXT) \
tsig-tests$(EXEEXT) speedtest$(EXEEXT) pdns_control$(EXEEXT) \
- dnsscope$(EXEEXT) dnsgram$(EXEEXT) toysdig$(EXEEXT) \
- dnsdemog$(EXEEXT) dnswasher$(EXEEXT) dnsscan$(EXEEXT) \
- nproxy$(EXEEXT) notify$(EXEEXT) pdnssec$(EXEEXT) \
- dnsbulktest$(EXEEXT) nsec3dig$(EXEEXT)
+ dnsscope$(EXEEXT) dnsgram$(EXEEXT) testrunner$(EXEEXT) \
+ toysdig$(EXEEXT) dnsdemog$(EXEEXT) dnswasher$(EXEEXT) \
+ dnsscan$(EXEEXT) nproxy$(EXEEXT) notify$(EXEEXT) \
+ pdnssec$(EXEEXT) dnsbulktest$(EXEEXT) nsec3dig$(EXEEXT)
@BOTAN110_TRUE@am__append_3 = botan110signers.cc botansigners.cc
@BOTAN110_TRUE@am__append_4 = $(BOTAN110_LIBS) -lgmp -lrt
@BOTAN18_TRUE@am__append_5 = botan18signers.cc botansigners.cc
@@ -354,6 +354,12 @@
nsecrecords.$(OBJEXT) base32.$(OBJEXT)
speedtest_OBJECTS = $(am_speedtest_OBJECTS)
speedtest_LDADD = $(LDADD)
+am_testrunner_OBJECTS = testrunner.$(OBJEXT) test-misc_hh.$(OBJEXT)
+testrunner_OBJECTS = $(am_testrunner_OBJECTS)
+testrunner_DEPENDENCIES = $(am__DEPENDENCIES_1)
+testrunner_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+ $(CXXFLAGS) $(testrunner_LDFLAGS) $(LDFLAGS) -o $@
am_toysdig_OBJECTS = toysdig.$(OBJEXT) dnsparser.$(OBJEXT) \
dnsrecords.$(OBJEXT) dnswriter.$(OBJEXT) \
dnslabeltext.$(OBJEXT) misc.$(OBJEXT) rcpgenerator.$(OBJEXT) \
@@ -406,15 +412,16 @@
$(nproxy_SOURCES) $(nsec3dig_SOURCES) $(pdns_control_SOURCES) \
$(pdns_recursor_SOURCES) $(pdns_server_SOURCES) \
$(pdnssec_SOURCES) $(rec_control_SOURCES) $(sdig_SOURCES) \
- $(speedtest_SOURCES) $(toysdig_SOURCES) $(tsig_tests_SOURCES)
+ $(speedtest_SOURCES) $(testrunner_SOURCES) $(toysdig_SOURCES) \
+ $(tsig_tests_SOURCES)
DIST_SOURCES = $(dnsbulktest_SOURCES) $(dnsdemog_SOURCES) \
$(dnsgram_SOURCES) $(dnsreplay_SOURCES) $(dnsscan_SOURCES) \
$(dnsscope_SOURCES) $(dnswasher_SOURCES) $(notify_SOURCES) \
$(nproxy_SOURCES) $(nsec3dig_SOURCES) $(pdns_control_SOURCES) \
$(pdns_recursor_SOURCES) $(am__pdns_server_SOURCES_DIST) \
$(am__pdnssec_SOURCES_DIST) $(rec_control_SOURCES) \
- $(sdig_SOURCES) $(speedtest_SOURCES) $(toysdig_SOURCES) \
- $(tsig_tests_SOURCES)
+ $(sdig_SOURCES) $(speedtest_SOURCES) $(testrunner_SOURCES) \
+ $(toysdig_SOURCES) $(tsig_tests_SOURCES)
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
install-dvi-recursive install-exec-recursive \
@@ -497,6 +504,8 @@
BOOST_ROOT = @BOOST_ROOT@
BOOST_SERIALIZATION_LDFLAGS = @BOOST_SERIALIZATION_LDFLAGS@
BOOST_SERIALIZATION_LIBS = @BOOST_SERIALIZATION_LIBS@
+BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS = @BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS@
+BOOST_UNIT_TEST_FRAMEWORK_LIBS = @BOOST_UNIT_TEST_FRAMEWORK_LIBS@
BOTAN110_CFLAGS = @BOTAN110_CFLAGS@
BOTAN110_LIBS = @BOTAN110_LIBS@
BOTAN18_CFLAGS = @BOTAN18_CFLAGS@
@@ -815,6 +824,9 @@
rec_control_SOURCES = rec_channel.cc rec_channel.hh rec_control.cc arguments.cc arguments.hh misc.cc qtype.cc \
unix_utility.cc logger.cc statbag.cc
+testrunner_SOURCES = testrunner.cc test-misc_hh.cc
+testrunner_LDFLAGS = @DYNLINKFLAGS@ @THREADFLAGS@ $(BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS)
+testrunner_LDADD = $(BOOST_UNIT_TEST_FRAMEWORK_LIBS)
pdns_recursor_SOURCES = syncres.cc resolver.hh misc.cc unix_utility.cc qtype.cc \
logger.cc statbag.cc arguments.cc lwres.cc pdns_recursor.cc reczones.cc lwres.hh \
mtasker.hh syncres.hh recursor_cache.cc recursor_cache.hh dnsparser.cc \
@@ -1009,6 +1021,9 @@
speedtest$(EXEEXT): $(speedtest_OBJECTS) $(speedtest_DEPENDENCIES) $(EXTRA_speedtest_DEPENDENCIES)
@rm -f speedtest$(EXEEXT)
$(CXXLINK) $(speedtest_OBJECTS) $(speedtest_LDADD) $(LIBS)
+testrunner$(EXEEXT): $(testrunner_OBJECTS) $(testrunner_DEPENDENCIES) $(EXTRA_testrunner_DEPENDENCIES)
+ @rm -f testrunner$(EXEEXT)
+ $(testrunner_LINK) $(testrunner_OBJECTS) $(testrunner_LDADD) $(LIBS)
toysdig$(EXEEXT): $(toysdig_OBJECTS) $(toysdig_DEPENDENCIES) $(EXTRA_toysdig_DEPENDENCIES)
@rm -f toysdig$(EXEEXT)
$(CXXLINK) $(toysdig_OBJECTS) $(toysdig_LDADD) $(LIBS)
@@ -1111,6 +1126,8 @@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/statbag.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/syncres.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tcpreceiver.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-misc_hh.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testrunner.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/toysdig.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tsig-tests.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ueberbackend.Po@am__quote@
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/pdns/README-recursor
^
|
@@ -87,8 +87,3 @@
------------------------------
To prevent hassles with g++/c++ dependencies, you can build like this:
$ STATIC=semi make all
-
-PROBLEMS
---------
-If you have problems linking, try removing the GCC_SKIP_LOCKING line from
-config.h
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/pdns/backends/Makefile.in
^
|
@@ -102,6 +102,8 @@
BOOST_ROOT = @BOOST_ROOT@
BOOST_SERIALIZATION_LDFLAGS = @BOOST_SERIALIZATION_LDFLAGS@
BOOST_SERIALIZATION_LIBS = @BOOST_SERIALIZATION_LIBS@
+BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS = @BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS@
+BOOST_UNIT_TEST_FRAMEWORK_LIBS = @BOOST_UNIT_TEST_FRAMEWORK_LIBS@
BOTAN110_CFLAGS = @BOTAN110_CFLAGS@
BOTAN110_LIBS = @BOTAN110_LIBS@
BOTAN18_CFLAGS = @BOTAN18_CFLAGS@
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/pdns/backends/bind/Makefile.in
^
|
@@ -157,6 +157,8 @@
BOOST_ROOT = @BOOST_ROOT@
BOOST_SERIALIZATION_LDFLAGS = @BOOST_SERIALIZATION_LDFLAGS@
BOOST_SERIALIZATION_LIBS = @BOOST_SERIALIZATION_LIBS@
+BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS = @BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS@
+BOOST_UNIT_TEST_FRAMEWORK_LIBS = @BOOST_UNIT_TEST_FRAMEWORK_LIBS@
BOTAN110_CFLAGS = @BOTAN110_CFLAGS@
BOTAN110_LIBS = @BOTAN110_LIBS@
BOTAN18_CFLAGS = @BOTAN18_CFLAGS@
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/pdns/backends/bind/bindbackend2.cc
^
|
@@ -1306,6 +1306,7 @@
BB2DomainInfo &bbd = s_state->id_zone_map[newid];
+ bbd.d_id = newid;
bbd.d_records = shared_ptr<recordstorage_t >(new recordstorage_t);
bbd.d_name = domain;
bbd.setCheckInterval(getArgAsNum("check-interval"));
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/pdns/botan18signers.cc
^
|
@@ -38,7 +38,6 @@
static EC_Domain_Params getECParams(unsigned int algorithm);
shared_ptr<ECDSA_PrivateKey> d_key;
shared_ptr<ECDSA_PublicKey> d_pubkey;
- unsigned int d_algorithm;
};
EC_Domain_Params ECDSADNSCryptoKeyEngine::getECParams(unsigned int algorithm)
@@ -59,13 +58,13 @@
}
d_key = shared_ptr<ECDSA_PrivateKey>(new ECDSA_PrivateKey(rng, getECParams((bits == 256) ? 13 : 14)));
- PKCS8_Encoder* pk8e= d_key->pkcs8_encoder();
- MemoryVector<byte> getbits=pk8e->key_bits();
+// PKCS8_Encoder* pk8e= d_key->pkcs8_encoder();
+// MemoryVector<byte> getbits=pk8e->key_bits();
// cerr<<makeHexDump(string((char*)&*getbits.begin(), (char*)&*getbits.end()))<<endl;
- const BigInt&x = d_key->private_value();
- SecureVector<byte> buffer=BigInt::encode(x);
- // cerr<<makeHexDump(string((char*)&*buffer.begin(), (char*)&*buffer.end()))<<endl;
+// const BigInt&x = d_key->private_value();
+// SecureVector<byte> buffer=BigInt::encode(x);
+// cerr<<makeHexDump(string((char*)&*buffer.begin(), (char*)&*buffer.end()))<<endl;
}
int ECDSADNSCryptoKeyEngine::getBits() const
@@ -104,7 +103,10 @@
Algorithm: 13 (ECDSAP256SHA256)
PrivateKey: GU6SnQ/Ou+xC5RumuIUIuJZteXT2z0O/ok1s38Et6mQ= */
- d_algorithm = drc.d_algorithm = atoi(stormap["algorithm"].c_str());
+ drc.d_algorithm = atoi(stormap["algorithm"].c_str());
+ if(drc.d_algorithm != d_algorithm)
+ throw runtime_error("Tried to feed an algorithm "+lexical_cast<string>(drc.d_algorithm)+" to a "+lexical_cast<string>(d_algorithm)+" key!");
+
string privateKey = stormap["privatekey"];
BigInt bigint((byte*)privateKey.c_str(), privateKey.length());
@@ -112,37 +114,40 @@
EC_Domain_Params params=getECParams(drc.d_algorithm);
d_key=shared_ptr<ECDSA_PrivateKey>(new ECDSA_PrivateKey);
-// cerr<<"Reading!"<<endl;
AutoSeeded_RNG rng;
- PKCS8_Decoder* p8e = d_key->pkcs8_decoder(rng);
- unsigned char pkcs8header[]= {0x30, 0x25, 0x02, 0x01, 0x01, 0x04, 0x20};
- if(privateKey.length()*8 == 384) {
- pkcs8header[1]+=0x10;
- pkcs8header[6]+=0x10;
- d_key->set_domain_parameters(getECParams(14));
- }
+
+ SecureVector<byte> octstr_secret = BigInt::encode_1363(bigint, getBits()/8);
+ SecureVector<byte> octstr_params = encode_der_ec_dompar(params, ENC_EXPLICIT);
+
+ MemoryVector<byte> data = DER_Encoder()
+ .start_cons(SEQUENCE)
+ .encode(BigInt(1))
+ .encode(octstr_secret, OCTET_STRING)
+ .end_cons()
+ .get_contents();
+
+ PKCS8_Decoder *p8e = d_key->pkcs8_decoder(rng);
+
+ if (d_algorithm == 13)
+ p8e->alg_id(AlgorithmIdentifier("1.2.840.10045.3.1.7", octstr_params));
else
- d_key->set_domain_parameters(getECParams(13));
-
- string noIdea((char*)pkcs8header, sizeof(pkcs8header));
- noIdea.append(privateKey);
-
- MemoryVector<byte> tmp((byte*)noIdea.c_str(), noIdea.length());
- p8e->key_bits(tmp);
+ p8e->alg_id(AlgorithmIdentifier("1.3.132.0.34", octstr_params));
+
+ p8e->key_bits(data);
delete p8e;
}
std::string ECDSADNSCryptoKeyEngine::getPubKeyHash() const
{
- const BigInt&x = d_key->private_value();
+ BigInt x = d_key->private_value();
SecureVector<byte> buffer=BigInt::encode(x);
return string((const char*)buffer.begin(), (const char*)buffer.end());
}
std::string ECDSADNSCryptoKeyEngine::getPublicKeyString() const
{
- const BigInt&x =d_key->public_point().get_affine_x().get_value();
- const BigInt&y =d_key->public_point().get_affine_y().get_value();
+ BigInt x =d_key->public_point().get_affine_x().get_value();
+ BigInt y =d_key->public_point().get_affine_y().get_value();
size_t part_size = std::max(x.bytes(), y.bytes());
MemoryVector<byte> bits(2*part_size);
@@ -171,8 +176,8 @@
{
AutoSeeded_RNG rng;
string hash = this->hash(msg);
- SecureVector<byte> signature=d_key->sign((byte*)hash.c_str(), hash.length(), rng);
-
+ Default_ECDSA_Op ops(d_key->domain_parameters(), d_key->private_value(), d_key->public_point());
+ SecureVector<byte> signature=ops.sign((byte*)hash.c_str(), hash.length(), rng);
return string((const char*)signature.begin(), (const char*) signature.end());
}
@@ -195,7 +200,8 @@
{
string hash = this->hash(msg);
ECDSA_PublicKey* key = d_key ? d_key.get() : d_pubkey.get();
- return key->verify((byte*)hash.c_str(), hash.length(), (byte*)signature.c_str(), signature.length());
+ Default_ECDSA_Op ops(key->domain_parameters(), BigInt(0), key->public_point());
+ return ops.verify((byte*)signature.c_str(), signature.length(), (byte*)hash.c_str(), hash.length());
}
namespace {
struct LoaderBotan18Struct
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/pdns/common_startup.cc
^
|
@@ -138,6 +138,10 @@
::arg().setSwitch("traceback-handler","Enable the traceback handler (Linux only)")="yes";
::arg().setSwitch("experimental-direct-dnskey","EXPERIMENTAL: fetch DNSKEY RRs from backend during DNSKEY synthesis")="no";
+ ::arg().set("default-ksk-algorithms","Default KSK algorithms")="rsasha256";
+ ::arg().set("default-ksk-size","Default KSK size (0 means default)")="0";
+ ::arg().set("default-zsk-algorithms","Default ZSK algorithms")="rsasha256";
+ ::arg().set("default-zsk-size","Default KSK size (0 means default)")="0";
}
void declareStats(void)
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/pdns/config-recursor.h
^
|
@@ -1,4 +1,4 @@
#define SYSCONFDIR "/etc/powerdns/"
#define LOCALSTATEDIR "/var/run/"
-#define VERSION "3.5-pre"
+#define VERSION "3.5-rc2"
#define RECURSOR
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/pdns/cryptoppsigners.cc
^
|
@@ -93,7 +93,7 @@
privateKey->Initialize(oid, x);
bool result = privateKey->Validate(prng, 3);
if (!result) {
- throw "Cannot load private key - validation failed!";
+ throw runtime_error("Cannot load private key - validation failed!");
}
d_key = shared_ptr<privatekey_t>(privateKey);
publickey_t* publicKey = new publickey_t();
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/pdns/dbdnsseckeeper.cc
^
|
@@ -347,10 +347,10 @@
return retkeyset;
}
-bool DNSSECKeeper::secureZone(const std::string& name, int algorithm)
+bool DNSSECKeeper::secureZone(const std::string& name, int algorithm, int size)
{
clearCaches(name); // just to be sure ;)
- return addKey(name, true, algorithm);
+ return addKey(name, true, algorithm, size);
}
bool DNSSECKeeper::getPreRRSIGs(DNSBackend& db, const std::string& signer, const std::string& qname,
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/pdns/dist-recursor
^
|
@@ -2,9 +2,7 @@
set -e
-ragel dnslabeltext.rl -o dnslabeltext.cc
-
-VERSION=3.5-pre
+VERSION=3.5-rc2
INCLUDES="iputils.hh arguments.hh base64.hh zoneparser-tng.hh \
rcpgenerator.hh lock.hh dnswriter.hh dnsrecords.hh dnsparser.hh utility.hh \
@@ -22,7 +20,7 @@
win32_mtasker.cc win32_rec_channel.cc win32_logger.cc ntservice.cc \
recursorservice.cc sillyrecords.cc lua-pdns.cc lua-recursor.cc randomhelper.cc \
devpollmplexer.cc recpacketcache.cc dns.cc reczones.cc base32.cc nsecrecords.cc \
-dnslabeltext.cc json.cc json_ws.cc json_ws.hh"
+json.cc json_ws.cc json_ws.hh"
cd docs
make pdns_recursor.1 rec_control.1
@@ -31,6 +29,8 @@
DIRNAME=pdns-recursor-$VERSION
rm -rf $DIRNAME
mkdir $DIRNAME
+cp dnslabeltext.rl $DIRNAME/
+ragel dnslabeltext.rl -o $DIRNAME/dnslabeltext.cc
cp $INCLUDES $CFILES $DIRNAME
cp Makefile-recursor $DIRNAME/Makefile
cp Makefile-recursor.win32 $DIRNAME/Makefile.win32
@@ -42,7 +42,8 @@
cp -a ext/rapidjson/include/rapidjson/internal/*.h $DIRNAME/ext/rapidjson/include/rapidjson/internal
mkdir $DIRNAME/rrd
cp tools/rrd/{create,update,makegraphs,index.html} $DIRNAME/rrd
-cp aes/*.{c,cc,h} $DIRNAME
+mkdir $DIRNAME/aes
+cp aes/*.{c,cc,h} $DIRNAME/aes
cp pdns-recursor.init.d $DIRNAME
cp docs/pdns_recursor.1 docs/rec_control.1 $DIRNAME
cp configure-recursor $DIRNAME/configure
@@ -50,9 +51,9 @@
mkdir -p $DIRNAME/contrib
cp ../contrib/systemd-pdns-recursor.service $DIRNAME/contrib
-mkdir -p $DIRNAME/sysdeps
+mkdir -p $DIRNAME/sysdeps-recursor
rm -f sysdeps-recursor/*~
-cp sysdeps-recursor/* $DIRNAME/sysdeps
+cp sysdeps-recursor/* $DIRNAME/sysdeps-recursor
cp "PowerDNS Recursor.vcproj" $DIRNAME/
tar cf $DIRNAME.tar $DIRNAME
bzip2 -f $DIRNAME.tar # .. solaris
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/pdns/dnslabeltext.rl
^
|
@@ -61,7 +61,7 @@
appendSplit(ret, segment, *(fpc));
}
- escaped = '\\' ((["\\]@reportEscaped) | ([0-9]{3}$reportEscapedNumber%doneEscapedNumber));
+ escaped = '\\' (([^0-9]@reportEscaped) | ([0-9]{3}$reportEscapedNumber%doneEscapedNumber));
plain = ((print-'\\'-'"')|'\n'|'\t') $ reportPlain;
txtElement = escaped | plain;
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/pdns/dnsseckeeper.hh
^
|
@@ -75,7 +75,7 @@
bool activateKey(const std::string& zname, unsigned int id);
bool deactivateKey(const std::string& zname, unsigned int id);
- bool secureZone(const std::string& fname, int algorithm);
+ bool secureZone(const std::string& fname, int algorithm, int size);
bool getNSEC3PARAM(const std::string& zname, NSEC3PARAMRecordContent* n3p=0, bool* narrow=0);
bool setNSEC3PARAM(const std::string& zname, const NSEC3PARAMRecordContent& n3p, const bool& narrow=false);
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/pdns/docs/pdns.xml
^
|
@@ -14,8 +14,6 @@
</affiliation>
</author>
- <pubdate>v3.0-pre $Date: 2011-01-06 23:00:05 +0100 (Thu, 06 Jan 2011) $</pubdate>
-
<abstract>
<para>
<blockquote><literallayout>
@@ -95,30 +93,268 @@
<para>
Beyond PowerDNS 2.9.20, the Authoritative Server and Recursor are released separately.
</para>
+ <sect2 id="changelog-recursor-3.5"><title>PowerDNS Recursor version 3.5 RC</title>
+ <note>
+ <para>
+ 3.5-RC1 released on January 25th 2013
+ </para>
+ <para>
+ 3.5-RC2 released on February 11th 2013
+ </para>
+ <para>
+ Downloads:
+ <itemizedlist>
+ <listitem>
+ <para>
+ <ulink url="http://powerdnssec.org/downloads/pdns-recursor-3.5-rc2.tar.bz2">source</ulink>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <ulink url="http://powerdnssec.org/downloads/packages/">semi-static packages (rpm, deb, i386, amd64)</ulink>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <ulink url="http://www.monshouwer.eu/download/3rd_party/pdns-recursor/rc2/">native RHEL5/6 packages from Kees Monshouwer</ulink>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </note>
+ <para>
+ This is a stability, security and bugfix update to 3.3/3.3.1. It contains
+ important fixes for slightly broken domain names, which your
+ users expect to work anyhow.
+ </para>
+ <para><note>
+ <para>
+ Because a semi-sanctioned 3.4-pre was distributed for a long time, and people have come to call that
+ 3.4, we are skipping an actual 3.4 release to avoid confusion.
+ </para>
+ </note></para>
+ <para>
+ Changes between RC1 and RC2:
+ <itemizedlist>
+ <listitem>
+ <para>
+ While Recursor 3.3 was not vulnerable to the specific attack noted in
+ <ulink url="https://www.isc.org/files/imce/ghostdomain_camera.pdf">'Ghost Domain Names: Revoked Yet Still Resolvable'</ulink>,
+ further investigation showed that a variant of the attack could work. This was fixed in r3085. This should
+ also close the slightly bogus
+ <ulink url="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-1193">CVE-2012-1193</ulink>.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ The auth-can-lower-ttl flag was removed, as it did not have any effect in most situations, and thus
+ did not operate as advertised. We now always comply with the related parts of RFC 2181. Change in
+ r3092, closing t88.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ <para>
+ Changes below are in RC1 (and up).
+ </para>
+ <para>
+ New features:
+ <itemizedlist>
+ <listitem>
+ <para>
+ The local zone server now understands wilcards, code in c2062.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ The Lua postresolve and nodata hooks, that had been distributed as a '3.3-hooks' snapshot earlier,
+ have been merged. Code in c2309.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ A new feature, rec_control trace-regex allows the tracing of lookups for specific names. Code in c3044,
+ c3073.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ A new setting, export-etc-hosts-suffix, adds a configurable suffix to names imported from /etc/hosts.
+ Code in c2544, c2545.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ <para>
+ Improvements:
+ <itemizedlist>
+ <listitem>
+ <para>
+ We now throttle queries that don't work less agressively, code in c1766.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Various improvements in tolerance against broken auths, code in c1996, c2188, c3074 (thanks Winfried).
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Additional processing is now optional, and disabled by default. Presumably this yields a performance
+ improvement. Change in c2542.
+ </para>
+ </listitem>
+
+
+ <listitem>
+ <para>
+ rec_control reload-lua-script now reports errors. Code in c2627, closing t278.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ rec_control help now lists commands. Code in c2628.
+ </para>
+ </listitem>
+
+
+ <listitem>
+ <para>
+ rec_control wipe-cache now also wipes the recursor's packet cache. Code in c2880 from t333.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Morten Stevens contributed a systemd file. Import in c2966, now part of the recursor tarball.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ c2990 updates the address of D.root-servers.net.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Winfried Angele implemented and documented the ipv6-questions metric. Merge in c3034, closing t619.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ We no longer use ANY to get A+AAAA for nameservers, because some auth operators have decided to break
+ ANY lookups. As a bonus, we now track v4 and v6 latency separately. Change in c3064.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+ </para>
+ <para>
+ Bugs fixed:
+ <itemizedlist>
+ <listitem>
+ <para>
+ Some unaligned memory access was corrected, code in c2060, c2122,
+ c2123, which would cause problems on UltraSPARC.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Garbage encountered during reload-acls could cause crashes. Fixed in c2323, closing t330.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ The recursor would lose its root hints in a very rare situation. Corrected in c2380.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ We did not always drop supplemental groups while dropping privileges. Reported by David Black of
+ Atlassian, fixed in c2524.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Cache aging would sometimes get confused when we had a mix of expired and non-expired records in cache.
+ Spotted and fixed by Winfried Angele in c3068, closing t438.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ rec_control reload-acl no longer ignores arguments. Fix in c3037, closing t490.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Since we re-parse our commandline in rec_control we've been doubling the commands on the commandline, causing weird output. Reported by Winfried Angele. Fixed in c2992, closing t618.
+ This issue was not present in any officially released
+ versions.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ c2879 drops some spurious stderr logging from Lua scripts, and makes sure 'place' is always valid.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ We would sometimes refuse to resolve domains with just one nameserver living at the apex. Fixed in c2817.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ We would sometimes stick RRs in the wrong parts of response packets. Fixed in c2625.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ The ACL parser was too liberal, sometimes causing recursors to be very open. Fixed in c2629, closing t331.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ rec_control now honours config-dir from recursor.conf. Fixed in c2630.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ When traversing CNAME chains, sometimes we would end up with multiple SOAs in the result.
+ Fixed in c2633.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+
+
+
+ </sect2>
<sect2 id="changelog-auth-3-2"><title>PowerDNS Authoritative Server 3.2</title>
<warning><para>Version 3.2 of the PowerDNS Authoritative Server is a major upgrade if you are coming from 2.9.x. There are also some important changes if you are coming from 3.0 or 3.1
Please refer to <xref linkend="from2.9to3.0"/>, <xref linkend="from3.0to3.1"/> and <xref linkend="from3.1to3.2"/> for important information on
correct and stable operation, as well as notes on performance and memory use.</para>
</warning>
<note>
- <para>RC4 released January 9th, 2013</para>
+ <para>Released January 17th, 2013</para>
<para>Downloads:
<itemizedlist>
<listitem>
<para>
- <ulink url="http://powerdnssec.org/downloads/pdns-3.2-rc4.tar.gz">source</ulink>
+ <ulink url="http://www.powerdns.com/content/downloads.html">Official download page</ulink>
</para>
</listitem>
<listitem>
<para>
- <ulink url="http://powerdnssec.org/downloads/packages/">semi-static packages (rpm, deb, i386, amd64)</ulink>
- </para>
- </listitem>
- <listitem>
- <para>
- <ulink url="http://www.monshouwer.eu/download/3rd_party/pdns-server/rc4/">native RHEL5/6 packages from Kees Monshouwer</ulink>
+ <ulink url="http://www.monshouwer.eu/download/3rd_party/pdns-server/">native RHEL5/6 packages from Kees Monshouwer</ulink>
</para>
</listitem>
+ <listitem>
+ <para>
+ <ulink url="http://wiki.powerdns.com/trac#GettingPowerDNSpackages">additional third-party builds</ulink>
+ </para>
+ </listitem>
</itemizedlist>
</para>
</note>
@@ -132,6 +368,21 @@
make that possible are in c2849, c2853, 2858, c2859, c2860.
</para>
<para>
+ Changes between 3.2-RC4 and the final 3.2 release:
+ <itemizedlist>
+ <listitem>
+ <para>
+ Aki Tuomi contributed a bunch of fixes to our crypto drivers. Code in c3036 and c3055/c3057.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ The ksk|zsk argument for pdnssec import-zone-key was required while it should be optional. Fixed in r3051.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ <para>
Changes between 3.2-RC3 and 3.2-RC4:
<itemizedlist>
<listitem>
@@ -153,7 +404,7 @@
</listitem>
<listitem>
<para>
- The Mongo backend was removed at the author's request, as it does not work with any current libmongo versions.
+ The MongoDB backend was removed at the author's request, as it does not work with any current libmongo versions.
Change in c3017.
</para>
</listitem>
@@ -329,7 +580,7 @@
</itemizedlist>
</para>
<para>
- Changes below are in 3.2-RC1 but not RC2 and up.
+ Changes below are in 3.2-RC1 and up.
</para>
<para>
DNSSEC changes in 3.2:
@@ -11298,6 +11549,10 @@
pipe-timeout is in fact in milliseconds. To avoid some surprise, the default is now 2000 (2 seconds). If you
have slow pipebackend scripts, make sure to increase pipe-timeout.
</para>
+ <para>
+ Some configuration settings (that did not do anything, anyway) have been removed. You need to remove
+ them from your configuration to start pdns_server. They are: lazy-recursion, use-logfile, logfile.
+ </para>
</sect1>
</chapter>
@@ -11746,7 +12001,7 @@
The NSEC3 parameters must be quoted on the command line.
<warning><para>If running in RSASHA1 mode (algorithm 5 or 7), switching from NSEC to NSEC3 will require a DS update at the parent zone! </para></warning>
The NSEC3 fields are: 'algorithm flags iterations salt'. Both 'algorithm' and 'flags' should be 1 for PowerDNS
- operation.
+ operation. The salt is hexadecimal.
</para>
</listitem>
</varlistentry>
@@ -12226,7 +12481,7 @@
<term>NSEC3NARROW</term>
<listitem>
<para>
- Determines if this zone operates in NSEC3 'narrow' mode (see 'set-nsec3' in <xref linkend="pdnssec" />).
+ Set to "1" to tell PowerDNS this zone operates in NSEC3 'narrow' mode (see 'set-nsec3' in <xref linkend="pdnssec" />).
</para>
</listitem>
</varlistentry>
@@ -12235,7 +12490,7 @@
<listitem>
<para>
NSEC3 parameters of a DNSSEC zone. Will be used to synthesize the NSEC3PARAM record. If present, NSEC3 is used, if not
- present, zones default to NSEC (see 'set-nsec3' in <xref linkend="pdnssec" />).
+ present, zones default to NSEC (see 'set-nsec3' in <xref linkend="pdnssec" />). Example content: "1 1 1 ab".
</para>
</listitem>
</varlistentry>
@@ -12258,8 +12513,8 @@
</para>
<para>
Available modes are: INCEPTION (which sets the SOA Serial to
- the current two-week signing period start in seconds since
- the UNIX epoch), INCEPTION-WEEK (number of weeks since the
+ the current two-week signing period start in YYYYMMDD01 format),
+ INCEPTION-WEEK (number of weeks since the
epoch), INCREMENT-WEEKS (which increments the serial with
the number of weeks since the epoch), EPOCH (number of
seconds since the epoch). Finally, INCEPTION-EPOCH
@@ -13929,6 +14184,11 @@
If you have DNSSEC-signed zones and non-PowerDNS slaves, please check your SOA-EDIT settings.
</para>
</warning>
+ <warning>
+ <para>
+ Notifications are only sent for domains with type MASTER in your backend.
+ </para>
+ </warning>
</para>
<para>
@@ -14309,7 +14569,7 @@
</para></listitem></varlistentry>
<varlistentry><term>slave-renotify [,=no]</term>
<listitem><para>
-This setting will make PowerDNS renotify the after a AXFR is *received* from a master. This is useful when using when running a signing-slave.
+This setting will make PowerDNS renotify the slaves after an AXFR is *received* from a master. This is useful when using when running a signing-slave.
</para></listitem></varlistentry>
<varlistentry><term>signing-threads=3</term>
<listitem><para>
@@ -17808,6 +18068,12 @@
to rectify this situation.
</para>
</warning>
+ <warning>
+ <para>
+ Grégory Oestreicher has forked the LDAP backend shortly before our 3.2 release. Please visit his
+ <ulink url="http://repo.or.cz/w/pdns-ldap-backend.git">repository</ulink> for the latest code.
+ </para>
+ </warning>
</para>
<para>
<warning>
@@ -17923,6 +18189,12 @@
the PowerDNS distribution.
</para>
</warning>
+ <warning>
+ <para>
+ The most up to date version of this backend can be found at <ulink url="https://github.com/fredan/luabackend">Fredrik's github</ulink>.
+ </para>
+ </warning>
+
</para>
<para>
The main author for this module is Fredrik Danerklint.
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/pdns/misc.hh
^
|
@@ -403,6 +403,19 @@
}
};
+struct CIStringPairCompare: public std::binary_function<pair<string, uint16_t>, pair<string,uint16_t>, bool>
+{
+ bool operator()(const pair<string, uint16_t>& a, const pair<string, uint16_t>& b) const
+ {
+ if(pdns_ilexicographical_compare(a.first, b.first))
+ return true;
+ if(pdns_ilexicographical_compare(b.first, a.first))
+ return false;
+ return a.second < b.second;
+ }
+};
+
+
pair<string, string> splitField(const string& inp, char sepa);
inline bool isCanonical(const string& dom)
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/pdns/nameserver.cc
^
|
@@ -165,10 +165,11 @@
string localname(*i);
s=socket(AF_INET6,SOCK_DGRAM,0);
- Utility::setCloseOnExec(s);
if(s<0)
throw AhuException("Unable to acquire a UDPv6 socket: "+string(strerror(errno)));
+ Utility::setCloseOnExec(s);
+
ComboAddress locala(localname, ::arg().asNum("local-port"));
if(IsAnyAddress(locala)) {
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/pdns/packethandler.cc
^
|
@@ -265,7 +265,7 @@
const static string mode=::arg()["version-string"];
if(mode.empty() || mode=="full")
- rr.content="Served by POWERDNS "VERSION" $Id: packethandler.cc 3022 2013-01-05 13:00:10Z peter $";
+ rr.content="Served by POWERDNS "VERSION" $Id: packethandler.cc 3095 2013-02-04 14:35:34Z ahu $";
else if(mode=="anonymous") {
r->setRcode(RCode::ServFail);
return 1;
@@ -798,7 +798,7 @@
if(!((c >= 'a' && c <= 'z') ||
(c >= 'A' && c <= 'Z') ||
(c >= '0' && c <= '9') ||
- c =='-' || c == '_' || c=='*' || c=='.' || c=='/' || c=='@' || c==' ' || c=='\\'))
+ c =='-' || c == '_' || c=='*' || c=='.' || c=='/' || c=='@' || c==' ' || c=='\\' || c==':'))
return false;
}
return true;
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/pdns/pdns-recursor.init.d
^
|
@@ -1,4 +1,12 @@
#!/bin/sh
+### BEGIN INIT INFO
+# Provides: pdns-recursor
+# Required-Start: $network $remote_fs $syslog
+# Required-Stop: $network $remote_fs $syslog
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Start the recursor at boot time.
+### END INIT INFO
# chkconfig: - 80 75
# description: pdns_recursor is a versatile high performance recursing nameserver
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/pdns/pdns-recursor.spec
^
|
@@ -2,7 +2,7 @@
Buildroot: /tmp/pdns/
Name: pdns-recursor
-Version: 3.5pre
+Version: 3.5rc2
Release: 1
Summary: extremely powerful and versatile recursing nameserver
License: GPL
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/pdns/pdns.conf-dist
^
|
@@ -40,6 +40,16 @@
# daemon=no
#################################
+# default-ksk-algorithms Default KSK algorithms
+#
+# default-ksk-algorithms=rsasha256
+
+#################################
+# default-ksk-size Default KSK size (0 means default)
+#
+# default-ksk-size=0
+
+#################################
# default-soa-name name to insert in the SOA record if none set in the backend
#
# default-soa-name=a.misconfigured.powerdns.server
@@ -50,6 +60,16 @@
# default-ttl=3600
#################################
+# default-zsk-algorithms Default ZSK algorithms
+#
+# default-zsk-algorithms=rsasha256
+
+#################################
+# default-zsk-size Default KSK size (0 means default)
+#
+# default-zsk-size=0
+
+#################################
# disable-axfr Disable zonetransfers but do allow TCP queries
#
# disable-axfr=no
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/pdns/pdns_recursor.cc
^
|
@@ -121,7 +121,7 @@
unsigned int g_numThreads;
-#define LOCAL_NETS "127.0.0.0/8, 10.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12, ::1/128, fe80::/10"
+#define LOCAL_NETS "127.0.0.0/8, 10.0.0.0/8, 100.64.0.0/10, 169.254.0.0/16, 192.168.0.0/16, 172.16.0.0/12, ::1/128, fe80::/10"
//! used to send information to a newborn mthread
struct DNSComboWriter {
@@ -550,15 +550,19 @@
uint32_t minTTL=std::numeric_limits<uint32_t>::max();
- string trace(sr.getTrace());
- if(!trace.empty()) {
- vector<string> lines;
- boost::split(lines, trace, boost::is_any_of("\n"));
- BOOST_FOREACH(const string& line, lines) {
- if(!line.empty())
- L<<Logger::Warning<< line << endl;
+ if(tracedQuery || res < 0 || res == RCode::ServFail || pw.getHeader()->rcode == RCode::ServFail)
+ {
+ string trace(sr.getTrace());
+ if(!trace.empty()) {
+ vector<string> lines;
+ boost::split(lines, trace, boost::is_any_of("\n"));
+ BOOST_FOREACH(const string& line, lines) {
+ if(!line.empty())
+ L<<Logger::Warning<< line << endl;
+ }
}
}
+
if(res < 0) {
pw.getHeader()->rcode=RCode::ServFail;
// no commit here, because no record
@@ -1854,7 +1858,6 @@
L<<Logger::Warning<<"Done priming cache with root hints"<<endl;
- t_RC->d_followRFC2181=::arg().mustDo("auth-can-lower-ttl");
t_pdl = new shared_ptr<RecursorLua>();
try {
@@ -1991,6 +1994,7 @@
g_argv = argv;
g_stats.startupTime=time(0);
reportBasicTypes();
+ reportOtherTypes();
int ret = EXIT_SUCCESS;
#ifdef WIN32
@@ -2056,7 +2060,7 @@
::arg().set("packetcache-servfail-ttl", "maximum number of seconds to keep a cached servfail entry in packetcache")="60";
::arg().set("server-id", "Returned when queried for 'server.id' TXT or NSID, defaults to hostname")="";
::arg().set("remotes-ringbuffer-entries", "maximum number of packets to store statistics for")="0";
- ::arg().set("version-string", "string reported on version.pdns or version.bind")="PowerDNS Recursor "VERSION" $Id: pdns_recursor.cc 3044 2013-01-11 13:07:40Z ahu $";
+ ::arg().set("version-string", "string reported on version.pdns or version.bind")="PowerDNS Recursor "VERSION" $Id: pdns_recursor.cc 3122 2013-03-15 12:44:16Z peter $";
::arg().set("allow-from", "If set, only allow these comma separated netmasks to recurse")=LOCAL_NETS;
::arg().set("allow-from-file", "If set, load allowed netmasks from this file")="";
::arg().set("entropy-source", "If set, read entropy from this file")="/dev/urandom";
@@ -2072,7 +2076,6 @@
::arg().set("export-etc-hosts-search-suffix", "Also serve up the contents of /etc/hosts with this suffix")="";
::arg().set("etc-hosts-file", "Path to 'hosts' file")="/etc/hosts";
::arg().set("serve-rfc1918", "If we should be authoritative for RFC 1918 private IP space")="";
- ::arg().set("auth-can-lower-ttl", "If we follow RFC 2181 to the letter, an authoritative server can lower the TTL of NS records")="off";
::arg().set("lua-dns-script", "Filename containing an optional 'lua' script that will be used to modify dns answers")="";
::arg().setSwitch( "ignore-rd-bit", "Assume each packet requires recursion, for compatibility" )= "off";
::arg().setSwitch( "disable-edns-ping", "Disable EDNSPing" )= "no";
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/pdns/pdnssec.cc
^
|
@@ -42,6 +42,22 @@
return ret;
}
+static int shorthand2algorithm(const string &algorithm)
+{
+ if (!algorithm.compare("rsamd5")) return 1;
+ if (!algorithm.compare("dh")) return 2;
+ if (!algorithm.compare("dsa")) return 3;
+ if (!algorithm.compare("ecc")) return 4;
+ if (!algorithm.compare("rsasha1")) return 5;
+ if (!algorithm.compare("rsasha256")) return 8;
+ if (!algorithm.compare("rsasha512")) return 10;
+ if (!algorithm.compare("gost")) return 12;
+ if (!algorithm.compare("ecdsa256")) return 13;
+ if (!algorithm.compare("ecdsa384")) return 14;
+ if (!algorithm.compare("ed25519")) return 250;
+ return -1;
+}
+
void loadMainConfig(const std::string& configdir)
{
::arg().set("config-dir","Location of configuration directory (pdns.conf)")=configdir;
@@ -64,6 +80,11 @@
string configname=::arg()["config-dir"]+"/"+s_programname+".conf";
cleanSlashes(configname);
+
+ ::arg().set("default-ksk-algorithms","Default KSK algorithms")="rsasha256";
+ ::arg().set("default-ksk-size","Default KSK size (0 means default)")="0";
+ ::arg().set("default-zsk-algorithms","Default ZSK algorithms")="rsasha256";
+ ::arg().set("default-zsk-size","Default KSK size (0 means default)")="0";
::arg().set("max-ent-entries", "Maximum number of empty non-terminals in a zone")="100000";
::arg().set("module-dir","Default directory for modules")=LIBDIR;
@@ -344,7 +365,7 @@
if(rr.qtype.getCode() == QType::MX || rr.qtype.getCode() == QType::SRV)
rr.content = lexical_cast<string>(rr.priority)+" "+rr.content;
- if ( (rr.qtype.getCode() == QType::NS || rr.qtype.getCode() == QType::SRV || rr.qtype.getCode() == QType::MX) &&
+ if ( (rr.qtype.getCode() == QType::NS || rr.qtype.getCode() == QType::SRV || rr.qtype.getCode() == QType::MX || rr.qtype.getCode() == QType::CNAME) &&
rr.content[rr.content.size()-1] == '.') {
cout<<"[Warning] The record "<<rr.qname<<" with type "<<rr.qtype.getName()<<" has a trailing dot in the content ("<<rr.content<<"). Your backend might not work well with this."<<endl;
numwarnings++;
@@ -568,6 +589,33 @@
bool secureZone(DNSSECKeeper& dk, const std::string& zone)
{
+ // parse attribute
+ vector<string> k_algos;
+ vector<string> z_algos;
+ int k_size;
+ int z_size;
+
+ stringtok(k_algos, ::arg()["default-ksk-algorithms"], " ,");
+ k_size = ::arg().asNum("default-ksk-size");
+ stringtok(z_algos, ::arg()["default-zsk-algorithms"], " ,");
+ z_size = ::arg().asNum("default-zsk-size");
+
+ if (k_size < 0) {
+ throw runtime_error("KSK key size must be equal to or greater than 0");
+ }
+
+ if (k_algos.size() < 1) {
+ throw runtime_error("No algorithm(s) given for KSK");
+ }
+
+ if (z_size < 0) {
+ throw runtime_error("ZSK key size must be equal to or greater than 0");
+ }
+
+ if (z_algos.size() < 1) {
+ throw runtime_error("No algorithm(s) given for ZSK");
+ }
+
if(dk.isSecuredZone(zone)) {
cerr << "Zone '"<<zone<<"' already secure, remove keys with pdnssec remove-zone-key if needed"<<endl;
return false;
@@ -586,7 +634,13 @@
cout<<"pdnssec disable-dnssec "<<zone<<" right now!"<<endl;
}
- if(!dk.secureZone(zone, 8)) {
+ if (k_size)
+ cout << "Securing zone with " << k_algos[0] << " algorithm with key size " << k_size << endl;
+ else
+ cout << "Securing zone with " << k_algos[0] << " algorithm with default key size" << endl;
+
+ // run secure-zone with first default algorith, then add keys
+ if(!dk.secureZone(zone, shorthand2algorithm(k_algos[0]), k_size)) {
cerr<<"No backend was able to secure '"<<zone<<"', most likely because no DNSSEC\n";
cerr<<"capable backends are loaded, or because the backends have DNSSEC disabled.\n";
cerr<<"For the Generic SQL backends, set the 'gsqlite3-dnssec', 'gmysql-dnssec' or\n";
@@ -608,9 +662,17 @@
cerr<<"There were ZSKs already for zone '"<<zone<<"', no need to add more"<<endl;
return false;
}
-
- dk.addKey(zone, false, 8);
- dk.addKey(zone, false, 8, 0, false); // not active
+
+ for(vector<string>::iterator i = k_algos.begin()+1; i != k_algos.end(); i++)
+ dk.addKey(zone, true, shorthand2algorithm(*i), k_size, true);
+
+ BOOST_FOREACH(string z_algo, z_algos)
+ {
+ int algo = shorthand2algorithm(z_algo);
+ dk.addKey(zone, false, algo, z_size);
+ dk.addKey(zone, false, algo, z_size, false); // not active
+ }
+
// rectifyZone(dk, zone);
// showZone(dk, zone);
cout<<"Zone "<<zone<<" secured"<<endl;
@@ -756,6 +818,8 @@
cerr<<"disable-dnssec ZONE Deactivate all keys and unset PRESIGNED in ZONE\n";
cerr<<"export-zone-dnskey ZONE KEY-ID Export to stdout the public DNSKEY described\n";
cerr<<"export-zone-key ZONE KEY-ID Export to stdout the private key described\n";
+ cerr<<"generate-zone-key zsk|ksk [bits] [algorithm]\n";
+ cerr<<" Generate a ZSK or KSK to stdout with specified algo&bits\n";
cerr<<"hash-zone-record ZONE RNAME Calculate the NSEC3 hash for RNAME in ZONE\n";
cerr<<"import-zone-key ZONE FILE Import from a file a private key, ZSK or KSK\n";
cerr<<" [ksk|zsk] Defaults to KSK\n";
@@ -931,6 +995,7 @@
const string& zone=cmds[1];
// need to get algorithm, bits & ksk or zsk from commandline
bool keyOrZone=false;
+ int tmp_algo=0;
int bits=0;
int algorithm=8;
for(unsigned int n=2; n < cmds.size(); ++n) {
@@ -938,21 +1003,9 @@
keyOrZone = false;
else if(pdns_iequals(cmds[n], "ksk"))
keyOrZone = true;
- else if(pdns_iequals(cmds[n], "rsasha1"))
- algorithm=5;
- else if(pdns_iequals(cmds[n], "rsasha256"))
- algorithm=8;
- else if(pdns_iequals(cmds[n], "rsasha512"))
- algorithm=10;
- else if(pdns_iequals(cmds[n], "gost"))
- algorithm=12;
- else if(pdns_iequals(cmds[n], "ecdsa256"))
- algorithm=13;
- else if(pdns_iequals(cmds[n], "ecdsa384"))
- algorithm=14;
- else if(pdns_iequals(cmds[n], "ed25519"))
- algorithm=250;
- else if(atoi(cmds[n].c_str()))
+ else if((tmp_algo = shorthand2algorithm(cmds[n]))>0) {
+ algorithm = tmp_algo;
+ } else if(atoi(cmds[n].c_str()))
bits = atoi(cmds[n].c_str());
else {
cerr<<"Unknown algorithm, key flag or size '"<<cmds[n]<<"'"<<endl;
@@ -1081,7 +1134,7 @@
}
else if(cmds[0]=="import-zone-key-pem") {
if(cmds.size() < 4) {
- cerr<<"Syntax: pdnssec import-zone-key ZONE FILE algorithm [zsk|ksk]"<<endl;
+ cerr<<"Syntax: pdnssec import-zone-key ZONE FILE algorithm [ksk|zsk]"<<endl;
exit(1);
}
string zone=cmds[1];
@@ -1125,8 +1178,8 @@
}
else if(cmds[0]=="import-zone-key") {
- if(cmds.size() < 4) {
- cerr<<"Syntax: pdnssec import-zone-key ZONE FILE [zsk|ksk]"<<endl;
+ if(cmds.size() < 3) {
+ cerr<<"Syntax: pdnssec import-zone-key ZONE FILE [ksk|zsk]"<<endl;
exit(1);
}
string zone=cmds[1];
@@ -1172,6 +1225,58 @@
cout << zone << " IN DS "<<makeDSFromDNSKey(zone, dpk.getDNSKEY(), 2).getZoneRepresentation() << endl;
}
}
+ else if(cmds[0] == "generate-zone-key") {
+ if(cmds.size() < 2 ) {
+ cerr << "Syntax: pdnssec generate-zone-key zsk|ksk [bits] [rsasha1|rsasha256|rsasha512|gost|ecdsa256|ecdsa384]"<<endl;
+ return 0;
+ }
+ // need to get algorithm, bits & ksk or zsk from commandline
+ bool keyOrZone=false;
+ int tmp_algo=0;
+ int bits=0;
+ int algorithm=8;
+ for(unsigned int n=1; n < cmds.size(); ++n) {
+ if(pdns_iequals(cmds[n], "zsk"))
+ keyOrZone = false;
+ else if(pdns_iequals(cmds[n], "ksk"))
+ keyOrZone = true;
+ else if((tmp_algo = shorthand2algorithm(cmds[n]))>0) {
+ algorithm = tmp_algo;
+ } else if(atoi(cmds[n].c_str()))
+ bits = atoi(cmds[n].c_str());
+ else {
+ cerr<<"Unknown algorithm, key flag or size '"<<cmds[n]<<"'"<<endl;
+ return 0;
+ }
+ }
+ cerr<<"Generating a " << (keyOrZone ? "KSK" : "ZSK")<<" with algorithm = "<<algorithm<<endl;
+ if(bits)
+ cerr<<"Requesting specific key size of "<<bits<<" bits"<<endl;
+
+ DNSSECPrivateKey dspk;
+ shared_ptr<DNSCryptoKeyEngine> dpk(DNSCryptoKeyEngine::make(algorithm)); // defaults to RSA for now, could be smart w/algorithm! XXX FIXME
+ if(!bits) {
+ if(algorithm <= 10)
+ bits = keyOrZone ? 2048 : 1024;
+ else {
+ if(algorithm == 12 || algorithm == 13 || algorithm == 250) // ECDSA, GOST, ED25519
+ bits = 256;
+ else if(algorithm == 14)
+ bits = 384;
+ else {
+ throw runtime_error("Can't guess key size for algoritm "+lexical_cast<string>(algorithm));
+ }
+ }
+ }
+ dpk->create(bits);
+ dspk.setKey(dpk);
+ dspk.d_algorithm = algorithm;
+ dspk.d_flags = keyOrZone ? 257 : 256;
+
+ // print key to stdout
+ cout << "Flags: " << dspk.d_flags << endl <<
+ dspk.getKey()->convertToISC() << endl;
+ }
else {
cerr<<"Unknown command '"<<cmds[0]<<"'\n";
return 1;
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/pdns/rec_channel_rec.cc
^
|
@@ -150,6 +150,33 @@
return new uint64_t(t_RC->doDump(fd) + dumpNegCache(t_sstorage->negcache, fd));
}
+static uint64_t* pleaseDumpNSSpeeds(int fd)
+{
+ return new uint64_t(t_RC->doDumpNSSpeeds(fd));
+}
+
+template<typename T>
+string doDumpNSSpeeds(T begin, T end)
+{
+ T i=begin;
+ string fname;
+
+ if(i!=end)
+ fname=*i;
+
+ int fd=open(fname.c_str(), O_CREAT | O_EXCL | O_WRONLY, 0660);
+ if(fd < 0)
+ return "Error opening dump file for writing: "+string(strerror(errno))+"\n";
+ uint64_t total = 0;
+ try {
+ total = broadcastAccFunction<uint64_t>(boost::bind(pleaseDumpNSSpeeds, fd));
+ }
+ catch(...){}
+
+ close(fd);
+ return "dumped "+lexical_cast<string>(total)+" records\n";
+}
+
template<typename T>
string doDumpCache(T begin, T end)
{
@@ -565,6 +592,7 @@
"current-queries show currently active queries\n"
"dump-cache <filename> dump cache contents to the named file\n"
"dump-edns[status] <filename> dump EDNS status to the named file\n"
+"dump-nsspeeds <filename> dump nsspeeds statistics to the named file\n"
"get [key1] [key2] .. get specific statistics\n"
"get-all get all statistics\n"
"get-parameter [key1] [key2] .. get configuration parameters\n"
@@ -589,7 +617,6 @@
if(cmd=="get-parameter")
return doGetParameter(begin, end);
-
if(cmd=="quit") {
*command=&doExit;
return "bye\n";
@@ -606,6 +633,9 @@
if(cmd=="dump-ednsstatus" || cmd=="dump-edns")
return doDumpEDNSStatus(begin, end);
+ if(cmd=="dump-nsspeeds")
+ return doDumpNSSpeeds(begin, end);
+
if(cmd=="wipe-cache" || cmd=="flushname")
return doWipeCache(begin, end);
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/pdns/recursor_cache.cc
^
|
@@ -190,6 +190,7 @@
d_cachecachevalid=false;
tuple<string, uint16_t> key=make_tuple(qname, qt.getCode());
cache_t::iterator stored=d_cache.find(key);
+ uint32_t maxTTD=UINT_MAX;
bool isNew=false;
if(stored == d_cache.end()) {
@@ -222,9 +223,18 @@
}
}
+ // limit TTL of auth->auth NSset update if needed, except for root
+ if(ce.d_auth && auth && qt.getCode()==QType::NS && !((qname.length()==1 && qname[0]=='.'))) {
+ // cerr<<"\tLimiting TTL of auth->auth NS set replace"<<endl;
+ vector<StoredRecord>::iterator j;
+ for(j = ce.d_records.begin() ; j != ce.d_records.end(); ++j) {
+ maxTTD=min(maxTTD, j->d_ttd);
+ }
+ }
+
// make sure that we CAN refresh the root
if(auth && ((qname.length()==1 && qname[0]=='.') || !attemptToRefreshNSTTL(qt, content, ce) ) ) {
- // cerr<<"\tGot auth data, and it was not refresh attempt of an NS record, nuking storage"<<endl;
+ // cerr<<"\tGot auth data, and it was not refresh attempt of an unchanged NS set, nuking storage"<<endl;
ce.d_records.clear(); // clear non-auth data
ce.d_auth = true;
isNew=true; // data should be sorted again
@@ -234,8 +244,8 @@
// cerr<<"\tHave "<<content.size()<<" records to store\n";
for(set<DNSResourceRecord>::const_iterator i=content.begin(); i != content.end(); ++i) {
- // cerr<<"To store: "<<i->content<<endl;
- dr.d_ttd=i->ttl;
+ // cerr<<"To store: "<<i->content<<" with ttl/ttd "<<i->ttl<<endl;
+ dr.d_ttd=min(maxTTD, i->ttl);
dr.d_string=DNSRR2String(*i);
if(isNew)
@@ -251,7 +261,7 @@
//~ cerr<<"\t\tNot doing so, trying to raise TTL NS\n";
continue;
}
- if(i->ttl > j->d_ttd || (auth && d_followRFC2181) ) { // authoritative packets can override the TTL to be lower
+ if(i->ttl > j->d_ttd || (auth) ) { // authoritative packets can override the TTL to be lower
//~ cerr<<"\t\tUpdating the ttl, diff="<<j->d_ttd - i->ttl<<endl;;
j->d_ttd=i->ttl;
}
@@ -299,22 +309,34 @@
bool MemRecursorCache::doAgeCache(time_t now, const string& name, uint16_t qtype, int32_t newTTL)
{
cache_t::iterator iter = d_cache.find(tie(name, qtype));
- if(iter == d_cache.end())
+ uint32_t maxTTD=std::numeric_limits<uint32_t>::min();
+ if(iter == d_cache.end()) {
return false;
+ }
+
+ CacheEntry ce = *iter;
+
+ if(ce.d_records.size()==1) {
+ maxTTD=ce.d_records.begin()->d_ttd;
+ }
+ else { // find the LATEST ttd
+ for(vector<StoredRecord>::const_iterator i=ce.d_records.begin(); i != ce.d_records.end(); ++i)
+ maxTTD=max(maxTTD, i->d_ttd);
+ }
- int32_t ttl = iter->getTTD() - now;
- if(ttl < 0)
+ int32_t maxTTL = maxTTD - now;
+
+ if(maxTTL < 0)
return false; // would be dead anyhow
- if(ttl > newTTL) {
+ if(maxTTL > newTTL) {
d_cachecachevalid=false;
- ttl = newTTL;
- uint32_t newTTD = now + ttl;
+ uint32_t newTTD = now + newTTL;
- CacheEntry ce = *iter;
for(vector<StoredRecord>::iterator j = ce.d_records.begin() ; j != ce.d_records.end(); ++j) {
- j->d_ttd = newTTD;
+ if(j->d_ttd>newTTD) // do never renew expired or older TTLs
+ j->d_ttd = newTTD;
}
d_cache.replace(iter, ce);
@@ -323,6 +345,28 @@
return false;
}
+uint64_t MemRecursorCache::doDumpNSSpeeds(int fd)
+{
+ FILE* fp=fdopen(dup(fd), "w");
+ if(!fp)
+ return 0;
+ fprintf(fp, "; nsspeed dump from thread follows\n;\n");
+ uint64_t count=0;
+
+ for(SyncRes::nsspeeds_t::iterator i = t_sstorage->nsSpeeds.begin() ; i!= t_sstorage->nsSpeeds.end(); ++i)
+ {
+ count++;
+ fprintf(fp, "%s|%d -> ", i->first.first.c_str(), i->first.second);
+ for(SyncRes::DecayingEwmaCollection::collection_t::iterator j = i->second.d_collection.begin(); j!= i->second.d_collection.end(); ++j)
+ {
+ // typedef vector<pair<ComboAddress, DecayingEwma> > collection_t;
+ fprintf(fp, "%s/%f ", j->first.toString().c_str(), j->second.peek());
+ }
+ fprintf(fp, "\n");
+ }
+ fclose(fp);
+ return count;
+}
uint64_t MemRecursorCache::doDump(int fd)
{
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/pdns/recursor_cache.hh
^
|
@@ -25,7 +25,7 @@
class MemRecursorCache : public boost::noncopyable // : public RecursorCache
{
public:
- MemRecursorCache() : d_followRFC2181(false), d_cachecachevalid(false)
+ MemRecursorCache() : d_cachecachevalid(false)
{
cacheHits = cacheMisses = 0;
}
@@ -38,10 +38,11 @@
void doPrune(void);
void doSlash(int perc);
uint64_t doDump(int fd);
+ uint64_t doDumpNSSpeeds(int fd);
+
int doWipeCache(const string& name, uint16_t qtype=0xffff);
bool doAgeCache(time_t now, const string& name, uint16_t qtype, int32_t newTTL);
uint64_t cacheHits, cacheMisses;
- bool d_followRFC2181;
private:
struct StoredRecord
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/pdns/serialtweaker.cc
^
|
@@ -33,24 +33,24 @@
SOAData sd;
fillSOAData(rr.content, sd);
if(pdns_iequals(kind,"INCEPTION")) {
- time_t inception = getCurrentInception();
- struct tm tm;
- localtime_r(&inception, &tm);
- boost::format fmt("%04d%02d%02d%02d");
-
- string newserdate=(fmt % (tm.tm_year+1900) % (tm.tm_mon +1 )% tm.tm_mday % 1).str();
+ time_t inception = getCurrentInception();
+ struct tm tm;
+ localtime_r(&inception, &tm);
+ boost::format fmt("%04d%02d%02d%02d");
+
+ string newserdate=(fmt % (tm.tm_year+1900) % (tm.tm_mon +1 )% tm.tm_mday % 1).str();
sd.serial = lexical_cast<uint32_t>(newserdate);
}
else if(pdns_iequals(kind,"INCEPTION-WEEK")) {
- time_t inception = getCurrentInception();
- sd.serial = inception / (7*86400);
+ time_t inception = getCurrentInception();
+ sd.serial = inception / (7*86400);
}
else if(pdns_iequals(kind,"INCREMENT-WEEKS")) {
- time_t inception = getCurrentInception();
- sd.serial += inception / (7*86400);
+ time_t inception = getCurrentInception();
+ sd.serial += inception / (7*86400);
}
else if(pdns_iequals(kind,"EPOCH")) {
- sd.serial = time(0);
+ sd.serial = time(0);
}
else if(pdns_iequals(kind,"INCEPTION-EPOCH")) {
time_t inception = getCurrentInception();
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/pdns/syncres.cc
^
|
@@ -17,6 +17,7 @@
*/
#include <boost/algorithm/string.hpp>
+#include <boost/foreach.hpp>
#include "utility.hh"
#include "syncres.hh"
#include <iostream>
@@ -451,10 +452,9 @@
}
#endif
-/** This function explicitly goes out for A addresses, but if configured to use IPv6 as well, will also return any IPv6 addresses in the cache
- Additionally, it will return the 'best' address up front, and the rest shuffled
+/** This function explicitly goes out for A or AAAA addresses
*/
-vector<ComboAddress> SyncRes::getAs(const string &qname, int depth, set<GetBestNSAnswer>& beenthere)
+vector<ComboAddress> SyncRes::getAddrs(const string &qname, int type, int depth, set<GetBestNSAnswer>& beenthere)
{
typedef vector<DNSResourceRecord> res_t;
res_t res;
@@ -462,19 +462,19 @@
typedef vector<ComboAddress> ret_t;
ret_t ret;
- if(!doResolve(qname, s_doIPv6 ? QType(QType::ADDR) : QType(QType::A), res,depth+1,beenthere) && !res.empty()) { // this consults cache, OR goes out
+ if(!doResolve(qname, QType(type), res,depth+1,beenthere) && !res.empty()) { // this consults cache, OR goes out
for(res_t::const_iterator i=res.begin(); i!= res.end(); ++i) {
if(i->qtype.getCode()==QType::A || i->qtype.getCode()==QType::AAAA) {
- ret.push_back(ComboAddress(i->content, 53));
+ ret.push_back(ComboAddress(i->content, 53));
}
}
}
-
+
if(ret.size() > 1) {
random_shuffle(ret.begin(), ret.end(), dns_random);
// move 'best' address for this nameserver name up front
- nsspeeds_t::iterator best = t_sstorage->nsSpeeds.find(qname);
+ nsspeeds_t::iterator best = t_sstorage->nsSpeeds.find(make_pair(qname, type));
if(best != t_sstorage->nsSpeeds.end())
for(ret_t::iterator i=ret.begin(); i != ret.end(); ++i) {
@@ -730,25 +730,28 @@
struct speedOrder
{
- speedOrder(map<string,double> &speeds) : d_speeds(speeds) {}
- bool operator()(const string &a, const string &b) const
+ speedOrder(map<SyncRes::typedns_t,double> &speeds) : d_speeds(speeds) {}
+ bool operator()(const SyncRes::typedns_t &a, const SyncRes::typedns_t &b) const
{
return d_speeds[a] < d_speeds[b];
}
- map<string,double>& d_speeds;
+ map<SyncRes::typedns_t, double>& d_speeds;
};
-inline vector<string> SyncRes::shuffleInSpeedOrder(set<string, CIStringCompare> &nameservers, const string &prefix)
+inline vector<SyncRes::typedns_t> SyncRes::shuffleInSpeedOrder(set<string, CIStringCompare> &tnameservers, const string &prefix)
{
- vector<string> rnameservers;
- rnameservers.reserve(nameservers.size());
- map<string,double> speeds;
-
- for(set<string, CIStringCompare>::const_iterator i=nameservers.begin();i!=nameservers.end();++i) {
- rnameservers.push_back(*i);
+ vector<typedns_t> rnameservers;
+ rnameservers.reserve(tnameservers.size()*(1+1*s_doIPv6));
+ BOOST_FOREACH(const string& str, tnameservers) {
+ rnameservers.push_back(make_pair(str, QType::A));
+ if(s_doIPv6)
+ rnameservers.push_back(make_pair(str, QType::AAAA));
+ }
+ map<typedns_t, double> speeds;
+ BOOST_FOREACH(const typedns_t& val, rnameservers) {
double speed;
- speed=t_sstorage->nsSpeeds[*i].get(&d_now);
- speeds[*i]=speed;
+ speed=t_sstorage->nsSpeeds[val].get(&d_now);
+ speeds[val]=speed;
}
random_shuffle(rnameservers.begin(),rnameservers.end(), dns_random);
speedOrder so(speeds);
@@ -756,14 +759,14 @@
if(doLog()) {
LOG(prefix<<"Nameservers: ");
- for(vector<string>::const_iterator i=rnameservers.begin();i!=rnameservers.end();++i) {
+ for(vector<typedns_t>::const_iterator i=rnameservers.begin();i!=rnameservers.end();++i) {
if(i!=rnameservers.begin()) {
LOG(", ");
if(!((i-rnameservers.begin())%3)) {
LOG(endl<<prefix<<" ");
}
}
- LOG(*i<<"(" << (int)(speeds[*i]/1000.0) <<"ms)");
+ LOG(i->first<<"|"<<((i->second==QType::A) ? "A" : "AAAA") <<"(" << (boost::format("%0.2f") % (speeds[*i]/1000.0)).str() <<"ms)");
}
LOG(endl);
}
@@ -804,9 +807,9 @@
LOG(prefix<<qname<<": Cache consultations done, have "<<(unsigned int)nameservers.size()<<" NS to contact"<<endl);
for(;;) { // we may get more specific nameservers
- vector<string> rnameservers=shuffleInSpeedOrder(nameservers, doLog() ? (prefix+qname+": ") : string() );
-
- for(vector<string>::const_iterator tns=rnameservers.begin();;++tns) {
+ vector<typedns_t > rnameservers = shuffleInSpeedOrder(nameservers, doLog() ? (prefix+qname+": ") : string() );
+
+ for(vector<typedns_t >::const_iterator tns=rnameservers.begin();;++tns) {
if(tns==rnameservers.end()) {
LOG(prefix<<qname<<": Failed to resolve via any of the "<<(unsigned int)rnameservers.size()<<" offered NS at level '"<<auth<<"'"<<endl);
if(auth!="." && flawedNSSet) {
@@ -816,7 +819,8 @@
}
return -1;
}
- if(pdns_iequals(qname, *tns) && qtype.getCode()==QType::A && rnameservers.size() > 1) {
+ // this line needs to identify the 'self-resolving' behaviour, but we get it wrong now
+ if(pdns_iequals(qname, tns->first) && qtype.getCode()==QType::A && rnameservers.size() > (unsigned)(1+1*s_doIPv6)) {
LOG(prefix<<qname<<": Not using NS to resolve itself!"<<endl);
continue;
}
@@ -829,20 +833,20 @@
bool pierceDontQuery=false;
bool sendRDQuery=false;
LWResult lwr;
- if(tns->empty()) {
+ if(tns->first.empty()) {
LOG(prefix<<qname<<": Domain is out-of-band"<<endl);
doOOBResolve(qname, qtype, lwr.d_result, depth, lwr.d_rcode);
lwr.d_tcbit=false;
lwr.d_aabit=true;
}
else {
- LOG(prefix<<qname<<": Trying to resolve NS '"<<*tns<<"' ("<<1+tns-rnameservers.begin()<<"/"<<(unsigned int)rnameservers.size()<<")"<<endl);
+ LOG(prefix<<qname<<": Trying to resolve NS '"<<tns->first<<"|"<< (tns->second == QType::A ? "A" : "AAAA") << "' ("<<1+tns-rnameservers.begin()<<"/"<<(unsigned int)rnameservers.size()<<")"<<endl);
- if(!isCanonical(*tns)) {
+ if(!isCanonical(tns->first)) {
LOG(prefix<<qname<<": Domain has hardcoded nameserver(s)"<<endl);
- string txtAddr = *tns;
- if(!tns->empty()) {
+ string txtAddr = tns->first;
+ if(!tns->first.empty()) {
sendRDQuery = txtAddr[0] == '+';
txtAddr=txtAddr.c_str()+1;
}
@@ -852,17 +856,18 @@
pierceDontQuery=true;
}
else {
- remoteIPs=getAs(*tns, depth+1, beenthere);
+ remoteIPs=getAddrs(tns->first, tns->second, depth+1, beenthere);
pierceDontQuery=false;
}
if(remoteIPs.empty()) {
- LOG(prefix<<qname<<": Failed to get IP for NS "<<*tns<<", trying next if available"<<endl);
+ LOG(prefix<<qname<<": Failed to get "<< (tns->second == QType::A ? "IP" : "IPv6") << " for NS "<<tns->first<<", trying next if available"<<endl);
flawedNSSet=true;
continue;
}
else {
- LOG(prefix<<qname<<": Resolved '"+auth+"' NS "<<*tns<<" to: ");
+
+ LOG(prefix<<qname<<": Resolved '"+auth+"' NS "<<tns->first<<" to: ");
for(remoteIP = remoteIPs.begin(); remoteIP != remoteIPs.end(); ++remoteIP) {
if(remoteIP != remoteIPs.begin()) {
LOG(", ");
@@ -895,8 +900,7 @@
s_tcpoutqueries++; d_tcpoutqueries++;
}
- resolveret=asyncresolveWrapper(*remoteIP, qname,
- (qtype.getCode() == QType::ADDR ? QType::ANY : qtype.getCode()),
+ resolveret=asyncresolveWrapper(*remoteIP, qname, qtype.getCode(),
doTCP, sendRDQuery, &d_now, &lwr); // <- we go out on the wire!
if(resolveret != 1) {
if(resolveret==0) {
@@ -925,10 +929,16 @@
}
continue;
}
+
+ if(lwr.d_rcode==RCode::ServFail || lwr.d_rcode==RCode::Refused) {
+ LOG(prefix<<qname<<": "<<tns->first<<" returned a "<< (lwr.d_rcode==RCode::ServFail ? "ServFail" : "Refused") << ", trying sibling IP or NS"<<endl);
+ t_sstorage->throttle.throttle(d_now.tv_sec,make_tuple(*remoteIP, qname, qtype.getCode()),60,3); // servfail or refused
+ continue;
+ }
break; // this IP address worked!
wasLame:; // well, it didn't
- LOG(prefix<<qname<<": status=NS "<<*tns<<" ("<< remoteIP->toString() <<") is lame for '"<<auth<<"', trying sibling IP or NS"<<endl);
+ LOG(prefix<<qname<<": status=NS "<<tns->first<<" ("<< remoteIP->toString() <<") is lame for '"<<auth<<"', trying sibling IP or NS"<<endl);
t_sstorage->throttle.throttle(d_now.tv_sec, make_tuple(*remoteIP, qname, qtype.getCode()), 60, 100); // lame
}
}
@@ -946,12 +956,7 @@
return RCode::ServFail;
}
- if(lwr.d_rcode==RCode::ServFail) {
- LOG(prefix<<qname<<": "<<*tns<<" returned a ServFail, trying sibling IP or NS"<<endl);
- t_sstorage->throttle.throttle(d_now.tv_sec,make_tuple(*remoteIP, qname, qtype.getCode()),60,3); // servfail
- continue;
- }
- LOG(prefix<<qname<<": Got "<<(unsigned int)lwr.d_result.size()<<" answers from "<<*tns<<" ("<< remoteIP->toString() <<"), rcode="<<lwr.d_rcode<<", aa="<<lwr.d_aabit<<", in "<<lwr.d_usec/1000<<"ms"<<endl);
+ LOG(prefix<<qname<<": Got "<<(unsigned int)lwr.d_result.size()<<" answers from "<<tns->first<<" ("<< remoteIP->toString() <<"), rcode="<<lwr.d_rcode<<", aa="<<lwr.d_aabit<<", in "<<lwr.d_usec/1000<<"ms"<<endl);
/* // for you IPv6 fanatics :-)
if(remoteIP->sin4.sin_family==AF_INET6)
@@ -1048,10 +1053,10 @@
ret.push_back(*i);
newtarget=i->content;
}
- // for ANY answers we *must* have an authoritive answer
+ // for ANY answers we *must* have an authoritive answer, unless we are forwarding recursively
else if(i->d_place==DNSResourceRecord::ANSWER && pdns_iequals(i->qname, qname) &&
(
- i->qtype==qtype || (lwr.d_aabit && (qtype==QType(QType::ANY) || magicAddrMatch(qtype, i->qtype) ) )
+ i->qtype==qtype || (lwr.d_aabit && (qtype==QType(QType::ANY) || magicAddrMatch(qtype, i->qtype) ) ) || sendRDQuery
)
)
{
@@ -1126,7 +1131,7 @@
nameservers=nsset;
break;
}
- else if(isCanonical(*tns)) {
+ else if(isCanonical(tns->first)) { // means: not OOB (I think)
goto wasLame;
}
}
@@ -1168,7 +1173,8 @@
host=string(k->content.c_str() + fields[3].first, fields[3].second - fields[3].first);
else
continue;
- doResolve(host, s_doAAAAAdditionalProcessing ? QType(QType::ADDR) : QType(QType::A), addit, 1, beenthere);
+ // we used to do additional processing here.. no more
+ // doResolve(host, QType(QType::A), addit, 1, beenthere);
}
if(!addit.empty()) {
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/pdns/syncres.hh
^
|
@@ -134,14 +134,17 @@
if(d_needinit) {
d_last=now;
+ d_lastget=now;
d_needinit=false;
+ d_val = val;
}
+ else {
+ float diff= makeFloat(d_last - now);
- float diff= makeFloat(d_last - now);
-
- d_last=now;
- double factor=exp(diff)/2.0; // might be '0.5', or 0.0001
- d_val=(float)((1-factor)*val+ (float)factor*d_val);
+ d_last=now;
+ double factor=exp(diff)/2.0; // might be '0.5', or 0.0001
+ d_val=(float)((1-factor)*val+ (float)factor*d_val);
+ }
}
double get(struct timeval* tv)
@@ -153,6 +156,11 @@
return d_val*=factor;
}
+ double peek(void)
+ {
+ return d_val;
+ }
+
bool stale(time_t limit) const
{
return limit > d_lastget.tv_sec;
@@ -301,8 +309,8 @@
ComboAddress d_best;
};
- typedef map<string, DecayingEwmaCollection, CIStringCompare> nsspeeds_t;
-
+ typedef pair<string, uint16_t> typedns_t;
+ typedef map<typedns_t, DecayingEwmaCollection, CIStringPairCompare> nsspeeds_t;
struct EDNSStatus
{
@@ -314,8 +322,6 @@
typedef map<ComboAddress, EDNSStatus> ednsstatus_t;
-
-
static bool s_noEDNSPing;
static bool s_noEDNS;
@@ -375,9 +381,9 @@
string getBestNSNamesFromCache(const string &qname,set<string, CIStringCompare>& nsset, bool* flawedNSSet, int depth, set<GetBestNSAnswer>&beenthere);
void addAuthorityRecords(const string& qname, vector<DNSResourceRecord>& ret, int depth);
- inline vector<string> shuffleInSpeedOrder(set<string, CIStringCompare> &nameservers, const string &prefix);
+ inline vector<typedns_t> shuffleInSpeedOrder(set<string, CIStringCompare> &nameservers, const string &prefix);
bool moreSpecificThan(const string& a, const string &b);
- vector<ComboAddress> getAs(const string &qname, int depth, set<GetBestNSAnswer>& beenthere);
+ vector<ComboAddress> getAddrs(const string &qname, int type, int depth, set<GetBestNSAnswer>& beenthere);
private:
ostringstream d_trace;
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/pdns/sysdeps-recursor/SunOS.inc
^
|
@@ -9,6 +9,10 @@
CXXFLAGS+= -D__MAKECONTEXT_V2_SOURCE
+ifeq ($(shell uname -r),5.11)
+ CXXFLAGS+= -DHAVE_STRCASESTR
+endif
+
OPTIONALS:=optional/portsmplexer.o optional/devpollmplexer.o
optional/portsmplexer.o: portsmplexer.cc
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/pdns/tcpreceiver.cc
^
|
@@ -834,11 +834,12 @@
for(vector<string>::const_iterator laddr=locals.begin();laddr!=locals.end();++laddr) {
int s=socket(AF_INET,SOCK_STREAM,0);
- Utility::setCloseOnExec(s);
if(s<0)
throw AhuException("Unable to acquire TCP socket: "+stringerror());
+ Utility::setCloseOnExec(s);
+
ComboAddress local(*laddr, ::arg().asNum("local-port"));
int tmp=1;
@@ -866,11 +867,12 @@
#if !WIN32 && HAVE_IPV6
for(vector<string>::const_iterator laddr=locals6.begin();laddr!=locals6.end();++laddr) {
int s=socket(AF_INET6,SOCK_STREAM,0);
- Utility::setCloseOnExec(s);
if(s<0)
throw AhuException("Unable to acquire TCPv6 socket: "+stringerror());
+ Utility::setCloseOnExec(s);
+
ComboAddress local(*laddr, ::arg().asNum("local-port"));
int tmp=1;
|
[-]
[+]
|
Added |
pdns-3.2.tar.gz/pdns/test-misc_hh.cc
^
|
@@ -0,0 +1,52 @@
+#define BOOST_TEST_DYN_LINK
+#define BOOST_TEST_NO_MAIN
+
+#include <boost/test/unit_test.hpp>
+#include "misc.hh"
+#include <utility>
+
+using std::string;
+
+BOOST_AUTO_TEST_SUITE(misc_hh)
+typedef pair<std::string, uint16_t> typedns_t;
+
+BOOST_AUTO_TEST_CASE(test_CIStringCompare) {
+ set<std::string, CIStringCompare> nsset;
+ nsset.insert("abc");
+ nsset.insert("ns.example.com");
+ nsset.insert("");
+ nsset.insert("def");
+ nsset.insert("aBc");
+ nsset.insert("ns.example.com");
+ BOOST_CHECK_EQUAL(nsset.size(), 4);
+
+ ostringstream s;
+ for(set<std::string, CIStringCompare>::const_iterator i=nsset.begin();i!=nsset.end();++i) {
+ s<<"("<<*i<<")";
+ }
+ BOOST_CHECK_EQUAL(s.str(), "()(abc)(def)(ns.example.com)");
+}
+
+BOOST_AUTO_TEST_CASE(test_CIStringPairCompare) {
+ set<typedns_t, CIStringPairCompare> nsset2;
+ nsset2.insert(make_pair("ns.example.com", 1));
+ nsset2.insert(make_pair("abc", 1));
+ nsset2.insert(make_pair("", 1));
+ nsset2.insert(make_pair("def", 1));
+ nsset2.insert(make_pair("abc", 2));
+ nsset2.insert(make_pair("abc", 1));
+ nsset2.insert(make_pair("ns.example.com", 0));
+ nsset2.insert(make_pair("abc", 2));
+ nsset2.insert(make_pair("ABC", 2));
+
+ BOOST_CHECK_EQUAL(nsset2.size(), 6);
+
+ ostringstream s;
+ for(set<typedns_t, CIStringPairCompare>::const_iterator i=nsset2.begin();i!=nsset2.end();++i) {
+ s<<"("<<i->first<<"|"<<i->second<<")";
+ }
+ BOOST_CHECK_EQUAL(s.str(), "(|1)(abc|1)(abc|2)(def|1)(ns.example.com|0)(ns.example.com|1)");
+}
+
+BOOST_AUTO_TEST_SUITE_END()
+
|
[-]
[+]
|
Added |
pdns-3.2.tar.gz/pdns/testrunner.cc
^
|
@@ -0,0 +1,5 @@
+#define BOOST_TEST_DYN_LINK
+#define BOOST_TEST_MAIN
+#define BOOST_TEST_MODULE unit
+
+#include <boost/test/unit_test.hpp>
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/regression-tests.nobackend/tinydns-data-check/expected_result
^
|
@@ -1,7 +1,7 @@
-d59f36f23f780429676fbab5ac07e0d9 ../regression-tests/example.com
+448d130a2b70e9a518ecaca776bae7aa ../regression-tests/example.com
6820c9759bfd421cfaba66b02fe23005 ../regression-tests/test.com
21213b4e8cd56e4184696a1bafd987d7 ../regression-tests/wtest.com
a0670eef8fba3e16908057af8de2c2f2 ../regression-tests/dnssec-parent.com
42dd3a56c7d268e75836371878819ec4 ../regression-tests/delegated.dnssec-parent.com
24514dc104b22206daeb973ff9303545 ../regression-tests/minimal.com
-9d2c95ebd2382675b6e4457d49ba0134 ../modules/tinydnsbackend/data.cdb
+f091d671856b5a54133b88c37ebc6f1c ../modules/tinydnsbackend/data.cdb
|
[-]
[+]
|
Added |
pdns-3.2.tar.gz/regression-tests.recursor/TODO
^
|
@@ -0,0 +1,8 @@
+Test suggestions:
+- r1619
+- r2625
+- export-etc-hosts and -suffix
+- lua stuff
+- auth-zones
+- delegation-only
+- forward-zones
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/regression-tests.recursor/config.sh
^
|
@@ -72,6 +72,8 @@
ns.marvin.example.net. 3600 IN A $PREFIX.15
trillian.example.net. 3600 IN NS ns.trillian.example.net.
ns.trillian.example.net. 3600 IN A $PREFIX.16
+ghost.example.net. 3600 IN NS ns.ghost.example.net.
+ns.ghost.example.net. 3600 IN A $PREFIX.17
EOF
mkdir $PREFIX.11
@@ -161,6 +163,92 @@
end
EOF
+### parent zone for ghost testing
+mkdir $PREFIX.17
+cat > $PREFIX.17/ghost.example.net.zone <<EOF
+ghost.example.net. 3600 IN SOA $SOA
+ghost.example.net. 3600 IN NS ns.ghost.example.net.
+ns.ghost.example.net. 3600 IN A $PREFIX.17
+1.ghost.example.net. 10 IN NS ns.1.ghost.example.net.
+ns.1.ghost.example.net. 10 IN A $PREFIX.18
+2.ghost.example.net. 10 IN NS ns.2.ghost.example.net.
+ns.2.ghost.example.net. 10 IN A $PREFIX.19
+EOF
+
+cat > $PREFIX.17/prequery.lua <<EOF
+require 'posix'
+
+function prequery ( dnspacket )
+ qname, qtype = dnspacket:getQuestion()
+ if (string.sub(qname, -20) == ".1.ghost.example.net" and posix.stat('drop-1')) or
+ (string.sub(qname, -20) == ".2.ghost.example.net" and posix.stat('drop-2'))
+ then
+ dnspacket:setRcode(pdns.NXDOMAIN)
+ ret = {}
+ ret[1] = {qname="ghost.example.net", qtype=pdns.SOA, content="$SOA", place=2}
+ dnspacket:addRecords(ret)
+ return true
+ end
+ return false
+end
+EOF
+
+### ghost domain with ever-changing NSset
+mkdir $PREFIX.18
+cat > $PREFIX.18/1.ghost.example.net.zone <<EOF
+1.ghost.example.net. 3600 IN SOA $SOA
+1.ghost.example.net. 20 IN NS ns.1.ghost.example.net.
+ns.1.ghost.example.net. 20 IN A $PREFIX.18
+*.www.1.ghost.example.net. 20 IN A 192.0.2.7
+EOF
+
+cat > $PREFIX.18/prequery.lua <<EOF
+i=0
+
+function prequery ( dnspacket )
+ i = i + 1
+ qname, qtype = dnspacket:getQuestion()
+ if qtype == pdns.A and string.sub(qname, -24) == ".www.1.ghost.example.net"
+ then
+ dnspacket:setRcode(pdns.NOERROR)
+ ret = {}
+ -- www.1.ghost.example.net. 20 IN A 192.0.2.7
+ ret[1] = {qname=qname, qtype=pdns.A, content="192.0.2.7", ttl=20, place=1}
+ -- 1.ghost.example.net. 20 IN NS ns.1.ghost.example.net.
+ ret[2] = {qname="1.ghost.example.net", qtype=pdns.NS, content="ns"..i..".1.ghost.example.net", ttl=20, place=2}
+ -- ns.1.ghost.example.net. 20 IN A 10.0.3.18
+ ret[3] = {qname="ns"..i..".1.ghost.example.net", qtype=pdns.A, content="10.0.3.18", ttl=20, place=3}
+ dnspacket:addRecords(ret)
+ return true
+ end
+ return false
+end
+EOF
+
+### ghost domain with static NSset
+mkdir $PREFIX.19
+cat > $PREFIX.19/2.ghost.example.net.zone <<EOF
+2.ghost.example.net. 3600 IN SOA $SOA
+2.ghost.example.net. 20 IN NS ns.2.ghost.example.net.
+ns.2.ghost.example.net. 20 IN A $PREFIX.19
+*.www.2.ghost.example.net. 20 IN A 192.0.2.8
+EOF
+cat > $PREFIX.19/prequery.lua <<EOF
+function prequery ( dnspacket )
+ qname, qtype = dnspacket:getQuestion()
+ if qtype == pdns.A and string.sub(qname, -24) == ".www.2.ghost.example.net"
+ then
+ dnspacket:setRcode(pdns.NOERROR)
+ ret = {}
+ ret[1] = {qname=qname, qtype=pdns.A, content="192.0.2.8", ttl=20, place=1}
+ ret[2] = {qname="2.ghost.example.net", qtype=pdns.NS, content="ns.2.ghost.example.net", ttl=20, place=2}
+ ret[3] = {qname="ns.2.ghost.example.net", qtype=pdns.A, content="10.0.3.19", ttl=20, place=3}
+ dnspacket:addRecords(ret)
+ return true
+ end
+ return false
+end
+EOF
for dir in $PREFIX.*
do
@@ -171,6 +259,11 @@
bind-config=named.conf
no-shuffle
socket-dir=.
+cache-ttl=0
+negquery-cache-ttl=0
+query-cache-ttl=0
+distributor-threads=1
+
EOF
if [ -e $dir/prequery.lua ]
@@ -200,3 +293,6 @@
ln -s ../run-auth $dir/run
done
+cat > recursor-service/recursor.conf << EOF
+socket-dir=$(pwd)/recursor-service
+EOF
\ No newline at end of file
|
[-]
[+]
|
Added |
pdns-3.2.tar.gz/regression-tests.recursor/ghost-1
^
|
+(directory)
|
[-]
[+]
|
Added |
pdns-3.2.tar.gz/regression-tests.recursor/ghost-1/command
^
|
@@ -0,0 +1,13 @@
+#!/bin/sh
+. vars
+rm -f configs/$PREFIX.17/drop-1
+cleandig a.www.1.ghost.example.net a | sed 's/\(.*\tIN\t[A-Z0-9]\+\t\)\([0-9]\+\)/\13600/'
+sleep 8
+touch configs/$PREFIX.17/drop-1
+cleandig b.www.1.ghost.example.net a | sed 's/\(.*\tIN\t[A-Z0-9]\+\t\)\([0-9]\+\)/\13600/'
+sleep 5
+cleandig c.www.1.ghost.example.net a | sed 's/\(.*\tIN\t[A-Z0-9]\+\t\)\([0-9]\+\)/\13600/'
+sleep 5
+cleandig d.www.1.ghost.example.net a | sed 's/\(.*\tIN\t[A-Z0-9]\+\t\)\([0-9]\+\)/\13600/'
+sleep 5
+cleandig e.www.1.ghost.example.net a | sed 's/\(.*\tIN\t[A-Z0-9]\+\t\)\([0-9]\+\)/\13600/'
|
[-]
[+]
|
Added |
pdns-3.2.tar.gz/regression-tests.recursor/ghost-1/description
^
|
@@ -0,0 +1,2 @@
+Extended ghost domain test - delegation is removed and receiver tries very
+hard to stay alive, by changing the NSset on every request.
|
[-]
[+]
|
Added |
pdns-3.2.tar.gz/regression-tests.recursor/ghost-1/expected_result
^
|
@@ -0,0 +1,15 @@
+0 a.www.1.ghost.example.net. IN A 3600 192.0.2.7
+Rcode: 0, RD: 1, QR: 1, TC: 0, AA: 0, opcode: 0
+Reply to question for qname='a.www.1.ghost.example.net.', qtype=A
+0 b.www.1.ghost.example.net. IN A 3600 192.0.2.7
+Rcode: 0, RD: 1, QR: 1, TC: 0, AA: 0, opcode: 0
+Reply to question for qname='b.www.1.ghost.example.net.', qtype=A
+0 c.www.1.ghost.example.net. IN A 3600 192.0.2.7
+Rcode: 0, RD: 1, QR: 1, TC: 0, AA: 0, opcode: 0
+Reply to question for qname='c.www.1.ghost.example.net.', qtype=A
+1 ghost.example.net. IN SOA 3600 ns.example.net. hostmaster.example.net. 1 3600 1800 1209600 300
+Rcode: 3, RD: 1, QR: 1, TC: 0, AA: 0, opcode: 0
+Reply to question for qname='d.www.1.ghost.example.net.', qtype=A
+1 ghost.example.net. IN SOA 3600 ns.example.net. hostmaster.example.net. 1 3600 1800 1209600 300
+Rcode: 3, RD: 1, QR: 1, TC: 0, AA: 0, opcode: 0
+Reply to question for qname='e.www.1.ghost.example.net.', qtype=A
|
[-]
[+]
|
Added |
pdns-3.2.tar.gz/regression-tests.recursor/ghost-2
^
|
+(directory)
|
[-]
[+]
|
Added |
pdns-3.2.tar.gz/regression-tests.recursor/ghost-2/command
^
|
@@ -0,0 +1,13 @@
+#!/bin/sh
+. vars
+rm -f configs/$PREFIX.17/drop-2
+cleandig a.www.2.ghost.example.net a | sed 's/\(.*\tIN\t[A-Z0-9]\+\t\)\([0-9]\+\)/\13600/'
+sleep 8
+touch configs/$PREFIX.17/drop-2
+cleandig b.www.2.ghost.example.net a | sed 's/\(.*\tIN\t[A-Z0-9]\+\t\)\([0-9]\+\)/\13600/'
+sleep 5
+cleandig c.www.2.ghost.example.net a | sed 's/\(.*\tIN\t[A-Z0-9]\+\t\)\([0-9]\+\)/\13600/'
+sleep 5
+cleandig d.www.2.ghost.example.net a | sed 's/\(.*\tIN\t[A-Z0-9]\+\t\)\([0-9]\+\)/\13600/'
+sleep 5
+cleandig e.www.2.ghost.example.net a | sed 's/\(.*\tIN\t[A-Z0-9]\+\t\)\([0-9]\+\)/\13600/'
|
[-]
[+]
|
Added |
pdns-3.2.tar.gz/regression-tests.recursor/ghost-2/description
^
|
@@ -0,0 +1,2 @@
+Simple ghost domain test - delegation is removed and receiver does no tricks
+to prolong existence other than sending AUTHORITY with every response.
|
[-]
[+]
|
Added |
pdns-3.2.tar.gz/regression-tests.recursor/ghost-2/expected_result
^
|
@@ -0,0 +1,15 @@
+0 a.www.2.ghost.example.net. IN A 3600 192.0.2.8
+Rcode: 0, RD: 1, QR: 1, TC: 0, AA: 0, opcode: 0
+Reply to question for qname='a.www.2.ghost.example.net.', qtype=A
+0 b.www.2.ghost.example.net. IN A 3600 192.0.2.8
+Rcode: 0, RD: 1, QR: 1, TC: 0, AA: 0, opcode: 0
+Reply to question for qname='b.www.2.ghost.example.net.', qtype=A
+0 c.www.2.ghost.example.net. IN A 3600 192.0.2.8
+Rcode: 0, RD: 1, QR: 1, TC: 0, AA: 0, opcode: 0
+Reply to question for qname='c.www.2.ghost.example.net.', qtype=A
+1 ghost.example.net. IN SOA 3600 ns.example.net. hostmaster.example.net. 1 3600 1800 1209600 300
+Rcode: 3, RD: 1, QR: 1, TC: 0, AA: 0, opcode: 0
+Reply to question for qname='d.www.2.ghost.example.net.', qtype=A
+1 ghost.example.net. IN SOA 3600 ns.example.net. hostmaster.example.net. 1 3600 1800 1209600 300
+Rcode: 3, RD: 1, QR: 1, TC: 0, AA: 0, opcode: 0
+Reply to question for qname='e.www.2.ghost.example.net.', qtype=A
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/regression-tests.recursor/runtests
^
|
@@ -10,5 +10,8 @@
exit 1
fi
+testsdir=.
+export testsdir
+
nameserver=$PREFIX.9 port=53 ../regression-tests/runtests
-context=recursor ../regression-tests/toxml
\ No newline at end of file
+context=recursor ../regression-tests/toxml
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/regression-tests.recursor/vars.sample
^
|
@@ -1,3 +1,3 @@
PREFIX=10.0.3
AUTHRUN="exec authbind ../../../pdns/pdns_server --config-dir=. > logfile 2>&1"
-RECRUN="exec authbind ../../../pdns/pdns_recursor --config-dir=. --socket-dir=. --daemon=no --trace=yes --dont-query= --local-address=$PREFIX.9 --hint-file=hintfile > logfile 2>&1"
+RECRUN="exec authbind ../../../pdns/pdns_recursor --config-dir=. --socket-dir=. --daemon=no --trace=yes --dont-query= --local-address=$PREFIX.9 --hint-file=hintfile --packetcache-ttl=0 --max-cache-ttl=15 --threads=1 > logfile 2>&1"
|
[-]
[+]
|
Added |
pdns-3.2.tar.gz/regression-tests/escaped-txt
^
|
+(directory)
|
[-]
[+]
|
Added |
pdns-3.2.tar.gz/regression-tests/escaped-txt/command
^
|
@@ -0,0 +1,5 @@
+#!/bin/sh
+cleandig text0.example.com TXT
+cleandig text1.example.com TXT
+cleandig text2.example.com TXT
+cleandig text3.example.com TXT
|
[-]
[+]
|
Added |
pdns-3.2.tar.gz/regression-tests/escaped-txt/description
^
|
@@ -0,0 +1 @@
+4 TXT records with 0 to 3 backslashes before a semicolon.
|
[-]
[+]
|
Added |
pdns-3.2.tar.gz/regression-tests/escaped-txt/expected_result
^
|
@@ -0,0 +1,12 @@
+0 text0.example.com. IN TXT 120 "k=rsa; p=one"
+Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0
+Reply to question for qname='text0.example.com.', qtype=TXT
+0 text1.example.com. IN TXT 120 "k=rsa; p=one"
+Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0
+Reply to question for qname='text1.example.com.', qtype=TXT
+0 text2.example.com. IN TXT 120 "k=rsa\\; p=one"
+Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0
+Reply to question for qname='text2.example.com.', qtype=TXT
+0 text3.example.com. IN TXT 120 "k=rsa\\; p=one"
+Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0
+Reply to question for qname='text3.example.com.', qtype=TXT
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/regression-tests/example.com
^
|
@@ -89,6 +89,11 @@
text IN TXT "Hi, this is some text"
multitext IN TXT "text part one" "text part two" "text part three"
escapedtext IN TXT "begin" "the \"middle\" p\\art" "the end"
+text0 IN TXT "k=rsa; p=one"
+text1 IN TXT "k=rsa\; p=one"
+text2 IN TXT "k=rsa\\; p=one"
+text3 IN TXT "k=rsa\\\; p=one"
+
;
ipv6 IN AAAA 2001:6A8:0:1:210:4BFF:FE4B:4C61
;
|
[-]
[+]
|
Changed |
pdns-3.2.tar.gz/regression-tests/recursor-test
^
|
@@ -4,7 +4,7 @@
limit=$2
[ -z "$limit" ] && limit=100000
-../pdns/pdns_recursor --daemon=no --local-port=$port --socket-dir=./ --trace=no --config-dir=. &
+../pdns/pdns_recursor --daemon=no --local-port=$port --socket-dir=./ --trace=fail --config-dir=. > recursor.log 2>&1 &
sleep 3
../pdns/dnsbulktest -qe 127.0.0.1 $port $limit < top-1m.csv > bulktest.results
kill $(cat pdns_recursor.pid)
|