From 81fa0bc63909a67cdd6d321617a2e5648a6a94a2 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Mon, 4 Sep 2023 11:27:04 +0200 Subject: Adding upstream version 2.2.0. Signed-off-by: Daniel Baumann --- Makefile.in | 50 +- README.md | 2 +- aclocal.m4 | 99 +- ar-lib | 17 +- compile | 6 +- config.guess | 1500 +++++---- config.sub | 2609 ++++++++------- configure | 6634 +++++++++++++++++++++---------------- configure.ac | 2 +- depcomp | 2 +- install-sh | 161 +- ltmain.sh | 4 +- m4/libtool.m4 | 4 +- missing | 2 +- plugins/Makefile.am | 2 +- plugins/Makefile.in | 12 +- plugins/anonaes128/Makefile.am | 3 +- plugins/anonaes128/Makefile.in | 18 +- plugins/anonaes128/anonaes128.c | 75 +- plugins/anonaes128/test1.gold | 246 ++ plugins/anonaes128/test1.sh | 5 + plugins/anonaes128/test2.sh | 8 - plugins/anonaes128/test3.sh | 8 - plugins/anonmask/Makefile.am | 3 +- plugins/anonmask/Makefile.in | 16 +- plugins/anonmask/anonmask.c | 53 +- plugins/anonmask/test1.gold | 246 ++ plugins/anonmask/test1.sh | 5 + plugins/anonmask/test2.sh | 8 - plugins/cryptopan/Makefile.am | 3 +- plugins/cryptopan/Makefile.in | 18 +- plugins/cryptopan/cryptopan.c | 100 +- plugins/cryptopan/test1.gold | 246 ++ plugins/cryptopan/test1.sh | 5 + plugins/cryptopan/test2.sh | 8 - plugins/cryptopan/test3.sh | 8 - plugins/cryptopant/Makefile.am | 3 +- plugins/cryptopant/Makefile.in | 18 +- plugins/cryptopant/cryptopant.c | 57 +- plugins/cryptopant/test1.gold | 246 ++ plugins/cryptopant/test1.sh | 5 + plugins/cryptopant/test2.sh | 8 - plugins/cryptopant/test3.sh | 8 - plugins/eventlog/Makefile.am | 4 +- plugins/eventlog/Makefile.in | 15 +- plugins/ipcrypt/Makefile.am | 3 +- plugins/ipcrypt/Makefile.in | 18 +- plugins/ipcrypt/ipcrypt.c | 66 +- plugins/ipcrypt/test1.gold | 246 ++ plugins/ipcrypt/test1.sh | 5 + plugins/ipcrypt/test2.sh | 8 - plugins/ipcrypt/test3.sh | 8 - plugins/pcapdump/Makefile.am | 4 +- plugins/pcapdump/Makefile.in | 15 +- plugins/royparse/Makefile.am | 4 +- plugins/royparse/Makefile.in | 15 +- plugins/rssm/Makefile.am | 11 +- plugins/rssm/Makefile.in | 51 +- plugins/rssm/README.md | 42 + plugins/rssm/rssm.c | 2 +- plugins/rzkeychange/Makefile.am | 3 +- plugins/rzkeychange/Makefile.in | 13 +- plugins/rzkeychange/rzkeychange.c | 2 +- plugins/shared/edns0_ecs.c | 222 ++ plugins/template/Makefile.am | 3 +- plugins/txtout/Makefile.am | 4 +- plugins/txtout/Makefile.in | 15 +- src/Makefile.am | 3 +- src/Makefile.in | 36 +- src/bpft.c | 16 +- src/config.h.in | 13 +- src/dnscap.h | 10 + src/dnscap_common.h | 8 +- src/dumper.c | 4 +- src/dumper.h | 4 +- src/ext/lookup3.c | 1235 +++++++ src/hashtbl.h | 9 + src/iaddr.c | 13 + src/iaddr.h | 1 + src/network.c | 56 +- src/tcpreasm.c | 2 +- src/tcpstate.c | 84 +- src/tcpstate.h | 1 + src/test/Makefile.am | 46 +- src/test/Makefile.in | 66 +- src/test/dns.gold | 164 +- src/test/dnspad.gold | 4 +- src/test/edns.gold | 123 + src/test/edns.pcap | Bin 0 -> 2791 bytes src/test/test1.sh | 4 +- src/test/test10.gold | 8 +- src/test/test10.sh | 6 +- src/test/test11.sh | 10 +- src/test/test12.sh | 4 +- src/test/test13.sh | 28 +- src/test/test14.gold | 656 ++-- src/test/test14.sh | 18 +- src/test/test2.sh | 6 +- src/test/test3.sh | 6 +- src/test/test4.sh | 6 +- src/test/test5.sh | 18 +- src/test/test6.sh | 6 +- src/test/test7.gold | 574 ++-- src/test/test7.sh | 8 +- src/test/test8.gold | 230 +- src/test/test8.sh | 8 +- src/test/test9.gold | 24 +- src/test/test9.sh | 6 +- src/test/test_edns.sh | 11 + src/test/test_regex_match.gold | 164 +- src/test/test_regex_match.sh | 6 +- src/test/vlan11.gold | 164 +- test-driver | 19 +- 113 files changed, 10800 insertions(+), 6400 deletions(-) mode change 100644 => 100755 ltmain.sh create mode 100644 plugins/rssm/README.md create mode 100644 plugins/shared/edns0_ecs.c create mode 100644 src/ext/lookup3.c create mode 100644 src/test/edns.gold create mode 100644 src/test/edns.pcap create mode 100755 src/test/test_edns.sh diff --git a/Makefile.in b/Makefile.in index 9b4b6d7..de2ccd9 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.1 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2018 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -191,12 +191,9 @@ am__define_uniq_tagged_files = \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -CSCOPE = cscope DIST_SUBDIRS = $(SUBDIRS) -am__DIST_COMMON = $(srcdir)/Makefile.in ar-lib compile config.guess \ - config.sub install-sh ltmain.sh missing +am__DIST_COMMON = $(srcdir)/Makefile.in README.md ar-lib compile \ + config.guess config.sub install-sh ltmain.sh missing DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) @@ -235,6 +232,8 @@ am__relativize = \ DIST_ARCHIVES = $(distdir).tar.gz GZIP_ENV = --best DIST_TARGETS = dist-gzip +# Exists only to be overridden by the user if desired. +AM_DISTCHECK_DVI_TARGET = dvi distuninstallcheck_listfiles = find . -type f -print am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' @@ -252,6 +251,8 @@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ @@ -262,6 +263,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GREP = @GREP@ @@ -548,7 +550,6 @@ cscopelist-am: $(am__tagged_files) distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f cscope.out cscope.in.out cscope.po.out cscope.files - distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am @@ -632,6 +633,10 @@ dist-xz: distdir tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz $(am__post_remove_distdir) +dist-zstd: distdir + tardir=$(distdir) && $(am__tar) | zstd -c $${ZSTD_CLEVEL-$${ZSTD_OPT--19}} >$(distdir).tar.zst + $(am__post_remove_distdir) + dist-tarZ: distdir @echo WARNING: "Support for distribution archives compressed with" \ "legacy program 'compress' is deprecated." >&2 @@ -674,6 +679,8 @@ distcheck: dist eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ + *.tar.zst*) \ + zstd -dc $(distdir).tar.zst | $(am__untar) ;;\ esac chmod -R a-w $(distdir) chmod u+w $(distdir) @@ -689,7 +696,7 @@ distcheck: dist $(DISTCHECK_CONFIGURE_FLAGS) \ --srcdir=../.. --prefix="$$dc_install_base" \ && $(MAKE) $(AM_MAKEFLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) $(AM_DISTCHECK_DVI_TARGET) \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ @@ -859,18 +866,19 @@ uninstall-am: uninstall-dist_docDATA am--refresh check check-am clean clean-cscope clean-generic \ clean-libtool cscope cscopelist-am ctags ctags-am dist \ dist-all dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ \ - dist-xz dist-zip distcheck distclean distclean-generic \ - distclean-libtool distclean-tags distcleancheck distdir \ - distuninstallcheck dvi dvi-am gcov-am gcov-local html html-am \ - info info-am install install-am install-data install-data-am \ - install-dist_docDATA install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs installdirs-am maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ - uninstall-am uninstall-dist_docDATA + dist-xz dist-zip dist-zstd distcheck distclean \ + distclean-generic distclean-libtool distclean-tags \ + distcleancheck distdir distuninstallcheck dvi dvi-am gcov-am \ + gcov-local html html-am info info-am install install-am \ + install-data install-data-am install-dist_docDATA install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + installdirs-am maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am tags tags-am uninstall uninstall-am \ + uninstall-dist_docDATA .PRECIOUS: Makefile diff --git a/README.md b/README.md index 2dd1983..a3585c9 100644 --- a/README.md +++ b/README.md @@ -39,7 +39,7 @@ To install the dependencies under Debian/Ubuntu: apt-get install -y libpcap-dev libldns-dev zlib1g-dev libyaml-perl libssl-dev ``` -To install the dependencies under CentOS (with EPEL enabled): +To install the dependencies under CentOS (with EPEL/PowerTools enabled): ``` yum install -y libpcap-devel ldns-devel openssl-devel zlib-devel perl-YAML ``` diff --git a/aclocal.m4 b/aclocal.m4 index 9859acc..9947f37 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1,6 +1,6 @@ -# generated automatically by aclocal 1.16.1 -*- Autoconf -*- +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- -# Copyright (C) 1996-2018 Free Software Foundation, Inc. +# Copyright (C) 1996-2021 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -14,15 +14,15 @@ m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],, -[m4_warning([this file was generated for autoconf 2.69. +m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.71],, +[m4_warning([this file was generated for autoconf 2.71. You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically 'autoreconf'.])]) -dnl pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- -dnl serial 11 (pkg-config-0.29.1) -dnl +# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- +# serial 12 (pkg-config-0.29.2) + dnl Copyright © 2004 Scott James Remnant . dnl Copyright © 2012-2015 Dan Nicholson dnl @@ -63,7 +63,7 @@ dnl dnl See the "Since" comment for each macro you use to see what version dnl of the macros you require. m4_defun([PKG_PREREQ], -[m4_define([PKG_MACROS_VERSION], [0.29.1]) +[m4_define([PKG_MACROS_VERSION], [0.29.2]) m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1, [m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])]) ])dnl PKG_PREREQ @@ -164,7 +164,7 @@ AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl pkg_failed=no -AC_MSG_CHECKING([for $1]) +AC_MSG_CHECKING([for $2]) _PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) _PKG_CONFIG([$1][_LIBS], [libs], [$2]) @@ -174,11 +174,11 @@ and $1[]_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.]) if test $pkg_failed = yes; then - AC_MSG_RESULT([no]) + AC_MSG_RESULT([no]) _PKG_SHORT_ERRORS_SUPPORTED if test $_pkg_short_errors_supported = yes; then $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1` - else + else $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1` fi # Put the nasty error message in config.log where it belongs @@ -195,7 +195,7 @@ installed software in a non-standard prefix. _PKG_TEXT])[]dnl ]) elif test $pkg_failed = untried; then - AC_MSG_RESULT([no]) + AC_MSG_RESULT([no]) m4_default([$4], [AC_MSG_FAILURE( [The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full @@ -296,7 +296,7 @@ AS_VAR_COPY([$1], [pkg_cv_][$1]) AS_VAR_IF([$1], [""], [$5], [$4])dnl ])dnl PKG_CHECK_VAR -# Copyright (C) 2002-2018 Free Software Foundation, Inc. +# Copyright (C) 2002-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -311,7 +311,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.16' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.16.1], [], +m4_if([$1], [1.16.5], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) @@ -327,12 +327,12 @@ m4_define([_AM_AUTOCONF_VERSION], []) # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.16.1])dnl +[AM_AUTOMAKE_VERSION([1.16.5])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) -# Copyright (C) 2011-2018 Free Software Foundation, Inc. +# Copyright (C) 2011-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -394,7 +394,7 @@ AC_SUBST([AR])dnl # AM_AUX_DIR_EXPAND -*- Autoconf -*- -# Copyright (C) 2001-2018 Free Software Foundation, Inc. +# Copyright (C) 2001-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -446,7 +446,7 @@ am_aux_dir=`cd "$ac_aux_dir" && pwd` # AM_CONDITIONAL -*- Autoconf -*- -# Copyright (C) 1997-2018 Free Software Foundation, Inc. +# Copyright (C) 1997-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -477,7 +477,7 @@ AC_CONFIG_COMMANDS_PRE( Usually this means the macro was only invoked conditionally.]]) fi])]) -# Copyright (C) 1999-2018 Free Software Foundation, Inc. +# Copyright (C) 1999-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -668,7 +668,7 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl # Generate code to set up dependency tracking. -*- Autoconf -*- -# Copyright (C) 1999-2018 Free Software Foundation, Inc. +# Copyright (C) 1999-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -707,7 +707,9 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], done if test $am_rc -ne 0; then AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments - for automatic dependency tracking. Try re-running configure with the + for automatic dependency tracking. If GNU make was not used, consider + re-running the configure script with MAKE="gmake" (or whatever is + necessary). You can also try re-running configure with the '--disable-dependency-tracking' option to at least be able to build the package (albeit without support for automatic dependency tracking).]) fi @@ -734,7 +736,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], # AM_EXTRA_RECURSIVE_TARGETS -*- Autoconf -*- -# Copyright (C) 2012-2018 Free Software Foundation, Inc. +# Copyright (C) 2012-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -751,7 +753,7 @@ AC_DEFUN([AM_EXTRA_RECURSIVE_TARGETS], []) # Do all the work for Automake. -*- Autoconf -*- -# Copyright (C) 1996-2018 Free Software Foundation, Inc. +# Copyright (C) 1996-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -779,6 +781,10 @@ m4_defn([AC_PROG_CC]) # release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.65])dnl +m4_ifdef([_$0_ALREADY_INIT], + [m4_fatal([$0 expanded multiple times +]m4_defn([_$0_ALREADY_INIT]))], + [m4_define([_$0_ALREADY_INIT], m4_expansion_stack)])dnl dnl Autoconf wants to disallow AM_ names. We explicitly allow dnl the ones we care about. m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl @@ -815,7 +821,7 @@ m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl [_AM_SET_OPTIONS([$1])dnl dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. m4_if( - m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), + m4_ifset([AC_PACKAGE_NAME], [ok]):m4_ifset([AC_PACKAGE_VERSION], [ok]), [ok:ok],, [m4_fatal([AC_INIT should be called with package and version arguments])])dnl AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl @@ -867,6 +873,20 @@ AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], [m4_define([AC_PROG_OBJCXX], m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl ]) +# Variables for tags utilities; see am/tags.am +if test -z "$CTAGS"; then + CTAGS=ctags +fi +AC_SUBST([CTAGS]) +if test -z "$ETAGS"; then + ETAGS=etags +fi +AC_SUBST([ETAGS]) +if test -z "$CSCOPE"; then + CSCOPE=cscope +fi +AC_SUBST([CSCOPE]) + AC_REQUIRE([AM_SILENT_RULES])dnl dnl The testsuite driver may need to know about EXEEXT, so add the dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This @@ -948,7 +968,7 @@ for _am_header in $config_headers :; do done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) -# Copyright (C) 2001-2018 Free Software Foundation, Inc. +# Copyright (C) 2001-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -969,7 +989,7 @@ if test x"${install_sh+set}" != xset; then fi AC_SUBST([install_sh])]) -# Copyright (C) 2003-2018 Free Software Foundation, Inc. +# Copyright (C) 2003-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -990,7 +1010,7 @@ AC_SUBST([am__leading_dot])]) # Check to see how 'make' treats includes. -*- Autoconf -*- -# Copyright (C) 2001-2018 Free Software Foundation, Inc. +# Copyright (C) 2001-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1033,7 +1053,7 @@ AC_SUBST([am__quote])]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- -# Copyright (C) 1997-2018 Free Software Foundation, Inc. +# Copyright (C) 1997-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1054,12 +1074,7 @@ AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([missing])dnl if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac + MISSING="\${SHELL} '$am_aux_dir/missing'" fi # Use eval to expand $SHELL if eval "$MISSING --is-lightweight"; then @@ -1072,7 +1087,7 @@ fi # Helper functions for option handling. -*- Autoconf -*- -# Copyright (C) 2001-2018 Free Software Foundation, Inc. +# Copyright (C) 2001-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1101,7 +1116,7 @@ AC_DEFUN([_AM_SET_OPTIONS], AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) -# Copyright (C) 1999-2018 Free Software Foundation, Inc. +# Copyright (C) 1999-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1148,7 +1163,7 @@ AC_LANG_POP([C])]) # For backward compatibility. AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) -# Copyright (C) 2001-2018 Free Software Foundation, Inc. +# Copyright (C) 2001-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1167,7 +1182,7 @@ AC_DEFUN([AM_RUN_LOG], # Check to make sure that the build environment is sane. -*- Autoconf -*- -# Copyright (C) 1996-2018 Free Software Foundation, Inc. +# Copyright (C) 1996-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1248,7 +1263,7 @@ AC_CONFIG_COMMANDS_PRE( rm -f conftest.file ]) -# Copyright (C) 2009-2018 Free Software Foundation, Inc. +# Copyright (C) 2009-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1308,7 +1323,7 @@ AC_SUBST([AM_BACKSLASH])dnl _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl ]) -# Copyright (C) 2001-2018 Free Software Foundation, Inc. +# Copyright (C) 2001-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1336,7 +1351,7 @@ fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) -# Copyright (C) 2006-2018 Free Software Foundation, Inc. +# Copyright (C) 2006-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1355,7 +1370,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) # Check how to create a tarball. -*- Autoconf -*- -# Copyright (C) 2004-2018 Free Software Foundation, Inc. +# Copyright (C) 2004-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff --git a/ar-lib b/ar-lib index 0baa4f6..c349042 100755 --- a/ar-lib +++ b/ar-lib @@ -2,9 +2,9 @@ # Wrapper for Microsoft lib.exe me=ar-lib -scriptversion=2012-03-01.08; # UTC +scriptversion=2019-07-04.01; # UTC -# Copyright (C) 2010-2018 Free Software Foundation, Inc. +# Copyright (C) 2010-2021 Free Software Foundation, Inc. # Written by Peter Rosin . # # This program is free software; you can redistribute it and/or modify @@ -53,7 +53,7 @@ func_file_conv () MINGW*) file_conv=mingw ;; - CYGWIN*) + CYGWIN* | MSYS*) file_conv=cygwin ;; *) @@ -65,7 +65,7 @@ func_file_conv () mingw) file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` ;; - cygwin) + cygwin | msys) file=`cygpath -m "$file" || echo "$file"` ;; wine) @@ -224,10 +224,11 @@ elif test -n "$extract"; then esac done else - $AR -NOLOGO -LIST "$archive" | sed -e 's/\\/\\\\/g' | while read member - do - $AR -NOLOGO -EXTRACT:"$member" "$archive" || exit $? - done + $AR -NOLOGO -LIST "$archive" | tr -d '\r' | sed -e 's/\\/\\\\/g' \ + | while read member + do + $AR -NOLOGO -EXTRACT:"$member" "$archive" || exit $? + done fi elif test -n "$quick$replace"; then diff --git a/compile b/compile index 99e5052..df363c8 100755 --- a/compile +++ b/compile @@ -3,7 +3,7 @@ scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1999-2018 Free Software Foundation, Inc. +# Copyright (C) 1999-2021 Free Software Foundation, Inc. # Written by Tom Tromey . # # This program is free software; you can redistribute it and/or modify @@ -53,7 +53,7 @@ func_file_conv () MINGW*) file_conv=mingw ;; - CYGWIN*) + CYGWIN* | MSYS*) file_conv=cygwin ;; *) @@ -67,7 +67,7 @@ func_file_conv () mingw/*) file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` ;; - cygwin/*) + cygwin/* | msys/*) file=`cygpath -m "$file" || echo "$file"` ;; wine/*) diff --git a/config.guess b/config.guess index f50dcdb..7f76b62 100755 --- a/config.guess +++ b/config.guess @@ -1,12 +1,14 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright 1992-2018 Free Software Foundation, Inc. +# Copyright 1992-2022 Free Software Foundation, Inc. -timestamp='2018-02-24' +# shellcheck disable=SC2006,SC2268 # see below for rationale + +timestamp='2022-01-09' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or +# the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but @@ -27,11 +29,19 @@ timestamp='2018-02-24' # Originally written by Per Bothner; maintained since 2000 by Ben Elliston. # # You can get the latest version of this script from: -# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess +# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess # # Please send patches to . +# The "shellcheck disable" line above the timestamp inhibits complaints +# about features and limitations of the classic Bourne shell that were +# superseded or lifted in POSIX. However, this script identifies a wide +# variety of pre-POSIX systems that do not have POSIX shells at all, and +# even some reasonably current systems (Solaris 10 as case-in-point) still +# have a pre-POSIX /bin/sh. + + me=`echo "$0" | sed -e 's,.*/,,'` usage="\ @@ -50,7 +60,7 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright 1992-2018 Free Software Foundation, Inc. +Copyright 1992-2022 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -84,7 +94,8 @@ if test $# != 0; then exit 1 fi -trap 'exit 1' 1 2 15 +# Just in case it came from the environment. +GUESS= # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires @@ -96,73 +107,90 @@ trap 'exit 1' 1 2 15 # Portable tmp directory creation inspired by the Autoconf team. -set_cc_for_build=' -trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; -trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; -: ${TMPDIR=/tmp} ; - { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || - { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || - { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || - { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; -dummy=$tmp/dummy ; -tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; -case $CC_FOR_BUILD,$HOST_CC,$CC in - ,,) echo "int x;" > "$dummy.c" ; - for c in cc gcc c89 c99 ; do - if ($c -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then - CC_FOR_BUILD="$c"; break ; - fi ; - done ; - if test x"$CC_FOR_BUILD" = x ; then - CC_FOR_BUILD=no_compiler_found ; - fi - ;; - ,,*) CC_FOR_BUILD=$CC ;; - ,*,*) CC_FOR_BUILD=$HOST_CC ;; -esac ; set_cc_for_build= ;' +tmp= +# shellcheck disable=SC2172 +trap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15 + +set_cc_for_build() { + # prevent multiple calls if $tmp is already set + test "$tmp" && return 0 + : "${TMPDIR=/tmp}" + # shellcheck disable=SC2039,SC3028 + { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } + dummy=$tmp/dummy + case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in + ,,) echo "int x;" > "$dummy.c" + for driver in cc gcc c89 c99 ; do + if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then + CC_FOR_BUILD=$driver + break + fi + done + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; + esac +} # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) -if (test -f /.attbin/uname) >/dev/null 2>&1 ; then +if test -f /.attbin/uname ; then PATH=$PATH:/.attbin ; export PATH fi UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown -UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown +UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown -case "$UNAME_SYSTEM" in +case $UNAME_SYSTEM in Linux|GNU|GNU/*) - # If the system lacks a compiler, then just pick glibc. - # We could probably try harder. - LIBC=gnu + LIBC=unknown - eval "$set_cc_for_build" + set_cc_for_build cat <<-EOF > "$dummy.c" #include #if defined(__UCLIBC__) LIBC=uclibc #elif defined(__dietlibc__) LIBC=dietlibc - #else + #elif defined(__GLIBC__) LIBC=gnu + #else + #include + /* First heuristic to detect musl libc. */ + #ifdef __DEFINED_va_list + LIBC=musl + #endif #endif EOF - eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`" + cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` + eval "$cc_set_libc" - # If ldd exists, use it to detect musl libc. - if command -v ldd >/dev/null && \ - ldd --version 2>&1 | grep -q ^musl - then - LIBC=musl + # Second heuristic to detect musl libc. + if [ "$LIBC" = unknown ] && + command -v ldd >/dev/null && + ldd --version 2>&1 | grep -q ^musl; then + LIBC=musl + fi + + # If the system lacks a compiler, then just pick glibc. + # We could probably try harder. + if [ "$LIBC" = unknown ]; then + LIBC=gnu fi ;; esac # Note: order is significant - the case branches are not exclusive. -case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in +case $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, @@ -174,12 +202,12 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in # # Note: NetBSD doesn't particularly care about the vendor # portion of the name. We always set it to "unknown". - sysctl="sysctl -n hw.machine_arch" UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ - "/sbin/$sysctl" 2>/dev/null || \ - "/usr/sbin/$sysctl" 2>/dev/null || \ + /sbin/sysctl -n hw.machine_arch 2>/dev/null || \ + /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \ echo unknown)` - case "$UNAME_MACHINE_ARCH" in + case $UNAME_MACHINE_ARCH in + aarch64eb) machine=aarch64_be-unknown ;; armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; @@ -188,18 +216,18 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in earmv*) arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'` endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'` - machine="${arch}${endian}"-unknown + machine=${arch}${endian}-unknown ;; - *) machine="$UNAME_MACHINE_ARCH"-unknown ;; + *) machine=$UNAME_MACHINE_ARCH-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently (or will in the future) and ABI. - case "$UNAME_MACHINE_ARCH" in + case $UNAME_MACHINE_ARCH in earm*) os=netbsdelf ;; arm*|i386|m68k|ns32k|sh3*|sparc|vax) - eval "$set_cc_for_build" + set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ELF__ then @@ -215,7 +243,7 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in ;; esac # Determine ABI tags. - case "$UNAME_MACHINE_ARCH" in + case $UNAME_MACHINE_ARCH in earm*) expr='s/^earmv[0-9]/-eabi/;s/eb$//' abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"` @@ -226,7 +254,7 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in # thus, need a distinct triplet. However, they do not need # kernel version information, so it can be replaced with a # suitable tag, in the style of linux-gnu. - case "$UNAME_VERSION" in + case $UNAME_VERSION in Debian*) release='-gnu' ;; @@ -237,45 +265,57 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "$machine-${os}${release}${abi}" - exit ;; + GUESS=$machine-${os}${release}${abi-} + ;; *:Bitrig:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` - echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE_ARCH-unknown-bitrig$UNAME_RELEASE + ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` - echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE_ARCH-unknown-openbsd$UNAME_RELEASE + ;; + *:SecBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/SecBSD.//'` + GUESS=$UNAME_MACHINE_ARCH-unknown-secbsd$UNAME_RELEASE + ;; *:LibertyBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` - echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE_ARCH-unknown-libertybsd$UNAME_RELEASE + ;; *:MidnightBSD:*:*) - echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE-unknown-midnightbsd$UNAME_RELEASE + ;; *:ekkoBSD:*:*) - echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE-unknown-ekkobsd$UNAME_RELEASE + ;; *:SolidBSD:*:*) - echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE-unknown-solidbsd$UNAME_RELEASE + ;; + *:OS108:*:*) + GUESS=$UNAME_MACHINE-unknown-os108_$UNAME_RELEASE + ;; macppc:MirBSD:*:*) - echo powerpc-unknown-mirbsd"$UNAME_RELEASE" - exit ;; + GUESS=powerpc-unknown-mirbsd$UNAME_RELEASE + ;; *:MirBSD:*:*) - echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE-unknown-mirbsd$UNAME_RELEASE + ;; *:Sortix:*:*) - echo "$UNAME_MACHINE"-unknown-sortix - exit ;; + GUESS=$UNAME_MACHINE-unknown-sortix + ;; + *:Twizzler:*:*) + GUESS=$UNAME_MACHINE-unknown-twizzler + ;; *:Redox:*:*) - echo "$UNAME_MACHINE"-unknown-redox - exit ;; + GUESS=$UNAME_MACHINE-unknown-redox + ;; mips:OSF1:*.*) - echo mips-dec-osf1 - exit ;; + GUESS=mips-dec-osf1 + ;; alpha:OSF1:*:*) + # Reset EXIT trap before exiting to avoid spurious non-zero exit code. + trap '' 0 case $UNAME_RELEASE in *4.0) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` @@ -289,7 +329,7 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in # covers most systems running today. This code pipes the CPU # types through head -n 1, so we only detect the type of CPU 0. ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` - case "$ALPHA_CPU_TYPE" in + case $ALPHA_CPU_TYPE in "EV4 (21064)") UNAME_MACHINE=alpha ;; "EV4.5 (21064)") @@ -326,117 +366,121 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. - echo "$UNAME_MACHINE"-dec-osf"`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`" - # Reset EXIT trap before exiting to avoid spurious non-zero exit code. - exitcode=$? - trap '' 0 - exit $exitcode ;; + OSF_REL=`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` + GUESS=$UNAME_MACHINE-dec-osf$OSF_REL + ;; Amiga*:UNIX_System_V:4.0:*) - echo m68k-unknown-sysv4 - exit ;; + GUESS=m68k-unknown-sysv4 + ;; *:[Aa]miga[Oo][Ss]:*:*) - echo "$UNAME_MACHINE"-unknown-amigaos - exit ;; + GUESS=$UNAME_MACHINE-unknown-amigaos + ;; *:[Mm]orph[Oo][Ss]:*:*) - echo "$UNAME_MACHINE"-unknown-morphos - exit ;; + GUESS=$UNAME_MACHINE-unknown-morphos + ;; *:OS/390:*:*) - echo i370-ibm-openedition - exit ;; + GUESS=i370-ibm-openedition + ;; *:z/VM:*:*) - echo s390-ibm-zvmoe - exit ;; + GUESS=s390-ibm-zvmoe + ;; *:OS400:*:*) - echo powerpc-ibm-os400 - exit ;; + GUESS=powerpc-ibm-os400 + ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix"$UNAME_RELEASE" - exit ;; + GUESS=arm-acorn-riscix$UNAME_RELEASE + ;; arm*:riscos:*:*|arm*:RISCOS:*:*) - echo arm-unknown-riscos - exit ;; + GUESS=arm-unknown-riscos + ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) - echo hppa1.1-hitachi-hiuxmpp - exit ;; + GUESS=hppa1.1-hitachi-hiuxmpp + ;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. - if test "`(/bin/universe) 2>/dev/null`" = att ; then - echo pyramid-pyramid-sysv3 - else - echo pyramid-pyramid-bsd - fi - exit ;; + case `(/bin/universe) 2>/dev/null` in + att) GUESS=pyramid-pyramid-sysv3 ;; + *) GUESS=pyramid-pyramid-bsd ;; + esac + ;; NILE*:*:*:dcosx) - echo pyramid-pyramid-svr4 - exit ;; + GUESS=pyramid-pyramid-svr4 + ;; DRS?6000:unix:4.0:6*) - echo sparc-icl-nx6 - exit ;; + GUESS=sparc-icl-nx6 + ;; DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) case `/usr/bin/uname -p` in - sparc) echo sparc-icl-nx7; exit ;; - esac ;; + sparc) GUESS=sparc-icl-nx7 ;; + esac + ;; s390x:SunOS:*:*) - echo "$UNAME_MACHINE"-ibm-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`" - exit ;; + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=$UNAME_MACHINE-ibm-solaris2$SUN_REL + ;; sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" - exit ;; + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=sparc-hal-solaris2$SUN_REL + ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`" - exit ;; + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=sparc-sun-solaris2$SUN_REL + ;; i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) - echo i386-pc-auroraux"$UNAME_RELEASE" - exit ;; + GUESS=i386-pc-auroraux$UNAME_RELEASE + ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) - eval "$set_cc_for_build" + set_cc_for_build SUN_ARCH=i386 # If there is a compiler, see if it is configured for 64-bit objects. # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. # This test works for both compilers. - if [ "$CC_FOR_BUILD" != no_compiler_found ]; then + if test "$CC_FOR_BUILD" != no_compiler_found; then if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + (CCOPTS="" $CC_FOR_BUILD -m64 -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then SUN_ARCH=x86_64 fi fi - echo "$SUN_ARCH"-pc-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" - exit ;; + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=$SUN_ARCH-pc-solaris2$SUN_REL + ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. - echo sparc-sun-solaris3"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" - exit ;; + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=sparc-sun-solaris3$SUN_REL + ;; sun4*:SunOS:*:*) - case "`/usr/bin/arch -k`" in + case `/usr/bin/arch -k` in Series*|S4*) UNAME_RELEASE=`uname -v` ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. - echo sparc-sun-sunos"`echo "$UNAME_RELEASE"|sed -e 's/-/_/'`" - exit ;; + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'` + GUESS=sparc-sun-sunos$SUN_REL + ;; sun3*:SunOS:*:*) - echo m68k-sun-sunos"$UNAME_RELEASE" - exit ;; + GUESS=m68k-sun-sunos$UNAME_RELEASE + ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 - case "`/bin/arch`" in + case `/bin/arch` in sun3) - echo m68k-sun-sunos"$UNAME_RELEASE" + GUESS=m68k-sun-sunos$UNAME_RELEASE ;; sun4) - echo sparc-sun-sunos"$UNAME_RELEASE" + GUESS=sparc-sun-sunos$UNAME_RELEASE ;; esac - exit ;; + ;; aushp:SunOS:*:*) - echo sparc-auspex-sunos"$UNAME_RELEASE" - exit ;; + GUESS=sparc-auspex-sunos$UNAME_RELEASE + ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor @@ -446,43 +490,43 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint"$UNAME_RELEASE" - exit ;; + GUESS=m68k-atari-mint$UNAME_RELEASE + ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint"$UNAME_RELEASE" - exit ;; + GUESS=m68k-atari-mint$UNAME_RELEASE + ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint"$UNAME_RELEASE" - exit ;; + GUESS=m68k-atari-mint$UNAME_RELEASE + ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint"$UNAME_RELEASE" - exit ;; + GUESS=m68k-milan-mint$UNAME_RELEASE + ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint"$UNAME_RELEASE" - exit ;; + GUESS=m68k-hades-mint$UNAME_RELEASE + ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint"$UNAME_RELEASE" - exit ;; + GUESS=m68k-unknown-mint$UNAME_RELEASE + ;; m68k:machten:*:*) - echo m68k-apple-machten"$UNAME_RELEASE" - exit ;; + GUESS=m68k-apple-machten$UNAME_RELEASE + ;; powerpc:machten:*:*) - echo powerpc-apple-machten"$UNAME_RELEASE" - exit ;; + GUESS=powerpc-apple-machten$UNAME_RELEASE + ;; RISC*:Mach:*:*) - echo mips-dec-mach_bsd4.3 - exit ;; + GUESS=mips-dec-mach_bsd4.3 + ;; RISC*:ULTRIX:*:*) - echo mips-dec-ultrix"$UNAME_RELEASE" - exit ;; + GUESS=mips-dec-ultrix$UNAME_RELEASE + ;; VAX*:ULTRIX*:*:*) - echo vax-dec-ultrix"$UNAME_RELEASE" - exit ;; + GUESS=vax-dec-ultrix$UNAME_RELEASE + ;; 2020:CLIX:*:* | 2430:CLIX:*:*) - echo clipper-intergraph-clix"$UNAME_RELEASE" - exit ;; + GUESS=clipper-intergraph-clix$UNAME_RELEASE + ;; mips:*:*:UMIPS | mips:*:*:RISCos) - eval "$set_cc_for_build" + set_cc_for_build sed 's/^ //' << EOF > "$dummy.c" #ifdef __cplusplus #include /* for printf() prototype */ @@ -508,78 +552,79 @@ EOF dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` && SYSTEM_NAME=`"$dummy" "$dummyarg"` && { echo "$SYSTEM_NAME"; exit; } - echo mips-mips-riscos"$UNAME_RELEASE" - exit ;; + GUESS=mips-mips-riscos$UNAME_RELEASE + ;; Motorola:PowerMAX_OS:*:*) - echo powerpc-motorola-powermax - exit ;; + GUESS=powerpc-motorola-powermax + ;; Motorola:*:4.3:PL8-*) - echo powerpc-harris-powermax - exit ;; + GUESS=powerpc-harris-powermax + ;; Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) - echo powerpc-harris-powermax - exit ;; + GUESS=powerpc-harris-powermax + ;; Night_Hawk:Power_UNIX:*:*) - echo powerpc-harris-powerunix - exit ;; + GUESS=powerpc-harris-powerunix + ;; m88k:CX/UX:7*:*) - echo m88k-harris-cxux7 - exit ;; + GUESS=m88k-harris-cxux7 + ;; m88k:*:4*:R4*) - echo m88k-motorola-sysv4 - exit ;; + GUESS=m88k-motorola-sysv4 + ;; m88k:*:3*:R3*) - echo m88k-motorola-sysv3 - exit ;; + GUESS=m88k-motorola-sysv3 + ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` - if [ "$UNAME_PROCESSOR" = mc88100 ] || [ "$UNAME_PROCESSOR" = mc88110 ] + if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110 then - if [ "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx ] || \ - [ "$TARGET_BINARY_INTERFACE"x = x ] + if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \ + test "$TARGET_BINARY_INTERFACE"x = x then - echo m88k-dg-dgux"$UNAME_RELEASE" + GUESS=m88k-dg-dgux$UNAME_RELEASE else - echo m88k-dg-dguxbcs"$UNAME_RELEASE" + GUESS=m88k-dg-dguxbcs$UNAME_RELEASE fi else - echo i586-dg-dgux"$UNAME_RELEASE" + GUESS=i586-dg-dgux$UNAME_RELEASE fi - exit ;; + ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) - echo m88k-dolphin-sysv3 - exit ;; + GUESS=m88k-dolphin-sysv3 + ;; M88*:*:R3*:*) # Delta 88k system running SVR3 - echo m88k-motorola-sysv3 - exit ;; + GUESS=m88k-motorola-sysv3 + ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) - echo m88k-tektronix-sysv3 - exit ;; + GUESS=m88k-tektronix-sysv3 + ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) - echo m68k-tektronix-bsd - exit ;; + GUESS=m68k-tektronix-bsd + ;; *:IRIX*:*:*) - echo mips-sgi-irix"`echo "$UNAME_RELEASE"|sed -e 's/-/_/g'`" - exit ;; + IRIX_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/g'` + GUESS=mips-sgi-irix$IRIX_REL + ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. - echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id - exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + GUESS=romp-ibm-aix # uname -m gives an 8 hex-code CPU id + ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) - echo i386-ibm-aix - exit ;; + GUESS=i386-ibm-aix + ;; ia64:AIX:*:*) - if [ -x /usr/bin/oslevel ] ; then + if test -x /usr/bin/oslevel ; then IBM_REV=`/usr/bin/oslevel` else - IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" + IBM_REV=$UNAME_VERSION.$UNAME_RELEASE fi - echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV" - exit ;; + GUESS=$UNAME_MACHINE-ibm-aix$IBM_REV + ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then - eval "$set_cc_for_build" + set_cc_for_build sed 's/^ //' << EOF > "$dummy.c" #include @@ -593,16 +638,16 @@ EOF EOF if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` then - echo "$SYSTEM_NAME" + GUESS=$SYSTEM_NAME else - echo rs6000-ibm-aix3.2.5 + GUESS=rs6000-ibm-aix3.2.5 fi elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then - echo rs6000-ibm-aix3.2.4 + GUESS=rs6000-ibm-aix3.2.4 else - echo rs6000-ibm-aix3.2 + GUESS=rs6000-ibm-aix3.2 fi - exit ;; + ;; *:AIX:*:[4567]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then @@ -610,57 +655,57 @@ EOF else IBM_ARCH=powerpc fi - if [ -x /usr/bin/lslpp ] ; then - IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | + if test -x /usr/bin/lslpp ; then + IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | \ awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` else - IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" + IBM_REV=$UNAME_VERSION.$UNAME_RELEASE fi - echo "$IBM_ARCH"-ibm-aix"$IBM_REV" - exit ;; + GUESS=$IBM_ARCH-ibm-aix$IBM_REV + ;; *:AIX:*:*) - echo rs6000-ibm-aix - exit ;; + GUESS=rs6000-ibm-aix + ;; ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) - echo romp-ibm-bsd4.4 - exit ;; + GUESS=romp-ibm-bsd4.4 + ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and - echo romp-ibm-bsd"$UNAME_RELEASE" # 4.3 with uname added to - exit ;; # report: romp-ibm BSD 4.3 + GUESS=romp-ibm-bsd$UNAME_RELEASE # 4.3 with uname added to + ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) - echo rs6000-bull-bosx - exit ;; + GUESS=rs6000-bull-bosx + ;; DPX/2?00:B.O.S.:*:*) - echo m68k-bull-sysv3 - exit ;; + GUESS=m68k-bull-sysv3 + ;; 9000/[34]??:4.3bsd:1.*:*) - echo m68k-hp-bsd - exit ;; + GUESS=m68k-hp-bsd + ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) - echo m68k-hp-bsd4.4 - exit ;; + GUESS=m68k-hp-bsd4.4 + ;; 9000/[34678]??:HP-UX:*:*) - HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'` - case "$UNAME_MACHINE" in + HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` + case $UNAME_MACHINE in 9000/31?) HP_ARCH=m68000 ;; 9000/[34]??) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) - if [ -x /usr/bin/getconf ]; then + if test -x /usr/bin/getconf; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` - case "$sc_cpu_version" in + case $sc_cpu_version in 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 - case "$sc_kernel_bits" in + case $sc_kernel_bits in 32) HP_ARCH=hppa2.0n ;; 64) HP_ARCH=hppa2.0w ;; '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 esac ;; esac fi - if [ "$HP_ARCH" = "" ]; then - eval "$set_cc_for_build" + if test "$HP_ARCH" = ""; then + set_cc_for_build sed 's/^ //' << EOF > "$dummy.c" #define _HPUX_SOURCE @@ -698,9 +743,9 @@ EOF test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac - if [ "$HP_ARCH" = hppa2.0w ] + if test "$HP_ARCH" = hppa2.0w then - eval "$set_cc_for_build" + set_cc_for_build # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler @@ -719,14 +764,14 @@ EOF HP_ARCH=hppa64 fi fi - echo "$HP_ARCH"-hp-hpux"$HPUX_REV" - exit ;; + GUESS=$HP_ARCH-hp-hpux$HPUX_REV + ;; ia64:HP-UX:*:*) - HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'` - echo ia64-hp-hpux"$HPUX_REV" - exit ;; + HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` + GUESS=ia64-hp-hpux$HPUX_REV + ;; 3050*:HI-UX:*:*) - eval "$set_cc_for_build" + set_cc_for_build sed 's/^ //' << EOF > "$dummy.c" #include int @@ -754,36 +799,36 @@ EOF EOF $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` && { echo "$SYSTEM_NAME"; exit; } - echo unknown-hitachi-hiuxwe2 - exit ;; + GUESS=unknown-hitachi-hiuxwe2 + ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) - echo hppa1.1-hp-bsd - exit ;; + GUESS=hppa1.1-hp-bsd + ;; 9000/8??:4.3bsd:*:*) - echo hppa1.0-hp-bsd - exit ;; + GUESS=hppa1.0-hp-bsd + ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) - echo hppa1.0-hp-mpeix - exit ;; + GUESS=hppa1.0-hp-mpeix + ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) - echo hppa1.1-hp-osf - exit ;; + GUESS=hppa1.1-hp-osf + ;; hp8??:OSF1:*:*) - echo hppa1.0-hp-osf - exit ;; + GUESS=hppa1.0-hp-osf + ;; i*86:OSF1:*:*) - if [ -x /usr/sbin/sysversion ] ; then - echo "$UNAME_MACHINE"-unknown-osf1mk + if test -x /usr/sbin/sysversion ; then + GUESS=$UNAME_MACHINE-unknown-osf1mk else - echo "$UNAME_MACHINE"-unknown-osf1 + GUESS=$UNAME_MACHINE-unknown-osf1 fi - exit ;; + ;; parisc*:Lites*:*:*) - echo hppa1.1-hp-lites - exit ;; + GUESS=hppa1.1-hp-lites + ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) - echo c1-convex-bsd - exit ;; + GUESS=c1-convex-bsd + ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd @@ -791,17 +836,18 @@ EOF fi exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) - echo c34-convex-bsd - exit ;; + GUESS=c34-convex-bsd + ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) - echo c38-convex-bsd - exit ;; + GUESS=c38-convex-bsd + ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) - echo c4-convex-bsd - exit ;; + GUESS=c4-convex-bsd + ;; CRAY*Y-MP:*:*:*) - echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' - exit ;; + CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` + GUESS=ymp-cray-unicos$CRAY_REL + ;; CRAY*[A-Z]90:*:*:*) echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ @@ -809,103 +855,129 @@ EOF -e 's/\.[^.]*$/.X/' exit ;; CRAY*TS:*:*:*) - echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' - exit ;; + CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` + GUESS=t90-cray-unicos$CRAY_REL + ;; CRAY*T3E:*:*:*) - echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' - exit ;; + CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` + GUESS=alphaev5-cray-unicosmk$CRAY_REL + ;; CRAY*SV1:*:*:*) - echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' - exit ;; + CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` + GUESS=sv1-cray-unicos$CRAY_REL + ;; *:UNICOS/mp:*:*) - echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' - exit ;; + CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` + GUESS=craynv-cray-unicosmp$CRAY_REL + ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'` - echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; + GUESS=${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} + ;; 5000:UNIX_System_V:4.*:*) FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` - echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; + GUESS=sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} + ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) - echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE-pc-bsdi$UNAME_RELEASE + ;; sparc*:BSD/OS:*:*) - echo sparc-unknown-bsdi"$UNAME_RELEASE" - exit ;; + GUESS=sparc-unknown-bsdi$UNAME_RELEASE + ;; *:BSD/OS:*:*) - echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE-unknown-bsdi$UNAME_RELEASE + ;; + arm:FreeBSD:*:*) + UNAME_PROCESSOR=`uname -p` + set_cc_for_build + if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_PCS_VFP + then + FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` + GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabi + else + FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` + GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabihf + fi + ;; *:FreeBSD:*:*) UNAME_PROCESSOR=`/usr/bin/uname -p` - case "$UNAME_PROCESSOR" in + case $UNAME_PROCESSOR in amd64) UNAME_PROCESSOR=x86_64 ;; i386) UNAME_PROCESSOR=i586 ;; esac - echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`" - exit ;; + FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` + GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL + ;; i*:CYGWIN*:*) - echo "$UNAME_MACHINE"-pc-cygwin - exit ;; + GUESS=$UNAME_MACHINE-pc-cygwin + ;; *:MINGW64*:*) - echo "$UNAME_MACHINE"-pc-mingw64 - exit ;; + GUESS=$UNAME_MACHINE-pc-mingw64 + ;; *:MINGW*:*) - echo "$UNAME_MACHINE"-pc-mingw32 - exit ;; + GUESS=$UNAME_MACHINE-pc-mingw32 + ;; *:MSYS*:*) - echo "$UNAME_MACHINE"-pc-msys - exit ;; + GUESS=$UNAME_MACHINE-pc-msys + ;; i*:PW*:*) - echo "$UNAME_MACHINE"-pc-pw32 - exit ;; + GUESS=$UNAME_MACHINE-pc-pw32 + ;; + *:SerenityOS:*:*) + GUESS=$UNAME_MACHINE-pc-serenity + ;; *:Interix*:*) - case "$UNAME_MACHINE" in + case $UNAME_MACHINE in x86) - echo i586-pc-interix"$UNAME_RELEASE" - exit ;; + GUESS=i586-pc-interix$UNAME_RELEASE + ;; authenticamd | genuineintel | EM64T) - echo x86_64-unknown-interix"$UNAME_RELEASE" - exit ;; + GUESS=x86_64-unknown-interix$UNAME_RELEASE + ;; IA64) - echo ia64-unknown-interix"$UNAME_RELEASE" - exit ;; + GUESS=ia64-unknown-interix$UNAME_RELEASE + ;; esac ;; i*:UWIN*:*) - echo "$UNAME_MACHINE"-pc-uwin - exit ;; + GUESS=$UNAME_MACHINE-pc-uwin + ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) - echo x86_64-unknown-cygwin - exit ;; + GUESS=x86_64-pc-cygwin + ;; prep*:SunOS:5.*:*) - echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" - exit ;; + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=powerpcle-unknown-solaris2$SUN_REL + ;; *:GNU:*:*) # the GNU system - echo "`echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,'`-unknown-$LIBC`echo "$UNAME_RELEASE"|sed -e 's,/.*$,,'`" - exit ;; + GNU_ARCH=`echo "$UNAME_MACHINE" | sed -e 's,[-/].*$,,'` + GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's,/.*$,,'` + GUESS=$GNU_ARCH-unknown-$LIBC$GNU_REL + ;; *:GNU/*:*:*) # other systems with GNU libc and userland - echo "$UNAME_MACHINE-unknown-`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC" - exit ;; - i*86:Minix:*:*) - echo "$UNAME_MACHINE"-pc-minix - exit ;; + GNU_SYS=`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"` + GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` + GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC + ;; + *:Minix:*:*) + GUESS=$UNAME_MACHINE-unknown-minix + ;; aarch64:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; aarch64_be:Linux:*:*) UNAME_MACHINE=aarch64_be - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in EV5) UNAME_MACHINE=alphaev5 ;; EV56) UNAME_MACHINE=alphaev56 ;; PCA56) UNAME_MACHINE=alphapca56 ;; @@ -916,187 +988,225 @@ EOF esac objdump --private-headers /bin/sh | grep -q ld.so.1 if test "$?" = 0 ; then LIBC=gnulibc1 ; fi - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - arc:Linux:*:* | arceb:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; arm*:Linux:*:*) - eval "$set_cc_for_build" + set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC else if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_PCS_VFP then - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi + GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabi else - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf + GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabihf fi fi - exit ;; + ;; avr32*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; cris:Linux:*:*) - echo "$UNAME_MACHINE"-axis-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-axis-linux-$LIBC + ;; crisv32:Linux:*:*) - echo "$UNAME_MACHINE"-axis-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-axis-linux-$LIBC + ;; e2k:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; frv:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; hexagon:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; i*86:Linux:*:*) - echo "$UNAME_MACHINE"-pc-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-pc-linux-$LIBC + ;; ia64:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; k1om:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + loongarch32:Linux:*:* | loongarch64:Linux:*:* | loongarchx32:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; m32r*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; m68*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; mips:Linux:*:* | mips64:Linux:*:*) - eval "$set_cc_for_build" + set_cc_for_build + IS_GLIBC=0 + test x"${LIBC}" = xgnu && IS_GLIBC=1 sed 's/^ //' << EOF > "$dummy.c" #undef CPU - #undef ${UNAME_MACHINE} - #undef ${UNAME_MACHINE}el + #undef mips + #undef mipsel + #undef mips64 + #undef mips64el + #if ${IS_GLIBC} && defined(_ABI64) + LIBCABI=gnuabi64 + #else + #if ${IS_GLIBC} && defined(_ABIN32) + LIBCABI=gnuabin32 + #else + LIBCABI=${LIBC} + #endif + #endif + + #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 + CPU=mipsisa64r6 + #else + #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 + CPU=mipsisa32r6 + #else + #if defined(__mips64) + CPU=mips64 + #else + CPU=mips + #endif + #endif + #endif + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=${UNAME_MACHINE}el + MIPS_ENDIAN=el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=${UNAME_MACHINE} + MIPS_ENDIAN= #else - CPU= + MIPS_ENDIAN= #endif #endif EOF - eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU'`" - test "x$CPU" != x && { echo "$CPU-unknown-linux-$LIBC"; exit; } + cc_set_vars=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'` + eval "$cc_set_vars" + test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; } ;; mips64el:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; openrisc*:Linux:*:*) - echo or1k-unknown-linux-"$LIBC" - exit ;; + GUESS=or1k-unknown-linux-$LIBC + ;; or32:Linux:*:* | or1k*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; padre:Linux:*:*) - echo sparc-unknown-linux-"$LIBC" - exit ;; + GUESS=sparc-unknown-linux-$LIBC + ;; parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-"$LIBC" - exit ;; + GUESS=hppa64-unknown-linux-$LIBC + ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in - PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;; - PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;; - *) echo hppa-unknown-linux-"$LIBC" ;; + PA7*) GUESS=hppa1.1-unknown-linux-$LIBC ;; + PA8*) GUESS=hppa2.0-unknown-linux-$LIBC ;; + *) GUESS=hppa-unknown-linux-$LIBC ;; esac - exit ;; + ;; ppc64:Linux:*:*) - echo powerpc64-unknown-linux-"$LIBC" - exit ;; + GUESS=powerpc64-unknown-linux-$LIBC + ;; ppc:Linux:*:*) - echo powerpc-unknown-linux-"$LIBC" - exit ;; + GUESS=powerpc-unknown-linux-$LIBC + ;; ppc64le:Linux:*:*) - echo powerpc64le-unknown-linux-"$LIBC" - exit ;; + GUESS=powerpc64le-unknown-linux-$LIBC + ;; ppcle:Linux:*:*) - echo powerpcle-unknown-linux-"$LIBC" - exit ;; - riscv32:Linux:*:* | riscv64:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=powerpcle-unknown-linux-$LIBC + ;; + riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; s390:Linux:*:* | s390x:Linux:*:*) - echo "$UNAME_MACHINE"-ibm-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-ibm-linux-$LIBC + ;; sh64*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; sh*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; sparc:Linux:*:* | sparc64:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; tile*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; vax:Linux:*:*) - echo "$UNAME_MACHINE"-dec-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-dec-linux-$LIBC + ;; x86_64:Linux:*:*) - if objdump -f /bin/sh | grep -q elf32-x86-64; then - echo "$UNAME_MACHINE"-pc-linux-"$LIBC"x32 - else - echo "$UNAME_MACHINE"-pc-linux-"$LIBC" + set_cc_for_build + LIBCABI=$LIBC + if test "$CC_FOR_BUILD" != no_compiler_found; then + if (echo '#ifdef __ILP32__'; echo IS_X32; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_X32 >/dev/null + then + LIBCABI=${LIBC}x32 + fi fi - exit ;; + GUESS=$UNAME_MACHINE-pc-linux-$LIBCABI + ;; xtensa*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. - echo i386-sequent-sysv4 - exit ;; + GUESS=i386-sequent-sysv4 + ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. - echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION" - exit ;; + GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION + ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. - echo "$UNAME_MACHINE"-pc-os2-emx - exit ;; + GUESS=$UNAME_MACHINE-pc-os2-emx + ;; i*86:XTS-300:*:STOP) - echo "$UNAME_MACHINE"-unknown-stop - exit ;; + GUESS=$UNAME_MACHINE-unknown-stop + ;; i*86:atheos:*:*) - echo "$UNAME_MACHINE"-unknown-atheos - exit ;; + GUESS=$UNAME_MACHINE-unknown-atheos + ;; i*86:syllable:*:*) - echo "$UNAME_MACHINE"-pc-syllable - exit ;; + GUESS=$UNAME_MACHINE-pc-syllable + ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) - echo i386-unknown-lynxos"$UNAME_RELEASE" - exit ;; + GUESS=i386-unknown-lynxos$UNAME_RELEASE + ;; i*86:*DOS:*:*) - echo "$UNAME_MACHINE"-pc-msdosdjgpp - exit ;; + GUESS=$UNAME_MACHINE-pc-msdosdjgpp + ;; i*86:*:4.*:*) UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then - echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL" + GUESS=$UNAME_MACHINE-univel-sysv$UNAME_REL else - echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL" + GUESS=$UNAME_MACHINE-pc-sysv$UNAME_REL fi - exit ;; + ;; i*86:*:5:[678]*) # UnixWare 7.x, OpenUNIX and OpenServer 6. case `/bin/uname -X | grep "^Machine"` in @@ -1104,12 +1214,12 @@ EOF *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac - echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}{$UNAME_VERSION}" - exit ;; + GUESS=$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} + ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 @@ -1119,11 +1229,11 @@ EOF && UNAME_MACHINE=i686 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 - echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL" + GUESS=$UNAME_MACHINE-pc-sco$UNAME_REL else - echo "$UNAME_MACHINE"-pc-sysv32 + GUESS=$UNAME_MACHINE-pc-sysv32 fi - exit ;; + ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about @@ -1131,31 +1241,31 @@ EOF # Note: whatever this is, it MUST be the same as what config.sub # prints for the "djgpp" host, or else GDB configure will decide that # this is a cross-build. - echo i586-pc-msdosdjgpp - exit ;; + GUESS=i586-pc-msdosdjgpp + ;; Intel:Mach:3*:*) - echo i386-pc-mach3 - exit ;; + GUESS=i386-pc-mach3 + ;; paragon:*:*:*) - echo i860-intel-osf1 - exit ;; + GUESS=i860-intel-osf1 + ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then - echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4 + GUESS=i860-stardent-sysv$UNAME_RELEASE # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. - echo i860-unknown-sysv"$UNAME_RELEASE" # Unknown i860-SVR4 + GUESS=i860-unknown-sysv$UNAME_RELEASE # Unknown i860-SVR4 fi - exit ;; + ;; mini*:CTIX:SYS*5:*) # "miniframe" - echo m68010-convergent-sysv - exit ;; + GUESS=m68010-convergent-sysv + ;; mc68k:UNIX:SYSTEM5:3.51m) - echo m68k-convergent-sysv - exit ;; + GUESS=m68k-convergent-sysv + ;; M680?0:D-NIX:5.3:*) - echo m68k-diab-dnix - exit ;; + GUESS=m68k-diab-dnix + ;; M68*:*:R3V[5678]*:*) test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) @@ -1180,249 +1290,404 @@ EOF /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) - echo m68k-unknown-lynxos"$UNAME_RELEASE" - exit ;; + GUESS=m68k-unknown-lynxos$UNAME_RELEASE + ;; mc68030:UNIX_System_V:4.*:*) - echo m68k-atari-sysv4 - exit ;; + GUESS=m68k-atari-sysv4 + ;; TSUNAMI:LynxOS:2.*:*) - echo sparc-unknown-lynxos"$UNAME_RELEASE" - exit ;; + GUESS=sparc-unknown-lynxos$UNAME_RELEASE + ;; rs6000:LynxOS:2.*:*) - echo rs6000-unknown-lynxos"$UNAME_RELEASE" - exit ;; + GUESS=rs6000-unknown-lynxos$UNAME_RELEASE + ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) - echo powerpc-unknown-lynxos"$UNAME_RELEASE" - exit ;; + GUESS=powerpc-unknown-lynxos$UNAME_RELEASE + ;; SM[BE]S:UNIX_SV:*:*) - echo mips-dde-sysv"$UNAME_RELEASE" - exit ;; + GUESS=mips-dde-sysv$UNAME_RELEASE + ;; RM*:ReliantUNIX-*:*:*) - echo mips-sni-sysv4 - exit ;; + GUESS=mips-sni-sysv4 + ;; RM*:SINIX-*:*:*) - echo mips-sni-sysv4 - exit ;; + GUESS=mips-sni-sysv4 + ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` - echo "$UNAME_MACHINE"-sni-sysv4 + GUESS=$UNAME_MACHINE-sni-sysv4 else - echo ns32k-sni-sysv + GUESS=ns32k-sni-sysv fi - exit ;; + ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says - echo i586-unisys-sysv4 - exit ;; + GUESS=i586-unisys-sysv4 + ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm - echo hppa1.1-stratus-sysv4 - exit ;; + GUESS=hppa1.1-stratus-sysv4 + ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. - echo i860-stratus-sysv4 - exit ;; + GUESS=i860-stratus-sysv4 + ;; i*86:VOS:*:*) # From Paul.Green@stratus.com. - echo "$UNAME_MACHINE"-stratus-vos - exit ;; + GUESS=$UNAME_MACHINE-stratus-vos + ;; *:VOS:*:*) # From Paul.Green@stratus.com. - echo hppa1.1-stratus-vos - exit ;; + GUESS=hppa1.1-stratus-vos + ;; mc68*:A/UX:*:*) - echo m68k-apple-aux"$UNAME_RELEASE" - exit ;; + GUESS=m68k-apple-aux$UNAME_RELEASE + ;; news*:NEWS-OS:6*:*) - echo mips-sony-newsos6 - exit ;; + GUESS=mips-sony-newsos6 + ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) - if [ -d /usr/nec ]; then - echo mips-nec-sysv"$UNAME_RELEASE" + if test -d /usr/nec; then + GUESS=mips-nec-sysv$UNAME_RELEASE else - echo mips-unknown-sysv"$UNAME_RELEASE" + GUESS=mips-unknown-sysv$UNAME_RELEASE fi - exit ;; + ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. - echo powerpc-be-beos - exit ;; + GUESS=powerpc-be-beos + ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. - echo powerpc-apple-beos - exit ;; + GUESS=powerpc-apple-beos + ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. - echo i586-pc-beos - exit ;; + GUESS=i586-pc-beos + ;; BePC:Haiku:*:*) # Haiku running on Intel PC compatible. - echo i586-pc-haiku - exit ;; + GUESS=i586-pc-haiku + ;; x86_64:Haiku:*:*) - echo x86_64-unknown-haiku - exit ;; + GUESS=x86_64-unknown-haiku + ;; SX-4:SUPER-UX:*:*) - echo sx4-nec-superux"$UNAME_RELEASE" - exit ;; + GUESS=sx4-nec-superux$UNAME_RELEASE + ;; SX-5:SUPER-UX:*:*) - echo sx5-nec-superux"$UNAME_RELEASE" - exit ;; + GUESS=sx5-nec-superux$UNAME_RELEASE + ;; SX-6:SUPER-UX:*:*) - echo sx6-nec-superux"$UNAME_RELEASE" - exit ;; + GUESS=sx6-nec-superux$UNAME_RELEASE + ;; SX-7:SUPER-UX:*:*) - echo sx7-nec-superux"$UNAME_RELEASE" - exit ;; + GUESS=sx7-nec-superux$UNAME_RELEASE + ;; SX-8:SUPER-UX:*:*) - echo sx8-nec-superux"$UNAME_RELEASE" - exit ;; + GUESS=sx8-nec-superux$UNAME_RELEASE + ;; SX-8R:SUPER-UX:*:*) - echo sx8r-nec-superux"$UNAME_RELEASE" - exit ;; + GUESS=sx8r-nec-superux$UNAME_RELEASE + ;; SX-ACE:SUPER-UX:*:*) - echo sxace-nec-superux"$UNAME_RELEASE" - exit ;; + GUESS=sxace-nec-superux$UNAME_RELEASE + ;; Power*:Rhapsody:*:*) - echo powerpc-apple-rhapsody"$UNAME_RELEASE" - exit ;; + GUESS=powerpc-apple-rhapsody$UNAME_RELEASE + ;; *:Rhapsody:*:*) - echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE-apple-rhapsody$UNAME_RELEASE + ;; + arm64:Darwin:*:*) + GUESS=aarch64-apple-darwin$UNAME_RELEASE + ;; *:Darwin:*:*) - UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown - eval "$set_cc_for_build" - if test "$UNAME_PROCESSOR" = unknown ; then - UNAME_PROCESSOR=powerpc + UNAME_PROCESSOR=`uname -p` + case $UNAME_PROCESSOR in + unknown) UNAME_PROCESSOR=powerpc ;; + esac + if command -v xcode-select > /dev/null 2> /dev/null && \ + ! xcode-select --print-path > /dev/null 2> /dev/null ; then + # Avoid executing cc if there is no toolchain installed as + # cc will be a stub that puts up a graphical alert + # prompting the user to install developer tools. + CC_FOR_BUILD=no_compiler_found + else + set_cc_for_build fi - if test "`echo "$UNAME_RELEASE" | sed -e 's/\..*//'`" -le 10 ; then - if [ "$CC_FOR_BUILD" != no_compiler_found ]; then - if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - case $UNAME_PROCESSOR in - i386) UNAME_PROCESSOR=x86_64 ;; - powerpc) UNAME_PROCESSOR=powerpc64 ;; - esac - fi - # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc - if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_PPC >/dev/null - then - UNAME_PROCESSOR=powerpc - fi + if test "$CC_FOR_BUILD" != no_compiler_found; then + if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + case $UNAME_PROCESSOR in + i386) UNAME_PROCESSOR=x86_64 ;; + powerpc) UNAME_PROCESSOR=powerpc64 ;; + esac + fi + # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc + if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_PPC >/dev/null + then + UNAME_PROCESSOR=powerpc fi elif test "$UNAME_PROCESSOR" = i386 ; then - # Avoid executing cc on OS X 10.9, as it ships with a stub - # that puts up a graphical alert prompting to install - # developer tools. Any system running Mac OS X 10.7 or - # later (Darwin 11 and later) is required to have a 64-bit - # processor. This is not true of the ARM version of Darwin - # that Apple uses in portable devices. - UNAME_PROCESSOR=x86_64 + # uname -m returns i386 or x86_64 + UNAME_PROCESSOR=$UNAME_MACHINE fi - echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE + ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = x86; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi - echo "$UNAME_PROCESSOR"-"$UNAME_MACHINE"-nto-qnx"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_PROCESSOR-$UNAME_MACHINE-nto-qnx$UNAME_RELEASE + ;; *:QNX:*:4*) - echo i386-pc-qnx - exit ;; + GUESS=i386-pc-qnx + ;; NEO-*:NONSTOP_KERNEL:*:*) - echo neo-tandem-nsk"$UNAME_RELEASE" - exit ;; + GUESS=neo-tandem-nsk$UNAME_RELEASE + ;; NSE-*:NONSTOP_KERNEL:*:*) - echo nse-tandem-nsk"$UNAME_RELEASE" - exit ;; + GUESS=nse-tandem-nsk$UNAME_RELEASE + ;; NSR-*:NONSTOP_KERNEL:*:*) - echo nsr-tandem-nsk"$UNAME_RELEASE" - exit ;; + GUESS=nsr-tandem-nsk$UNAME_RELEASE + ;; NSV-*:NONSTOP_KERNEL:*:*) - echo nsv-tandem-nsk"$UNAME_RELEASE" - exit ;; + GUESS=nsv-tandem-nsk$UNAME_RELEASE + ;; NSX-*:NONSTOP_KERNEL:*:*) - echo nsx-tandem-nsk"$UNAME_RELEASE" - exit ;; + GUESS=nsx-tandem-nsk$UNAME_RELEASE + ;; *:NonStop-UX:*:*) - echo mips-compaq-nonstopux - exit ;; + GUESS=mips-compaq-nonstopux + ;; BS2000:POSIX*:*:*) - echo bs2000-siemens-sysv - exit ;; + GUESS=bs2000-siemens-sysv + ;; DS/*:UNIX_System_V:*:*) - echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE-$UNAME_SYSTEM-$UNAME_RELEASE + ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. - if test "$cputype" = 386; then + if test "${cputype-}" = 386; then UNAME_MACHINE=i386 - else - UNAME_MACHINE="$cputype" + elif test "x${cputype-}" != x; then + UNAME_MACHINE=$cputype fi - echo "$UNAME_MACHINE"-unknown-plan9 - exit ;; + GUESS=$UNAME_MACHINE-unknown-plan9 + ;; *:TOPS-10:*:*) - echo pdp10-unknown-tops10 - exit ;; + GUESS=pdp10-unknown-tops10 + ;; *:TENEX:*:*) - echo pdp10-unknown-tenex - exit ;; + GUESS=pdp10-unknown-tenex + ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) - echo pdp10-dec-tops20 - exit ;; + GUESS=pdp10-dec-tops20 + ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) - echo pdp10-xkl-tops20 - exit ;; + GUESS=pdp10-xkl-tops20 + ;; *:TOPS-20:*:*) - echo pdp10-unknown-tops20 - exit ;; + GUESS=pdp10-unknown-tops20 + ;; *:ITS:*:*) - echo pdp10-unknown-its - exit ;; + GUESS=pdp10-unknown-its + ;; SEI:*:*:SEIUX) - echo mips-sei-seiux"$UNAME_RELEASE" - exit ;; + GUESS=mips-sei-seiux$UNAME_RELEASE + ;; *:DragonFly:*:*) - echo "$UNAME_MACHINE"-unknown-dragonfly"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`" - exit ;; + DRAGONFLY_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` + GUESS=$UNAME_MACHINE-unknown-dragonfly$DRAGONFLY_REL + ;; *:*VMS:*:*) UNAME_MACHINE=`(uname -p) 2>/dev/null` - case "$UNAME_MACHINE" in - A*) echo alpha-dec-vms ; exit ;; - I*) echo ia64-dec-vms ; exit ;; - V*) echo vax-dec-vms ; exit ;; + case $UNAME_MACHINE in + A*) GUESS=alpha-dec-vms ;; + I*) GUESS=ia64-dec-vms ;; + V*) GUESS=vax-dec-vms ;; esac ;; *:XENIX:*:SysV) - echo i386-pc-xenix - exit ;; + GUESS=i386-pc-xenix + ;; i*86:skyos:*:*) - echo "$UNAME_MACHINE"-pc-skyos"`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`" - exit ;; + SKYOS_REL=`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'` + GUESS=$UNAME_MACHINE-pc-skyos$SKYOS_REL + ;; i*86:rdos:*:*) - echo "$UNAME_MACHINE"-pc-rdos - exit ;; - i*86:AROS:*:*) - echo "$UNAME_MACHINE"-pc-aros - exit ;; + GUESS=$UNAME_MACHINE-pc-rdos + ;; + i*86:Fiwix:*:*) + GUESS=$UNAME_MACHINE-pc-fiwix + ;; + *:AROS:*:*) + GUESS=$UNAME_MACHINE-unknown-aros + ;; x86_64:VMkernel:*:*) - echo "$UNAME_MACHINE"-unknown-esx - exit ;; + GUESS=$UNAME_MACHINE-unknown-esx + ;; amd64:Isilon\ OneFS:*:*) - echo x86_64-unknown-onefs - exit ;; + GUESS=x86_64-unknown-onefs + ;; + *:Unleashed:*:*) + GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE + ;; esac +# Do we have a guess based on uname results? +if test "x$GUESS" != x; then + echo "$GUESS" + exit +fi + +# No uname command or uname output not recognized. +set_cc_for_build +cat > "$dummy.c" < +#include +#endif +#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) +#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) +#include +#if defined(_SIZE_T_) || defined(SIGLOST) +#include +#endif +#endif +#endif +main () +{ +#if defined (sony) +#if defined (MIPSEB) + /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, + I don't know.... */ + printf ("mips-sony-bsd\n"); exit (0); +#else +#include + printf ("m68k-sony-newsos%s\n", +#ifdef NEWSOS4 + "4" +#else + "" +#endif + ); exit (0); +#endif +#endif + +#if defined (NeXT) +#if !defined (__ARCHITECTURE__) +#define __ARCHITECTURE__ "m68k" +#endif + int version; + version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; + if (version < 4) + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + else + printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); + exit (0); +#endif + +#if defined (MULTIMAX) || defined (n16) +#if defined (UMAXV) + printf ("ns32k-encore-sysv\n"); exit (0); +#else +#if defined (CMU) + printf ("ns32k-encore-mach\n"); exit (0); +#else + printf ("ns32k-encore-bsd\n"); exit (0); +#endif +#endif +#endif + +#if defined (__386BSD__) + printf ("i386-pc-bsd\n"); exit (0); +#endif + +#if defined (sequent) +#if defined (i386) + printf ("i386-sequent-dynix\n"); exit (0); +#endif +#if defined (ns32000) + printf ("ns32k-sequent-dynix\n"); exit (0); +#endif +#endif + +#if defined (_SEQUENT_) + struct utsname un; + + uname(&un); + if (strncmp(un.version, "V2", 2) == 0) { + printf ("i386-sequent-ptx2\n"); exit (0); + } + if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ + printf ("i386-sequent-ptx1\n"); exit (0); + } + printf ("i386-sequent-ptx\n"); exit (0); +#endif + +#if defined (vax) +#if !defined (ultrix) +#include +#if defined (BSD) +#if BSD == 43 + printf ("vax-dec-bsd4.3\n"); exit (0); +#else +#if BSD == 199006 + printf ("vax-dec-bsd4.3reno\n"); exit (0); +#else + printf ("vax-dec-bsd\n"); exit (0); +#endif +#endif +#else + printf ("vax-dec-bsd\n"); exit (0); +#endif +#else +#if defined(_SIZE_T_) || defined(SIGLOST) + struct utsname un; + uname (&un); + printf ("vax-dec-ultrix%s\n", un.release); exit (0); +#else + printf ("vax-dec-ultrix\n"); exit (0); +#endif +#endif +#endif +#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) +#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) +#if defined(_SIZE_T_) || defined(SIGLOST) + struct utsname *un; + uname (&un); + printf ("mips-dec-ultrix%s\n", un.release); exit (0); +#else + printf ("mips-dec-ultrix\n"); exit (0); +#endif +#endif +#endif + +#if defined (alliant) && defined (i860) + printf ("i860-alliant-bsd\n"); exit (0); +#endif + + exit (1); +} +EOF + +$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`"$dummy"` && + { echo "$SYSTEM_NAME"; exit; } + +# Apollos put the system type in the environment. +test -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; } + echo "$0: unable to guess system type" >&2 -case "$UNAME_MACHINE:$UNAME_SYSTEM" in +case $UNAME_MACHINE:$UNAME_SYSTEM in mips:Linux | mips64:Linux) # If we got here on MIPS GNU/Linux, output extra information. cat >&2 <&2 <&2 exit 1 ;; *local*) @@ -110,1223 +119,1186 @@ case $# in exit 1;; esac -# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). -# Here we must recognize all the valid KERNEL-OS combinations. -maybe_os=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` -case $maybe_os in - nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ - linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ - knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ - kopensolaris*-gnu* | cloudabi*-eabi* | \ - storm-chaos* | os2-emx* | rtmk-nova*) - os=-$maybe_os - basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` - ;; - android-linux) - os=-linux-android - basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown - ;; - *) - basic_machine=`echo "$1" | sed 's/-[^-]*$//'` - if [ "$basic_machine" != "$1" ] - then os=`echo "$1" | sed 's/.*-/-/'` - else os=; fi - ;; -esac +# Split fields of configuration type +# shellcheck disable=SC2162 +saved_IFS=$IFS +IFS="-" read field1 field2 field3 field4 <&2 + exit 1 ;; - -lynx*) - os=-lynxos + *-*-*-*) + basic_machine=$field1-$field2 + basic_os=$field3-$field4 ;; - -ptx*) - basic_machine=`echo "$1" | sed -e 's/86-.*/86-sequent/'` + *-*-*) + # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two + # parts + maybe_os=$field2-$field3 + case $maybe_os in + nto-qnx* | linux-* | uclinux-uclibc* \ + | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \ + | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \ + | storm-chaos* | os2-emx* | rtmk-nova*) + basic_machine=$field1 + basic_os=$maybe_os + ;; + android-linux) + basic_machine=$field1-unknown + basic_os=linux-android + ;; + *) + basic_machine=$field1-$field2 + basic_os=$field3 + ;; + esac ;; - -psos*) - os=-psos + *-*) + # A lone config we happen to match not fitting any pattern + case $field1-$field2 in + decstation-3100) + basic_machine=mips-dec + basic_os= + ;; + *-*) + # Second component is usually, but not always the OS + case $field2 in + # Prevent following clause from handling this valid os + sun*os*) + basic_machine=$field1 + basic_os=$field2 + ;; + zephyr*) + basic_machine=$field1-unknown + basic_os=$field2 + ;; + # Manufacturers + dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \ + | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \ + | unicom* | ibm* | next | hp | isi* | apollo | altos* \ + | convergent* | ncr* | news | 32* | 3600* | 3100* \ + | hitachi* | c[123]* | convex* | sun | crds | omron* | dg \ + | ultra | tti* | harris | dolphin | highlevel | gould \ + | cbm | ns | masscomp | apple | axis | knuth | cray \ + | microblaze* | sim | cisco \ + | oki | wec | wrs | winbond) + basic_machine=$field1-$field2 + basic_os= + ;; + *) + basic_machine=$field1 + basic_os=$field2 + ;; + esac + ;; + esac ;; - -mint | -mint[0-9]*) - basic_machine=m68k-atari - os=-mint + *) + # Convert single-component short-hands not valid as part of + # multi-component configurations. + case $field1 in + 386bsd) + basic_machine=i386-pc + basic_os=bsd + ;; + a29khif) + basic_machine=a29k-amd + basic_os=udi + ;; + adobe68k) + basic_machine=m68010-adobe + basic_os=scout + ;; + alliant) + basic_machine=fx80-alliant + basic_os= + ;; + altos | altos3068) + basic_machine=m68k-altos + basic_os= + ;; + am29k) + basic_machine=a29k-none + basic_os=bsd + ;; + amdahl) + basic_machine=580-amdahl + basic_os=sysv + ;; + amiga) + basic_machine=m68k-unknown + basic_os= + ;; + amigaos | amigados) + basic_machine=m68k-unknown + basic_os=amigaos + ;; + amigaunix | amix) + basic_machine=m68k-unknown + basic_os=sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + basic_os=sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + basic_os=bsd + ;; + aros) + basic_machine=i386-pc + basic_os=aros + ;; + aux) + basic_machine=m68k-apple + basic_os=aux + ;; + balance) + basic_machine=ns32k-sequent + basic_os=dynix + ;; + blackfin) + basic_machine=bfin-unknown + basic_os=linux + ;; + cegcc) + basic_machine=arm-unknown + basic_os=cegcc + ;; + convex-c1) + basic_machine=c1-convex + basic_os=bsd + ;; + convex-c2) + basic_machine=c2-convex + basic_os=bsd + ;; + convex-c32) + basic_machine=c32-convex + basic_os=bsd + ;; + convex-c34) + basic_machine=c34-convex + basic_os=bsd + ;; + convex-c38) + basic_machine=c38-convex + basic_os=bsd + ;; + cray) + basic_machine=j90-cray + basic_os=unicos + ;; + crds | unos) + basic_machine=m68k-crds + basic_os= + ;; + da30) + basic_machine=m68k-da30 + basic_os= + ;; + decstation | pmax | pmin | dec3100 | decstatn) + basic_machine=mips-dec + basic_os= + ;; + delta88) + basic_machine=m88k-motorola + basic_os=sysv3 + ;; + dicos) + basic_machine=i686-pc + basic_os=dicos + ;; + djgpp) + basic_machine=i586-pc + basic_os=msdosdjgpp + ;; + ebmon29k) + basic_machine=a29k-amd + basic_os=ebmon + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + basic_os=ose + ;; + gmicro) + basic_machine=tron-gmicro + basic_os=sysv + ;; + go32) + basic_machine=i386-pc + basic_os=go32 + ;; + h8300hms) + basic_machine=h8300-hitachi + basic_os=hms + ;; + h8300xray) + basic_machine=h8300-hitachi + basic_os=xray + ;; + h8500hms) + basic_machine=h8500-hitachi + basic_os=hms + ;; + harris) + basic_machine=m88k-harris + basic_os=sysv3 + ;; + hp300 | hp300hpux) + basic_machine=m68k-hp + basic_os=hpux + ;; + hp300bsd) + basic_machine=m68k-hp + basic_os=bsd + ;; + hppaosf) + basic_machine=hppa1.1-hp + basic_os=osf + ;; + hppro) + basic_machine=hppa1.1-hp + basic_os=proelf + ;; + i386mach) + basic_machine=i386-mach + basic_os=mach + ;; + isi68 | isi) + basic_machine=m68k-isi + basic_os=sysv + ;; + m68knommu) + basic_machine=m68k-unknown + basic_os=linux + ;; + magnum | m3230) + basic_machine=mips-mips + basic_os=sysv + ;; + merlin) + basic_machine=ns32k-utek + basic_os=sysv + ;; + mingw64) + basic_machine=x86_64-pc + basic_os=mingw64 + ;; + mingw32) + basic_machine=i686-pc + basic_os=mingw32 + ;; + mingw32ce) + basic_machine=arm-unknown + basic_os=mingw32ce + ;; + monitor) + basic_machine=m68k-rom68k + basic_os=coff + ;; + morphos) + basic_machine=powerpc-unknown + basic_os=morphos + ;; + moxiebox) + basic_machine=moxie-unknown + basic_os=moxiebox + ;; + msdos) + basic_machine=i386-pc + basic_os=msdos + ;; + msys) + basic_machine=i686-pc + basic_os=msys + ;; + mvs) + basic_machine=i370-ibm + basic_os=mvs + ;; + nacl) + basic_machine=le32-unknown + basic_os=nacl + ;; + ncr3000) + basic_machine=i486-ncr + basic_os=sysv4 + ;; + netbsd386) + basic_machine=i386-pc + basic_os=netbsd + ;; + netwinder) + basic_machine=armv4l-rebel + basic_os=linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + basic_os=newsos + ;; + news1000) + basic_machine=m68030-sony + basic_os=newsos + ;; + necv70) + basic_machine=v70-nec + basic_os=sysv + ;; + nh3000) + basic_machine=m68k-harris + basic_os=cxux + ;; + nh[45]000) + basic_machine=m88k-harris + basic_os=cxux + ;; + nindy960) + basic_machine=i960-intel + basic_os=nindy + ;; + mon960) + basic_machine=i960-intel + basic_os=mon960 + ;; + nonstopux) + basic_machine=mips-compaq + basic_os=nonstopux + ;; + os400) + basic_machine=powerpc-ibm + basic_os=os400 + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + basic_os=ose + ;; + os68k) + basic_machine=m68k-none + basic_os=os68k + ;; + paragon) + basic_machine=i860-intel + basic_os=osf + ;; + parisc) + basic_machine=hppa-unknown + basic_os=linux + ;; + psp) + basic_machine=mipsallegrexel-sony + basic_os=psp + ;; + pw32) + basic_machine=i586-unknown + basic_os=pw32 + ;; + rdos | rdos64) + basic_machine=x86_64-pc + basic_os=rdos + ;; + rdos32) + basic_machine=i386-pc + basic_os=rdos + ;; + rom68k) + basic_machine=m68k-rom68k + basic_os=coff + ;; + sa29200) + basic_machine=a29k-amd + basic_os=udi + ;; + sei) + basic_machine=mips-sei + basic_os=seiux + ;; + sequent) + basic_machine=i386-sequent + basic_os= + ;; + sps7) + basic_machine=m68k-bull + basic_os=sysv2 + ;; + st2000) + basic_machine=m68k-tandem + basic_os= + ;; + stratus) + basic_machine=i860-stratus + basic_os=sysv4 + ;; + sun2) + basic_machine=m68000-sun + basic_os= + ;; + sun2os3) + basic_machine=m68000-sun + basic_os=sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + basic_os=sunos4 + ;; + sun3) + basic_machine=m68k-sun + basic_os= + ;; + sun3os3) + basic_machine=m68k-sun + basic_os=sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + basic_os=sunos4 + ;; + sun4) + basic_machine=sparc-sun + basic_os= + ;; + sun4os3) + basic_machine=sparc-sun + basic_os=sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + basic_os=sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + basic_os=solaris2 + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + basic_os= + ;; + sv1) + basic_machine=sv1-cray + basic_os=unicos + ;; + symmetry) + basic_machine=i386-sequent + basic_os=dynix + ;; + t3e) + basic_machine=alphaev5-cray + basic_os=unicos + ;; + t90) + basic_machine=t90-cray + basic_os=unicos + ;; + toad1) + basic_machine=pdp10-xkl + basic_os=tops20 + ;; + tpf) + basic_machine=s390x-ibm + basic_os=tpf + ;; + udi29k) + basic_machine=a29k-amd + basic_os=udi + ;; + ultra3) + basic_machine=a29k-nyu + basic_os=sym1 + ;; + v810 | necv810) + basic_machine=v810-nec + basic_os=none + ;; + vaxv) + basic_machine=vax-dec + basic_os=sysv + ;; + vms) + basic_machine=vax-dec + basic_os=vms + ;; + vsta) + basic_machine=i386-pc + basic_os=vsta + ;; + vxworks960) + basic_machine=i960-wrs + basic_os=vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + basic_os=vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + basic_os=vxworks + ;; + xbox) + basic_machine=i686-pc + basic_os=mingw32 + ;; + ymp) + basic_machine=ymp-cray + basic_os=unicos + ;; + *) + basic_machine=$1 + basic_os= + ;; + esac ;; esac -# Decode aliases for certain CPU-COMPANY combinations. +# Decode 1-component or ad-hoc basic machines case $basic_machine in - # Recognize the basic CPU types without company name. - # Some are omitted here because they have special meanings below. - 1750a | 580 \ - | a29k \ - | aarch64 | aarch64_be \ - | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ - | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ - | am33_2.0 \ - | arc | arceb \ - | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ - | avr | avr32 \ - | ba \ - | be32 | be64 \ - | bfin \ - | c4x | c8051 | clipper \ - | d10v | d30v | dlx | dsp16xx \ - | e2k | epiphany \ - | fido | fr30 | frv | ft32 \ - | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ - | hexagon \ - | i370 | i860 | i960 | ia16 | ia64 \ - | ip2k | iq2000 \ - | k1om \ - | le32 | le64 \ - | lm32 \ - | m32c | m32r | m32rle | m68000 | m68k | m88k \ - | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ - | mips | mipsbe | mipseb | mipsel | mipsle \ - | mips16 \ - | mips64 | mips64el \ - | mips64octeon | mips64octeonel \ - | mips64orion | mips64orionel \ - | mips64r5900 | mips64r5900el \ - | mips64vr | mips64vrel \ - | mips64vr4100 | mips64vr4100el \ - | mips64vr4300 | mips64vr4300el \ - | mips64vr5000 | mips64vr5000el \ - | mips64vr5900 | mips64vr5900el \ - | mipsisa32 | mipsisa32el \ - | mipsisa32r2 | mipsisa32r2el \ - | mipsisa32r6 | mipsisa32r6el \ - | mipsisa64 | mipsisa64el \ - | mipsisa64r2 | mipsisa64r2el \ - | mipsisa64r6 | mipsisa64r6el \ - | mipsisa64sb1 | mipsisa64sb1el \ - | mipsisa64sr71k | mipsisa64sr71kel \ - | mipsr5900 | mipsr5900el \ - | mipstx39 | mipstx39el \ - | mn10200 | mn10300 \ - | moxie \ - | mt \ - | msp430 \ - | nds32 | nds32le | nds32be \ - | nios | nios2 | nios2eb | nios2el \ - | ns16k | ns32k \ - | open8 | or1k | or1knd | or32 \ - | pdp10 | pj | pjl \ - | powerpc | powerpc64 | powerpc64le | powerpcle \ - | pru \ - | pyramid \ - | riscv32 | riscv64 \ - | rl78 | rx \ - | score \ - | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ - | sh64 | sh64le \ - | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ - | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ - | spu \ - | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ - | ubicom32 \ - | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ - | visium \ - | wasm32 \ - | x86 | xc16x | xstormy16 | xtensa \ - | z8k | z80) - basic_machine=$basic_machine-unknown - ;; - c54x) - basic_machine=tic54x-unknown - ;; - c55x) - basic_machine=tic55x-unknown - ;; - c6x) - basic_machine=tic6x-unknown - ;; - leon|leon[3-9]) - basic_machine=sparc-$basic_machine - ;; - m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) - basic_machine=$basic_machine-unknown - os=-none + # Here we handle the default manufacturer of certain CPU types. It is in + # some cases the only manufacturer, in others, it is the most popular. + w89k) + cpu=hppa1.1 + vendor=winbond ;; - m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65) + op50n) + cpu=hppa1.1 + vendor=oki ;; - ms1) - basic_machine=mt-unknown + op60c) + cpu=hppa1.1 + vendor=oki ;; - - strongarm | thumb | xscale) - basic_machine=arm-unknown + ibm*) + cpu=i370 + vendor=ibm ;; - xgate) - basic_machine=$basic_machine-unknown - os=-none + orion105) + cpu=clipper + vendor=highlevel ;; - xscaleeb) - basic_machine=armeb-unknown + mac | mpw | mac-mpw) + cpu=m68k + vendor=apple ;; - - xscaleel) - basic_machine=armel-unknown + pmac | pmac-mpw) + cpu=powerpc + vendor=apple ;; - # We use `pc' rather than `unknown' - # because (1) that's what they normally are, and - # (2) the word "unknown" tends to confuse beginning users. - i*86 | x86_64) - basic_machine=$basic_machine-pc - ;; - # Object if more than one company name word. - *-*-*) - echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2 - exit 1 - ;; - # Recognize the basic CPU types with company name. - 580-* \ - | a29k-* \ - | aarch64-* | aarch64_be-* \ - | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ - | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ - | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ - | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ - | avr-* | avr32-* \ - | ba-* \ - | be32-* | be64-* \ - | bfin-* | bs2000-* \ - | c[123]* | c30-* | [cjt]90-* | c4x-* \ - | c8051-* | clipper-* | craynv-* | cydra-* \ - | d10v-* | d30v-* | dlx-* \ - | e2k-* | elxsi-* \ - | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ - | h8300-* | h8500-* \ - | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ - | hexagon-* \ - | i*86-* | i860-* | i960-* | ia16-* | ia64-* \ - | ip2k-* | iq2000-* \ - | k1om-* \ - | le32-* | le64-* \ - | lm32-* \ - | m32c-* | m32r-* | m32rle-* \ - | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ - | microblaze-* | microblazeel-* \ - | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ - | mips16-* \ - | mips64-* | mips64el-* \ - | mips64octeon-* | mips64octeonel-* \ - | mips64orion-* | mips64orionel-* \ - | mips64r5900-* | mips64r5900el-* \ - | mips64vr-* | mips64vrel-* \ - | mips64vr4100-* | mips64vr4100el-* \ - | mips64vr4300-* | mips64vr4300el-* \ - | mips64vr5000-* | mips64vr5000el-* \ - | mips64vr5900-* | mips64vr5900el-* \ - | mipsisa32-* | mipsisa32el-* \ - | mipsisa32r2-* | mipsisa32r2el-* \ - | mipsisa32r6-* | mipsisa32r6el-* \ - | mipsisa64-* | mipsisa64el-* \ - | mipsisa64r2-* | mipsisa64r2el-* \ - | mipsisa64r6-* | mipsisa64r6el-* \ - | mipsisa64sb1-* | mipsisa64sb1el-* \ - | mipsisa64sr71k-* | mipsisa64sr71kel-* \ - | mipsr5900-* | mipsr5900el-* \ - | mipstx39-* | mipstx39el-* \ - | mmix-* \ - | mt-* \ - | msp430-* \ - | nds32-* | nds32le-* | nds32be-* \ - | nios-* | nios2-* | nios2eb-* | nios2el-* \ - | none-* | np1-* | ns16k-* | ns32k-* \ - | open8-* \ - | or1k*-* \ - | orion-* \ - | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ - | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ - | pru-* \ - | pyramid-* \ - | riscv32-* | riscv64-* \ - | rl78-* | romp-* | rs6000-* | rx-* \ - | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ - | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ - | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ - | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ - | tahoe-* \ - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ - | tile*-* \ - | tron-* \ - | ubicom32-* \ - | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ - | vax-* \ - | visium-* \ - | wasm32-* \ - | we32k-* \ - | x86-* | x86_64-* | xc16x-* | xps100-* \ - | xstormy16-* | xtensa*-* \ - | ymp-* \ - | z8k-* | z80-*) - ;; - # Recognize the basic CPU types without company name, with glob match. - xtensa*) - basic_machine=$basic_machine-unknown - ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. - 386bsd) - basic_machine=i386-pc - os=-bsd - ;; 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) - basic_machine=m68000-att + cpu=m68000 + vendor=att ;; 3b*) - basic_machine=we32k-att - ;; - a29khif) - basic_machine=a29k-amd - os=-udi - ;; - abacus) - basic_machine=abacus-unknown - ;; - adobe68k) - basic_machine=m68010-adobe - os=-scout - ;; - alliant | fx80) - basic_machine=fx80-alliant - ;; - altos | altos3068) - basic_machine=m68k-altos - ;; - am29k) - basic_machine=a29k-none - os=-bsd - ;; - amd64) - basic_machine=x86_64-pc - ;; - amd64-*) - basic_machine=x86_64-`echo "$basic_machine" | sed 's/^[^-]*-//'` - ;; - amdahl) - basic_machine=580-amdahl - os=-sysv - ;; - amiga | amiga-*) - basic_machine=m68k-unknown - ;; - amigaos | amigados) - basic_machine=m68k-unknown - os=-amigaos - ;; - amigaunix | amix) - basic_machine=m68k-unknown - os=-sysv4 - ;; - apollo68) - basic_machine=m68k-apollo - os=-sysv - ;; - apollo68bsd) - basic_machine=m68k-apollo - os=-bsd - ;; - aros) - basic_machine=i386-pc - os=-aros - ;; - asmjs) - basic_machine=asmjs-unknown - ;; - aux) - basic_machine=m68k-apple - os=-aux - ;; - balance) - basic_machine=ns32k-sequent - os=-dynix - ;; - blackfin) - basic_machine=bfin-unknown - os=-linux - ;; - blackfin-*) - basic_machine=bfin-`echo "$basic_machine" | sed 's/^[^-]*-//'` - os=-linux + cpu=we32k + vendor=att ;; bluegene*) - basic_machine=powerpc-ibm - os=-cnk - ;; - c54x-*) - basic_machine=tic54x-`echo "$basic_machine" | sed 's/^[^-]*-//'` - ;; - c55x-*) - basic_machine=tic55x-`echo "$basic_machine" | sed 's/^[^-]*-//'` - ;; - c6x-*) - basic_machine=tic6x-`echo "$basic_machine" | sed 's/^[^-]*-//'` - ;; - c90) - basic_machine=c90-cray - os=-unicos - ;; - cegcc) - basic_machine=arm-unknown - os=-cegcc - ;; - convex-c1) - basic_machine=c1-convex - os=-bsd - ;; - convex-c2) - basic_machine=c2-convex - os=-bsd - ;; - convex-c32) - basic_machine=c32-convex - os=-bsd - ;; - convex-c34) - basic_machine=c34-convex - os=-bsd - ;; - convex-c38) - basic_machine=c38-convex - os=-bsd - ;; - cray | j90) - basic_machine=j90-cray - os=-unicos - ;; - craynv) - basic_machine=craynv-cray - os=-unicosmp - ;; - cr16 | cr16-*) - basic_machine=cr16-unknown - os=-elf - ;; - crds | unos) - basic_machine=m68k-crds - ;; - crisv32 | crisv32-* | etraxfs*) - basic_machine=crisv32-axis - ;; - cris | cris-* | etrax*) - basic_machine=cris-axis - ;; - crx) - basic_machine=crx-unknown - os=-elf - ;; - da30 | da30-*) - basic_machine=m68k-da30 - ;; - decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) - basic_machine=mips-dec + cpu=powerpc + vendor=ibm + basic_os=cnk ;; decsystem10* | dec10*) - basic_machine=pdp10-dec - os=-tops10 + cpu=pdp10 + vendor=dec + basic_os=tops10 ;; decsystem20* | dec20*) - basic_machine=pdp10-dec - os=-tops20 + cpu=pdp10 + vendor=dec + basic_os=tops20 ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) - basic_machine=m68k-motorola - ;; - delta88) - basic_machine=m88k-motorola - os=-sysv3 - ;; - dicos) - basic_machine=i686-pc - os=-dicos - ;; - djgpp) - basic_machine=i586-pc - os=-msdosdjgpp - ;; - dpx20 | dpx20-*) - basic_machine=rs6000-bull - os=-bosx + cpu=m68k + vendor=motorola ;; dpx2*) - basic_machine=m68k-bull - os=-sysv3 - ;; - e500v[12]) - basic_machine=powerpc-unknown - os=$os"spe" - ;; - e500v[12]-*) - basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'` - os=$os"spe" - ;; - ebmon29k) - basic_machine=a29k-amd - os=-ebmon - ;; - elxsi) - basic_machine=elxsi-elxsi - os=-bsd + cpu=m68k + vendor=bull + basic_os=sysv3 ;; encore | umax | mmax) - basic_machine=ns32k-encore + cpu=ns32k + vendor=encore ;; - es1800 | OSE68k | ose68k | ose | OSE) - basic_machine=m68k-ericsson - os=-ose + elxsi) + cpu=elxsi + vendor=elxsi + basic_os=${basic_os:-bsd} ;; fx2800) - basic_machine=i860-alliant + cpu=i860 + vendor=alliant ;; genix) - basic_machine=ns32k-ns - ;; - gmicro) - basic_machine=tron-gmicro - os=-sysv - ;; - go32) - basic_machine=i386-pc - os=-go32 + cpu=ns32k + vendor=ns ;; h3050r* | hiux*) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - h8300hms) - basic_machine=h8300-hitachi - os=-hms - ;; - h8300xray) - basic_machine=h8300-hitachi - os=-xray - ;; - h8500hms) - basic_machine=h8500-hitachi - os=-hms - ;; - harris) - basic_machine=m88k-harris - os=-sysv3 - ;; - hp300-*) - basic_machine=m68k-hp - ;; - hp300bsd) - basic_machine=m68k-hp - os=-bsd - ;; - hp300hpux) - basic_machine=m68k-hp - os=-hpux + cpu=hppa1.1 + vendor=hitachi + basic_os=hiuxwe2 ;; hp3k9[0-9][0-9] | hp9[0-9][0-9]) - basic_machine=hppa1.0-hp + cpu=hppa1.0 + vendor=hp ;; hp9k2[0-9][0-9] | hp9k31[0-9]) - basic_machine=m68000-hp + cpu=m68000 + vendor=hp ;; hp9k3[2-9][0-9]) - basic_machine=m68k-hp + cpu=m68k + vendor=hp ;; hp9k6[0-9][0-9] | hp6[0-9][0-9]) - basic_machine=hppa1.0-hp + cpu=hppa1.0 + vendor=hp ;; hp9k7[0-79][0-9] | hp7[0-79][0-9]) - basic_machine=hppa1.1-hp + cpu=hppa1.1 + vendor=hp ;; hp9k78[0-9] | hp78[0-9]) # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp + cpu=hppa1.1 + vendor=hp ;; hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp + cpu=hppa1.1 + vendor=hp ;; hp9k8[0-9][13679] | hp8[0-9][13679]) - basic_machine=hppa1.1-hp + cpu=hppa1.1 + vendor=hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hppaosf) - basic_machine=hppa1.1-hp - os=-osf - ;; - hppro) - basic_machine=hppa1.1-hp - os=-proelf - ;; - i370-ibm* | ibm*) - basic_machine=i370-ibm + cpu=hppa1.0 + vendor=hp ;; i*86v32) - basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` - os=-sysv32 + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + basic_os=sysv32 ;; i*86v4*) - basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` - os=-sysv4 + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + basic_os=sysv4 ;; i*86v) - basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` - os=-sysv + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + basic_os=sysv ;; i*86sol2) - basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` - os=-solaris2 - ;; - i386mach) - basic_machine=i386-mach - os=-mach + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + basic_os=solaris2 ;; - vsta) - basic_machine=i386-unknown - os=-vsta + j90 | j90-cray) + cpu=j90 + vendor=cray + basic_os=${basic_os:-unicos} ;; iris | iris4d) - basic_machine=mips-sgi - case $os in - -irix*) + cpu=mips + vendor=sgi + case $basic_os in + irix*) ;; *) - os=-irix4 + basic_os=irix4 ;; esac ;; - isi68 | isi) - basic_machine=m68k-isi - os=-sysv - ;; - leon-*|leon[3-9]-*) - basic_machine=sparc-`echo "$basic_machine" | sed 's/-.*//'` - ;; - m68knommu) - basic_machine=m68k-unknown - os=-linux - ;; - m68knommu-*) - basic_machine=m68k-`echo "$basic_machine" | sed 's/^[^-]*-//'` - os=-linux - ;; - magnum | m3230) - basic_machine=mips-mips - os=-sysv - ;; - merlin) - basic_machine=ns32k-utek - os=-sysv - ;; - microblaze*) - basic_machine=microblaze-xilinx - ;; - mingw64) - basic_machine=x86_64-pc - os=-mingw64 - ;; - mingw32) - basic_machine=i686-pc - os=-mingw32 - ;; - mingw32ce) - basic_machine=arm-unknown - os=-mingw32ce - ;; miniframe) - basic_machine=m68000-convergent - ;; - *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; - mips3*-*) - basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'` - ;; - mips3*) - basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`-unknown - ;; - monitor) - basic_machine=m68k-rom68k - os=-coff - ;; - morphos) - basic_machine=powerpc-unknown - os=-morphos - ;; - moxiebox) - basic_machine=moxie-unknown - os=-moxiebox + cpu=m68000 + vendor=convergent ;; - msdos) - basic_machine=i386-pc - os=-msdos - ;; - ms1-*) - basic_machine=`echo "$basic_machine" | sed -e 's/ms1-/mt-/'` - ;; - msys) - basic_machine=i686-pc - os=-msys - ;; - mvs) - basic_machine=i370-ibm - os=-mvs - ;; - nacl) - basic_machine=le32-unknown - os=-nacl - ;; - ncr3000) - basic_machine=i486-ncr - os=-sysv4 - ;; - netbsd386) - basic_machine=i386-unknown - os=-netbsd - ;; - netwinder) - basic_machine=armv4l-rebel - os=-linux - ;; - news | news700 | news800 | news900) - basic_machine=m68k-sony - os=-newsos - ;; - news1000) - basic_machine=m68030-sony - os=-newsos + *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*) + cpu=m68k + vendor=atari + basic_os=mint ;; news-3600 | risc-news) - basic_machine=mips-sony - os=-newsos - ;; - necv70) - basic_machine=v70-nec - os=-sysv + cpu=mips + vendor=sony + basic_os=newsos ;; next | m*-next) - basic_machine=m68k-next - case $os in - -nextstep* ) + cpu=m68k + vendor=next + case $basic_os in + openstep*) + ;; + nextstep*) ;; - -ns2*) - os=-nextstep2 + ns2*) + basic_os=nextstep2 ;; *) - os=-nextstep3 + basic_os=nextstep3 ;; esac ;; - nh3000) - basic_machine=m68k-harris - os=-cxux - ;; - nh[45]000) - basic_machine=m88k-harris - os=-cxux - ;; - nindy960) - basic_machine=i960-intel - os=-nindy - ;; - mon960) - basic_machine=i960-intel - os=-mon960 - ;; - nonstopux) - basic_machine=mips-compaq - os=-nonstopux - ;; np1) - basic_machine=np1-gould - ;; - neo-tandem) - basic_machine=neo-tandem - ;; - nse-tandem) - basic_machine=nse-tandem - ;; - nsr-tandem) - basic_machine=nsr-tandem - ;; - nsv-tandem) - basic_machine=nsv-tandem - ;; - nsx-tandem) - basic_machine=nsx-tandem + cpu=np1 + vendor=gould ;; op50n-* | op60c-*) - basic_machine=hppa1.1-oki - os=-proelf - ;; - openrisc | openrisc-*) - basic_machine=or32-unknown - ;; - os400) - basic_machine=powerpc-ibm - os=-os400 - ;; - OSE68000 | ose68000) - basic_machine=m68000-ericsson - os=-ose - ;; - os68k) - basic_machine=m68k-none - os=-os68k + cpu=hppa1.1 + vendor=oki + basic_os=proelf ;; pa-hitachi) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - paragon) - basic_machine=i860-intel - os=-osf - ;; - parisc) - basic_machine=hppa-unknown - os=-linux - ;; - parisc-*) - basic_machine=hppa-`echo "$basic_machine" | sed 's/^[^-]*-//'` - os=-linux + cpu=hppa1.1 + vendor=hitachi + basic_os=hiuxwe2 ;; pbd) - basic_machine=sparc-tti + cpu=sparc + vendor=tti ;; pbb) - basic_machine=m68k-tti - ;; - pc532 | pc532-*) - basic_machine=ns32k-pc532 - ;; - pc98) - basic_machine=i386-pc + cpu=m68k + vendor=tti ;; - pc98-*) - basic_machine=i386-`echo "$basic_machine" | sed 's/^[^-]*-//'` - ;; - pentium | p5 | k5 | k6 | nexgen | viac3) - basic_machine=i586-pc - ;; - pentiumpro | p6 | 6x86 | athlon | athlon_*) - basic_machine=i686-pc - ;; - pentiumii | pentium2 | pentiumiii | pentium3) - basic_machine=i686-pc - ;; - pentium4) - basic_machine=i786-pc - ;; - pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) - basic_machine=i586-`echo "$basic_machine" | sed 's/^[^-]*-//'` - ;; - pentiumpro-* | p6-* | 6x86-* | athlon-*) - basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'` - ;; - pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) - basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'` - ;; - pentium4-*) - basic_machine=i786-`echo "$basic_machine" | sed 's/^[^-]*-//'` + pc532) + cpu=ns32k + vendor=pc532 ;; pn) - basic_machine=pn-gould - ;; - power) basic_machine=power-ibm - ;; - ppc | ppcbe) basic_machine=powerpc-unknown + cpu=pn + vendor=gould ;; - ppc-* | ppcbe-*) - basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'` - ;; - ppcle | powerpclittle) - basic_machine=powerpcle-unknown + power) + cpu=power + vendor=ibm ;; - ppcle-* | powerpclittle-*) - basic_machine=powerpcle-`echo "$basic_machine" | sed 's/^[^-]*-//'` + ps2) + cpu=i386 + vendor=ibm ;; - ppc64) basic_machine=powerpc64-unknown + rm[46]00) + cpu=mips + vendor=siemens ;; - ppc64-*) basic_machine=powerpc64-`echo "$basic_machine" | sed 's/^[^-]*-//'` + rtpc | rtpc-*) + cpu=romp + vendor=ibm ;; - ppc64le | powerpc64little) - basic_machine=powerpc64le-unknown + sde) + cpu=mipsisa32 + vendor=sde + basic_os=${basic_os:-elf} ;; - ppc64le-* | powerpc64little-*) - basic_machine=powerpc64le-`echo "$basic_machine" | sed 's/^[^-]*-//'` + simso-wrs) + cpu=sparclite + vendor=wrs + basic_os=vxworks ;; - ps2) - basic_machine=i386-ibm + tower | tower-32) + cpu=m68k + vendor=ncr ;; - pw32) - basic_machine=i586-unknown - os=-pw32 + vpp*|vx|vx-*) + cpu=f301 + vendor=fujitsu ;; - rdos | rdos64) - basic_machine=x86_64-pc - os=-rdos + w65) + cpu=w65 + vendor=wdc ;; - rdos32) - basic_machine=i386-pc - os=-rdos + w89k-*) + cpu=hppa1.1 + vendor=winbond + basic_os=proelf ;; - rom68k) - basic_machine=m68k-rom68k - os=-coff + none) + cpu=none + vendor=none ;; - rm[46]00) - basic_machine=mips-siemens + leon|leon[3-9]) + cpu=sparc + vendor=$basic_machine ;; - rtpc | rtpc-*) - basic_machine=romp-ibm + leon-*|leon[3-9]-*) + cpu=sparc + vendor=`echo "$basic_machine" | sed 's/-.*//'` ;; - s390 | s390-*) - basic_machine=s390-ibm + + *-*) + # shellcheck disable=SC2162 + saved_IFS=$IFS + IFS="-" read cpu vendor <&2 - exit 1 + # Recognize the canonical CPU types that are allowed with any + # company name. + case $cpu in + 1750a | 580 \ + | a29k \ + | aarch64 | aarch64_be \ + | abacus \ + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] \ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] \ + | alphapca5[67] | alpha64pca5[67] \ + | am33_2.0 \ + | amdgcn \ + | arc | arceb | arc32 | arc64 \ + | arm | arm[lb]e | arme[lb] | armv* \ + | avr | avr32 \ + | asmjs \ + | ba \ + | be32 | be64 \ + | bfin | bpf | bs2000 \ + | c[123]* | c30 | [cjt]90 | c4x \ + | c8051 | clipper | craynv | csky | cydra \ + | d10v | d30v | dlx | dsp16xx \ + | e2k | elxsi | epiphany \ + | f30[01] | f700 | fido | fr30 | frv | ft32 | fx80 \ + | h8300 | h8500 \ + | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | hexagon \ + | i370 | i*86 | i860 | i960 | ia16 | ia64 \ + | ip2k | iq2000 \ + | k1om \ + | le32 | le64 \ + | lm32 \ + | loongarch32 | loongarch64 | loongarchx32 \ + | m32c | m32r | m32rle \ + | m5200 | m68000 | m680[012346]0 | m68360 | m683?2 | m68k \ + | m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x \ + | m88110 | m88k | maxq | mb | mcore | mep | metag \ + | microblaze | microblazeel \ + | mips | mipsbe | mipseb | mipsel | mipsle \ + | mips16 \ + | mips64 | mips64eb | mips64el \ + | mips64octeon | mips64octeonel \ + | mips64orion | mips64orionel \ + | mips64r5900 | mips64r5900el \ + | mips64vr | mips64vrel \ + | mips64vr4100 | mips64vr4100el \ + | mips64vr4300 | mips64vr4300el \ + | mips64vr5000 | mips64vr5000el \ + | mips64vr5900 | mips64vr5900el \ + | mipsisa32 | mipsisa32el \ + | mipsisa32r2 | mipsisa32r2el \ + | mipsisa32r3 | mipsisa32r3el \ + | mipsisa32r5 | mipsisa32r5el \ + | mipsisa32r6 | mipsisa32r6el \ + | mipsisa64 | mipsisa64el \ + | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64r3 | mipsisa64r3el \ + | mipsisa64r5 | mipsisa64r5el \ + | mipsisa64r6 | mipsisa64r6el \ + | mipsisa64sb1 | mipsisa64sb1el \ + | mipsisa64sr71k | mipsisa64sr71kel \ + | mipsr5900 | mipsr5900el \ + | mipstx39 | mipstx39el \ + | mmix \ + | mn10200 | mn10300 \ + | moxie \ + | mt \ + | msp430 \ + | nds32 | nds32le | nds32be \ + | nfp \ + | nios | nios2 | nios2eb | nios2el \ + | none | np1 | ns16k | ns32k | nvptx \ + | open8 \ + | or1k* \ + | or32 \ + | orion \ + | picochip \ + | pdp10 | pdp11 | pj | pjl | pn | power \ + | powerpc | powerpc64 | powerpc64le | powerpcle | powerpcspe \ + | pru \ + | pyramid \ + | riscv | riscv32 | riscv32be | riscv64 | riscv64be \ + | rl78 | romp | rs6000 | rx \ + | s390 | s390x \ + | score \ + | sh | shl \ + | sh[1234] | sh[24]a | sh[24]ae[lb] | sh[23]e | she[lb] | sh[lb]e \ + | sh[1234]e[lb] | sh[12345][lb]e | sh[23]ele | sh64 | sh64le \ + | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet \ + | sparclite \ + | sparcv8 | sparcv9 | sparcv9b | sparcv9v | sv1 | sx* \ + | spu \ + | tahoe \ + | thumbv7* \ + | tic30 | tic4x | tic54x | tic55x | tic6x | tic80 \ + | tron \ + | ubicom32 \ + | v70 | v850 | v850e | v850e1 | v850es | v850e2 | v850e2v3 \ + | vax \ + | visium \ + | w65 \ + | wasm32 | wasm64 \ + | we32k \ + | x86 | x86_64 | xc16x | xgate | xps100 \ + | xstormy16 | xtensa* \ + | ymp \ + | z8k | z80) + ;; + + *) + echo Invalid configuration \`"$1"\': machine \`"$cpu-$vendor"\' not recognized 1>&2 + exit 1 + ;; + esac ;; esac # Here we canonicalize certain aliases for manufacturers. -case $basic_machine in - *-digital*) - basic_machine=`echo "$basic_machine" | sed 's/digital.*/dec/'` +case $vendor in + digital*) + vendor=dec ;; - *-commodore*) - basic_machine=`echo "$basic_machine" | sed 's/commodore.*/cbm/'` + commodore*) + vendor=cbm ;; *) ;; @@ -1334,203 +1306,215 @@ esac # Decode manufacturer-specific aliases for certain operating systems. -if [ x"$os" != x"" ] +if test x$basic_os != x then + +# First recognize some ad-hoc cases, or perhaps split kernel-os, or else just +# set os. +case $basic_os in + gnu/linux*) + kernel=linux + os=`echo "$basic_os" | sed -e 's|gnu/linux|gnu|'` + ;; + os2-emx) + kernel=os2 + os=`echo "$basic_os" | sed -e 's|os2-emx|emx|'` + ;; + nto-qnx*) + kernel=nto + os=`echo "$basic_os" | sed -e 's|nto-qnx|qnx|'` + ;; + *-*) + # shellcheck disable=SC2162 + saved_IFS=$IFS + IFS="-" read kernel os <&2 - exit 1 + # No normalization, but not necessarily accepted, that comes below. ;; esac + else # Here we handle the default operating systems that come with various machines. @@ -1543,258 +1527,363 @@ else # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. -case $basic_machine in +kernel= +case $cpu-$vendor in score-*) - os=-elf + os=elf ;; spu-*) - os=-elf + os=elf ;; *-acorn) - os=-riscix1.2 + os=riscix1.2 ;; arm*-rebel) - os=-linux + kernel=linux + os=gnu ;; arm*-semi) - os=-aout + os=aout ;; c4x-* | tic4x-*) - os=-coff + os=coff ;; c8051-*) - os=-elf + os=elf + ;; + clipper-intergraph) + os=clix ;; hexagon-*) - os=-elf + os=elf ;; tic54x-*) - os=-coff + os=coff ;; tic55x-*) - os=-coff + os=coff ;; tic6x-*) - os=-coff + os=coff ;; # This must come before the *-dec entry. pdp10-*) - os=-tops20 + os=tops20 ;; pdp11-*) - os=-none + os=none ;; *-dec | vax-*) - os=-ultrix4.2 + os=ultrix4.2 ;; m68*-apollo) - os=-domain + os=domain ;; i386-sun) - os=-sunos4.0.2 + os=sunos4.0.2 ;; m68000-sun) - os=-sunos3 + os=sunos3 ;; m68*-cisco) - os=-aout + os=aout ;; mep-*) - os=-elf + os=elf ;; mips*-cisco) - os=-elf + os=elf ;; mips*-*) - os=-elf + os=elf ;; or32-*) - os=-coff + os=coff ;; *-tti) # must be before sparc entry or we get the wrong os. - os=-sysv3 + os=sysv3 ;; sparc-* | *-sun) - os=-sunos4.1.1 + os=sunos4.1.1 ;; pru-*) - os=-elf + os=elf ;; *-be) - os=-beos + os=beos ;; *-ibm) - os=-aix + os=aix ;; *-knuth) - os=-mmixware + os=mmixware ;; *-wec) - os=-proelf + os=proelf ;; *-winbond) - os=-proelf + os=proelf ;; *-oki) - os=-proelf + os=proelf ;; *-hp) - os=-hpux + os=hpux ;; *-hitachi) - os=-hiux + os=hiux ;; i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) - os=-sysv + os=sysv ;; *-cbm) - os=-amigaos + os=amigaos ;; *-dg) - os=-dgux + os=dgux ;; *-dolphin) - os=-sysv3 + os=sysv3 ;; m68k-ccur) - os=-rtu + os=rtu ;; m88k-omron*) - os=-luna + os=luna ;; *-next) - os=-nextstep + os=nextstep ;; *-sequent) - os=-ptx + os=ptx ;; *-crds) - os=-unos + os=unos ;; *-ns) - os=-genix + os=genix ;; i370-*) - os=-mvs + os=mvs ;; *-gould) - os=-sysv + os=sysv ;; *-highlevel) - os=-bsd + os=bsd ;; *-encore) - os=-bsd + os=bsd ;; *-sgi) - os=-irix + os=irix ;; *-siemens) - os=-sysv4 + os=sysv4 ;; *-masscomp) - os=-rtu + os=rtu ;; f30[01]-fujitsu | f700-fujitsu) - os=-uxpv + os=uxpv ;; *-rom68k) - os=-coff + os=coff ;; *-*bug) - os=-coff + os=coff ;; *-apple) - os=-macos + os=macos ;; *-atari*) - os=-mint + os=mint + ;; + *-wrs) + os=vxworks ;; *) - os=-none + os=none ;; esac + fi +# Now, validate our (potentially fixed-up) OS. +case $os in + # Sometimes we do "kernel-libc", so those need to count as OSes. + musl* | newlib* | relibc* | uclibc*) + ;; + # Likewise for "kernel-abi" + eabi* | gnueabi*) + ;; + # VxWorks passes extra cpu info in the 4th filed. + simlinux | simwindows | spe) + ;; + # Now accept the basic system types. + # The portable systems comes first. + # Each alternative MUST end in a * to match a version number. + gnu* | android* | bsd* | mach* | minix* | genix* | ultrix* | irix* \ + | *vms* | esix* | aix* | cnk* | sunos | sunos[34]* \ + | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \ + | sym* | plan9* | psp* | sim* | xray* | os68k* | v88r* \ + | hiux* | abug | nacl* | netware* | windows* \ + | os9* | macos* | osx* | ios* \ + | mpw* | magic* | mmixware* | mon960* | lnews* \ + | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \ + | aos* | aros* | cloudabi* | sortix* | twizzler* \ + | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \ + | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \ + | mirbsd* | netbsd* | dicos* | openedition* | ose* \ + | bitrig* | openbsd* | secbsd* | solidbsd* | libertybsd* | os108* \ + | ekkobsd* | freebsd* | riscix* | lynxos* | os400* \ + | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \ + | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \ + | udi* | lites* | ieee* | go32* | aux* | hcos* \ + | chorusrdb* | cegcc* | glidix* | serenity* \ + | cygwin* | msys* | pe* | moss* | proelf* | rtems* \ + | midipix* | mingw32* | mingw64* | mint* \ + | uxpv* | beos* | mpeix* | udk* | moxiebox* \ + | interix* | uwin* | mks* | rhapsody* | darwin* \ + | openstep* | oskit* | conix* | pw32* | nonstopux* \ + | storm-chaos* | tops10* | tenex* | tops20* | its* \ + | os2* | vos* | palmos* | uclinux* | nucleus* | morphos* \ + | scout* | superux* | sysv* | rtmk* | tpf* | windiss* \ + | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \ + | skyos* | haiku* | rdos* | toppers* | drops* | es* \ + | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ + | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \ + | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr* \ + | fiwix* ) + ;; + # This one is extra strict with allowed versions + sco3.2v2 | sco3.2v[4-9]* | sco5v6*) + # Don't forget version if it is 3.2v4 or newer. + ;; + none) + ;; + *) + echo Invalid configuration \`"$1"\': OS \`"$os"\' not recognized 1>&2 + exit 1 + ;; +esac + +# As a final step for OS-related things, validate the OS-kernel combination +# (given a valid OS), if there is a kernel. +case $kernel-$os in + linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* \ + | linux-musl* | linux-relibc* | linux-uclibc* ) + ;; + uclinux-uclibc* ) + ;; + -dietlibc* | -newlib* | -musl* | -relibc* | -uclibc* ) + # These are just libc implementations, not actual OSes, and thus + # require a kernel. + echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2 + exit 1 + ;; + kfreebsd*-gnu* | kopensolaris*-gnu*) + ;; + vxworks-simlinux | vxworks-simwindows | vxworks-spe) + ;; + nto-qnx*) + ;; + os2-emx) + ;; + *-eabi* | *-gnueabi*) + ;; + -*) + # Blank kernel with real OS is always fine. + ;; + *-*) + echo "Invalid configuration \`$1': Kernel \`$kernel' not known to work with OS \`$os'." 1>&2 + exit 1 + ;; +esac + # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. -vendor=unknown -case $basic_machine in - *-unknown) - case $os in - -riscix*) +case $vendor in + unknown) + case $cpu-$os in + *-riscix*) vendor=acorn ;; - -sunos*) + *-sunos*) vendor=sun ;; - -cnk*|-aix*) + *-cnk* | *-aix*) vendor=ibm ;; - -beos*) + *-beos*) vendor=be ;; - -hpux*) + *-hpux*) vendor=hp ;; - -mpeix*) + *-mpeix*) vendor=hp ;; - -hiux*) + *-hiux*) vendor=hitachi ;; - -unos*) + *-unos*) vendor=crds ;; - -dgux*) + *-dgux*) vendor=dg ;; - -luna*) + *-luna*) vendor=omron ;; - -genix*) + *-genix*) vendor=ns ;; - -mvs* | -opened*) + *-clix*) + vendor=intergraph + ;; + *-mvs* | *-opened*) + vendor=ibm + ;; + *-os400*) vendor=ibm ;; - -os400*) + s390-* | s390x-*) vendor=ibm ;; - -ptx*) + *-ptx*) vendor=sequent ;; - -tpf*) + *-tpf*) vendor=ibm ;; - -vxsim* | -vxworks* | -windiss*) + *-vxsim* | *-vxworks* | *-windiss*) vendor=wrs ;; - -aux*) + *-aux*) vendor=apple ;; - -hms*) + *-hms*) vendor=hitachi ;; - -mpw* | -macos*) + *-mpw* | *-macos*) vendor=apple ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + *-*mint | *-mint[0-9]* | *-*MiNT | *-MiNT[0-9]*) vendor=atari ;; - -vos*) + *-vos*) vendor=stratus ;; esac - basic_machine=`echo "$basic_machine" | sed "s/unknown/$vendor/"` ;; esac -echo "$basic_machine$os" +echo "$cpu-$vendor-${kernel:+$kernel-}$os" exit # Local variables: -# eval: (add-hook 'write-file-functions 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" diff --git a/configure b/configure index fe2d81a..578719c 100755 --- a/configure +++ b/configure @@ -1,11 +1,12 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for dnscap 2.1.3. +# Generated by GNU Autoconf 2.71 for dnscap 2.2.0. # # Report bugs to . # # -# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation, +# Inc. # # # This configure script is free software; the Free Software Foundation @@ -16,14 +17,16 @@ # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : +as_nop=: +if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 +then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST -else +else $as_nop case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( @@ -33,46 +36,46 @@ esac fi + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. as_nl=' ' export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi # The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then +if ${PATH_SEPARATOR+false} :; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || @@ -81,13 +84,6 @@ if test "${PATH_SEPARATOR+set}" != set; then fi -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( @@ -96,8 +92,12 @@ case $0 in #(( for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + test -r "$as_dir$0" && as_myself=$as_dir$0 && break done IFS=$as_save_IFS @@ -109,30 +109,10 @@ if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH # Use a proper internal environment variable to ensure we don't fall # into an infinite loop, continuously re-executing ourselves. @@ -154,20 +134,22 @@ esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -as_fn_exit 255 +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 fi # We don't want this to propagate to other subprocesses. { _as_can_reexec=; unset _as_can_reexec;} if test "x$CONFIG_SHELL" = x; then - as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : + as_bourne_compatible="as_nop=: +if test \${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 +then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST -else +else \$as_nop case \`(set -o) 2>/dev/null\` in #( *posix*) : set -o posix ;; #( @@ -187,12 +169,15 @@ as_fn_success || { exitcode=1; echo as_fn_success failed.; } as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } -if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : +if ( set x; as_fn_ret_success y && test x = \"\$1\" ) +then : -else +else \$as_nop exitcode=1; echo positional parameters were not saved. fi test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || exit 1 test -x / || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO @@ -207,30 +192,38 @@ test -x / || exit 1" test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\ || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1 test \$(( 1 + 1 )) = 2 || exit 1" - if (eval "$as_required") 2>/dev/null; then : + if (eval "$as_required") 2>/dev/null +then : as_have_required=yes -else +else $as_nop as_have_required=no fi - if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : -else +else $as_nop as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac as_found=: case $as_dir in #( /*) for as_base in sh bash ksh sh5; do # Try only shells that exist, to save several forks. - as_shell=$as_dir/$as_base + as_shell=$as_dir$as_base if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : + as_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : CONFIG_SHELL=$as_shell as_have_required=yes - if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : break 2 fi fi @@ -238,14 +231,21 @@ fi esac as_found=false done -$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : - CONFIG_SHELL=$SHELL as_have_required=yes -fi; } IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi - if test "x$CONFIG_SHELL" != x; then : + if test "x$CONFIG_SHELL" != x +then : export CONFIG_SHELL # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also @@ -263,18 +263,19 @@ esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 exit 255 fi - if test x$as_have_required = xno; then : - $as_echo "$0: This script requires a shell more modern than all" - $as_echo "$0: the shells that I found on your system." - if test x${ZSH_VERSION+set} = xset ; then - $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" - $as_echo "$0: be upgraded to zsh 4.3.4 or later." + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." else - $as_echo "$0: Please tell bug-autoconf@gnu.org and + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org and $0: dnscap-users@dns-oarc.net about your system, including $0: any error possibly output before this message. Then $0: install a modern shell, or manually run the script @@ -302,6 +303,7 @@ as_fn_unset () } as_unset=as_fn_unset + # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. @@ -319,6 +321,14 @@ as_fn_exit () as_fn_set_status $1 exit $1 } # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop # as_fn_mkdir_p # ------------- @@ -333,7 +343,7 @@ as_fn_mkdir_p () as_dirs= while :; do case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" @@ -342,7 +352,7 @@ $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | +printf "%s\n" X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q @@ -381,12 +391,13 @@ as_fn_executable_p () # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null +then : eval 'as_fn_append () { eval $1+=\$2 }' -else +else $as_nop as_fn_append () { eval $1=\$$1\$2 @@ -398,18 +409,27 @@ fi # as_fn_append # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null +then : eval 'as_fn_arith () { as_val=$(( $* )) }' -else +else $as_nop as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- @@ -421,9 +441,9 @@ as_fn_error () as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi - $as_echo "$as_me: error: $2" >&2 + printf "%s\n" "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error @@ -450,7 +470,7 @@ as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | +printf "%s\n" X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q @@ -494,7 +514,7 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } + { printf "%s\n" "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } # If we had to re-execute with $CONFIG_SHELL, we're ensured to have # already done that, so ensure we don't try to do so again and fall @@ -508,6 +528,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits exit } + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) @@ -521,6 +545,13 @@ case `echo -n x` in #((((( ECHO_N='-n';; esac +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file @@ -590,48 +621,44 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='dnscap' PACKAGE_TARNAME='dnscap' -PACKAGE_VERSION='2.1.3' -PACKAGE_STRING='dnscap 2.1.3' +PACKAGE_VERSION='2.2.0' +PACKAGE_STRING='dnscap 2.2.0' PACKAGE_BUGREPORT='dnscap-users@dns-oarc.net' PACKAGE_URL='https://github.com/DNS-OARC/dnscap/issues' ac_unique_file="src/dnscap.c" # Factoring default headers for most tests. ac_includes_default="\ -#include -#ifdef HAVE_SYS_TYPES_H -# include +#include +#ifdef HAVE_STDIO_H +# include #endif -#ifdef HAVE_SYS_STAT_H -# include -#endif -#ifdef STDC_HEADERS +#ifdef HAVE_STDLIB_H # include -# include -#else -# ifdef HAVE_STDLIB_H -# include -# endif #endif #ifdef HAVE_STRING_H -# if !defined STDC_HEADERS && defined HAVE_MEMORY_H -# include -# endif # include #endif -#ifdef HAVE_STRINGS_H -# include -#endif #ifdef HAVE_INTTYPES_H # include #endif #ifdef HAVE_STDINT_H # include #endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif #ifdef HAVE_UNISTD_H # include #endif" +ac_header_c_list= ac_subst_vars='am__EXEEXT_FALSE am__EXEEXT_TRUE LTLIBOBJS @@ -703,6 +730,9 @@ AM_BACKSLASH AM_DEFAULT_VERBOSITY AM_DEFAULT_V AM_V +CSCOPE +ETAGS +CTAGS am__untar am__tar AMTAR @@ -871,8 +901,6 @@ do *) ac_optarg=yes ;; esac - # Accept the important Cygnus configure options, so we can diagnose typos. - case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; @@ -913,9 +941,9 @@ do ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" + as_fn_error $? "invalid feature name: \`$ac_useropt'" ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" @@ -939,9 +967,9 @@ do ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" + as_fn_error $? "invalid feature name: \`$ac_useropt'" ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" @@ -1152,9 +1180,9 @@ do ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" + as_fn_error $? "invalid package name: \`$ac_useropt'" ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" @@ -1168,9 +1196,9 @@ do ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" + as_fn_error $? "invalid package name: \`$ac_useropt'" ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" @@ -1214,9 +1242,9 @@ Try \`$0 --help' for more information" *) # FIXME: should be removed in autoconf 3.0. - $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + printf "%s\n" "$as_me: WARNING: invalid host type: $ac_option" >&2 : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ;; @@ -1232,7 +1260,7 @@ if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; - *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; + *) printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi @@ -1296,7 +1324,7 @@ $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_myself" : 'X\(//\)[^/]' \| \ X"$as_myself" : 'X\(//\)$' \| \ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_myself" | +printf "%s\n" X"$as_myself" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q @@ -1353,7 +1381,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures dnscap 2.1.3 to adapt to many kinds of systems. +\`configure' configures dnscap 2.2.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1424,7 +1452,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of dnscap 2.1.3:";; + short | recursive ) echo "Configuration of dnscap 2.2.0:";; esac cat <<\_ACEOF @@ -1509,9 +1537,9 @@ if test "$ac_init_help" = "recursive"; then case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; @@ -1539,7 +1567,8 @@ esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } - # Check for guested configure. + # Check for configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive @@ -1547,7 +1576,7 @@ ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix echo && $SHELL "$ac_srcdir/configure" --help=recursive else - $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + printf "%s\n" "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done @@ -1556,10 +1585,10 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -dnscap configure 2.1.3 -generated by GNU Autoconf 2.69 +dnscap configure 2.2.0 +generated by GNU Autoconf 2.71 -Copyright (C) 2012 Free Software Foundation, Inc. +Copyright (C) 2021 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF @@ -1576,14 +1605,14 @@ fi ac_fn_c_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext + rm -f conftest.$ac_objext conftest.beam if { { ac_try="$ac_compile" 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 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then @@ -1591,14 +1620,15 @@ $as_echo "$ac_try_echo"; } >&5 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest.$ac_objext; then : + } && test -s conftest.$ac_objext +then : ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 +else $as_nop + printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 @@ -1614,14 +1644,14 @@ fi ac_fn_c_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext + rm -f conftest.$ac_objext conftest.beam conftest$ac_exeext 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 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_link") 2>conftest.err ac_status=$? if test -s conftest.err; then @@ -1629,17 +1659,18 @@ $as_echo "$ac_try_echo"; } >&5 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || test -x conftest$ac_exeext - }; then : + } +then : ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 +else $as_nop + printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 @@ -1661,120 +1692,44 @@ fi ac_fn_c_check_header_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : eval "$3=yes" -else +else $as_nop eval "$3=no" fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_compile -# ac_fn_c_try_cpp LINENO -# ---------------------- -# Try to preprocess conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_cpp () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_cpp conftest.$ac_ext" -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_cpp conftest.$ac_ext") 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; } > conftest.i && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_cpp - -# ac_fn_c_try_run LINENO -# ---------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes -# that executables *can* be run. -ac_fn_c_try_run () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - 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>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' - { { 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_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then : - ac_retval=0 -else - $as_echo "$as_me: program exited with status $ac_status" >&5 - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=$ac_status -fi - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_run - # ac_fn_c_check_func LINENO FUNC VAR # ---------------------------------- # Tests whether FUNC exists, setting the cache variable VAR accordingly ac_fn_c_check_func () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Define $2 to an innocuous variant, in case declares $2. @@ -1782,16 +1737,9 @@ else #define $2 innocuous_$2 /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $2 (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif + which can conflict with char $2 (); below. */ +#include #undef $2 /* Override any GCC internal prototype to avoid an error. @@ -1809,118 +1757,66 @@ choke me #endif int -main () +main (void) { return $2 (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : eval "$3=yes" -else +else $as_nop eval "$3=no" fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext fi eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_func -# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES -# ------------------------------------------------------- -# Tests whether HEADER exists, giving a warning if it cannot be compiled using -# the include files in INCLUDES and setting the cache variable VAR -# accordingly. -ac_fn_c_check_header_mongrel () +# ac_fn_c_try_cpp LINENO +# ---------------------- +# Try to preprocess conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_cpp () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if eval \${$3+:} false; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 -$as_echo_n "checking $2 usability... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -#include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_header_compiler=yes -else - ac_header_compiler=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 -$as_echo_n "checking $2 presence... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <$2> -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - ac_header_preproc=yes -else - ac_header_preproc=no -fi -rm -f conftest.err conftest.i conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( - yes:no: ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} - ;; - no:yes:* ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} -( $as_echo "## ---------------------------------------- ## -## Report this to dnscap-users@dns-oarc.net ## -## ---------------------------------------- ##" - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; + if { { ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - eval "$3=\$ac_header_compiler" -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_cpp conftest.$ac_ext") 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 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } > conftest.i && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + } +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval -} # ac_fn_c_check_header_mongrel +} # ac_fn_c_try_cpp # ac_fn_c_check_type LINENO TYPE VAR INCLUDES # ------------------------------------------- @@ -1929,17 +1825,18 @@ fi ac_fn_c_check_type () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop eval "$3=no" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int -main () +main (void) { if (sizeof ($2)) return 0; @@ -1947,12 +1844,13 @@ if (sizeof ($2)) return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int -main () +main (void) { if (sizeof (($2))) return 0; @@ -1960,29 +1858,50 @@ if (sizeof (($2))) return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : -else +else $as_nop eval "$3=yes" fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_type +ac_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by dnscap $as_me 2.1.3, which was -generated by GNU Autoconf 2.69. Invocation command line was +It was created by dnscap $as_me 2.2.0, which was +generated by GNU Autoconf 2.71. Invocation command line was - $ $0 $@ + $ $0$ac_configure_args_raw _ACEOF exec 5>>config.log @@ -2015,8 +1934,12 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - $as_echo "PATH: $as_dir" + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "PATH: $as_dir" done IFS=$as_save_IFS @@ -2051,7 +1974,7 @@ do | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) - ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; @@ -2086,11 +2009,13 @@ done # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? + # Sanitize IFS. + IFS=" "" $as_nl" # Save into config.log some information that might help in debugging. { echo - $as_echo "## ---------------- ## + printf "%s\n" "## ---------------- ## ## Cache variables. ## ## ---------------- ##" echo @@ -2101,8 +2026,8 @@ trap 'exit_status=$? case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( @@ -2126,7 +2051,7 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; ) echo - $as_echo "## ----------------- ## + printf "%s\n" "## ----------------- ## ## Output variables. ## ## ----------------- ##" echo @@ -2134,14 +2059,14 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; do eval ac_val=\$$ac_var case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac - $as_echo "$ac_var='\''$ac_val'\''" + printf "%s\n" "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then - $as_echo "## ------------------- ## + printf "%s\n" "## ------------------- ## ## File substitutions. ## ## ------------------- ##" echo @@ -2149,15 +2074,15 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; do eval ac_val=\$$ac_var case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac - $as_echo "$ac_var='\''$ac_val'\''" + printf "%s\n" "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then - $as_echo "## ----------- ## + printf "%s\n" "## ----------- ## ## confdefs.h. ## ## ----------- ##" echo @@ -2165,8 +2090,8 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; echo fi test "$ac_signal" != 0 && - $as_echo "$as_me: caught signal $ac_signal" - $as_echo "$as_me: exit $exit_status" + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && @@ -2180,63 +2105,48 @@ ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h -$as_echo "/* confdefs.h */" > confdefs.h +printf "%s\n" "/* confdefs.h */" > confdefs.h # Predefined preprocessor variables. -cat >>confdefs.h <<_ACEOF -#define PACKAGE_NAME "$PACKAGE_NAME" -_ACEOF +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h -cat >>confdefs.h <<_ACEOF -#define PACKAGE_TARNAME "$PACKAGE_TARNAME" -_ACEOF +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h -cat >>confdefs.h <<_ACEOF -#define PACKAGE_VERSION "$PACKAGE_VERSION" -_ACEOF +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h -cat >>confdefs.h <<_ACEOF -#define PACKAGE_STRING "$PACKAGE_STRING" -_ACEOF +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h -cat >>confdefs.h <<_ACEOF -#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" -_ACEOF +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h -cat >>confdefs.h <<_ACEOF -#define PACKAGE_URL "$PACKAGE_URL" -_ACEOF +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. -ac_site_file1=NONE -ac_site_file2=NONE if test -n "$CONFIG_SITE"; then - # We do not want a PATH search for config.site. - case $CONFIG_SITE in #(( - -*) ac_site_file1=./$CONFIG_SITE;; - */*) ac_site_file1=$CONFIG_SITE;; - *) ac_site_file1=./$CONFIG_SITE;; - esac + ac_site_files="$CONFIG_SITE" elif test "x$prefix" != xNONE; then - ac_site_file1=$prefix/share/config.site - ac_site_file2=$prefix/etc/config.site + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" else - ac_site_file1=$ac_default_prefix/share/config.site - ac_site_file2=$ac_default_prefix/etc/config.site + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" fi -for ac_site_file in "$ac_site_file1" "$ac_site_file2" + +for ac_site_file in $ac_site_files do - test "x$ac_site_file" = xNONE && continue - if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 -$as_echo "$as_me: loading site script $ac_site_file" >&6;} + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" \ - || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "failed to load site script $ac_site_file See \`config.log' for more details" "$LINENO" 5; } fi @@ -2246,119 +2156,509 @@ if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special files # actually), so we avoid doing that. DJGPP emulates it as a regular file. if test /dev/null != "$cache_file" && test -f "$cache_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 -$as_echo "$as_me: loading cache $cache_file" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else - { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 -$as_echo "$as_me: creating cache $cache_file" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} >$cache_file fi -# Check that the precious variables saved in the cache have kept the same -# value. -ac_cache_corrupted=false -for ac_var in $ac_precious_vars; do - eval ac_old_set=\$ac_cv_env_${ac_var}_set - eval ac_new_set=\$ac_env_${ac_var}_set - eval ac_old_val=\$ac_cv_env_${ac_var}_value - eval ac_new_val=\$ac_env_${ac_var}_value - case $ac_old_set,$ac_new_set in - set,) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,set) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,);; - *) - if test "x$ac_old_val" != "x$ac_new_val"; then - # differences in whitespace do not lead to failure. - ac_old_val_w=`echo x $ac_old_val` - ac_new_val_w=`echo x $ac_new_val` - if test "$ac_old_val_w" != "$ac_new_val_w"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 -$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - ac_cache_corrupted=: - else - { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 -$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} - eval $ac_var=\$ac_old_val - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 -$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 -$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} - fi;; - esac - # Pass precious variables to config.status. - if test "$ac_new_set" = set; then - case $ac_new_val in - *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; - *) ac_arg=$ac_var=$ac_new_val ;; - esac - case " $ac_configure_args " in - *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. - *) as_fn_append ac_configure_args " '$ac_arg'" ;; - esac - fi -done -if $ac_cache_corrupted; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 -$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} - as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 -fi -## -------------------- ## -## Main body of script. ## -## -------------------- ## +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not \xHH hex character constants. + These do not provoke an error unfortunately, instead are silently treated + as an "x". The following induces an error, until -std is added to get + proper ANSI mode. Curiously \x00 != x always comes out true, for an + array size at least. It is necessary to write \x00 == 0 to get something + that is true only with -std. */ +int osf4_cc_array ['\''\x00'\'' == 0 ? 1 : -1]; -am__api_version='1.16' +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) '\''x'\'' +int xlc6_cc_array[FOO(a) == '\''x'\'' ? 1 : -1]; -ac_aux_dir= -for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do - if test -f "$ac_dir/install-sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f "$ac_dir/install.sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - elif test -f "$ac_dir/shtool"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/shtool install -c" +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + +as_fn_append ac_header_c_list " stdio.h stdio_h HAVE_STDIO_H" +as_fn_append ac_header_c_list " stdlib.h stdlib_h HAVE_STDLIB_H" +as_fn_append ac_header_c_list " string.h string_h HAVE_STRING_H" +as_fn_append ac_header_c_list " inttypes.h inttypes_h HAVE_INTTYPES_H" +as_fn_append ac_header_c_list " stdint.h stdint_h HAVE_STDINT_H" +as_fn_append ac_header_c_list " strings.h strings_h HAVE_STRINGS_H" +as_fn_append ac_header_c_list " sys/stat.h sys_stat_h HAVE_SYS_STAT_H" +as_fn_append ac_header_c_list " sys/types.h sys_types_h HAVE_SYS_TYPES_H" +as_fn_append ac_header_c_list " unistd.h unistd_h HAVE_UNISTD_H" +as_fn_append ac_header_c_list " sys/time.h sys_time_h HAVE_SYS_TIME_H" + +# Auxiliary files required by this configure script. +ac_aux_files="ltmain.sh ar-lib config.guess config.sub compile missing install-sh" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}${PATH_SEPARATOR}${srcdir}/..${PATH_SEPARATOR}${srcdir}/../.." + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" break fi + ac_first_candidate=false + + as_found=false done -if test -z "$ac_aux_dir"; then - as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$LINENO" 5 fi + # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. -ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. -ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. -ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + # differences in whitespace do not lead to failure. + ac_old_val_w=`echo x $ac_old_val` + ac_new_val_w=`echo x $ac_new_val` + if test "$ac_old_val_w" != "$ac_new_val_w"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$as_me: current value: \`$ac_new_val'" >&2;} + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`printf "%s\n" "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) as_fn_append ac_configure_args " '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-make} distclean' and/or \`rm $cache_file' + and start over" "$LINENO" 5 +fi +## -------------------- ## +## Main body of script. ## +## -------------------- ## + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +am__api_version='1.16' -# Find a good install program. We prefer a C program (faster), + + # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install @@ -2372,20 +2672,25 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. # Reject install programs that cannot install multiple files. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 -$as_echo_n "checking for a BSD-compatible install... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 +printf %s "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then -if ${ac_cv_path_install+:} false; then : - $as_echo_n "(cached) " >&6 -else +if test ${ac_cv_path_install+y} +then : + printf %s "(cached) " >&6 +else $as_nop as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - # Account for people who put trailing slashes in PATH elements. -case $as_dir/ in #(( - ./ | .// | /[cC]/* | \ + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + # Account for fact that we put trailing slashes in our PATH walk. +case $as_dir in #(( + ./ | /[cC]/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ /usr/ucb/* ) ;; @@ -2395,13 +2700,13 @@ case $as_dir/ in #(( # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_prog$ac_exec_ext"; then if test $ac_prog = install && - grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + grep dspmsg "$as_dir$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && - grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + grep pwplus "$as_dir$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else @@ -2409,12 +2714,12 @@ case $as_dir/ in #(( echo one > conftest.one echo two > conftest.two mkdir conftest.dir - if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && + if "$as_dir$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir/" && test -s conftest.one && test -s conftest.two && test -s conftest.dir/conftest.one && test -s conftest.dir/conftest.two then - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + ac_cv_path_install="$as_dir$ac_prog$ac_exec_ext -c" break 3 fi fi @@ -2430,7 +2735,7 @@ IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir fi - if test "${ac_cv_path_install+set}" = set; then + if test ${ac_cv_path_install+y}; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a @@ -2440,8 +2745,8 @@ fi INSTALL=$ac_install_sh fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 -$as_echo "$INSTALL" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 +printf "%s\n" "$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. @@ -2451,8 +2756,8 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 -$as_echo_n "checking whether build environment is sane... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 +printf %s "checking whether build environment is sane... " >&6; } # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' @@ -2506,8 +2811,8 @@ else as_fn_error $? "newly created file is older than distributed files! Check your system clock" "$LINENO" 5 fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } # If we didn't sleep, we still need to ensure time stamps of config.status and # generated files are strictly newer. am_sleep_pid= @@ -2526,26 +2831,23 @@ test "$program_suffix" != NONE && # Double any \ or $. # By default was `s,x,x', remove it if useless. ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' -program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` +program_transform_name=`printf "%s\n" "$program_transform_name" | sed "$ac_script"` + # Expand $ac_aux_dir to an absolute path. am_aux_dir=`cd "$ac_aux_dir" && pwd` -if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac + + if test x"${MISSING+set}" != xset; then + MISSING="\${SHELL} '$am_aux_dir/missing'" fi # Use eval to expand $SHELL if eval "$MISSING --is-lightweight"; then am_missing_run="$MISSING " else am_missing_run= - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 -$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 +printf "%s\n" "$as_me: WARNING: 'missing' script is too old or missing" >&2;} fi if test x"${install_sh+set}" != xset; then @@ -2565,11 +2867,12 @@ if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_STRIP+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else @@ -2577,11 +2880,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -2592,11 +2899,11 @@ fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +printf "%s\n" "$STRIP" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -2605,11 +2912,12 @@ if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_STRIP+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else @@ -2617,11 +2925,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -2632,11 +2944,11 @@ fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +printf "%s\n" "$ac_ct_STRIP" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then @@ -2644,8 +2956,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP @@ -2657,25 +2969,31 @@ fi fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 -$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a race-free mkdir -p" >&5 +printf %s "checking for a race-free mkdir -p... " >&6; } if test -z "$MKDIR_P"; then - if ${ac_cv_path_mkdir+:} false; then : - $as_echo_n "(cached) " >&6 -else + if test ${ac_cv_path_mkdir+y} +then : + printf %s "(cached) " >&6 +else $as_nop as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do - as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue - case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( - 'mkdir (GNU coreutils) '* | \ - 'mkdir (coreutils) '* | \ + as_fn_executable_p "$as_dir$ac_prog$ac_exec_ext" || continue + case `"$as_dir$ac_prog$ac_exec_ext" --version 2>&1` in #( + 'mkdir ('*'coreutils) '* | \ + 'BusyBox '* | \ 'mkdir (fileutils) '4.1*) - ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext + ac_cv_path_mkdir=$as_dir$ac_prog$ac_exec_ext break 3;; esac done @@ -2686,7 +3004,7 @@ IFS=$as_save_IFS fi test -d ./--version && rmdir ./--version - if test "${ac_cv_path_mkdir+set}" = set; then + if test ${ac_cv_path_mkdir+y}; then MKDIR_P="$ac_cv_path_mkdir -p" else # As a last resort, use the slow shell script. Don't cache a @@ -2696,18 +3014,19 @@ fi MKDIR_P="$ac_install_sh -d" fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 -$as_echo "$MKDIR_P" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 +printf "%s\n" "$MKDIR_P" >&6; } for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AWK+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AWK+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else @@ -2715,11 +3034,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_AWK="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -2730,24 +3053,25 @@ fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 -$as_echo "$AWK" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 +printf "%s\n" "$AWK" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi test -n "$AWK" && break done -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +printf %s "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} -ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : - $as_echo_n "(cached) " >&6 -else +ac_make=`printf "%s\n" "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +if eval test \${ac_cv_prog_make_${ac_make}_set+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @@ -2763,12 +3087,12 @@ esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } SET_MAKE= else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi @@ -2782,7 +3106,8 @@ fi rmdir .tst 2>/dev/null # Check whether --enable-silent-rules was given. -if test "${enable_silent_rules+set}" = set; then : +if test ${enable_silent_rules+y} +then : enableval=$enable_silent_rules; fi @@ -2792,12 +3117,13 @@ case $enable_silent_rules in # ((( *) AM_DEFAULT_VERBOSITY=1;; esac am_make=${MAKE-make} -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 -$as_echo_n "checking whether $am_make supports nested variables... " >&6; } -if ${am_cv_make_support_nested_variables+:} false; then : - $as_echo_n "(cached) " >&6 -else - if $as_echo 'TRUE=$(BAR$(V)) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 +printf %s "checking whether $am_make supports nested variables... " >&6; } +if test ${am_cv_make_support_nested_variables+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if printf "%s\n" 'TRUE=$(BAR$(V)) BAR0=false BAR1=true V=1 @@ -2809,8 +3135,8 @@ else am_cv_make_support_nested_variables=no fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 -$as_echo "$am_cv_make_support_nested_variables" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 +printf "%s\n" "$am_cv_make_support_nested_variables" >&6; } if test $am_cv_make_support_nested_variables = yes; then AM_V='$(V)' AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' @@ -2842,17 +3168,13 @@ fi # Define the identity of the package. PACKAGE='dnscap' - VERSION='2.1.3' + VERSION='2.2.0' -cat >>confdefs.h <<_ACEOF -#define PACKAGE "$PACKAGE" -_ACEOF +printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h -cat >>confdefs.h <<_ACEOF -#define VERSION "$VERSION" -_ACEOF +printf "%s\n" "#define VERSION \"$VERSION\"" >>confdefs.h # Some tools Automake needs. @@ -2892,6 +3214,20 @@ am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' +# Variables for tags utilities; see am/tags.am +if test -z "$CTAGS"; then + CTAGS=ctags +fi + +if test -z "$ETAGS"; then + ETAGS=etags +fi + +if test -z "$CSCOPE"; then + CSCOPE=cscope +fi + + # POSIX will say in a future version that running "rm -f" with no argument # is OK; and we want to be able to make that assumption in our Makefile @@ -2941,6 +3277,15 @@ ac_config_headers="$ac_config_headers src/config.h" # Checks for programs. + + + + + + + + + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -2949,11 +3294,12 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else @@ -2961,11 +3307,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -2976,11 +3326,11 @@ fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -2989,11 +3339,12 @@ if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else @@ -3001,11 +3352,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -3016,11 +3371,11 @@ fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test "x$ac_ct_CC" = x; then @@ -3028,8 +3383,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC @@ -3042,11 +3397,12 @@ if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else @@ -3054,11 +3410,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -3069,11 +3429,11 @@ fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -3082,11 +3442,12 @@ fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else @@ -3095,15 +3456,19 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + if test "$as_dir$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -3119,18 +3484,18 @@ if test $ac_prog_rejected = yes; then # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift - ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + ac_cv_prog_CC="$as_dir$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -3141,11 +3506,12 @@ if test -z "$CC"; then do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else @@ -3153,11 +3519,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -3168,11 +3538,11 @@ fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -3185,11 +3555,12 @@ if test -z "$CC"; then do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else @@ -3197,11 +3568,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -3212,11 +3587,11 @@ fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -3228,8 +3603,8 @@ done else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC @@ -3237,25 +3612,129 @@ esac fi fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}clang", so it can be a program name with args. +set dummy ${ac_tool_prefix}clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}clang" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi -test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="clang" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 +printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 -for ac_option in --version -v -V -qversion; do +for ac_option in --version -v -V -qversion -version; do { { ac_try="$ac_compiler $ac_option >&5" 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 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then @@ -3265,7 +3744,7 @@ $as_echo "$ac_try_echo"; } >&5 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done @@ -3273,7 +3752,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; @@ -3285,9 +3764,9 @@ ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 -$as_echo_n "checking whether the C compiler works... " >&6; } -ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +printf %s "checking whether the C compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # The possible output files: ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" @@ -3308,11 +3787,12 @@ case "(($ac_try" in *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_link_default") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +then : # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, @@ -3329,7 +3809,7 @@ do # certainly right. break;; *.* ) - if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + if test ${ac_cv_exeext+y} && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi @@ -3345,44 +3825,46 @@ do done test "$ac_cv_exeext" = no && ac_cv_exeext= -else +else $as_nop ac_file='' fi -if test -z "$ac_file"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -$as_echo "$as_me: failed program was:" >&5 +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "C compiler cannot create executables See \`config.log' for more details" "$LINENO" 5; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 -$as_echo_n "checking for C compiler default output file name... " >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 -$as_echo "$ac_file" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +printf %s "checking for C compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$ac_file" >&6; } ac_exeext=$ac_cv_exeext rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 -$as_echo_n "checking for suffix of executables... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "checking for suffix of executables... " >&6; } 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 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +then : # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with @@ -3396,15 +3878,15 @@ for ac_file in conftest.exe conftest conftest.*; do * ) break;; esac done -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +else $as_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of executables: cannot compile and link See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest conftest$ac_cv_exeext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 -$as_echo "$ac_cv_exeext" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext @@ -3413,7 +3895,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int -main () +main (void) { FILE *f = fopen ("conftest.out", "w"); return ferror (f) || fclose (f) != 0; @@ -3425,8 +3907,8 @@ _ACEOF ac_clean_files="$ac_clean_files conftest.out" # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 -$as_echo_n "checking whether we are cross compiling... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "checking whether we are cross compiling... " >&6; } if test "$cross_compiling" != yes; then { { ac_try="$ac_link" case "(($ac_try" in @@ -3434,10 +3916,10 @@ case "(($ac_try" in *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if { ac_try='./conftest$ac_cv_exeext' { { case "(($ac_try" in @@ -3445,39 +3927,40 @@ $as_echo "$ac_try_echo"; } >&5 *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run C compiled programs. + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details" "$LINENO" 5; } fi fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 -$as_echo "$cross_compiling" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 -$as_echo_n "checking for suffix of object files... " >&6; } -if ${ac_cv_objext+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; @@ -3491,11 +3974,12 @@ case "(($ac_try" in *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +then : for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in @@ -3504,31 +3988,32 @@ $as_echo "$ac_try_echo"; } >&5 break;; esac done -else - $as_echo "$as_me: failed program was:" >&5 +else $as_nop + printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of object files: cannot compile See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 -$as_echo "$ac_cv_objext" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 -$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if ${ac_cv_c_compiler_gnu+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { #ifndef __GNUC__ choke me @@ -3538,29 +4023,33 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : ac_compiler_gnu=yes -else +else $as_nop ac_compiler_gnu=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 -$as_echo "$ac_cv_c_compiler_gnu" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi -ac_test_CFLAGS=${CFLAGS+set} +ac_test_CFLAGS=${CFLAGS+y} ac_save_CFLAGS=$CFLAGS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 -$as_echo_n "checking whether $CC accepts -g... " >&6; } -if ${ac_cv_prog_cc_g+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no @@ -3569,57 +4058,60 @@ else /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : ac_cv_prog_cc_g=yes -else +else $as_nop CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : -else +else $as_nop ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : ac_cv_prog_cc_g=yes fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 -$as_echo "$ac_cv_prog_cc_g" >&6; } -if test "$ac_test_CFLAGS" = set; then +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then @@ -3634,94 +4126,144 @@ else CFLAGS= fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 -$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if ${ac_cv_prog_cc_c89+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_prog_cc_c89=no +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#include -struct stat; -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} - -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std is added to get - proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an - array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std. */ -int osf4_cc_array ['\x00' == 0 ? 1 : -1]; +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi -/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters - inside strings and character constants. */ -#define FOO(x) 'x' -int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main () -{ -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; - ; - return 0; -} +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program _ACEOF -for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ - -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO"; then : + if ac_fn_c_try_compile "$LINENO" +then : ac_cv_prog_cc_c89=$ac_arg fi -rm -f core conftest.err conftest.$ac_objext +rm -f core conftest.err conftest.$ac_objext conftest.beam test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC - fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c89" in - x) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 -$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; -esac -if test "x$ac_cv_prog_cc_c89" != xno; then : +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +fi fi ac_ext=c @@ -3730,21 +4272,23 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -ac_ext=c + + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 -$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } -if ${am_cv_prog_cc_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 +printf %s "checking whether $CC understands -c and -o together... " >&6; } +if test ${am_cv_prog_cc_c_o+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; @@ -3772,8 +4316,8 @@ _ACEOF rm -f core conftest* unset am_i fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 -$as_echo "$am_cv_prog_cc_c_o" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 +printf "%s\n" "$am_cv_prog_cc_c_o" >&6; } if test "$am_cv_prog_cc_c_o" != yes; then # Losing compiler, so override with the script. # FIXME: It is wrong to rewrite CC. @@ -3792,8 +4336,8 @@ DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5 -$as_echo_n "checking whether ${MAKE-make} supports the include directive... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5 +printf %s "checking whether ${MAKE-make} supports the include directive... " >&6; } cat > confinc.mk << 'END' am__doit: @echo this is the am__doit target >confinc.out @@ -3829,11 +4373,12 @@ esac fi done rm -f confinc.* confmf.* -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5 -$as_echo "${_am_result}" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5 +printf "%s\n" "${_am_result}" >&6; } # Check whether --enable-dependency-tracking was given. -if test "${enable_dependency_tracking+set}" = set; then : +if test ${enable_dependency_tracking+y} +then : enableval=$enable_dependency_tracking; fi @@ -3854,11 +4399,12 @@ fi depcc="$CC" am_compiler_list= -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if ${am_cv_CC_dependencies_compiler_type+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 +printf %s "checking dependency style of $depcc... " >&6; } +if test ${am_cv_CC_dependencies_compiler_type+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For @@ -3965,8 +4511,8 @@ else fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 -$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 +printf "%s\n" "$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if @@ -3981,26 +4527,29 @@ fi -# Make sure we can run config.sub. -$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || - as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 -$as_echo_n "checking build system type... " >&6; } -if ${ac_cv_build+:} false; then : - $as_echo_n "(cached) " >&6 -else + + # Make sure we can run config.sub. +$SHELL "${ac_aux_dir}config.sub" sun4 >/dev/null 2>&1 || + as_fn_error $? "cannot run $SHELL ${ac_aux_dir}config.sub" "$LINENO" 5 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_build_alias=$build_alias test "x$ac_build_alias" = x && - ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` + ac_build_alias=`$SHELL "${ac_aux_dir}config.guess"` test "x$ac_build_alias" = x && as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 -ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 +ac_cv_build=`$SHELL "${ac_aux_dir}config.sub" $ac_build_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $ac_build_alias failed" "$LINENO" 5 fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 -$as_echo "$ac_cv_build" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; @@ -4019,21 +4568,22 @@ IFS=$ac_save_IFS case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 -$as_echo_n "checking host system type... " >&6; } -if ${ac_cv_host+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else - ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 + ac_cv_host=`$SHELL "${ac_aux_dir}config.sub" $host_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $host_alias failed" "$LINENO" 5 fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 -$as_echo "$ac_cv_host" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; @@ -4053,16 +4603,18 @@ case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac -if test -n "$ac_tool_prefix"; then + + if test -n "$ac_tool_prefix"; then for ac_prog in ar lib "link -lib" do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$AR"; then ac_cv_prog_AR="$AR" # Let the user override the test. else @@ -4070,11 +4622,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_AR="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -4085,11 +4641,11 @@ fi fi AR=$ac_cv_prog_AR if test -n "$AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 -$as_echo "$AR" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +printf "%s\n" "$AR" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -4102,11 +4658,12 @@ if test -z "$AR"; then do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_AR"; then ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. else @@ -4114,11 +4671,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_AR="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -4129,11 +4690,11 @@ fi fi ac_ct_AR=$ac_cv_prog_ac_ct_AR if test -n "$ac_ct_AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 -$as_echo "$ac_ct_AR" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +printf "%s\n" "$ac_ct_AR" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -4145,8 +4706,8 @@ done else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac AR=$ac_ct_AR @@ -4155,11 +4716,12 @@ fi : ${AR=ar} -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the archiver ($AR) interface" >&5 -$as_echo_n "checking the archiver ($AR) interface... " >&6; } -if ${am_cv_ar_interface+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the archiver ($AR) interface" >&5 +printf %s "checking the archiver ($AR) interface... " >&6; } +if test ${am_cv_ar_interface+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -4171,12 +4733,13 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu /* end confdefs.h. */ int some_variable = 0; _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&5' { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$am_ar_try\""; } >&5 (eval $am_ar_try) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if test "$ac_status" -eq 0; then am_cv_ar_interface=ar @@ -4185,7 +4748,7 @@ if ac_fn_c_try_compile "$LINENO"; then : { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$am_ar_try\""; } >&5 (eval $am_ar_try) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if test "$ac_status" -eq 0; then am_cv_ar_interface=lib @@ -4196,7 +4759,7 @@ if ac_fn_c_try_compile "$LINENO"; then : rm -f conftest.lib libconftest.a fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -4204,8 +4767,8 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_ar_interface" >&5 -$as_echo "$am_cv_ar_interface" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_ar_interface" >&5 +printf "%s\n" "$am_cv_ar_interface" >&6; } case $am_cv_ar_interface in ar) @@ -4226,8 +4789,8 @@ esac case `pwd` in *\ * | *\ *) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 -$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 +printf "%s\n" "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; esac @@ -4247,6 +4810,7 @@ macro_revision='2.4.6' + ltmain=$ac_aux_dir/ltmain.sh # Backslashify metacharacters that are still active within @@ -4270,8 +4834,8 @@ ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 -$as_echo_n "checking how to print strings... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 +printf %s "checking how to print strings... " >&6; } # Test print first, because it will be a builtin if present. if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then @@ -4297,12 +4861,12 @@ func_echo_all () } case $ECHO in - printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5 -$as_echo "printf" >&6; } ;; - print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 -$as_echo "print -r" >&6; } ;; - *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5 -$as_echo "cat" >&6; } ;; + printf*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: printf" >&5 +printf "%s\n" "printf" >&6; } ;; + print*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 +printf "%s\n" "print -r" >&6; } ;; + *) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: cat" >&5 +printf "%s\n" "cat" >&6; } ;; esac @@ -4318,11 +4882,12 @@ esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 -$as_echo_n "checking for a sed that does not truncate output... " >&6; } -if ${ac_cv_path_SED+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 +printf %s "checking for a sed that does not truncate output... " >&6; } +if test ${ac_cv_path_SED+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ for ac_i in 1 2 3 4 5 6 7; do ac_script="$ac_script$as_nl$ac_script" @@ -4336,10 +4901,15 @@ else for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in sed gsed; do + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in sed gsed + do for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" + ac_path_SED="$as_dir$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_SED" || continue # Check for GNU ac_path_SED and select it if it is found. # Check for GNU $ac_path_SED @@ -4348,13 +4918,13 @@ case `"$ac_path_SED" --version 2>&1` in ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; *) ac_count=0 - $as_echo_n 0123456789 >"conftest.in" + printf %s 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" - $as_echo '' >> "conftest.nl" + printf "%s\n" '' >> "conftest.nl" "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val @@ -4382,8 +4952,8 @@ else fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 -$as_echo "$ac_cv_path_SED" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 +printf "%s\n" "$ac_cv_path_SED" >&6; } SED="$ac_cv_path_SED" rm -f conftest.sed @@ -4400,11 +4970,12 @@ Xsed="$SED -e 1s/^X//" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 -$as_echo_n "checking for grep that handles long lines and -e... " >&6; } -if ${ac_cv_path_GREP+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -z "$GREP"; then ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST @@ -4412,10 +4983,15 @@ else for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in grep ggrep; do + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in grep ggrep + do for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + ac_path_GREP="$as_dir$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_GREP" || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP @@ -4424,13 +5000,13 @@ case `"$ac_path_GREP" --version 2>&1` in ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; *) ac_count=0 - $as_echo_n 0123456789 >"conftest.in" + printf %s 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" - $as_echo 'GREP' >> "conftest.nl" + printf "%s\n" 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val @@ -4458,16 +5034,17 @@ else fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -$as_echo "$ac_cv_path_GREP" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 -$as_echo_n "checking for egrep... " >&6; } -if ${ac_cv_path_EGREP+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else @@ -4478,10 +5055,15 @@ else for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in egrep; do + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in egrep + do for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + ac_path_EGREP="$as_dir$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_EGREP" || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP @@ -4490,13 +5072,13 @@ case `"$ac_path_EGREP" --version 2>&1` in ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; *) ac_count=0 - $as_echo_n 0123456789 >"conftest.in" + printf %s 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" - $as_echo 'EGREP' >> "conftest.nl" + printf "%s\n" 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val @@ -4525,16 +5107,17 @@ fi fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 -$as_echo "$ac_cv_path_EGREP" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 -$as_echo_n "checking for fgrep... " >&6; } -if ${ac_cv_path_FGREP+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 +printf %s "checking for fgrep... " >&6; } +if test ${ac_cv_path_FGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 then ac_cv_path_FGREP="$GREP -F" else @@ -4545,10 +5128,15 @@ else for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in fgrep; do + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in fgrep + do for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" + ac_path_FGREP="$as_dir$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_FGREP" || continue # Check for GNU ac_path_FGREP and select it if it is found. # Check for GNU $ac_path_FGREP @@ -4557,13 +5145,13 @@ case `"$ac_path_FGREP" --version 2>&1` in ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; *) ac_count=0 - $as_echo_n 0123456789 >"conftest.in" + printf %s 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" - $as_echo 'FGREP' >> "conftest.nl" + printf "%s\n" 'FGREP' >> "conftest.nl" "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val @@ -4592,8 +5180,8 @@ fi fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 -$as_echo "$ac_cv_path_FGREP" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 +printf "%s\n" "$ac_cv_path_FGREP" >&6; } FGREP="$ac_cv_path_FGREP" @@ -4618,17 +5206,18 @@ test -z "$GREP" && GREP=grep # Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then : +if test ${with_gnu_ld+y} +then : withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes -else +else $as_nop with_gnu_ld=no fi ac_prog=ld if test yes = "$GCC"; then # Check if gcc -print-prog-name=ld gives a path. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 -$as_echo_n "checking for ld used by $CC... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 +printf %s "checking for ld used by $CC... " >&6; } case $host in *-*-mingw*) # gcc leaves a trailing carriage return, which upsets mingw @@ -4657,15 +5246,16 @@ $as_echo_n "checking for ld used by $CC... " >&6; } ;; esac elif test yes = "$with_gnu_ld"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 -$as_echo_n "checking for GNU ld... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 +printf %s "checking for GNU ld... " >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 -$as_echo_n "checking for non-GNU ld... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 +printf %s "checking for non-GNU ld... " >&6; } fi -if ${lt_cv_path_LD+:} false; then : - $as_echo_n "(cached) " >&6 -else +if test ${lt_cv_path_LD+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -z "$LD"; then lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do @@ -4694,18 +5284,19 @@ fi LD=$lt_cv_path_LD if test -n "$LD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 -$as_echo "$LD" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 +printf "%s\n" "$LD" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 -$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if ${lt_cv_prog_gnu_ld+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 +printf %s "checking if the linker ($LD) is GNU ld... " >&6; } +if test ${lt_cv_prog_gnu_ld+y} +then : + printf %s "(cached) " >&6 +else $as_nop # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &1 &5 -$as_echo "$lt_cv_prog_gnu_ld" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5 +printf "%s\n" "$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_ld @@ -4728,11 +5319,12 @@ with_gnu_ld=$lt_cv_prog_gnu_ld -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 -$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } -if ${lt_cv_path_NM+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 +printf %s "checking for BSD- or MS-compatible name lister (nm)... " >&6; } +if test ${lt_cv_path_NM+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$NM"; then # Let the user override the test. lt_cv_path_NM=$NM @@ -4782,8 +5374,8 @@ else : ${lt_cv_path_NM=no} fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 -$as_echo "$lt_cv_path_NM" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 +printf "%s\n" "$lt_cv_path_NM" >&6; } if test no != "$lt_cv_path_NM"; then NM=$lt_cv_path_NM else @@ -4796,11 +5388,12 @@ else do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DUMPBIN+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_DUMPBIN+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$DUMPBIN"; then ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. else @@ -4808,11 +5401,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -4823,11 +5420,11 @@ fi fi DUMPBIN=$ac_cv_prog_DUMPBIN if test -n "$DUMPBIN"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 -$as_echo "$DUMPBIN" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 +printf "%s\n" "$DUMPBIN" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -4840,11 +5437,12 @@ if test -z "$DUMPBIN"; then do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_DUMPBIN+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_DUMPBIN"; then ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. else @@ -4852,11 +5450,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -4867,11 +5469,11 @@ fi fi ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN if test -n "$ac_ct_DUMPBIN"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 -$as_echo "$ac_ct_DUMPBIN" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 +printf "%s\n" "$ac_ct_DUMPBIN" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -4883,8 +5485,8 @@ done else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DUMPBIN=$ac_ct_DUMPBIN @@ -4912,11 +5514,12 @@ test -z "$NM" && NM=nm -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 -$as_echo_n "checking the name lister ($NM) interface... " >&6; } -if ${lt_cv_nm_interface+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 +printf %s "checking the name lister ($NM) interface... " >&6; } +if test ${lt_cv_nm_interface+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) @@ -4932,26 +5535,27 @@ else fi rm -f conftest* fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 -$as_echo "$lt_cv_nm_interface" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 +printf "%s\n" "$lt_cv_nm_interface" >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 -$as_echo_n "checking whether ln -s works... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 +printf %s "checking whether ln -s works... " >&6; } LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 -$as_echo "no, using $LN_S" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 +printf "%s\n" "no, using $LN_S" >&6; } fi # find the maximum length of command line arguments -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 -$as_echo_n "checking the maximum length of command line arguments... " >&6; } -if ${lt_cv_sys_max_cmd_len+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 +printf %s "checking the maximum length of command line arguments... " >&6; } +if test ${lt_cv_sys_max_cmd_len+y} +then : + printf %s "(cached) " >&6 +else $as_nop i=0 teststring=ABCD @@ -5078,11 +5682,11 @@ else fi if test -n "$lt_cv_sys_max_cmd_len"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 -$as_echo "$lt_cv_sys_max_cmd_len" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 +printf "%s\n" "$lt_cv_sys_max_cmd_len" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 -$as_echo "none" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none" >&5 +printf "%s\n" "none" >&6; } fi max_cmd_len=$lt_cv_sys_max_cmd_len @@ -5126,11 +5730,12 @@ esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 -$as_echo_n "checking how to convert $build file names to $host format... " >&6; } -if ${lt_cv_to_host_file_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 +printf %s "checking how to convert $build file names to $host format... " >&6; } +if test ${lt_cv_to_host_file_cmd+y} +then : + printf %s "(cached) " >&6 +else $as_nop case $host in *-*-mingw* ) case $build in @@ -5166,18 +5771,19 @@ esac fi to_host_file_cmd=$lt_cv_to_host_file_cmd -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 -$as_echo "$lt_cv_to_host_file_cmd" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 +printf "%s\n" "$lt_cv_to_host_file_cmd" >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 -$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; } -if ${lt_cv_to_tool_file_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 +printf %s "checking how to convert $build file names to toolchain format... " >&6; } +if test ${lt_cv_to_tool_file_cmd+y} +then : + printf %s "(cached) " >&6 +else $as_nop #assume ordinary cross tools, or native build. lt_cv_to_tool_file_cmd=func_convert_file_noop case $host in @@ -5193,22 +5799,23 @@ esac fi to_tool_file_cmd=$lt_cv_to_tool_file_cmd -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 -$as_echo "$lt_cv_to_tool_file_cmd" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 +printf "%s\n" "$lt_cv_to_tool_file_cmd" >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 -$as_echo_n "checking for $LD option to reload object files... " >&6; } -if ${lt_cv_ld_reload_flag+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 +printf %s "checking for $LD option to reload object files... " >&6; } +if test ${lt_cv_ld_reload_flag+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_ld_reload_flag='-r' fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 -$as_echo "$lt_cv_ld_reload_flag" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 +printf "%s\n" "$lt_cv_ld_reload_flag" >&6; } reload_flag=$lt_cv_ld_reload_flag case $reload_flag in "" | " "*) ;; @@ -5241,11 +5848,12 @@ esac if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. set dummy ${ac_tool_prefix}objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OBJDUMP+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_OBJDUMP+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$OBJDUMP"; then ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. else @@ -5253,11 +5861,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -5268,11 +5880,11 @@ fi fi OBJDUMP=$ac_cv_prog_OBJDUMP if test -n "$OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 -$as_echo "$OBJDUMP" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 +printf "%s\n" "$OBJDUMP" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -5281,11 +5893,12 @@ if test -z "$ac_cv_prog_OBJDUMP"; then ac_ct_OBJDUMP=$OBJDUMP # Extract the first word of "objdump", so it can be a program name with args. set dummy objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_OBJDUMP+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_OBJDUMP"; then ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. else @@ -5293,11 +5906,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_OBJDUMP="objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -5308,11 +5925,11 @@ fi fi ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP if test -n "$ac_ct_OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 -$as_echo "$ac_ct_OBJDUMP" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 +printf "%s\n" "$ac_ct_OBJDUMP" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test "x$ac_ct_OBJDUMP" = x; then @@ -5320,8 +5937,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OBJDUMP=$ac_ct_OBJDUMP @@ -5340,11 +5957,12 @@ test -z "$OBJDUMP" && OBJDUMP=objdump -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 -$as_echo_n "checking how to recognize dependent libraries... " >&6; } -if ${lt_cv_deplibs_check_method+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 +printf %s "checking how to recognize dependent libraries... " >&6; } +if test ${lt_cv_deplibs_check_method+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_file_magic_cmd='$MAGIC_CMD' lt_cv_file_magic_test_file= lt_cv_deplibs_check_method='unknown' @@ -5540,8 +6158,8 @@ os2*) esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 -$as_echo "$lt_cv_deplibs_check_method" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 +printf "%s\n" "$lt_cv_deplibs_check_method" >&6; } file_magic_glob= want_nocaseglob=no @@ -5585,11 +6203,12 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. set dummy ${ac_tool_prefix}dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_DLLTOOL+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$DLLTOOL"; then ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. else @@ -5597,11 +6216,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -5612,11 +6235,11 @@ fi fi DLLTOOL=$ac_cv_prog_DLLTOOL if test -n "$DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 -$as_echo "$DLLTOOL" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 +printf "%s\n" "$DLLTOOL" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -5625,11 +6248,12 @@ if test -z "$ac_cv_prog_DLLTOOL"; then ac_ct_DLLTOOL=$DLLTOOL # Extract the first word of "dlltool", so it can be a program name with args. set dummy dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_DLLTOOL+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_DLLTOOL"; then ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. else @@ -5637,11 +6261,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_DLLTOOL="dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -5652,11 +6280,11 @@ fi fi ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL if test -n "$ac_ct_DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 -$as_echo "$ac_ct_DLLTOOL" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 +printf "%s\n" "$ac_ct_DLLTOOL" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test "x$ac_ct_DLLTOOL" = x; then @@ -5664,8 +6292,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DLLTOOL=$ac_ct_DLLTOOL @@ -5685,11 +6313,12 @@ test -z "$DLLTOOL" && DLLTOOL=dlltool -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 -$as_echo_n "checking how to associate runtime and link libraries... " >&6; } -if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 +printf %s "checking how to associate runtime and link libraries... " >&6; } +if test ${lt_cv_sharedlib_from_linklib_cmd+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_sharedlib_from_linklib_cmd='unknown' case $host_os in @@ -5712,8 +6341,8 @@ cygwin* | mingw* | pw32* | cegcc*) esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 -$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 +printf "%s\n" "$lt_cv_sharedlib_from_linklib_cmd" >&6; } sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO @@ -5728,11 +6357,12 @@ if test -n "$ac_tool_prefix"; then do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$AR"; then ac_cv_prog_AR="$AR" # Let the user override the test. else @@ -5740,11 +6370,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_AR="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -5755,11 +6389,11 @@ fi fi AR=$ac_cv_prog_AR if test -n "$AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 -$as_echo "$AR" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +printf "%s\n" "$AR" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -5772,11 +6406,12 @@ if test -z "$AR"; then do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_AR"; then ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. else @@ -5784,11 +6419,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_AR="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -5799,11 +6438,11 @@ fi fi ac_ct_AR=$ac_cv_prog_ac_ct_AR if test -n "$ac_ct_AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 -$as_echo "$ac_ct_AR" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +printf "%s\n" "$ac_ct_AR" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -5815,8 +6454,8 @@ done else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac AR=$ac_ct_AR @@ -5836,30 +6475,32 @@ fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 -$as_echo_n "checking for archiver @FILE support... " >&6; } -if ${lt_cv_ar_at_file+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 +printf %s "checking for archiver @FILE support... " >&6; } +if test ${lt_cv_ar_at_file+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_ar_at_file=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : echo conftest.$ac_objext > conftest.lst lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 (eval $lt_ar_try) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if test 0 -eq "$ac_status"; then # Ensure the archiver fails upon bogus file names. @@ -5867,7 +6508,7 @@ if ac_fn_c_try_compile "$LINENO"; then : { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 (eval $lt_ar_try) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if test 0 -ne "$ac_status"; then lt_cv_ar_at_file=@ @@ -5876,11 +6517,11 @@ if ac_fn_c_try_compile "$LINENO"; then : rm -f conftest.* libconftest.a fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 -$as_echo "$lt_cv_ar_at_file" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 +printf "%s\n" "$lt_cv_ar_at_file" >&6; } if test no = "$lt_cv_ar_at_file"; then archiver_list_spec= @@ -5897,11 +6538,12 @@ fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_STRIP+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else @@ -5909,11 +6551,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -5924,11 +6570,11 @@ fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +printf "%s\n" "$STRIP" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -5937,11 +6583,12 @@ if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_STRIP+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else @@ -5949,11 +6596,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -5964,11 +6615,11 @@ fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +printf "%s\n" "$ac_ct_STRIP" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then @@ -5976,8 +6627,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP @@ -5996,11 +6647,12 @@ test -z "$STRIP" && STRIP=: if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else @@ -6008,11 +6660,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -6023,11 +6679,11 @@ fi fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 -$as_echo "$RANLIB" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +printf "%s\n" "$RANLIB" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -6036,11 +6692,12 @@ if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_RANLIB"; then ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else @@ -6048,11 +6705,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_RANLIB="ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -6063,11 +6724,11 @@ fi fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 -$as_echo "$ac_ct_RANLIB" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +printf "%s\n" "$ac_ct_RANLIB" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test "x$ac_ct_RANLIB" = x; then @@ -6075,8 +6736,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac RANLIB=$ac_ct_RANLIB @@ -6165,11 +6826,12 @@ compiler=$CC # Check for command to grab the raw symbol name followed by C symbol from nm. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 -$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } -if ${lt_cv_sys_global_symbol_pipe+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 +printf %s "checking command to parse $NM output from $compiler object... " >&6; } +if test ${lt_cv_sys_global_symbol_pipe+y} +then : + printf %s "(cached) " >&6 +else $as_nop # These are sane defaults that work on at least a few old systems. # [They come from Ultrix. What could be older than Ultrix?!! ;)] @@ -6321,7 +6983,7 @@ _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then # Now try to grab the symbols. nlist=conftest.nm @@ -6394,7 +7056,7 @@ _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then pipe_works=yes fi @@ -6429,11 +7091,11 @@ if test -z "$lt_cv_sys_global_symbol_pipe"; then lt_cv_sys_global_symbol_to_cdecl= fi if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 -$as_echo "failed" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: failed" >&5 +printf "%s\n" "failed" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 -$as_echo "ok" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +printf "%s\n" "ok" >&6; } fi # Response file support. @@ -6479,13 +7141,14 @@ fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 -$as_echo_n "checking for sysroot... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 +printf %s "checking for sysroot... " >&6; } # Check whether --with-sysroot was given. -if test "${with_sysroot+set}" = set; then : +if test ${with_sysroot+y} +then : withval=$with_sysroot; -else +else $as_nop with_sysroot=no fi @@ -6503,24 +7166,25 @@ case $with_sysroot in #( no|'') ;; #( *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5 -$as_echo "$with_sysroot" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5 +printf "%s\n" "$with_sysroot" >&6; } as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 ;; esac - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 -$as_echo "${lt_sysroot:-no}" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 +printf "%s\n" "${lt_sysroot:-no}" >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5 -$as_echo_n "checking for a working dd... " >&6; } -if ${ac_cv_path_lt_DD+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5 +printf %s "checking for a working dd... " >&6; } +if test ${ac_cv_path_lt_DD+y} +then : + printf %s "(cached) " >&6 +else $as_nop printf 0123456789abcdef0123456789abcdef >conftest.i cat conftest.i conftest.i >conftest2.i : ${lt_DD:=$DD} @@ -6531,10 +7195,15 @@ if test -z "$lt_DD"; then for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in dd; do + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in dd + do for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_lt_DD="$as_dir/$ac_prog$ac_exec_ext" + ac_path_lt_DD="$as_dir$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_lt_DD" || continue if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then cmp -s conftest.i conftest.out \ @@ -6554,15 +7223,16 @@ fi rm -f conftest.i conftest2.i conftest.out fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5 -$as_echo "$ac_cv_path_lt_DD" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5 +printf "%s\n" "$ac_cv_path_lt_DD" >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5 -$as_echo_n "checking how to truncate binary pipes... " >&6; } -if ${lt_cv_truncate_bin+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5 +printf %s "checking how to truncate binary pipes... " >&6; } +if test ${lt_cv_truncate_bin+y} +then : + printf %s "(cached) " >&6 +else $as_nop printf 0123456789abcdef0123456789abcdef >conftest.i cat conftest.i conftest.i >conftest2.i lt_cv_truncate_bin= @@ -6573,8 +7243,8 @@ fi rm -f conftest.i conftest2.i conftest.out test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q" fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5 -$as_echo "$lt_cv_truncate_bin" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5 +printf "%s\n" "$lt_cv_truncate_bin" >&6; } @@ -6597,7 +7267,8 @@ func_cc_basename () } # Check whether --enable-libtool-lock was given. -if test "${enable_libtool_lock+set}" = set; then : +if test ${enable_libtool_lock+y} +then : enableval=$enable_libtool_lock; fi @@ -6613,7 +7284,7 @@ ia64-*-hpux*) if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `/usr/bin/file conftest.$ac_objext` in *ELF-32*) @@ -6633,7 +7304,7 @@ ia64-*-hpux*) if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then if test yes = "$lt_cv_prog_gnu_ld"; then case `/usr/bin/file conftest.$ac_objext` in @@ -6671,7 +7342,7 @@ mips64*-*linux*) if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then emul=elf case `/usr/bin/file conftest.$ac_objext` in @@ -6712,7 +7383,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `/usr/bin/file conftest.o` in *32-bit*) @@ -6775,11 +7446,12 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. SAVE_CFLAGS=$CFLAGS CFLAGS="$CFLAGS -belf" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 -$as_echo_n "checking whether the C compiler needs -belf... " >&6; } -if ${lt_cv_cc_needs_belf+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 +printf %s "checking whether the C compiler needs -belf... " >&6; } +if test ${lt_cv_cc_needs_belf+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -6790,19 +7462,20 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : lt_cv_cc_needs_belf=yes -else +else $as_nop lt_cv_cc_needs_belf=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -6811,8 +7484,8 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 -$as_echo "$lt_cv_cc_needs_belf" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 +printf "%s\n" "$lt_cv_cc_needs_belf" >&6; } if test yes != "$lt_cv_cc_needs_belf"; then # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf CFLAGS=$SAVE_CFLAGS @@ -6825,7 +7498,7 @@ $as_echo "$lt_cv_cc_needs_belf" >&6; } if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `/usr/bin/file conftest.o` in *64-bit*) @@ -6862,11 +7535,12 @@ need_locks=$enable_libtool_lock if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. set dummy ${ac_tool_prefix}mt; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_MANIFEST_TOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MANIFEST_TOOL+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$MANIFEST_TOOL"; then ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test. else @@ -6874,11 +7548,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -6889,11 +7567,11 @@ fi fi MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL if test -n "$MANIFEST_TOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 -$as_echo "$MANIFEST_TOOL" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 +printf "%s\n" "$MANIFEST_TOOL" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -6902,11 +7580,12 @@ if test -z "$ac_cv_prog_MANIFEST_TOOL"; then ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL # Extract the first word of "mt", so it can be a program name with args. set dummy mt; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_MANIFEST_TOOL+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_MANIFEST_TOOL"; then ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test. else @@ -6914,11 +7593,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_MANIFEST_TOOL="mt" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -6929,11 +7612,11 @@ fi fi ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL if test -n "$ac_ct_MANIFEST_TOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 -$as_echo "$ac_ct_MANIFEST_TOOL" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 +printf "%s\n" "$ac_ct_MANIFEST_TOOL" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test "x$ac_ct_MANIFEST_TOOL" = x; then @@ -6941,8 +7624,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL @@ -6952,11 +7635,12 @@ else fi test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 -$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } -if ${lt_cv_path_mainfest_tool+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 +printf %s "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } +if test ${lt_cv_path_mainfest_tool+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_path_mainfest_tool=no echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out @@ -6966,8 +7650,8 @@ else fi rm -f conftest* fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 -$as_echo "$lt_cv_path_mainfest_tool" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 +printf "%s\n" "$lt_cv_path_mainfest_tool" >&6; } if test yes != "$lt_cv_path_mainfest_tool"; then MANIFEST_TOOL=: fi @@ -6982,11 +7666,12 @@ fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DSYMUTIL+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_DSYMUTIL+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$DSYMUTIL"; then ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. else @@ -6994,11 +7679,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -7009,11 +7698,11 @@ fi fi DSYMUTIL=$ac_cv_prog_DSYMUTIL if test -n "$DSYMUTIL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 -$as_echo "$DSYMUTIL" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 +printf "%s\n" "$DSYMUTIL" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -7022,11 +7711,12 @@ if test -z "$ac_cv_prog_DSYMUTIL"; then ac_ct_DSYMUTIL=$DSYMUTIL # Extract the first word of "dsymutil", so it can be a program name with args. set dummy dsymutil; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_DSYMUTIL+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_DSYMUTIL"; then ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. else @@ -7034,11 +7724,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -7049,11 +7743,11 @@ fi fi ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL if test -n "$ac_ct_DSYMUTIL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 -$as_echo "$ac_ct_DSYMUTIL" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 +printf "%s\n" "$ac_ct_DSYMUTIL" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test "x$ac_ct_DSYMUTIL" = x; then @@ -7061,8 +7755,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DSYMUTIL=$ac_ct_DSYMUTIL @@ -7074,11 +7768,12 @@ fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. set dummy ${ac_tool_prefix}nmedit; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_NMEDIT+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_NMEDIT+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$NMEDIT"; then ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. else @@ -7086,11 +7781,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -7101,11 +7800,11 @@ fi fi NMEDIT=$ac_cv_prog_NMEDIT if test -n "$NMEDIT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 -$as_echo "$NMEDIT" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 +printf "%s\n" "$NMEDIT" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -7114,11 +7813,12 @@ if test -z "$ac_cv_prog_NMEDIT"; then ac_ct_NMEDIT=$NMEDIT # Extract the first word of "nmedit", so it can be a program name with args. set dummy nmedit; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_NMEDIT+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_NMEDIT"; then ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. else @@ -7126,11 +7826,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_NMEDIT="nmedit" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -7141,11 +7845,11 @@ fi fi ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT if test -n "$ac_ct_NMEDIT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 -$as_echo "$ac_ct_NMEDIT" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 +printf "%s\n" "$ac_ct_NMEDIT" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test "x$ac_ct_NMEDIT" = x; then @@ -7153,8 +7857,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac NMEDIT=$ac_ct_NMEDIT @@ -7166,11 +7870,12 @@ fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. set dummy ${ac_tool_prefix}lipo; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_LIPO+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_LIPO+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$LIPO"; then ac_cv_prog_LIPO="$LIPO" # Let the user override the test. else @@ -7178,11 +7883,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_LIPO="${ac_tool_prefix}lipo" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -7193,11 +7902,11 @@ fi fi LIPO=$ac_cv_prog_LIPO if test -n "$LIPO"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 -$as_echo "$LIPO" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 +printf "%s\n" "$LIPO" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -7206,11 +7915,12 @@ if test -z "$ac_cv_prog_LIPO"; then ac_ct_LIPO=$LIPO # Extract the first word of "lipo", so it can be a program name with args. set dummy lipo; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_LIPO+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_LIPO+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_LIPO"; then ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. else @@ -7218,11 +7928,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_LIPO="lipo" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -7233,11 +7947,11 @@ fi fi ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO if test -n "$ac_ct_LIPO"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 -$as_echo "$ac_ct_LIPO" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 +printf "%s\n" "$ac_ct_LIPO" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test "x$ac_ct_LIPO" = x; then @@ -7245,8 +7959,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac LIPO=$ac_ct_LIPO @@ -7258,11 +7972,12 @@ fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. set dummy ${ac_tool_prefix}otool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_OTOOL+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$OTOOL"; then ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. else @@ -7270,11 +7985,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_OTOOL="${ac_tool_prefix}otool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -7285,11 +8004,11 @@ fi fi OTOOL=$ac_cv_prog_OTOOL if test -n "$OTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 -$as_echo "$OTOOL" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 +printf "%s\n" "$OTOOL" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -7298,11 +8017,12 @@ if test -z "$ac_cv_prog_OTOOL"; then ac_ct_OTOOL=$OTOOL # Extract the first word of "otool", so it can be a program name with args. set dummy otool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_OTOOL+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_OTOOL"; then ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. else @@ -7310,11 +8030,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_OTOOL="otool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -7325,11 +8049,11 @@ fi fi ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL if test -n "$ac_ct_OTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 -$as_echo "$ac_ct_OTOOL" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 +printf "%s\n" "$ac_ct_OTOOL" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test "x$ac_ct_OTOOL" = x; then @@ -7337,8 +8061,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OTOOL=$ac_ct_OTOOL @@ -7350,11 +8074,12 @@ fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. set dummy ${ac_tool_prefix}otool64; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OTOOL64+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_OTOOL64+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$OTOOL64"; then ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. else @@ -7362,11 +8087,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -7377,11 +8106,11 @@ fi fi OTOOL64=$ac_cv_prog_OTOOL64 if test -n "$OTOOL64"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 -$as_echo "$OTOOL64" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 +printf "%s\n" "$OTOOL64" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -7390,11 +8119,12 @@ if test -z "$ac_cv_prog_OTOOL64"; then ac_ct_OTOOL64=$OTOOL64 # Extract the first word of "otool64", so it can be a program name with args. set dummy otool64; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_OTOOL64+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_OTOOL64"; then ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. else @@ -7402,11 +8132,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_OTOOL64="otool64" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -7417,11 +8151,11 @@ fi fi ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 if test -n "$ac_ct_OTOOL64"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 -$as_echo "$ac_ct_OTOOL64" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 +printf "%s\n" "$ac_ct_OTOOL64" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test "x$ac_ct_OTOOL64" = x; then @@ -7429,8 +8163,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OTOOL64=$ac_ct_OTOOL64 @@ -7465,11 +8199,12 @@ fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 -$as_echo_n "checking for -single_module linker flag... " >&6; } -if ${lt_cv_apple_cc_single_mod+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 +printf %s "checking for -single_module linker flag... " >&6; } +if test ${lt_cv_apple_cc_single_mod+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_apple_cc_single_mod=no if test -z "$LT_MULTI_MODULE"; then # By default we will add the -single_module flag. You can override @@ -7498,14 +8233,15 @@ else rm -f conftest.* fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 -$as_echo "$lt_cv_apple_cc_single_mod" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 +printf "%s\n" "$lt_cv_apple_cc_single_mod" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 -$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } -if ${lt_cv_ld_exported_symbols_list+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 +printf %s "checking for -exported_symbols_list linker flag... " >&6; } +if test ${lt_cv_ld_exported_symbols_list+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_ld_exported_symbols_list=no save_LDFLAGS=$LDFLAGS echo "_main" > conftest.sym @@ -7514,31 +8250,33 @@ else /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : lt_cv_ld_exported_symbols_list=yes -else +else $as_nop lt_cv_ld_exported_symbols_list=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 -$as_echo "$lt_cv_ld_exported_symbols_list" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 +printf "%s\n" "$lt_cv_ld_exported_symbols_list" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 -$as_echo_n "checking for -force_load linker flag... " >&6; } -if ${lt_cv_ld_force_load+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 +printf %s "checking for -force_load linker flag... " >&6; } +if test ${lt_cv_ld_force_load+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_ld_force_load=no cat > conftest.c << _LT_EOF int forced_loaded() { return 2;} @@ -7566,8 +8304,8 @@ _LT_EOF rm -rf conftest.dSYM fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 -$as_echo "$lt_cv_ld_force_load" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 +printf "%s\n" "$lt_cv_ld_force_load" >&6; } case $host_os in rhapsody* | darwin1.[012]) _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; @@ -7578,11 +8316,11 @@ $as_echo "$lt_cv_ld_force_load" >&6; } # to the OS version, if on x86, and 10.4, the deployment # target defaults to 10.4. Don't you love it? case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in - 10.0,*86*-darwin8*|10.0,*-darwin[91]*) + 10.0,*86*-darwin8*|10.0,*-darwin[912]*) _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; 10.[012][,.]*) _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; - 10.*) + 10.*|11.*) _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; esac ;; @@ -7635,288 +8373,45 @@ func_munge_path_list () *) eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\" ;; - esac -} - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 -$as_echo_n "checking how to run the C preprocessor... " >&6; } -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then - if ${ac_cv_prog_CPP+:} false; then : - $as_echo_n "(cached) " >&6 -else - # Double quotes because CPP needs to be expanded - for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" - do - ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - break -fi - - done - ac_cv_prog_CPP=$CPP - -fi - CPP=$ac_cv_prog_CPP -else - ac_cv_prog_CPP=$CPP -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 -$as_echo "$CPP" >&6; } -ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details" "$LINENO" 5; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if ${ac_cv_header_stdc+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -#include - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_stdc=yes -else - ac_cv_header_stdc=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then : - : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; - return 0; + esac } -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : -else - ac_cv_header_stdc=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi +ac_header= ac_cache= +for ac_item in $ac_header_c_list +do + if test $ac_cache; then + ac_fn_c_check_header_compile "$LINENO" $ac_header ac_cv_header_$ac_cache "$ac_includes_default" + if eval test \"x\$ac_cv_header_$ac_cache\" = xyes; then + printf "%s\n" "#define $ac_item 1" >> confdefs.h + fi + ac_header= ac_cache= + elif test $ac_header; then + ac_cache=$ac_item + else + ac_header=$ac_item + fi +done -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then -$as_echo "#define STDC_HEADERS 1" >>confdefs.h -fi -# On IRIX 5.3, sys/types and inttypes.h are conflicting. -for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default -" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF -fi -done -for ac_header in dlfcn.h -do : - ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default -" -if test "x$ac_cv_header_dlfcn_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_DLFCN_H 1 -_ACEOF +if test $ac_cv_header_stdlib_h = yes && test $ac_cv_header_string_h = yes +then : + +printf "%s\n" "#define STDC_HEADERS 1" >>confdefs.h fi +ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default +" +if test "x$ac_cv_header_dlfcn_h" = xyes +then : + printf "%s\n" "#define HAVE_DLFCN_H 1" >>confdefs.h -done +fi @@ -7924,7 +8419,8 @@ done # Set options # Check whether --enable-static was given. -if test "${enable_static+set}" = set; then : +if test ${enable_static+y} +then : enableval=$enable_static; p=${PACKAGE-default} case $enableval in yes) enable_static=yes ;; @@ -7942,7 +8438,7 @@ if test "${enable_static+set}" = set; then : IFS=$lt_save_ifs ;; esac -else +else $as_nop enable_static=no fi @@ -7962,7 +8458,8 @@ fi # Check whether --enable-shared was given. -if test "${enable_shared+set}" = set; then : +if test ${enable_shared+y} +then : enableval=$enable_shared; p=${PACKAGE-default} case $enableval in yes) enable_shared=yes ;; @@ -7980,7 +8477,7 @@ if test "${enable_shared+set}" = set; then : IFS=$lt_save_ifs ;; esac -else +else $as_nop enable_shared=yes fi @@ -7995,7 +8492,8 @@ fi # Check whether --with-pic was given. -if test "${with_pic+set}" = set; then : +if test ${with_pic+y} +then : withval=$with_pic; lt_p=${PACKAGE-default} case $withval in yes|no) pic_mode=$withval ;; @@ -8012,7 +8510,7 @@ if test "${with_pic+set}" = set; then : IFS=$lt_save_ifs ;; esac -else +else $as_nop pic_mode=default fi @@ -8024,7 +8522,8 @@ fi # Check whether --enable-fast-install was given. -if test "${enable_fast_install+set}" = set; then : +if test ${enable_fast_install+y} +then : enableval=$enable_fast_install; p=${PACKAGE-default} case $enableval in yes) enable_fast_install=yes ;; @@ -8042,7 +8541,7 @@ if test "${enable_fast_install+set}" = set; then : IFS=$lt_save_ifs ;; esac -else +else $as_nop enable_fast_install=yes fi @@ -8056,11 +8555,12 @@ fi shared_archive_member_spec= case $host,$enable_shared in power*-*-aix[5-9]*,yes) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5 -$as_echo_n "checking which variant of shared library versioning to provide... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5 +printf %s "checking which variant of shared library versioning to provide... " >&6; } # Check whether --with-aix-soname was given. -if test "${with_aix_soname+set}" = set; then : +if test ${with_aix_soname+y} +then : withval=$with_aix_soname; case $withval in aix|svr4|both) ;; @@ -8069,18 +8569,19 @@ if test "${with_aix_soname+set}" = set; then : ;; esac lt_cv_with_aix_soname=$with_aix_soname -else - if ${lt_cv_with_aix_soname+:} false; then : - $as_echo_n "(cached) " >&6 -else +else $as_nop + if test ${lt_cv_with_aix_soname+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_with_aix_soname=aix fi with_aix_soname=$lt_cv_with_aix_soname fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5 -$as_echo "$with_aix_soname" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5 +printf "%s\n" "$with_aix_soname" >&6; } if test aix != "$with_aix_soname"; then # For the AIX way of multilib, we name the shared archive member # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', @@ -8162,11 +8663,12 @@ if test -n "${ZSH_VERSION+set}"; then setopt NO_GLOB_SUBST fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 -$as_echo_n "checking for objdir... " >&6; } -if ${lt_cv_objdir+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 +printf %s "checking for objdir... " >&6; } +if test ${lt_cv_objdir+y} +then : + printf %s "(cached) " >&6 +else $as_nop rm -f .libs 2>/dev/null mkdir .libs 2>/dev/null if test -d .libs; then @@ -8177,17 +8679,15 @@ else fi rmdir .libs 2>/dev/null fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 -$as_echo "$lt_cv_objdir" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 +printf "%s\n" "$lt_cv_objdir" >&6; } objdir=$lt_cv_objdir -cat >>confdefs.h <<_ACEOF -#define LT_OBJDIR "$lt_cv_objdir/" -_ACEOF +printf "%s\n" "#define LT_OBJDIR \"$lt_cv_objdir/\"" >>confdefs.h @@ -8233,11 +8733,12 @@ test -z "$MAGIC_CMD" && MAGIC_CMD=file case $deplibs_check_method in file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 -$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } -if ${lt_cv_path_MAGIC_CMD+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 +printf %s "checking for ${ac_tool_prefix}file... " >&6; } +if test ${lt_cv_path_MAGIC_CMD+y} +then : + printf %s "(cached) " >&6 +else $as_nop case $MAGIC_CMD in [\\/*] | ?:[\\/]*) lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. @@ -8286,11 +8787,11 @@ fi MAGIC_CMD=$lt_cv_path_MAGIC_CMD if test -n "$MAGIC_CMD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 -$as_echo "$MAGIC_CMD" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 +printf "%s\n" "$MAGIC_CMD" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -8299,11 +8800,12 @@ fi if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 -$as_echo_n "checking for file... " >&6; } -if ${lt_cv_path_MAGIC_CMD+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for file" >&5 +printf %s "checking for file... " >&6; } +if test ${lt_cv_path_MAGIC_CMD+y} +then : + printf %s "(cached) " >&6 +else $as_nop case $MAGIC_CMD in [\\/*] | ?:[\\/]*) lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. @@ -8352,11 +8854,11 @@ fi MAGIC_CMD=$lt_cv_path_MAGIC_CMD if test -n "$MAGIC_CMD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 -$as_echo "$MAGIC_CMD" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 +printf "%s\n" "$MAGIC_CMD" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -8441,11 +8943,12 @@ if test yes = "$GCC"; then lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 -$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } -if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +printf %s "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } +if test ${lt_cv_prog_compiler_rtti_exceptions+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_prog_compiler_rtti_exceptions=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext @@ -8476,8 +8979,8 @@ else $RM conftest* fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 -$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +printf "%s\n" "$lt_cv_prog_compiler_rtti_exceptions" >&6; } if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" @@ -8840,26 +9343,28 @@ case $host_os in ;; esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 -$as_echo_n "checking for $compiler option to produce PIC... " >&6; } -if ${lt_cv_prog_compiler_pic+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +printf %s "checking for $compiler option to produce PIC... " >&6; } +if test ${lt_cv_prog_compiler_pic+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_prog_compiler_pic=$lt_prog_compiler_pic fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 -$as_echo "$lt_cv_prog_compiler_pic" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 +printf "%s\n" "$lt_cv_prog_compiler_pic" >&6; } lt_prog_compiler_pic=$lt_cv_prog_compiler_pic # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 -$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } -if ${lt_cv_prog_compiler_pic_works+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 +printf %s "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } +if test ${lt_cv_prog_compiler_pic_works+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_prog_compiler_pic_works=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext @@ -8890,8 +9395,8 @@ else $RM conftest* fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 -$as_echo "$lt_cv_prog_compiler_pic_works" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 +printf "%s\n" "$lt_cv_prog_compiler_pic_works" >&6; } if test yes = "$lt_cv_prog_compiler_pic_works"; then case $lt_prog_compiler_pic in @@ -8919,11 +9424,12 @@ fi # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } -if ${lt_cv_prog_compiler_static_works+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +printf %s "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +if test ${lt_cv_prog_compiler_static_works+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_prog_compiler_static_works=no save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS $lt_tmp_static_flag" @@ -8947,8 +9453,8 @@ else LDFLAGS=$save_LDFLAGS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 -$as_echo "$lt_cv_prog_compiler_static_works" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 +printf "%s\n" "$lt_cv_prog_compiler_static_works" >&6; } if test yes = "$lt_cv_prog_compiler_static_works"; then : @@ -8962,11 +9468,12 @@ fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if test ${lt_cv_prog_compiler_c_o+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_prog_compiler_c_o=no $RM -r conftest 2>/dev/null mkdir conftest @@ -9009,19 +9516,20 @@ else $RM conftest* fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 -$as_echo "$lt_cv_prog_compiler_c_o" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 +printf "%s\n" "$lt_cv_prog_compiler_c_o" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if test ${lt_cv_prog_compiler_c_o+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_prog_compiler_c_o=no $RM -r conftest 2>/dev/null mkdir conftest @@ -9064,8 +9572,8 @@ else $RM conftest* fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 -$as_echo "$lt_cv_prog_compiler_c_o" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 +printf "%s\n" "$lt_cv_prog_compiler_c_o" >&6; } @@ -9073,19 +9581,19 @@ $as_echo "$lt_cv_prog_compiler_c_o" >&6; } hard_links=nottested if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then # do not overwrite the value of need_locks provided by the user - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 -$as_echo_n "checking if we can lock with hard links... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 +printf %s "checking if we can lock with hard links... " >&6; } hard_links=yes $RM conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 -$as_echo "$hard_links" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 +printf "%s\n" "$hard_links" >&6; } if test no = "$hard_links"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 -$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 +printf "%s\n" "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} need_locks=warn fi else @@ -9097,8 +9605,8 @@ fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +printf %s "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } runpath_var= allow_undefined_flag= @@ -9656,21 +10164,23 @@ _LT_EOF if test set = "${lt_cv_aix_libpath+set}"; then aix_libpath=$lt_cv_aix_libpath else - if ${lt_cv_aix_libpath_+:} false; then : - $as_echo_n "(cached) " >&6 -else + if test ${lt_cv_aix_libpath_+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { @@ -9685,7 +10195,7 @@ if ac_fn_c_try_link "$LINENO"; then : lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_=/usr/lib:/lib @@ -9709,21 +10219,23 @@ fi if test set = "${lt_cv_aix_libpath+set}"; then aix_libpath=$lt_cv_aix_libpath else - if ${lt_cv_aix_libpath_+:} false; then : - $as_echo_n "(cached) " >&6 -else + if test ${lt_cv_aix_libpath_+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { @@ -9738,7 +10250,7 @@ if ac_fn_c_try_link "$LINENO"; then : lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_=/usr/lib:/lib @@ -9989,11 +10501,12 @@ fi # Older versions of the 11.00 compiler do not understand -b yet # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 -$as_echo_n "checking if $CC understands -b... " >&6; } -if ${lt_cv_prog_compiler__b+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 +printf %s "checking if $CC understands -b... " >&6; } +if test ${lt_cv_prog_compiler__b+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_prog_compiler__b=no save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS -b" @@ -10017,8 +10530,8 @@ else LDFLAGS=$save_LDFLAGS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 -$as_echo "$lt_cv_prog_compiler__b" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 +printf "%s\n" "$lt_cv_prog_compiler__b" >&6; } if test yes = "$lt_cv_prog_compiler__b"; then archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' @@ -10058,28 +10571,30 @@ fi # work, assume that -exports_file does not work either and # implicitly export all symbols. # This should be the same for all languages, so no per-tag cache variable. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 -$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } -if ${lt_cv_irix_exported_symbol+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 +printf %s "checking whether the $host_os linker accepts -exported_symbol... " >&6; } +if test ${lt_cv_irix_exported_symbol+y} +then : + printf %s "(cached) " >&6 +else $as_nop save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int foo (void) { return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : lt_cv_irix_exported_symbol=yes -else +else $as_nop lt_cv_irix_exported_symbol=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 -$as_echo "$lt_cv_irix_exported_symbol" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 +printf "%s\n" "$lt_cv_irix_exported_symbol" >&6; } if test yes = "$lt_cv_irix_exported_symbol"; then archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' fi @@ -10360,8 +10875,8 @@ $as_echo "$lt_cv_irix_exported_symbol" >&6; } fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 -$as_echo "$ld_shlibs" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 +printf "%s\n" "$ld_shlibs" >&6; } test no = "$ld_shlibs" && can_build_shared=no with_gnu_ld=$with_gnu_ld @@ -10397,18 +10912,19 @@ x|xyes) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 -$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } -if ${lt_cv_archive_cmds_need_lc+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 +printf %s "checking whether -lc should be explicitly linked in... " >&6; } +if test ${lt_cv_archive_cmds_need_lc+y} +then : + printf %s "(cached) " >&6 +else $as_nop $RM conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } 2>conftest.err; then soname=conftest lib=conftest @@ -10426,7 +10942,7 @@ else if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } then lt_cv_archive_cmds_need_lc=no @@ -10440,8 +10956,8 @@ else $RM conftest* fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 -$as_echo "$lt_cv_archive_cmds_need_lc" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 +printf "%s\n" "$lt_cv_archive_cmds_need_lc" >&6; } archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc ;; esac @@ -10600,8 +11116,8 @@ esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 -$as_echo_n "checking dynamic linker characteristics... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 +printf %s "checking dynamic linker characteristics... " >&6; } if test yes = "$GCC"; then case $host_os in @@ -11162,9 +11678,10 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) shlibpath_overrides_runpath=no # Some binutils ld are patched to set DT_RUNPATH - if ${lt_cv_shlibpath_overrides_runpath+:} false; then : - $as_echo_n "(cached) " >&6 -else + if test ${lt_cv_shlibpath_overrides_runpath+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_shlibpath_overrides_runpath=no save_LDFLAGS=$LDFLAGS save_libdir=$libdir @@ -11174,19 +11691,21 @@ else /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : +if ac_fn_c_try_link "$LINENO" +then : + if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null +then : lt_cv_shlibpath_overrides_runpath=yes fi fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS libdir=$save_libdir @@ -11430,8 +11949,8 @@ uts4*) dynamic_linker=no ;; esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 -$as_echo "$dynamic_linker" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 +printf "%s\n" "$dynamic_linker" >&6; } test no = "$dynamic_linker" && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" @@ -11552,8 +12071,8 @@ configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 -$as_echo_n "checking how to hardcode library paths into programs... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 +printf %s "checking how to hardcode library paths into programs... " >&6; } hardcode_action= if test -n "$hardcode_libdir_flag_spec" || test -n "$runpath_var" || @@ -11577,8 +12096,8 @@ else # directories. hardcode_action=unsupported fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 -$as_echo "$hardcode_action" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 +printf "%s\n" "$hardcode_action" >&6; } if test relink = "$hardcode_action" || test yes = "$inherit_rpath"; then @@ -11622,11 +12141,12 @@ else darwin*) # if libdl is installed we need to link against it - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 -$as_echo_n "checking for dlopen in -ldl... " >&6; } -if ${ac_cv_lib_dl_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 +printf %s "checking for dlopen in -ldl... " >&6; } +if test ${ac_cv_lib_dl_dlopen+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -11635,32 +12155,31 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif char dlopen (); int -main () +main (void) { return dlopen (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : ac_cv_lib_dl_dlopen=yes -else +else $as_nop ac_cv_lib_dl_dlopen=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 -$as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = xyes; then : +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 +printf "%s\n" "$ac_cv_lib_dl_dlopen" >&6; } +if test "x$ac_cv_lib_dl_dlopen" = xyes +then : lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl -else +else $as_nop lt_cv_dlopen=dyld lt_cv_dlopen_libs= @@ -11680,14 +12199,16 @@ fi *) ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" -if test "x$ac_cv_func_shl_load" = xyes; then : +if test "x$ac_cv_func_shl_load" = xyes +then : lt_cv_dlopen=shl_load -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 -$as_echo_n "checking for shl_load in -ldld... " >&6; } -if ${ac_cv_lib_dld_shl_load+:} false; then : - $as_echo_n "(cached) " >&6 -else +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 +printf %s "checking for shl_load in -ldld... " >&6; } +if test ${ac_cv_lib_dld_shl_load+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -11696,41 +12217,42 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif char shl_load (); int -main () +main (void) { return shl_load (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : ac_cv_lib_dld_shl_load=yes -else +else $as_nop ac_cv_lib_dld_shl_load=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 -$as_echo "$ac_cv_lib_dld_shl_load" >&6; } -if test "x$ac_cv_lib_dld_shl_load" = xyes; then : +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 +printf "%s\n" "$ac_cv_lib_dld_shl_load" >&6; } +if test "x$ac_cv_lib_dld_shl_load" = xyes +then : lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld -else +else $as_nop ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" -if test "x$ac_cv_func_dlopen" = xyes; then : +if test "x$ac_cv_func_dlopen" = xyes +then : lt_cv_dlopen=dlopen -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 -$as_echo_n "checking for dlopen in -ldl... " >&6; } -if ${ac_cv_lib_dl_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 +printf %s "checking for dlopen in -ldl... " >&6; } +if test ${ac_cv_lib_dl_dlopen+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -11739,37 +12261,37 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif char dlopen (); int -main () +main (void) { return dlopen (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : ac_cv_lib_dl_dlopen=yes -else +else $as_nop ac_cv_lib_dl_dlopen=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 -$as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = xyes; then : +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 +printf "%s\n" "$ac_cv_lib_dl_dlopen" >&6; } +if test "x$ac_cv_lib_dl_dlopen" = xyes +then : lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 -$as_echo_n "checking for dlopen in -lsvld... " >&6; } -if ${ac_cv_lib_svld_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 +printf %s "checking for dlopen in -lsvld... " >&6; } +if test ${ac_cv_lib_svld_dlopen+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_check_lib_save_LIBS=$LIBS LIBS="-lsvld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -11778,37 +12300,37 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif char dlopen (); int -main () +main (void) { return dlopen (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : ac_cv_lib_svld_dlopen=yes -else +else $as_nop ac_cv_lib_svld_dlopen=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 -$as_echo "$ac_cv_lib_svld_dlopen" >&6; } -if test "x$ac_cv_lib_svld_dlopen" = xyes; then : +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 +printf "%s\n" "$ac_cv_lib_svld_dlopen" >&6; } +if test "x$ac_cv_lib_svld_dlopen" = xyes +then : lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 -$as_echo_n "checking for dld_link in -ldld... " >&6; } -if ${ac_cv_lib_dld_dld_link+:} false; then : - $as_echo_n "(cached) " >&6 -else +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 +printf %s "checking for dld_link in -ldld... " >&6; } +if test ${ac_cv_lib_dld_dld_link+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -11817,30 +12339,29 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif char dld_link (); int -main () +main (void) { return dld_link (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : ac_cv_lib_dld_dld_link=yes -else +else $as_nop ac_cv_lib_dld_dld_link=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 -$as_echo "$ac_cv_lib_dld_dld_link" >&6; } -if test "x$ac_cv_lib_dld_dld_link" = xyes; then : +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 +printf "%s\n" "$ac_cv_lib_dld_dld_link" >&6; } +if test "x$ac_cv_lib_dld_dld_link" = xyes +then : lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld fi @@ -11879,11 +12400,12 @@ fi save_LIBS=$LIBS LIBS="$lt_cv_dlopen_libs $LIBS" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 -$as_echo_n "checking whether a program can dlopen itself... " >&6; } -if ${lt_cv_dlopen_self+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 +printf %s "checking whether a program can dlopen itself... " >&6; } +if test ${lt_cv_dlopen_self+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test yes = "$cross_compiling"; then : lt_cv_dlopen_self=cross else @@ -11962,7 +12484,7 @@ _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? @@ -11980,16 +12502,17 @@ rm -fr conftest* fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 -$as_echo "$lt_cv_dlopen_self" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 +printf "%s\n" "$lt_cv_dlopen_self" >&6; } if test yes = "$lt_cv_dlopen_self"; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 -$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } -if ${lt_cv_dlopen_self_static+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 +printf %s "checking whether a statically linked program can dlopen itself... " >&6; } +if test ${lt_cv_dlopen_self_static+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test yes = "$cross_compiling"; then : lt_cv_dlopen_self_static=cross else @@ -12068,7 +12591,7 @@ _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? @@ -12086,8 +12609,8 @@ rm -fr conftest* fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 -$as_echo "$lt_cv_dlopen_self_static" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 +printf "%s\n" "$lt_cv_dlopen_self_static" >&6; } fi CPPFLAGS=$save_CPPFLAGS @@ -12125,13 +12648,13 @@ fi striplib= old_striplib= -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 -$as_echo_n "checking whether stripping libraries is possible... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 +printf %s "checking whether stripping libraries is possible... " >&6; } if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" test -z "$striplib" && striplib="$STRIP --strip-unneeded" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } else # FIXME - insert some real tests, host_os isn't really good enough case $host_os in @@ -12139,16 +12662,16 @@ else if test -n "$STRIP"; then striplib="$STRIP -x" old_striplib="$STRIP -S" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi ;; *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } ;; esac fi @@ -12165,13 +12688,13 @@ fi # Report what library types will actually be built - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 -$as_echo_n "checking if libtool supports shared libraries... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 -$as_echo "$can_build_shared" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 +printf %s "checking if libtool supports shared libraries... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 +printf "%s\n" "$can_build_shared" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 -$as_echo_n "checking whether to build shared libraries... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 +printf %s "checking whether to build shared libraries... " >&6; } test no = "$can_build_shared" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and @@ -12195,15 +12718,15 @@ $as_echo_n "checking whether to build shared libraries... " >&6; } fi ;; esac - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 -$as_echo "$enable_shared" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 +printf "%s\n" "$enable_shared" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 -$as_echo_n "checking whether to build static libraries... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 +printf %s "checking whether to build static libraries... " >&6; } # Make sure either enable_shared or enable_static is yes. test yes = "$enable_shared" || enable_static=yes - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 -$as_echo "$enable_static" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 +printf "%s\n" "$enable_static" >&6; } @@ -12242,18 +12765,20 @@ CC=$lt_save_CC # Check --enable-warn-all # Check whether --enable-warn-all was given. -if test "${enable_warn_all+set}" = set; then : +if test ${enable_warn_all+y} +then : enableval=$enable_warn_all; ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking CFLAGS for maximum warnings" >&5 -$as_echo_n "checking CFLAGS for maximum warnings... " >&6; } -if ${ac_cv_cflags_warn_all+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking CFLAGS for maximum warnings" >&5 +printf %s "checking CFLAGS for maximum warnings... " >&6; } +if test ${ac_cv_cflags_warn_all+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_cv_cflags_warn_all="no, unknown" ac_save_CFLAGS="$CFLAGS" for ac_arg in "-warn all % -warn all" "-pedantic % -Wall" "-xstrconst % -v" "-std1 % -verbose -w0 -warnprotos" "-qlanglvl=ansi % -qsrcmsg -qinfo=all:noppt:noppc:noobs:nocnd" "-ansi -ansiE % -fullwarn" "+ESlit % +w1" "-Xc % -pvctl,fullmsg" "-h conform % -h msglevel 2" # @@ -12262,56 +12787,58 @@ do CFLAGS="$ac_save_CFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : ac_cv_cflags_warn_all=`echo $ac_arg | sed -e 's,.*% *,,'` ; break fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext done CFLAGS="$ac_save_CFLAGS" fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cflags_warn_all" >&5 -$as_echo "$ac_cv_cflags_warn_all" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cflags_warn_all" >&5 +printf "%s\n" "$ac_cv_cflags_warn_all" >&6; } case ".$ac_cv_cflags_warn_all" in .ok|.ok,*) ;; .|.no|.no,*) ;; *) -if ${CFLAGS+:} false; then : +if test ${CFLAGS+y} +then : case " $CFLAGS " in #( *" $ac_cv_cflags_warn_all "*) : - { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS already contains \$ac_cv_cflags_warn_all"; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CFLAGS already contains \$ac_cv_cflags_warn_all"; } >&5 (: CFLAGS already contains $ac_cv_cflags_warn_all) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } ;; #( *) : as_fn_append CFLAGS " $ac_cv_cflags_warn_all" - { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS=\"\$CFLAGS\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CFLAGS=\"\$CFLAGS\""; } >&5 (: CFLAGS="$CFLAGS") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } ;; esac -else +else $as_nop CFLAGS=$ac_cv_cflags_warn_all - { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS=\"\$CFLAGS\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : CFLAGS=\"\$CFLAGS\""; } >&5 (: CFLAGS="$CFLAGS") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } fi @@ -12331,10 +12858,11 @@ fi # Check --with-extra-cflags # Check whether --with-extra-cflags was given. -if test "${with_extra_cflags+set}" = set; then : +if test ${with_extra_cflags+y} +then : withval=$with_extra_cflags; - { $as_echo "$as_me:${as_lineno-$LINENO}: appending extra CFLAGS... $withval" >&5 -$as_echo "$as_me: appending extra CFLAGS... $withval" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: appending extra CFLAGS... $withval" >&5 +printf "%s\n" "$as_me: appending extra CFLAGS... $withval" >&6;} as_fn_append CFLAGS " $withval" fi @@ -12343,18 +12871,154 @@ fi # Check --with-extra-ldflags # Check whether --with-extra-ldflags was given. -if test "${with_extra_ldflags+set}" = set; then : +if test ${with_extra_ldflags+y} +then : withval=$with_extra_ldflags; - { $as_echo "$as_me:${as_lineno-$LINENO}: appending extra LDFLAGS... $withval" >&5 -$as_echo "$as_me: appending extra LDFLAGS... $withval" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: appending extra LDFLAGS... $withval" >&5 +printf "%s\n" "$as_me: appending extra LDFLAGS... $withval" >&6;} as_fn_append LDFLAGS " $withval" fi # pcap_thread +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 +printf %s "checking how to run the C preprocessor... " >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if test ${ac_cv_prog_CPP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + # Double quotes because $CC needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" cpp /lib/cpp + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO" +then : + +else $as_nop + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF +if ac_fn_c_try_cpp "$LINENO" +then : + # Broken: success on invalid input. +continue +else $as_nop + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok +then : + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 +printf "%s\n" "$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO" +then : + +else $as_nop + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF +if ac_fn_c_try_cpp "$LINENO" +then : + # Broken: success on invalid input. +continue +else $as_nop + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok +then : + +else $as_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + # Check whether --enable-threads was given. -if test "${enable_threads+set}" = set; then : +if test ${enable_threads+y} +then : enableval=$enable_threads; @@ -12379,38 +13043,37 @@ if test "x$PTHREAD_CFLAGS$PTHREAD_LIBS" != "x"; then ax_pthread_save_CC="$CC" ax_pthread_save_CFLAGS="$CFLAGS" ax_pthread_save_LIBS="$LIBS" - if test "x$PTHREAD_CC" != "x"; then : + if test "x$PTHREAD_CC" != "x" +then : CC="$PTHREAD_CC" fi CFLAGS="$CFLAGS $PTHREAD_CFLAGS" LIBS="$PTHREAD_LIBS $LIBS" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_join using $CC $PTHREAD_CFLAGS $PTHREAD_LIBS" >&5 -$as_echo_n "checking for pthread_join using $CC $PTHREAD_CFLAGS $PTHREAD_LIBS... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pthread_join using $CC $PTHREAD_CFLAGS $PTHREAD_LIBS" >&5 +printf %s "checking for pthread_join using $CC $PTHREAD_CFLAGS $PTHREAD_LIBS... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif char pthread_join (); int -main () +main (void) { return pthread_join (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : ax_pthread_ok=yes fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_pthread_ok" >&5 -$as_echo "$ax_pthread_ok" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_pthread_ok" >&5 +printf "%s\n" "$ax_pthread_ok" >&6; } if test "x$ax_pthread_ok" = "xno"; then PTHREAD_LIBS="" PTHREAD_CFLAGS="" @@ -12486,11 +13149,12 @@ case $host_os in _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "AX_PTHREAD_ZOS_MISSING" >/dev/null 2>&1; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: IBM z/OS requires -D_OPEN_THREADS or -D_UNIX03_THREADS to enable pthreads support." >&5 -$as_echo "$as_me: WARNING: IBM z/OS requires -D_OPEN_THREADS or -D_UNIX03_THREADS to enable pthreads support." >&2;} + $EGREP "AX_PTHREAD_ZOS_MISSING" >/dev/null 2>&1 +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: IBM z/OS requires -D_OPEN_THREADS or -D_UNIX03_THREADS to enable pthreads support." >&5 +printf "%s\n" "$as_me: WARNING: IBM z/OS requires -D_OPEN_THREADS or -D_UNIX03_THREADS to enable pthreads support." >&2;} fi -rm -f conftest* +rm -rf conftest* ;; @@ -12510,7 +13174,8 @@ esac # GCC generally uses -pthread, or -pthreads on some platforms (e.g. SPARC) -if test "x$GCC" = "xyes"; then : +if test "x$GCC" = "xyes" +then : ax_pthread_flags="-pthread -pthreads $ax_pthread_flags" fi @@ -12531,19 +13196,21 @@ case $host_os in ax_pthread_check_macro="--" ;; esac -if test "x$ax_pthread_check_macro" = "x--"; then : +if test "x$ax_pthread_check_macro" = "x--" +then : ax_pthread_check_cond=0 -else +else $as_nop ax_pthread_check_cond="!defined($ax_pthread_check_macro)" fi # Are we compiling with Clang? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC is Clang" >&5 -$as_echo_n "checking whether $CC is Clang... " >&6; } -if ${ax_cv_PTHREAD_CLANG+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC is Clang" >&5 +printf %s "checking whether $CC is Clang... " >&6; } +if test ${ax_cv_PTHREAD_CLANG+y} +then : + printf %s "(cached) " >&6 +else $as_nop ax_cv_PTHREAD_CLANG=no # Note that Autoconf sets GCC=yes for Clang as well as GCC if test "x$GCC" = "xyes"; then @@ -12556,16 +13223,17 @@ else _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "AX_PTHREAD_CC_IS_CLANG" >/dev/null 2>&1; then : + $EGREP "AX_PTHREAD_CC_IS_CLANG" >/dev/null 2>&1 +then : ax_cv_PTHREAD_CLANG=yes fi -rm -f conftest* +rm -rf conftest* fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_PTHREAD_CLANG" >&5 -$as_echo "$ax_cv_PTHREAD_CLANG" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_PTHREAD_CLANG" >&5 +printf "%s\n" "$ax_cv_PTHREAD_CLANG" >&6; } ax_pthread_clang="$ax_cv_PTHREAD_CLANG" ax_pthread_clang_warning=no @@ -12611,11 +13279,12 @@ if test "x$ax_pthread_clang" = "xyes"; then # that build with -Werror. So if the active version of Clang has # this misfeature, we search for an option to squash it. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether Clang needs flag to prevent \"argument unused\" warning when linking with -pthread" >&5 -$as_echo_n "checking whether Clang needs flag to prevent \"argument unused\" warning when linking with -pthread... " >&6; } -if ${ax_cv_PTHREAD_CLANG_NO_WARN_FLAG+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether Clang needs flag to prevent \"argument unused\" warning when linking with -pthread" >&5 +printf %s "checking whether Clang needs flag to prevent \"argument unused\" warning when linking with -pthread... " >&6; } +if test ${ax_cv_PTHREAD_CLANG_NO_WARN_FLAG+y} +then : + printf %s "(cached) " >&6 +else $as_nop ax_cv_PTHREAD_CLANG_NO_WARN_FLAG=unknown # Create an alternate version of $ac_link that compiles and # links in two steps (.c -> .o, .o -> exe) instead of one @@ -12627,7 +13296,8 @@ else ax_pthread_2step_ac_link="($ac_compile) && (echo ==== >&5) && ($ax_pthread_link_step)" ax_pthread_save_CFLAGS="$CFLAGS" for ax_pthread_try in '' -Qunused-arguments -Wno-unused-command-line-argument unknown; do - if test "x$ax_pthread_try" = "xunknown"; then : + if test "x$ax_pthread_try" = "xunknown" +then : break fi CFLAGS="-Werror -Wunknown-warning-option $ax_pthread_try -pthread $ax_pthread_save_CFLAGS" @@ -12636,32 +13306,35 @@ fi /* end confdefs.h. */ int main(void){return 0;} _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : ac_link="$ax_pthread_2step_ac_link" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main(void){return 0;} _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : break fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext done ac_link="$ax_pthread_save_ac_link" CFLAGS="$ax_pthread_save_CFLAGS" - if test "x$ax_pthread_try" = "x"; then : + if test "x$ax_pthread_try" = "x" +then : ax_pthread_try=no fi ax_cv_PTHREAD_CLANG_NO_WARN_FLAG="$ax_pthread_try" fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" >&5 -$as_echo "$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" >&5 +printf "%s\n" "$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" >&6; } case "$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" in no | unknown) ;; @@ -12675,31 +13348,32 @@ for ax_pthread_try_flag in $ax_pthread_flags; do case $ax_pthread_try_flag in none) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pthreads work without any flags" >&5 -$as_echo_n "checking whether pthreads work without any flags... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether pthreads work without any flags" >&5 +printf %s "checking whether pthreads work without any flags... " >&6; } ;; -mt,pthread) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pthreads work with -mt -lpthread" >&5 -$as_echo_n "checking whether pthreads work with -mt -lpthread... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether pthreads work with -mt -lpthread" >&5 +printf %s "checking whether pthreads work with -mt -lpthread... " >&6; } PTHREAD_CFLAGS="-mt" PTHREAD_LIBS="-lpthread" ;; -*) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pthreads work with $ax_pthread_try_flag" >&5 -$as_echo_n "checking whether pthreads work with $ax_pthread_try_flag... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether pthreads work with $ax_pthread_try_flag" >&5 +printf %s "checking whether pthreads work with $ax_pthread_try_flag... " >&6; } PTHREAD_CFLAGS="$ax_pthread_try_flag" ;; pthread-config) # Extract the first word of "pthread-config", so it can be a program name with args. set dummy pthread-config; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ax_pthread_config+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ax_pthread_config+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ax_pthread_config"; then ac_cv_prog_ax_pthread_config="$ax_pthread_config" # Let the user override the test. else @@ -12707,11 +13381,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ax_pthread_config="yes" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -12723,15 +13401,16 @@ fi fi ax_pthread_config=$ac_cv_prog_ax_pthread_config if test -n "$ax_pthread_config"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_pthread_config" >&5 -$as_echo "$ax_pthread_config" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_pthread_config" >&5 +printf "%s\n" "$ax_pthread_config" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi - if test "x$ax_pthread_config" = "xno"; then : + if test "x$ax_pthread_config" = "xno" +then : continue fi PTHREAD_CFLAGS="`pthread-config --cflags`" @@ -12739,8 +13418,8 @@ fi ;; *) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the pthreads library -l$ax_pthread_try_flag" >&5 -$as_echo_n "checking for the pthreads library -l$ax_pthread_try_flag... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for the pthreads library -l$ax_pthread_try_flag" >&5 +printf %s "checking for the pthreads library -l$ax_pthread_try_flag... " >&6; } PTHREAD_LIBS="-l$ax_pthread_try_flag" ;; esac @@ -12769,7 +13448,7 @@ $as_echo_n "checking for the pthreads library -l$ax_pthread_try_flag... " >&6; } static void routine(void *a) { a = 0; } static void *start_routine(void *a) { return a; } int -main () +main (void) { pthread_t th; pthread_attr_t attr; pthread_create(&th, 0, start_routine, 0); @@ -12781,18 +13460,20 @@ pthread_t th; pthread_attr_t attr; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : ax_pthread_ok=yes fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext CFLAGS="$ax_pthread_save_CFLAGS" LIBS="$ax_pthread_save_LIBS" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_pthread_ok" >&5 -$as_echo "$ax_pthread_ok" >&6; } - if test "x$ax_pthread_ok" = "xyes"; then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_pthread_ok" >&5 +printf "%s\n" "$ax_pthread_ok" >&6; } + if test "x$ax_pthread_ok" = "xyes" +then : break fi @@ -12809,51 +13490,53 @@ if test "x$ax_pthread_ok" = "xyes"; then LIBS="$PTHREAD_LIBS $LIBS" # Detect AIX lossage: JOINABLE attribute is called UNDETACHED. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for joinable pthread attribute" >&5 -$as_echo_n "checking for joinable pthread attribute... " >&6; } -if ${ax_cv_PTHREAD_JOINABLE_ATTR+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for joinable pthread attribute" >&5 +printf %s "checking for joinable pthread attribute... " >&6; } +if test ${ax_cv_PTHREAD_JOINABLE_ATTR+y} +then : + printf %s "(cached) " >&6 +else $as_nop ax_cv_PTHREAD_JOINABLE_ATTR=unknown for ax_pthread_attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int -main () +main (void) { int attr = $ax_pthread_attr; return attr /* ; */ ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : ax_cv_PTHREAD_JOINABLE_ATTR=$ax_pthread_attr; break fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext done fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_PTHREAD_JOINABLE_ATTR" >&5 -$as_echo "$ax_cv_PTHREAD_JOINABLE_ATTR" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_PTHREAD_JOINABLE_ATTR" >&5 +printf "%s\n" "$ax_cv_PTHREAD_JOINABLE_ATTR" >&6; } if test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xunknown" && \ test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xPTHREAD_CREATE_JOINABLE" && \ - test "x$ax_pthread_joinable_attr_defined" != "xyes"; then : + test "x$ax_pthread_joinable_attr_defined" != "xyes" +then : -cat >>confdefs.h <<_ACEOF -#define PTHREAD_CREATE_JOINABLE $ax_cv_PTHREAD_JOINABLE_ATTR -_ACEOF +printf "%s\n" "#define PTHREAD_CREATE_JOINABLE $ax_cv_PTHREAD_JOINABLE_ATTR" >>confdefs.h ax_pthread_joinable_attr_defined=yes fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether more special flags are required for pthreads" >&5 -$as_echo_n "checking whether more special flags are required for pthreads... " >&6; } -if ${ax_cv_PTHREAD_SPECIAL_FLAGS+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether more special flags are required for pthreads" >&5 +printf %s "checking whether more special flags are required for pthreads... " >&6; } +if test ${ax_cv_PTHREAD_SPECIAL_FLAGS+y} +then : + printf %s "(cached) " >&6 +else $as_nop ax_cv_PTHREAD_SPECIAL_FLAGS=no case $host_os in solaris*) @@ -12862,45 +13545,49 @@ else esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_PTHREAD_SPECIAL_FLAGS" >&5 -$as_echo "$ax_cv_PTHREAD_SPECIAL_FLAGS" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_PTHREAD_SPECIAL_FLAGS" >&5 +printf "%s\n" "$ax_cv_PTHREAD_SPECIAL_FLAGS" >&6; } if test "x$ax_cv_PTHREAD_SPECIAL_FLAGS" != "xno" && \ - test "x$ax_pthread_special_flags_added" != "xyes"; then : + test "x$ax_pthread_special_flags_added" != "xyes" +then : PTHREAD_CFLAGS="$ax_cv_PTHREAD_SPECIAL_FLAGS $PTHREAD_CFLAGS" ax_pthread_special_flags_added=yes fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PTHREAD_PRIO_INHERIT" >&5 -$as_echo_n "checking for PTHREAD_PRIO_INHERIT... " >&6; } -if ${ax_cv_PTHREAD_PRIO_INHERIT+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for PTHREAD_PRIO_INHERIT" >&5 +printf %s "checking for PTHREAD_PRIO_INHERIT... " >&6; } +if test ${ax_cv_PTHREAD_PRIO_INHERIT+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int -main () +main (void) { int i = PTHREAD_PRIO_INHERIT; ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : ax_cv_PTHREAD_PRIO_INHERIT=yes -else +else $as_nop ax_cv_PTHREAD_PRIO_INHERIT=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_PTHREAD_PRIO_INHERIT" >&5 -$as_echo "$ax_cv_PTHREAD_PRIO_INHERIT" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_PTHREAD_PRIO_INHERIT" >&5 +printf "%s\n" "$ax_cv_PTHREAD_PRIO_INHERIT" >&6; } if test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes" && \ - test "x$ax_pthread_prio_inherit_defined" != "xyes"; then : + test "x$ax_pthread_prio_inherit_defined" != "xyes" +then : -$as_echo "#define HAVE_PTHREAD_PRIO_INHERIT 1" >>confdefs.h +printf "%s\n" "#define HAVE_PTHREAD_PRIO_INHERIT 1" >>confdefs.h ax_pthread_prio_inherit_defined=yes @@ -12918,7 +13605,8 @@ fi #handle absolute path differently from PATH based program lookup case "x$CC" in #( x/*) : - if as_fn_executable_p ${CC}_r; then : + if as_fn_executable_p ${CC}_r +then : PTHREAD_CC="${CC}_r" fi ;; #( *) : @@ -12926,11 +13614,12 @@ fi ;; #( do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_PTHREAD_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_PTHREAD_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$PTHREAD_CC"; then ac_cv_prog_PTHREAD_CC="$PTHREAD_CC" # Let the user override the test. else @@ -12938,11 +13627,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_PTHREAD_CC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -12953,11 +13646,11 @@ fi fi PTHREAD_CC=$ac_cv_prog_PTHREAD_CC if test -n "$PTHREAD_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PTHREAD_CC" >&5 -$as_echo "$PTHREAD_CC" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PTHREAD_CC" >&5 +printf "%s\n" "$PTHREAD_CC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -12983,7 +13676,7 @@ test -n "$PTHREAD_CC" || PTHREAD_CC="$CC" # Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: if test "x$ax_pthread_ok" = "xyes"; then -$as_echo "#define HAVE_PTHREAD 1" >>confdefs.h +printf "%s\n" "#define HAVE_PTHREAD 1" >>confdefs.h : else @@ -12998,46 +13691,21 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether time.h and sys/time.h may both be included" >&5 -$as_echo_n "checking whether time.h and sys/time.h may both be included... " >&6; } -if ${ac_cv_header_time+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -int -main () -{ -if ((struct tm *) 0) -return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_time=yes -else - ac_cv_header_time=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_time" >&5 -$as_echo "$ac_cv_header_time" >&6; } -if test $ac_cv_header_time = yes; then +# Obsolete code to be removed. +if test $ac_cv_header_sys_time_h = yes; then -$as_echo "#define TIME_WITH_SYS_TIME 1" >>confdefs.h +printf "%s\n" "#define TIME_WITH_SYS_TIME 1" >>confdefs.h fi +# End of obsolete code. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pcap_open_live in -lpcap" >&5 -$as_echo_n "checking for pcap_open_live in -lpcap... " >&6; } -if ${ac_cv_lib_pcap_pcap_open_live+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pcap_open_live in -lpcap" >&5 +printf %s "checking for pcap_open_live in -lpcap... " >&6; } +if test ${ac_cv_lib_pcap_pcap_open_live+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_check_lib_save_LIBS=$LIBS LIBS="-lpcap $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -13046,152 +13714,150 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif char pcap_open_live (); int -main () +main (void) { return pcap_open_live (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : ac_cv_lib_pcap_pcap_open_live=yes -else +else $as_nop ac_cv_lib_pcap_pcap_open_live=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pcap_pcap_open_live" >&5 -$as_echo "$ac_cv_lib_pcap_pcap_open_live" >&6; } -if test "x$ac_cv_lib_pcap_pcap_open_live" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBPCAP 1 -_ACEOF +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pcap_pcap_open_live" >&5 +printf "%s\n" "$ac_cv_lib_pcap_pcap_open_live" >&6; } +if test "x$ac_cv_lib_pcap_pcap_open_live" = xyes +then : + printf "%s\n" "#define HAVE_LIBPCAP 1" >>confdefs.h LIBS="-lpcap $LIBS" -else +else $as_nop as_fn_error $? "libpcap not found" "$LINENO" 5 fi - ac_fn_c_check_header_mongrel "$LINENO" "pcap/pcap.h" "ac_cv_header_pcap_pcap_h" "$ac_includes_default" -if test "x$ac_cv_header_pcap_pcap_h" = xyes; then : + ac_fn_c_check_header_compile "$LINENO" "pcap/pcap.h" "ac_cv_header_pcap_pcap_h" "$ac_includes_default" +if test "x$ac_cv_header_pcap_pcap_h" = xyes +then : -else +else $as_nop as_fn_error $? "libpcap header not found" "$LINENO" 5 fi + ac_fn_c_check_header_compile "$LINENO" "endian.h" "ac_cv_header_endian_h" "$ac_includes_default" +if test "x$ac_cv_header_endian_h" = xyes +then : + printf "%s\n" "#define HAVE_ENDIAN_H 1" >>confdefs.h - for ac_header in endian.h sys/endian.h machine/endian.h sys/time.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF +fi +ac_fn_c_check_header_compile "$LINENO" "sys/endian.h" "ac_cv_header_sys_endian_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_endian_h" = xyes +then : + printf "%s\n" "#define HAVE_SYS_ENDIAN_H 1" >>confdefs.h fi +ac_fn_c_check_header_compile "$LINENO" "machine/endian.h" "ac_cv_header_machine_endian_h" "$ac_includes_default" +if test "x$ac_cv_header_machine_endian_h" = xyes +then : + printf "%s\n" "#define HAVE_MACHINE_ENDIAN_H 1" >>confdefs.h -done +fi +ac_fn_c_check_header_compile "$LINENO" "sys/time.h" "ac_cv_header_sys_time_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_time_h" = xyes +then : + printf "%s\n" "#define HAVE_SYS_TIME_H 1" >>confdefs.h - for ac_func in pcap_create pcap_set_tstamp_precision pcap_set_immediate_mode -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF +fi + + ac_fn_c_check_func "$LINENO" "pcap_create" "ac_cv_func_pcap_create" +if test "x$ac_cv_func_pcap_create" = xyes +then : + printf "%s\n" "#define HAVE_PCAP_CREATE 1" >>confdefs.h fi -done +ac_fn_c_check_func "$LINENO" "pcap_set_tstamp_precision" "ac_cv_func_pcap_set_tstamp_precision" +if test "x$ac_cv_func_pcap_set_tstamp_precision" = xyes +then : + printf "%s\n" "#define HAVE_PCAP_SET_TSTAMP_PRECISION 1" >>confdefs.h - for ac_func in pcap_set_tstamp_type pcap_setdirection sched_yield -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF +fi +ac_fn_c_check_func "$LINENO" "pcap_set_immediate_mode" "ac_cv_func_pcap_set_immediate_mode" +if test "x$ac_cv_func_pcap_set_immediate_mode" = xyes +then : + printf "%s\n" "#define HAVE_PCAP_SET_IMMEDIATE_MODE 1" >>confdefs.h fi -done - for ac_func in pcap_open_offline_with_tstamp_precision pcap_activate -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF + ac_fn_c_check_func "$LINENO" "pcap_set_tstamp_type" "ac_cv_func_pcap_set_tstamp_type" +if test "x$ac_cv_func_pcap_set_tstamp_type" = xyes +then : + printf "%s\n" "#define HAVE_PCAP_SET_TSTAMP_TYPE 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "pcap_setdirection" "ac_cv_func_pcap_setdirection" +if test "x$ac_cv_func_pcap_setdirection" = xyes +then : + printf "%s\n" "#define HAVE_PCAP_SETDIRECTION 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "sched_yield" "ac_cv_func_sched_yield" +if test "x$ac_cv_func_sched_yield" = xyes +then : + printf "%s\n" "#define HAVE_SCHED_YIELD 1" >>confdefs.h + +fi + + ac_fn_c_check_func "$LINENO" "pcap_open_offline_with_tstamp_precision" "ac_cv_func_pcap_open_offline_with_tstamp_precision" +if test "x$ac_cv_func_pcap_open_offline_with_tstamp_precision" = xyes +then : + printf "%s\n" "#define HAVE_PCAP_OPEN_OFFLINE_WITH_TSTAMP_PRECISION 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "pcap_activate" "ac_cv_func_pcap_activate" +if test "x$ac_cv_func_pcap_activate" = xyes +then : + printf "%s\n" "#define HAVE_PCAP_ACTIVATE 1" >>confdefs.h fi -done ac_fn_c_check_type "$LINENO" "pcap_direction_t" "ac_cv_type_pcap_direction_t" "#include " -if test "x$ac_cv_type_pcap_direction_t" = xyes; then : +if test "x$ac_cv_type_pcap_direction_t" = xyes +then : -cat >>confdefs.h <<_ACEOF -#define HAVE_PCAP_DIRECTION_T 1 -_ACEOF +printf "%s\n" "#define HAVE_PCAP_DIRECTION_T 1" >>confdefs.h fi -else +else $as_nop - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether time.h and sys/time.h may both be included" >&5 -$as_echo_n "checking whether time.h and sys/time.h may both be included... " >&6; } -if ${ac_cv_header_time+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -int -main () -{ -if ((struct tm *) 0) -return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_time=yes -else - ac_cv_header_time=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_time" >&5 -$as_echo "$ac_cv_header_time" >&6; } -if test $ac_cv_header_time = yes; then +# Obsolete code to be removed. +if test $ac_cv_header_sys_time_h = yes; then -$as_echo "#define TIME_WITH_SYS_TIME 1" >>confdefs.h +printf "%s\n" "#define TIME_WITH_SYS_TIME 1" >>confdefs.h fi +# End of obsolete code. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pcap_open_live in -lpcap" >&5 -$as_echo_n "checking for pcap_open_live in -lpcap... " >&6; } -if ${ac_cv_lib_pcap_pcap_open_live+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pcap_open_live in -lpcap" >&5 +printf %s "checking for pcap_open_live in -lpcap... " >&6; } +if test ${ac_cv_lib_pcap_pcap_open_live+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_check_lib_save_LIBS=$LIBS LIBS="-lpcap $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -13200,104 +13866,127 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif char pcap_open_live (); int -main () +main (void) { return pcap_open_live (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : ac_cv_lib_pcap_pcap_open_live=yes -else +else $as_nop ac_cv_lib_pcap_pcap_open_live=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pcap_pcap_open_live" >&5 -$as_echo "$ac_cv_lib_pcap_pcap_open_live" >&6; } -if test "x$ac_cv_lib_pcap_pcap_open_live" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBPCAP 1 -_ACEOF +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pcap_pcap_open_live" >&5 +printf "%s\n" "$ac_cv_lib_pcap_pcap_open_live" >&6; } +if test "x$ac_cv_lib_pcap_pcap_open_live" = xyes +then : + printf "%s\n" "#define HAVE_LIBPCAP 1" >>confdefs.h LIBS="-lpcap $LIBS" -else +else $as_nop as_fn_error $? "libpcap not found" "$LINENO" 5 fi - ac_fn_c_check_header_mongrel "$LINENO" "pcap/pcap.h" "ac_cv_header_pcap_pcap_h" "$ac_includes_default" -if test "x$ac_cv_header_pcap_pcap_h" = xyes; then : + ac_fn_c_check_header_compile "$LINENO" "pcap/pcap.h" "ac_cv_header_pcap_pcap_h" "$ac_includes_default" +if test "x$ac_cv_header_pcap_pcap_h" = xyes +then : -else +else $as_nop as_fn_error $? "libpcap header not found" "$LINENO" 5 fi + ac_fn_c_check_header_compile "$LINENO" "endian.h" "ac_cv_header_endian_h" "$ac_includes_default" +if test "x$ac_cv_header_endian_h" = xyes +then : + printf "%s\n" "#define HAVE_ENDIAN_H 1" >>confdefs.h - for ac_header in endian.h sys/endian.h machine/endian.h sys/time.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF +fi +ac_fn_c_check_header_compile "$LINENO" "sys/endian.h" "ac_cv_header_sys_endian_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_endian_h" = xyes +then : + printf "%s\n" "#define HAVE_SYS_ENDIAN_H 1" >>confdefs.h fi +ac_fn_c_check_header_compile "$LINENO" "machine/endian.h" "ac_cv_header_machine_endian_h" "$ac_includes_default" +if test "x$ac_cv_header_machine_endian_h" = xyes +then : + printf "%s\n" "#define HAVE_MACHINE_ENDIAN_H 1" >>confdefs.h -done +fi +ac_fn_c_check_header_compile "$LINENO" "sys/time.h" "ac_cv_header_sys_time_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_time_h" = xyes +then : + printf "%s\n" "#define HAVE_SYS_TIME_H 1" >>confdefs.h - for ac_func in pcap_create pcap_set_tstamp_precision pcap_set_immediate_mode -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF +fi + + ac_fn_c_check_func "$LINENO" "pcap_create" "ac_cv_func_pcap_create" +if test "x$ac_cv_func_pcap_create" = xyes +then : + printf "%s\n" "#define HAVE_PCAP_CREATE 1" >>confdefs.h fi -done +ac_fn_c_check_func "$LINENO" "pcap_set_tstamp_precision" "ac_cv_func_pcap_set_tstamp_precision" +if test "x$ac_cv_func_pcap_set_tstamp_precision" = xyes +then : + printf "%s\n" "#define HAVE_PCAP_SET_TSTAMP_PRECISION 1" >>confdefs.h - for ac_func in pcap_set_tstamp_type pcap_setdirection sched_yield -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF +fi +ac_fn_c_check_func "$LINENO" "pcap_set_immediate_mode" "ac_cv_func_pcap_set_immediate_mode" +if test "x$ac_cv_func_pcap_set_immediate_mode" = xyes +then : + printf "%s\n" "#define HAVE_PCAP_SET_IMMEDIATE_MODE 1" >>confdefs.h fi -done - for ac_func in pcap_open_offline_with_tstamp_precision pcap_activate -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF + ac_fn_c_check_func "$LINENO" "pcap_set_tstamp_type" "ac_cv_func_pcap_set_tstamp_type" +if test "x$ac_cv_func_pcap_set_tstamp_type" = xyes +then : + printf "%s\n" "#define HAVE_PCAP_SET_TSTAMP_TYPE 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "pcap_setdirection" "ac_cv_func_pcap_setdirection" +if test "x$ac_cv_func_pcap_setdirection" = xyes +then : + printf "%s\n" "#define HAVE_PCAP_SETDIRECTION 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "sched_yield" "ac_cv_func_sched_yield" +if test "x$ac_cv_func_sched_yield" = xyes +then : + printf "%s\n" "#define HAVE_SCHED_YIELD 1" >>confdefs.h + +fi + + ac_fn_c_check_func "$LINENO" "pcap_open_offline_with_tstamp_precision" "ac_cv_func_pcap_open_offline_with_tstamp_precision" +if test "x$ac_cv_func_pcap_open_offline_with_tstamp_precision" = xyes +then : + printf "%s\n" "#define HAVE_PCAP_OPEN_OFFLINE_WITH_TSTAMP_PRECISION 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "pcap_activate" "ac_cv_func_pcap_activate" +if test "x$ac_cv_func_pcap_activate" = xyes +then : + printf "%s\n" "#define HAVE_PCAP_ACTIVATE 1" >>confdefs.h fi -done ac_fn_c_check_type "$LINENO" "pcap_direction_t" "ac_cv_type_pcap_direction_t" "#include " -if test "x$ac_cv_type_pcap_direction_t" = xyes; then : +if test "x$ac_cv_type_pcap_direction_t" = xyes +then : -cat >>confdefs.h <<_ACEOF -#define HAVE_PCAP_DIRECTION_T 1 -_ACEOF +printf "%s\n" "#define HAVE_PCAP_DIRECTION_T 1" >>confdefs.h fi @@ -13308,11 +13997,12 @@ fi # Check --enable-gcov # Check whether --enable-gcov was given. -if test "${enable_gcov+set}" = set; then : +if test ${enable_gcov+y} +then : enableval=$enable_gcov; coverage_cflags="--coverage -g -O0 -fno-inline -fno-inline-small-functions -fno-default-inline" - { $as_echo "$as_me:${as_lineno-$LINENO}: enabling coverage testing... $coverage_cflags" >&5 -$as_echo "$as_me: enabling coverage testing... $coverage_cflags" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: enabling coverage testing... $coverage_cflags" >&5 +printf "%s\n" "$as_me: enabling coverage testing... $coverage_cflags" >&6;} as_fn_append CFLAGS " $coverage_cflags" fi @@ -13328,11 +14018,12 @@ fi # Checks for libraries. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 -$as_echo_n "checking for dlopen in -ldl... " >&6; } -if ${ac_cv_lib_dl_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 +printf %s "checking for dlopen in -ldl... " >&6; } +if test ${ac_cv_lib_dl_dlopen+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -13341,43 +14032,41 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif char dlopen (); int -main () +main (void) { return dlopen (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : ac_cv_lib_dl_dlopen=yes -else +else $as_nop ac_cv_lib_dl_dlopen=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 -$as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBDL 1 -_ACEOF +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 +printf "%s\n" "$ac_cv_lib_dl_dlopen" >&6; } +if test "x$ac_cv_lib_dl_dlopen" = xyes +then : + printf "%s\n" "#define HAVE_LIBDL 1" >>confdefs.h LIBS="-ldl $LIBS" fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for cbor_parser_init in -ltinycbor" >&5 -$as_echo_n "checking for cbor_parser_init in -ltinycbor... " >&6; } -if ${ac_cv_lib_tinycbor_cbor_parser_init+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cbor_parser_init in -ltinycbor" >&5 +printf %s "checking for cbor_parser_init in -ltinycbor... " >&6; } +if test ${ac_cv_lib_tinycbor_cbor_parser_init+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_check_lib_save_LIBS=$LIBS LIBS="-ltinycbor $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -13386,33 +14075,30 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif char cbor_parser_init (); int -main () +main (void) { return cbor_parser_init (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : ac_cv_lib_tinycbor_cbor_parser_init=yes -else +else $as_nop ac_cv_lib_tinycbor_cbor_parser_init=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_tinycbor_cbor_parser_init" >&5 -$as_echo "$ac_cv_lib_tinycbor_cbor_parser_init" >&6; } -if test "x$ac_cv_lib_tinycbor_cbor_parser_init" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBTINYCBOR 1 -_ACEOF +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_tinycbor_cbor_parser_init" >&5 +printf "%s\n" "$ac_cv_lib_tinycbor_cbor_parser_init" >&6; } +if test "x$ac_cv_lib_tinycbor_cbor_parser_init" = xyes +then : + printf "%s\n" "#define HAVE_LIBTINYCBOR 1" >>confdefs.h LIBS="-ltinycbor $LIBS" @@ -13426,11 +14112,12 @@ else HAVE_CBOR_FALSE= fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gzopen in -lz" >&5 -$as_echo_n "checking for gzopen in -lz... " >&6; } -if ${ac_cv_lib_z_gzopen+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gzopen in -lz" >&5 +printf %s "checking for gzopen in -lz... " >&6; } +if test ${ac_cv_lib_z_gzopen+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_check_lib_save_LIBS=$LIBS LIBS="-lz $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -13439,33 +14126,30 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif char gzopen (); int -main () +main (void) { return gzopen (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : ac_cv_lib_z_gzopen=yes -else +else $as_nop ac_cv_lib_z_gzopen=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_gzopen" >&5 -$as_echo "$ac_cv_lib_z_gzopen" >&6; } -if test "x$ac_cv_lib_z_gzopen" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBZ 1 -_ACEOF +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_gzopen" >&5 +printf "%s\n" "$ac_cv_lib_z_gzopen" >&6; } +if test "x$ac_cv_lib_z_gzopen" = xyes +then : + printf "%s\n" "#define HAVE_LIBZ 1" >>confdefs.h LIBS="-lz $LIBS" @@ -13482,11 +14166,12 @@ if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_PKG_CONFIG+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop case $PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. @@ -13496,11 +14181,15 @@ else for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_path_PKG_CONFIG="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -13512,11 +14201,11 @@ esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG if test -n "$PKG_CONFIG"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 -$as_echo "$PKG_CONFIG" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +printf "%s\n" "$PKG_CONFIG" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -13525,11 +14214,12 @@ if test -z "$ac_cv_path_PKG_CONFIG"; then ac_pt_PKG_CONFIG=$PKG_CONFIG # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_ac_pt_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop case $ac_pt_PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. @@ -13539,11 +14229,15 @@ else for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_path_ac_pt_PKG_CONFIG="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -13555,11 +14249,11 @@ esac fi ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG if test -n "$ac_pt_PKG_CONFIG"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 -$as_echo "$ac_pt_PKG_CONFIG" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test "x$ac_pt_PKG_CONFIG" = x; then @@ -13567,8 +14261,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac PKG_CONFIG=$ac_pt_PKG_CONFIG @@ -13580,30 +14274,30 @@ fi fi if test -n "$PKG_CONFIG"; then _pkg_min_version=0.9.0 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 -$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; } if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } PKG_CONFIG="" fi fi pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libcrypto" >&5 -$as_echo_n "checking for libcrypto... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libcrypto" >&5 +printf %s "checking for libcrypto... " >&6; } if test -n "$libcrypto_CFLAGS"; then pkg_cv_libcrypto_CFLAGS="$libcrypto_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libcrypto\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libcrypto\""; } >&5 ($PKG_CONFIG --exists --print-errors "libcrypto") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_libcrypto_CFLAGS=`$PKG_CONFIG --cflags "libcrypto" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -13617,10 +14311,10 @@ if test -n "$libcrypto_LIBS"; then pkg_cv_libcrypto_LIBS="$libcrypto_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libcrypto\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libcrypto\""; } >&5 ($PKG_CONFIG --exists --print-errors "libcrypto") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_libcrypto_LIBS=`$PKG_CONFIG --libs "libcrypto" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -13634,8 +14328,8 @@ fi if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -13661,10 +14355,10 @@ Alternatively, you may set the environment variables libcrypto_CFLAGS and libcrypto_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -13678,17 +14372,18 @@ See \`config.log' for more details" "$LINENO" 5; } else libcrypto_CFLAGS=$pkg_cv_libcrypto_CFLAGS libcrypto_LIBS=$pkg_cv_libcrypto_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } -$as_echo "#define HAVE_LIBCRYPTO 1" >>confdefs.h +printf "%s\n" "#define HAVE_LIBCRYPTO 1" >>confdefs.h fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for scramble_init in -lcryptopant" >&5 -$as_echo_n "checking for scramble_init in -lcryptopant... " >&6; } -if ${ac_cv_lib_cryptopant_scramble_init+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for scramble_init in -lcryptopant" >&5 +printf %s "checking for scramble_init in -lcryptopant... " >&6; } +if test ${ac_cv_lib_cryptopant_scramble_init+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_check_lib_save_LIBS=$LIBS LIBS="-lcryptopant $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -13697,43 +14392,41 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif char scramble_init (); int -main () +main (void) { return scramble_init (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : ac_cv_lib_cryptopant_scramble_init=yes -else +else $as_nop ac_cv_lib_cryptopant_scramble_init=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_cryptopant_scramble_init" >&5 -$as_echo "$ac_cv_lib_cryptopant_scramble_init" >&6; } -if test "x$ac_cv_lib_cryptopant_scramble_init" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBCRYPTOPANT 1 -_ACEOF +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_cryptopant_scramble_init" >&5 +printf "%s\n" "$ac_cv_lib_cryptopant_scramble_init" >&6; } +if test "x$ac_cv_lib_cryptopant_scramble_init" = xyes +then : + printf "%s\n" "#define HAVE_LIBCRYPTOPANT 1" >>confdefs.h LIBS="-lcryptopant $LIBS" -else +else $as_nop - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for scramble_init in -lcryptopANT" >&5 -$as_echo_n "checking for scramble_init in -lcryptopANT... " >&6; } -if ${ac_cv_lib_cryptopANT_scramble_init+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for scramble_init in -lcryptopANT" >&5 +printf %s "checking for scramble_init in -lcryptopANT... " >&6; } +if test ${ac_cv_lib_cryptopANT_scramble_init+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_check_lib_save_LIBS=$LIBS LIBS="-lcryptopANT $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -13742,33 +14435,30 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif char scramble_init (); int -main () +main (void) { return scramble_init (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : ac_cv_lib_cryptopANT_scramble_init=yes -else +else $as_nop ac_cv_lib_cryptopANT_scramble_init=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_cryptopANT_scramble_init" >&5 -$as_echo "$ac_cv_lib_cryptopANT_scramble_init" >&6; } -if test "x$ac_cv_lib_cryptopANT_scramble_init" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBCRYPTOPANT 1 -_ACEOF +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_cryptopANT_scramble_init" >&5 +printf "%s\n" "$ac_cv_lib_cryptopANT_scramble_init" >&6; } +if test "x$ac_cv_lib_cryptopANT_scramble_init" = xyes +then : + printf "%s\n" "#define HAVE_LIBCRYPTOPANT 1" >>confdefs.h LIBS="-lcryptopANT $LIBS" @@ -13779,17 +14469,17 @@ fi pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libldns" >&5 -$as_echo_n "checking for libldns... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libldns" >&5 +printf %s "checking for libldns... " >&6; } if test -n "$libldns_CFLAGS"; then pkg_cv_libldns_CFLAGS="$libldns_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libldns\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libldns\""; } >&5 ($PKG_CONFIG --exists --print-errors "libldns") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_libldns_CFLAGS=`$PKG_CONFIG --cflags "libldns" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -13803,10 +14493,10 @@ if test -n "$libldns_LIBS"; then pkg_cv_libldns_LIBS="$libldns_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libldns\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libldns\""; } >&5 ($PKG_CONFIG --exists --print-errors "libldns") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_libldns_LIBS=`$PKG_CONFIG --libs "libldns" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -13820,8 +14510,8 @@ fi if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -13839,17 +14529,17 @@ fi pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libldns" >&5 -$as_echo_n "checking for libldns... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ldns" >&5 +printf %s "checking for ldns... " >&6; } if test -n "$libldns_CFLAGS"; then pkg_cv_libldns_CFLAGS="$libldns_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ldns\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ldns\""; } >&5 ($PKG_CONFIG --exists --print-errors "ldns") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_libldns_CFLAGS=`$PKG_CONFIG --cflags "ldns" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -13863,10 +14553,10 @@ if test -n "$libldns_LIBS"; then pkg_cv_libldns_LIBS="$libldns_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ldns\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ldns\""; } >&5 ($PKG_CONFIG --exists --print-errors "ldns") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_libldns_LIBS=`$PKG_CONFIG --libs "ldns" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -13880,8 +14570,8 @@ fi if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -13907,10 +14597,10 @@ Alternatively, you may set the environment variables libldns_CFLAGS and libldns_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -13924,28 +14614,28 @@ See \`config.log' for more details" "$LINENO" 5; } else libldns_CFLAGS=$pkg_cv_libldns_CFLAGS libldns_LIBS=$pkg_cv_libldns_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } fi elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libldns" >&5 -$as_echo_n "checking for libldns... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ldns" >&5 +printf %s "checking for ldns... " >&6; } if test -n "$libldns_CFLAGS"; then pkg_cv_libldns_CFLAGS="$libldns_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ldns\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ldns\""; } >&5 ($PKG_CONFIG --exists --print-errors "ldns") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_libldns_CFLAGS=`$PKG_CONFIG --cflags "ldns" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -13959,10 +14649,10 @@ if test -n "$libldns_LIBS"; then pkg_cv_libldns_LIBS="$libldns_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ldns\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ldns\""; } >&5 ($PKG_CONFIG --exists --print-errors "ldns") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_libldns_LIBS=`$PKG_CONFIG --libs "ldns" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -13976,8 +14666,8 @@ fi if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -14003,10 +14693,10 @@ Alternatively, you may set the environment variables libldns_CFLAGS and libldns_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -14020,16 +14710,16 @@ See \`config.log' for more details" "$LINENO" 5; } else libldns_CFLAGS=$pkg_cv_libldns_CFLAGS libldns_LIBS=$pkg_cv_libldns_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } fi else libldns_CFLAGS=$pkg_cv_libldns_CFLAGS libldns_LIBS=$pkg_cv_libldns_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } fi @@ -14037,11 +14727,12 @@ fi case "$host_os" in # HPUX hpux*) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lhplx" >&5 -$as_echo_n "checking for main in -lhplx... " >&6; } -if ${ac_cv_lib_hplx_main+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for main in -lhplx" >&5 +printf %s "checking for main in -lhplx... " >&6; } +if test ${ac_cv_lib_hplx_main+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_check_lib_save_LIBS=$LIBS LIBS="-lhplx $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -14049,28 +14740,28 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext int -main () +main (void) { return main (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : ac_cv_lib_hplx_main=yes -else +else $as_nop ac_cv_lib_hplx_main=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_hplx_main" >&5 -$as_echo "$ac_cv_lib_hplx_main" >&6; } -if test "x$ac_cv_lib_hplx_main" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBHPLX 1 -_ACEOF +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_hplx_main" >&5 +printf "%s\n" "$ac_cv_lib_hplx_main" >&6; } +if test "x$ac_cv_lib_hplx_main" = xyes +then : + printf "%s\n" "#define HAVE_LIBHPLX 1" >>confdefs.h LIBS="-lhplx $LIBS" @@ -14080,11 +14771,12 @@ fi # Solaris solaris*) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lrt" >&5 -$as_echo_n "checking for main in -lrt... " >&6; } -if ${ac_cv_lib_rt_main+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for main in -lrt" >&5 +printf %s "checking for main in -lrt... " >&6; } +if test ${ac_cv_lib_rt_main+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_check_lib_save_LIBS=$LIBS LIBS="-lrt $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -14092,38 +14784,39 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext int -main () +main (void) { return main (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : ac_cv_lib_rt_main=yes -else +else $as_nop ac_cv_lib_rt_main=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rt_main" >&5 -$as_echo "$ac_cv_lib_rt_main" >&6; } -if test "x$ac_cv_lib_rt_main" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBRT 1 -_ACEOF +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rt_main" >&5 +printf "%s\n" "$ac_cv_lib_rt_main" >&6; } +if test "x$ac_cv_lib_rt_main" = xyes +then : + printf "%s\n" "#define HAVE_LIBRT 1" >>confdefs.h LIBS="-lrt $LIBS" fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lmd5" >&5 -$as_echo_n "checking for main in -lmd5... " >&6; } -if ${ac_cv_lib_md5_main+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for main in -lmd5" >&5 +printf %s "checking for main in -lmd5... " >&6; } +if test ${ac_cv_lib_md5_main+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_check_lib_save_LIBS=$LIBS LIBS="-lmd5 $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -14131,38 +14824,39 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext int -main () +main (void) { return main (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : ac_cv_lib_md5_main=yes -else +else $as_nop ac_cv_lib_md5_main=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_md5_main" >&5 -$as_echo "$ac_cv_lib_md5_main" >&6; } -if test "x$ac_cv_lib_md5_main" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBMD5 1 -_ACEOF +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_md5_main" >&5 +printf "%s\n" "$ac_cv_lib_md5_main" >&6; } +if test "x$ac_cv_lib_md5_main" = xyes +then : + printf "%s\n" "#define HAVE_LIBMD5 1" >>confdefs.h LIBS="-lmd5 $LIBS" fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lsocket" >&5 -$as_echo_n "checking for main in -lsocket... " >&6; } -if ${ac_cv_lib_socket_main+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for main in -lsocket" >&5 +printf %s "checking for main in -lsocket... " >&6; } +if test ${ac_cv_lib_socket_main+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_check_lib_save_LIBS=$LIBS LIBS="-lsocket $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -14170,38 +14864,39 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext int -main () +main (void) { return main (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : ac_cv_lib_socket_main=yes -else +else $as_nop ac_cv_lib_socket_main=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_main" >&5 -$as_echo "$ac_cv_lib_socket_main" >&6; } -if test "x$ac_cv_lib_socket_main" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBSOCKET 1 -_ACEOF +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_main" >&5 +printf "%s\n" "$ac_cv_lib_socket_main" >&6; } +if test "x$ac_cv_lib_socket_main" = xyes +then : + printf "%s\n" "#define HAVE_LIBSOCKET 1" >>confdefs.h LIBS="-lsocket $LIBS" fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lnsl" >&5 -$as_echo_n "checking for main in -lnsl... " >&6; } -if ${ac_cv_lib_nsl_main+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for main in -lnsl" >&5 +printf %s "checking for main in -lnsl... " >&6; } +if test ${ac_cv_lib_nsl_main+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_check_lib_save_LIBS=$LIBS LIBS="-lnsl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -14209,28 +14904,28 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext int -main () +main (void) { return main (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : ac_cv_lib_nsl_main=yes -else +else $as_nop ac_cv_lib_nsl_main=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_main" >&5 -$as_echo "$ac_cv_lib_nsl_main" >&6; } -if test "x$ac_cv_lib_nsl_main" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBNSL 1 -_ACEOF +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_main" >&5 +printf "%s\n" "$ac_cv_lib_nsl_main" >&6; } +if test "x$ac_cv_lib_nsl_main" = xyes +then : + printf "%s\n" "#define HAVE_LIBNSL 1" >>confdefs.h LIBS="-lnsl $LIBS" @@ -14240,10 +14935,7 @@ fi esac # Checks for header files. -for ac_header in sys/types.h netinet/in.h arpa/nameser.h netdb.h resolv.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "#ifdef HAVE_SYS_TYPES_H +ac_fn_c_check_header_compile "$LINENO" "sys/types.h" "ac_cv_header_sys_types_h" "#ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_NETINET_IN_H @@ -14256,214 +14948,343 @@ ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "#ifdef HAVE # include #endif " -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF +if test "x$ac_cv_header_sys_types_h" = xyes +then : + printf "%s\n" "#define HAVE_SYS_TYPES_H 1" >>confdefs.h fi +ac_fn_c_check_header_compile "$LINENO" "netinet/in.h" "ac_cv_header_netinet_in_h" "#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_NETINET_IN_H +# include /* inet_ functions / structs */ +#endif +#ifdef HAVE_ARPA_NAMESER_H +# include /* DNS HEADER struct */ +#endif +#ifdef HAVE_NETDB_H +# include +#endif +" +if test "x$ac_cv_header_netinet_in_h" = xyes +then : + printf "%s\n" "#define HAVE_NETINET_IN_H 1" >>confdefs.h -done +fi +ac_fn_c_check_header_compile "$LINENO" "arpa/nameser.h" "ac_cv_header_arpa_nameser_h" "#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_NETINET_IN_H +# include /* inet_ functions / structs */ +#endif +#ifdef HAVE_ARPA_NAMESER_H +# include /* DNS HEADER struct */ +#endif +#ifdef HAVE_NETDB_H +# include +#endif +" +if test "x$ac_cv_header_arpa_nameser_h" = xyes +then : + printf "%s\n" "#define HAVE_ARPA_NAMESER_H 1" >>confdefs.h +fi +ac_fn_c_check_header_compile "$LINENO" "netdb.h" "ac_cv_header_netdb_h" "#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_NETINET_IN_H +# include /* inet_ functions / structs */ +#endif +#ifdef HAVE_ARPA_NAMESER_H +# include /* DNS HEADER struct */ +#endif +#ifdef HAVE_NETDB_H +# include +#endif +" +if test "x$ac_cv_header_netdb_h" = xyes +then : + printf "%s\n" "#define HAVE_NETDB_H 1" >>confdefs.h -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether time.h and sys/time.h may both be included" >&5 -$as_echo_n "checking whether time.h and sys/time.h may both be included... " >&6; } -if ${ac_cv_header_time+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include +fi +ac_fn_c_check_header_compile "$LINENO" "resolv.h" "ac_cv_header_resolv_h" "#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_NETINET_IN_H +# include /* inet_ functions / structs */ +#endif +#ifdef HAVE_ARPA_NAMESER_H +# include /* DNS HEADER struct */ +#endif +#ifdef HAVE_NETDB_H +# include +#endif +" +if test "x$ac_cv_header_resolv_h" = xyes +then : + printf "%s\n" "#define HAVE_RESOLV_H 1" >>confdefs.h -int -main () -{ -if ((struct tm *) 0) -return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_time=yes -else - ac_cv_header_time=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + + + +# Obsolete code to be removed. +if test $ac_cv_header_sys_time_h = yes; then + +printf "%s\n" "#define TIME_WITH_SYS_TIME 1" >>confdefs.h + fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_time" >&5 -$as_echo "$ac_cv_header_time" >&6; } -if test $ac_cv_header_time = yes; then +# End of obsolete code. -$as_echo "#define TIME_WITH_SYS_TIME 1" >>confdefs.h +ac_fn_c_check_header_compile "$LINENO" "arpa/inet.h" "ac_cv_header_arpa_inet_h" "$ac_includes_default" +if test "x$ac_cv_header_arpa_inet_h" = xyes +then : + printf "%s\n" "#define HAVE_ARPA_INET_H 1" >>confdefs.h fi +ac_fn_c_check_header_compile "$LINENO" "fcntl.h" "ac_cv_header_fcntl_h" "$ac_includes_default" +if test "x$ac_cv_header_fcntl_h" = xyes +then : + printf "%s\n" "#define HAVE_FCNTL_H 1" >>confdefs.h -for ac_header in arpa/inet.h fcntl.h netdb.h netinet/in.h stdlib.h string.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF +fi +ac_fn_c_check_header_compile "$LINENO" "netdb.h" "ac_cv_header_netdb_h" "$ac_includes_default" +if test "x$ac_cv_header_netdb_h" = xyes +then : + printf "%s\n" "#define HAVE_NETDB_H 1" >>confdefs.h fi +ac_fn_c_check_header_compile "$LINENO" "netinet/in.h" "ac_cv_header_netinet_in_h" "$ac_includes_default" +if test "x$ac_cv_header_netinet_in_h" = xyes +then : + printf "%s\n" "#define HAVE_NETINET_IN_H 1" >>confdefs.h -done +fi +ac_fn_c_check_header_compile "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default" +if test "x$ac_cv_header_stdlib_h" = xyes +then : + printf "%s\n" "#define HAVE_STDLIB_H 1" >>confdefs.h -for ac_header in sys/ioctl.h sys/param.h sys/socket.h sys/time.h unistd.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF +fi +ac_fn_c_check_header_compile "$LINENO" "string.h" "ac_cv_header_string_h" "$ac_includes_default" +if test "x$ac_cv_header_string_h" = xyes +then : + printf "%s\n" "#define HAVE_STRING_H 1" >>confdefs.h fi -done +ac_fn_c_check_header_compile "$LINENO" "sys/ioctl.h" "ac_cv_header_sys_ioctl_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_ioctl_h" = xyes +then : + printf "%s\n" "#define HAVE_SYS_IOCTL_H 1" >>confdefs.h -for ac_header in ldns/ldns.h arpa/nameser_compat.h cbor.h cbor/cbor.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF +fi +ac_fn_c_check_header_compile "$LINENO" "sys/param.h" "ac_cv_header_sys_param_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_param_h" = xyes +then : + printf "%s\n" "#define HAVE_SYS_PARAM_H 1" >>confdefs.h fi +ac_fn_c_check_header_compile "$LINENO" "sys/socket.h" "ac_cv_header_sys_socket_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_socket_h" = xyes +then : + printf "%s\n" "#define HAVE_SYS_SOCKET_H 1" >>confdefs.h -done +fi +ac_fn_c_check_header_compile "$LINENO" "sys/time.h" "ac_cv_header_sys_time_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_time_h" = xyes +then : + printf "%s\n" "#define HAVE_SYS_TIME_H 1" >>confdefs.h -for ac_header in sys/time.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "sys/time.h" "ac_cv_header_sys_time_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_time_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_SYS_TIME_H 1 -_ACEOF +fi +ac_fn_c_check_header_compile "$LINENO" "unistd.h" "ac_cv_header_unistd_h" "$ac_includes_default" +if test "x$ac_cv_header_unistd_h" = xyes +then : + printf "%s\n" "#define HAVE_UNISTD_H 1" >>confdefs.h fi -done +ac_fn_c_check_header_compile "$LINENO" "ldns/ldns.h" "ac_cv_header_ldns_ldns_h" "$ac_includes_default" +if test "x$ac_cv_header_ldns_ldns_h" = xyes +then : + printf "%s\n" "#define HAVE_LDNS_LDNS_H 1" >>confdefs.h -for ac_header in zlib.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "zlib.h" "ac_cv_header_zlib_h" "$ac_includes_default" -if test "x$ac_cv_header_zlib_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_ZLIB_H 1 -_ACEOF +fi +ac_fn_c_check_header_compile "$LINENO" "arpa/nameser_compat.h" "ac_cv_header_arpa_nameser_compat_h" "$ac_includes_default" +if test "x$ac_cv_header_arpa_nameser_compat_h" = xyes +then : + printf "%s\n" "#define HAVE_ARPA_NAMESER_COMPAT_H 1" >>confdefs.h fi +ac_fn_c_check_header_compile "$LINENO" "cbor.h" "ac_cv_header_cbor_h" "$ac_includes_default" +if test "x$ac_cv_header_cbor_h" = xyes +then : + printf "%s\n" "#define HAVE_CBOR_H 1" >>confdefs.h -done +fi +ac_fn_c_check_header_compile "$LINENO" "cbor/cbor.h" "ac_cv_header_cbor_cbor_h" "$ac_includes_default" +if test "x$ac_cv_header_cbor_cbor_h" = xyes +then : + printf "%s\n" "#define HAVE_CBOR_CBOR_H 1" >>confdefs.h -for ac_header in openssl/conf.h openssl/evp.h openssl/err.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF +fi + +ac_fn_c_check_header_compile "$LINENO" "sys/time.h" "ac_cv_header_sys_time_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_time_h" = xyes +then : + printf "%s\n" "#define HAVE_SYS_TIME_H 1" >>confdefs.h fi -done +ac_fn_c_check_header_compile "$LINENO" "zlib.h" "ac_cv_header_zlib_h" "$ac_includes_default" +if test "x$ac_cv_header_zlib_h" = xyes +then : + printf "%s\n" "#define HAVE_ZLIB_H 1" >>confdefs.h -for ac_header in cryptopANT.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "cryptopANT.h" "ac_cv_header_cryptopANT_h" "$ac_includes_default" -if test "x$ac_cv_header_cryptopANT_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_CRYPTOPANT_H 1 -_ACEOF +fi + +ac_fn_c_check_header_compile "$LINENO" "openssl/conf.h" "ac_cv_header_openssl_conf_h" "$ac_includes_default" +if test "x$ac_cv_header_openssl_conf_h" = xyes +then : + printf "%s\n" "#define HAVE_OPENSSL_CONF_H 1" >>confdefs.h fi +ac_fn_c_check_header_compile "$LINENO" "openssl/evp.h" "ac_cv_header_openssl_evp_h" "$ac_includes_default" +if test "x$ac_cv_header_openssl_evp_h" = xyes +then : + printf "%s\n" "#define HAVE_OPENSSL_EVP_H 1" >>confdefs.h -done +fi +ac_fn_c_check_header_compile "$LINENO" "openssl/err.h" "ac_cv_header_openssl_err_h" "$ac_includes_default" +if test "x$ac_cv_header_openssl_err_h" = xyes +then : + printf "%s\n" "#define HAVE_OPENSSL_ERR_H 1" >>confdefs.h -for ac_header in endian.h sys/endian.h machine/endian.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF +fi + +ac_fn_c_check_header_compile "$LINENO" "cryptopANT.h" "ac_cv_header_cryptopANT_h" "$ac_includes_default" +if test "x$ac_cv_header_cryptopANT_h" = xyes +then : + printf "%s\n" "#define HAVE_CRYPTOPANT_H 1" >>confdefs.h fi -done +ac_fn_c_check_header_compile "$LINENO" "endian.h" "ac_cv_header_endian_h" "$ac_includes_default" +if test "x$ac_cv_header_endian_h" = xyes +then : + printf "%s\n" "#define HAVE_ENDIAN_H 1" >>confdefs.h + +fi +ac_fn_c_check_header_compile "$LINENO" "sys/endian.h" "ac_cv_header_sys_endian_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_endian_h" = xyes +then : + printf "%s\n" "#define HAVE_SYS_ENDIAN_H 1" >>confdefs.h + +fi +ac_fn_c_check_header_compile "$LINENO" "machine/endian.h" "ac_cv_header_machine_endian_h" "$ac_includes_default" +if test "x$ac_cv_header_machine_endian_h" = xyes +then : + printf "%s\n" "#define HAVE_MACHINE_ENDIAN_H 1" >>confdefs.h + +fi # Checks for library functions. -for ac_func in snprintf -do : - ac_fn_c_check_func "$LINENO" "snprintf" "ac_cv_func_snprintf" -if test "x$ac_cv_func_snprintf" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_SNPRINTF 1 -_ACEOF +ac_fn_c_check_func "$LINENO" "snprintf" "ac_cv_func_snprintf" +if test "x$ac_cv_func_snprintf" = xyes +then : + printf "%s\n" "#define HAVE_SNPRINTF 1" >>confdefs.h fi -done -for ac_func in setreuid setresuid setregid setresgid setegid seteuid initgroups setgroups -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF +ac_fn_c_check_func "$LINENO" "setreuid" "ac_cv_func_setreuid" +if test "x$ac_cv_func_setreuid" = xyes +then : + printf "%s\n" "#define HAVE_SETREUID 1" >>confdefs.h fi -done +ac_fn_c_check_func "$LINENO" "setresuid" "ac_cv_func_setresuid" +if test "x$ac_cv_func_setresuid" = xyes +then : + printf "%s\n" "#define HAVE_SETRESUID 1" >>confdefs.h -for ac_func in funopen fopencookie gzopen -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF +fi +ac_fn_c_check_func "$LINENO" "setregid" "ac_cv_func_setregid" +if test "x$ac_cv_func_setregid" = xyes +then : + printf "%s\n" "#define HAVE_SETREGID 1" >>confdefs.h fi -done +ac_fn_c_check_func "$LINENO" "setresgid" "ac_cv_func_setresgid" +if test "x$ac_cv_func_setresgid" = xyes +then : + printf "%s\n" "#define HAVE_SETRESGID 1" >>confdefs.h -for ac_func in __assertion_failed -do : - ac_fn_c_check_func "$LINENO" "__assertion_failed" "ac_cv_func___assertion_failed" -if test "x$ac_cv_func___assertion_failed" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE___ASSERTION_FAILED 1 -_ACEOF +fi +ac_fn_c_check_func "$LINENO" "setegid" "ac_cv_func_setegid" +if test "x$ac_cv_func_setegid" = xyes +then : + printf "%s\n" "#define HAVE_SETEGID 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "seteuid" "ac_cv_func_seteuid" +if test "x$ac_cv_func_seteuid" = xyes +then : + printf "%s\n" "#define HAVE_SETEUID 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "initgroups" "ac_cv_func_initgroups" +if test "x$ac_cv_func_initgroups" = xyes +then : + printf "%s\n" "#define HAVE_INITGROUPS 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "setgroups" "ac_cv_func_setgroups" +if test "x$ac_cv_func_setgroups" = xyes +then : + printf "%s\n" "#define HAVE_SETGROUPS 1" >>confdefs.h + +fi + +ac_fn_c_check_func "$LINENO" "funopen" "ac_cv_func_funopen" +if test "x$ac_cv_func_funopen" = xyes +then : + printf "%s\n" "#define HAVE_FUNOPEN 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "fopencookie" "ac_cv_func_fopencookie" +if test "x$ac_cv_func_fopencookie" = xyes +then : + printf "%s\n" "#define HAVE_FOPENCOOKIE 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "gzopen" "ac_cv_func_gzopen" +if test "x$ac_cv_func_gzopen" = xyes +then : + printf "%s\n" "#define HAVE_GZOPEN 1" >>confdefs.h + +fi + +ac_fn_c_check_func "$LINENO" "__assertion_failed" "ac_cv_func___assertion_failed" +if test "x$ac_cv_func___assertion_failed" = xyes +then : + printf "%s\n" "#define HAVE___ASSERTION_FAILED 1" >>confdefs.h fi -done # Check for SECCOMP SECCOMPFLAGS= # Check whether --enable-seccomp was given. -if test "${enable_seccomp+set}" = set; then : +if test ${enable_seccomp+y} +then : enableval=$enable_seccomp; fi case "$enable_seccomp" in yes) -cat >>confdefs.h <<_ACEOF -#define USE_SECCOMP 1 -_ACEOF +printf "%s\n" "#define USE_SECCOMP 1" >>confdefs.h SECCOMPFLAGS="-lseccomp -fPIE -fstack-protector-all -Wl,-z,relro -Wformat -Wformat-security -Werror=format-security -D_FORTIFY_SOURCE=2" ;; @@ -14504,8 +15325,8 @@ _ACEOF case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( @@ -14535,15 +15356,15 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; /^ac_cv_env_/b end t clear :clear - s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + s/^\([^=]*\)=\(.*[{}].*\)$/test ${\1+y} || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then if test "x$cache_file" != "x/dev/null"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 -$as_echo "$as_me: updating cache $cache_file" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$as_me: updating cache $cache_file" >&6;} if test ! -f "$cache_file" || test -h "$cache_file"; then cat confcache >"$cache_file" else @@ -14557,8 +15378,8 @@ $as_echo "$as_me: updating cache $cache_file" >&6;} fi fi else - { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 -$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache @@ -14575,7 +15396,7 @@ U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' - ac_i=`$as_echo "$ac_i" | sed "$ac_script"` + ac_i=`printf "%s\n" "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" @@ -14586,14 +15407,14 @@ LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 -$as_echo_n "checking that generated files are newer than configure... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 +printf %s "checking that generated files are newer than configure... " >&6; } if test -n "$am_sleep_pid"; then # Hide warnings about reused PIDs. wait $am_sleep_pid 2>/dev/null fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 -$as_echo "done" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: done" >&5 +printf "%s\n" "done" >&6; } if test -n "$EXEEXT"; then am__EXEEXT_TRUE= am__EXEEXT_FALSE='#' @@ -14623,8 +15444,8 @@ fi ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 -$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$as_me: creating $CONFIG_STATUS" >&6;} as_write_fail=0 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL @@ -14647,14 +15468,16 @@ cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : +as_nop=: +if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 +then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST -else +else $as_nop case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( @@ -14664,46 +15487,46 @@ esac fi + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. as_nl=' ' export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi # The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then +if ${PATH_SEPARATOR+false} :; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || @@ -14712,13 +15535,6 @@ if test "${PATH_SEPARATOR+set}" != set; then fi -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( @@ -14727,8 +15543,12 @@ case $0 in #(( for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + test -r "$as_dir$0" && as_myself=$as_dir$0 && break done IFS=$as_save_IFS @@ -14740,30 +15560,10 @@ if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH # as_fn_error STATUS ERROR [LINENO LOG_FD] @@ -14776,13 +15576,14 @@ as_fn_error () as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi - $as_echo "$as_me: error: $2" >&2 + printf "%s\n" "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error + # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. @@ -14809,18 +15610,20 @@ as_fn_unset () { eval $1=; unset $1;} } as_unset=as_fn_unset + # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null +then : eval 'as_fn_append () { eval $1+=\$2 }' -else +else $as_nop as_fn_append () { eval $1=\$$1\$2 @@ -14832,12 +15635,13 @@ fi # as_fn_append # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null +then : eval 'as_fn_arith () { as_val=$(( $* )) }' -else +else $as_nop as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` @@ -14868,7 +15672,7 @@ as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | +printf "%s\n" X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q @@ -14890,6 +15694,10 @@ as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) @@ -14903,6 +15711,12 @@ case `echo -n x` in #((((( ECHO_N='-n';; esac +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file @@ -14944,7 +15758,7 @@ as_fn_mkdir_p () as_dirs= while :; do case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" @@ -14953,7 +15767,7 @@ $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | +printf "%s\n" X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q @@ -15015,8 +15829,8 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by dnscap $as_me 2.1.3, which was -generated by GNU Autoconf 2.69. Invocation command line was +This file was extended by dnscap $as_me 2.2.0, which was +generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -15079,14 +15893,16 @@ Report bugs to . dnscap home page: ." _ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" +ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -dnscap config.status 2.1.3 -configured by $0, generated by GNU Autoconf 2.69, +dnscap config.status 2.2.0 +configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" -Copyright (C) 2012 Free Software Foundation, Inc. +Copyright (C) 2021 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." @@ -15126,15 +15942,15 @@ do -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) - $as_echo "$ac_cs_version"; exit ;; + printf "%s\n" "$ac_cs_version"; exit ;; --config | --confi | --conf | --con | --co | --c ) - $as_echo "$ac_cs_config"; exit ;; + printf "%s\n" "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" @@ -15142,7 +15958,7 @@ do --header | --heade | --head | --hea ) $ac_shift case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac as_fn_append CONFIG_HEADERS " '$ac_optarg'" ac_need_defaults=false;; @@ -15151,7 +15967,7 @@ do as_fn_error $? "ambiguous option: \`$1' Try \`$0 --help' for more information.";; --help | --hel | -h ) - $as_echo "$ac_cs_usage"; exit ;; + printf "%s\n" "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; @@ -15179,7 +15995,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift - \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 + \printf "%s\n" "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' export CONFIG_SHELL exec "\$@" @@ -15193,7 +16009,7 @@ exec 5>>config.log sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX - $as_echo "$ac_log" + printf "%s\n" "$ac_log" } >&5 _ACEOF @@ -15523,9 +16339,9 @@ done # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then - test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files - test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers - test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands + test ${CONFIG_FILES+y} || CONFIG_FILES=$config_files + test ${CONFIG_HEADERS+y} || CONFIG_HEADERS=$config_headers + test ${CONFIG_COMMANDS+y} || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree @@ -15861,7 +16677,7 @@ do esac || as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; esac - case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac + case $ac_f in *\'*) ac_f=`printf "%s\n" "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" done @@ -15869,17 +16685,17 @@ do # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input='Generated from '` - $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" - { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 -$as_echo "$as_me: creating $ac_file" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. case $configure_input in #( *\&* | *\|* | *\\* ) - ac_sed_conf_input=`$as_echo "$configure_input" | + ac_sed_conf_input=`printf "%s\n" "$configure_input" | sed 's/[\\\\&|]/\\\\&/g'`;; #( *) ac_sed_conf_input=$configure_input;; esac @@ -15896,7 +16712,7 @@ $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$ac_file" | +printf "%s\n" X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q @@ -15920,9 +16736,9 @@ $as_echo X"$ac_file" | case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; @@ -15984,8 +16800,8 @@ ac_sed_dataroot=' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_datarootdir_hack=' @@ -16029,9 +16845,9 @@ test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ "$ac_tmp/out"`; test -z "$ac_out"; } && - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&5 -$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +printf "%s\n" "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$ac_tmp/stdin" @@ -16047,20 +16863,20 @@ which seems to be undefined. Please make sure it is defined" >&2;} # if test x"$ac_file" != x-; then { - $as_echo "/* $configure_input */" \ + printf "%s\n" "/* $configure_input */" >&1 \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" } >"$ac_tmp/config.h" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then - { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 -$as_echo "$as_me: $ac_file is unchanged" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 +printf "%s\n" "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" mv "$ac_tmp/config.h" "$ac_file" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 fi else - $as_echo "/* $configure_input */" \ + printf "%s\n" "/* $configure_input */" >&1 \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ || as_fn_error $? "could not create -" "$LINENO" 5 fi @@ -16080,7 +16896,7 @@ $as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$_am_arg" : 'X\(//\)[^/]' \| \ X"$_am_arg" : 'X\(//\)$' \| \ X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$_am_arg" | +printf "%s\n" X"$_am_arg" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q @@ -16100,8 +16916,8 @@ $as_echo X"$_am_arg" | s/.*/./; q'`/stamp-h$_am_stamp_count ;; - :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 -$as_echo "$as_me: executing $ac_file commands" >&6;} + :C) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 +printf "%s\n" "$as_me: executing $ac_file commands" >&6;} ;; esac @@ -16127,7 +16943,7 @@ esac for am_mf do # Strip MF so we end up with the name of the file. - am_mf=`$as_echo "$am_mf" | sed -e 's/:.*$//'` + am_mf=`printf "%s\n" "$am_mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile which includes # dependency-tracking related rules and includes. # Grep'ing the whole file directly is not great: AIX grep has a line @@ -16139,7 +16955,7 @@ $as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$am_mf" : 'X\(//\)[^/]' \| \ X"$am_mf" : 'X\(//\)$' \| \ X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$am_mf" | +printf "%s\n" X"$am_mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q @@ -16161,7 +16977,7 @@ $as_echo X"$am_mf" | $as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \ X"$am_mf" : 'X\(//\)$' \| \ X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$am_mf" | +printf "%s\n" X/"$am_mf" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q @@ -16186,10 +17002,12 @@ $as_echo X/"$am_mf" | (exit $ac_status); } || am_rc=$? done if test $am_rc -ne 0; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "Something went wrong bootstrapping makefile fragments - for automatic dependency tracking. Try re-running configure with the + for automatic dependency tracking. If GNU make was not used, consider + re-running the configure script with MAKE=\"gmake\" (or whatever is + necessary). You can also try re-running configure with the '--disable-dependency-tracking' option to at least be able to build the package (albeit without support for automatic dependency tracking). See \`config.log' for more details" "$LINENO" 5; } @@ -16728,6 +17546,7 @@ _LT_EOF esac + ltmain=$ac_aux_dir/ltmain.sh @@ -16777,7 +17596,8 @@ if test "$no_create" != yes; then $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 -$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi + diff --git a/configure.ac b/configure.ac index 4abdce8..dbfcaa3 100644 --- a/configure.ac +++ b/configure.ac @@ -33,7 +33,7 @@ # POSSIBILITY OF SUCH DAMAGE. AC_PREREQ(2.61) -AC_INIT([dnscap], [2.1.3], [dnscap-users@dns-oarc.net], [dnscap], [https://github.com/DNS-OARC/dnscap/issues]) +AC_INIT([dnscap], [2.2.0], [dnscap-users@dns-oarc.net], [dnscap], [https://github.com/DNS-OARC/dnscap/issues]) AM_INIT_AUTOMAKE([-Wall -Werror foreign subdir-objects]) AC_CONFIG_SRCDIR([src/dnscap.c]) AC_CONFIG_HEADER([src/config.h]) diff --git a/depcomp b/depcomp index 65cbf70..715e343 100755 --- a/depcomp +++ b/depcomp @@ -3,7 +3,7 @@ scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1999-2018 Free Software Foundation, Inc. +# Copyright (C) 1999-2021 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/install-sh b/install-sh index 8175c64..ec298b5 100755 --- a/install-sh +++ b/install-sh @@ -1,7 +1,7 @@ #!/bin/sh # install - install a program, script, or datafile -scriptversion=2018-03-11.20; # UTC +scriptversion=2020-11-14.01; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the @@ -69,6 +69,11 @@ posix_mkdir= # Desired mode of installed file. mode=0755 +# Create dirs (including intermediate dirs) using mode 755. +# This is like GNU 'install' as of coreutils 8.32 (2020). +mkdir_umask=22 + +backupsuffix= chgrpcmd= chmodcmd=$chmodprog chowncmd= @@ -99,18 +104,28 @@ Options: --version display version info and exit. -c (ignored) - -C install only if different (preserve the last data modification time) + -C install only if different (preserve data modification time) -d create directories instead of installing files. -g GROUP $chgrpprog installed files to GROUP. -m MODE $chmodprog installed files to MODE. -o USER $chownprog installed files to USER. + -p pass -p to $cpprog. -s $stripprog installed files. + -S SUFFIX attempt to back up existing files, with suffix SUFFIX. -t DIRECTORY install into DIRECTORY. -T report an error if DSTFILE is a directory. Environment variables override the default commands: CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG + +By default, rm is invoked with -f; when overridden with RMPROG, +it's up to you to specify -f if you want it. + +If -S is not specified, no backups are attempted. + +Email bug reports to bug-automake@gnu.org. +Automake home page: https://www.gnu.org/software/automake/ " while test $# -ne 0; do @@ -137,8 +152,13 @@ while test $# -ne 0; do -o) chowncmd="$chownprog $2" shift;; + -p) cpprog="$cpprog -p";; + -s) stripcmd=$stripprog;; + -S) backupsuffix="$2" + shift;; + -t) is_target_a_directory=always dst_arg=$2 @@ -255,6 +275,10 @@ do dstdir=$dst test -d "$dstdir" dstdir_status=$? + # Don't chown directories that already exist. + if test $dstdir_status = 0; then + chowncmd="" + fi else # Waiting for this to be detected by the "$cpprog $src $dsttmp" command @@ -301,22 +325,6 @@ do if test $dstdir_status != 0; then case $posix_mkdir in '') - # Create intermediate dirs using mode 755 as modified by the umask. - # This is like FreeBSD 'install' as of 1997-10-28. - umask=`umask` - case $stripcmd.$umask in - # Optimize common cases. - *[2367][2367]) mkdir_umask=$umask;; - .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; - - *[0-7]) - mkdir_umask=`expr $umask + 22 \ - - $umask % 100 % 40 + $umask % 20 \ - - $umask % 10 % 4 + $umask % 2 - `;; - *) mkdir_umask=$umask,go-w;; - esac - # With -d, create the new directory with the user-specified mode. # Otherwise, rely on $mkdir_umask. if test -n "$dir_arg"; then @@ -326,52 +334,49 @@ do fi posix_mkdir=false - case $umask in - *[123567][0-7][0-7]) - # POSIX mkdir -p sets u+wx bits regardless of umask, which - # is incompatible with FreeBSD 'install' when (umask & 300) != 0. - ;; - *) - # Note that $RANDOM variable is not portable (e.g. dash); Use it - # here however when possible just to lower collision chance. - tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ - - trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0 - - # Because "mkdir -p" follows existing symlinks and we likely work - # directly in world-writeable /tmp, make sure that the '$tmpdir' - # directory is successfully created first before we actually test - # 'mkdir -p' feature. - if (umask $mkdir_umask && - $mkdirprog $mkdir_mode "$tmpdir" && - exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1 - then - if test -z "$dir_arg" || { - # Check for POSIX incompatibilities with -m. - # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or - # other-writable bit of parent directory when it shouldn't. - # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. - test_tmpdir="$tmpdir/a" - ls_ld_tmpdir=`ls -ld "$test_tmpdir"` - case $ls_ld_tmpdir in - d????-?r-*) different_mode=700;; - d????-?--*) different_mode=755;; - *) false;; - esac && - $mkdirprog -m$different_mode -p -- "$test_tmpdir" && { - ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"` - test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" - } - } - then posix_mkdir=: - fi - rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" - else - # Remove any dirs left behind by ancient mkdir implementations. - rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null - fi - trap '' 0;; - esac;; + # The $RANDOM variable is not portable (e.g., dash). Use it + # here however when possible just to lower collision chance. + tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ + + trap ' + ret=$? + rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null + exit $ret + ' 0 + + # Because "mkdir -p" follows existing symlinks and we likely work + # directly in world-writeable /tmp, make sure that the '$tmpdir' + # directory is successfully created first before we actually test + # 'mkdir -p'. + if (umask $mkdir_umask && + $mkdirprog $mkdir_mode "$tmpdir" && + exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1 + then + if test -z "$dir_arg" || { + # Check for POSIX incompatibilities with -m. + # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or + # other-writable bit of parent directory when it shouldn't. + # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. + test_tmpdir="$tmpdir/a" + ls_ld_tmpdir=`ls -ld "$test_tmpdir"` + case $ls_ld_tmpdir in + d????-?r-*) different_mode=700;; + d????-?--*) different_mode=755;; + *) false;; + esac && + $mkdirprog -m$different_mode -p -- "$test_tmpdir" && { + ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"` + test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" + } + } + then posix_mkdir=: + fi + rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" + else + # Remove any dirs left behind by ancient mkdir implementations. + rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null + fi + trap '' 0;; esac if @@ -382,7 +387,7 @@ do then : else - # The umask is ridiculous, or mkdir does not conform to POSIX, + # mkdir does not conform to POSIX, # or it failed possibly due to a race condition. Create the # directory the slow way, step by step, checking for races as we go. @@ -411,7 +416,7 @@ do prefixes= else if $posix_mkdir; then - (umask=$mkdir_umask && + (umask $mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break # Don't fail if two instances are running concurrently. test -d "$prefix" || exit 1 @@ -451,7 +456,18 @@ do trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 # Copy the file name to the temp name. - (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && + (umask $cp_umask && + { test -z "$stripcmd" || { + # Create $dsttmp read-write so that cp doesn't create it read-only, + # which would cause strip to fail. + if test -z "$doit"; then + : >"$dsttmp" # No need to fork-exec 'touch'. + else + $doit touch "$dsttmp" + fi + } + } && + $doit_exec $cpprog "$src" "$dsttmp") && # and set any options; do chmod last to preserve setuid bits. # @@ -477,6 +493,13 @@ do then rm -f "$dsttmp" else + # If $backupsuffix is set, and the file being installed + # already exists, attempt a backup. Don't worry if it fails, + # e.g., if mv doesn't support -f. + if test -n "$backupsuffix" && test -f "$dst"; then + $doit $mvcmd -f "$dst" "$dst$backupsuffix" 2>/dev/null + fi + # Rename the file to the real destination. $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || @@ -491,9 +514,9 @@ do # file should still install successfully. { test ! -f "$dst" || - $doit $rmcmd -f "$dst" 2>/dev/null || + $doit $rmcmd "$dst" 2>/dev/null || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && - { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } + { $doit $rmcmd "$rmtmp" 2>/dev/null; :; } } || { echo "$0: cannot unlink or rename $dst" >&2 (exit 1); exit 1 diff --git a/ltmain.sh b/ltmain.sh old mode 100644 new mode 100755 index 0cb7f90..540a92a --- a/ltmain.sh +++ b/ltmain.sh @@ -31,7 +31,7 @@ PROGRAM=libtool PACKAGE=libtool -VERSION="2.4.6 Debian-2.4.6-14" +VERSION="2.4.6 Debian-2.4.6-15build2" package_revision=2.4.6 @@ -2141,7 +2141,7 @@ include the following information: compiler: $LTCC compiler flags: $LTCFLAGS linker: $LD (gnu? $with_gnu_ld) - version: $progname $scriptversion Debian-2.4.6-14 + version: $progname $scriptversion Debian-2.4.6-15build2 automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q` autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q` diff --git a/m4/libtool.m4 b/m4/libtool.m4 index a6d21ae..c4c0294 100644 --- a/m4/libtool.m4 +++ b/m4/libtool.m4 @@ -1071,11 +1071,11 @@ _LT_EOF # to the OS version, if on x86, and 10.4, the deployment # target defaults to 10.4. Don't you love it? case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in - 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) + 10.0,*86*-darwin8*|10.0,*-darwin[[912]]*) _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; 10.[[012]][[,.]]*) _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; - 10.*) + 10.*|11.*) _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; esac ;; diff --git a/missing b/missing index 625aeb1..1fe1611 100755 --- a/missing +++ b/missing @@ -3,7 +3,7 @@ scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1996-2018 Free Software Foundation, Inc. +# Copyright (C) 1996-2021 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify diff --git a/plugins/Makefile.am b/plugins/Makefile.am index 7a6880c..7824f62 100644 --- a/plugins/Makefile.am +++ b/plugins/Makefile.am @@ -3,4 +3,4 @@ MAINTAINERCLEANFILES = $(srcdir)/Makefile.in SUBDIRS = pcapdump rssm txtout rzkeychange royparse anonmask ipcrypt \ anonaes128 cryptopan cryptopant eventlog -EXTRA_DIST = template +EXTRA_DIST = template shared diff --git a/plugins/Makefile.in b/plugins/Makefile.in index b0a4a0e..7c7a37e 100644 --- a/plugins/Makefile.in +++ b/plugins/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.1 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2018 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -158,8 +158,6 @@ am__define_uniq_tagged_files = \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -201,6 +199,8 @@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ @@ -211,6 +211,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GREP = @GREP@ @@ -320,7 +321,7 @@ MAINTAINERCLEANFILES = $(srcdir)/Makefile.in SUBDIRS = pcapdump rssm txtout rzkeychange royparse anonmask ipcrypt \ anonaes128 cryptopan cryptopant eventlog -EXTRA_DIST = template +EXTRA_DIST = template shared all: all-recursive .SUFFIXES: @@ -459,7 +460,6 @@ cscopelist-am: $(am__tagged_files) distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am diff --git a/plugins/anonaes128/Makefile.am b/plugins/anonaes128/Makefile.am index 2e9df57..ec4206a 100644 --- a/plugins/anonaes128/Makefile.am +++ b/plugins/anonaes128/Makefile.am @@ -1,9 +1,10 @@ MAINTAINERCLEANFILES = $(srcdir)/Makefile.in -CLEANFILES = *.gcda *.gcno *.gcov +CLEANFILES = *.gcda *.gcno *.gcov *.pcap-dist AM_CFLAGS = -I$(srcdir) \ -I$(top_srcdir)/src \ -I$(top_srcdir)/isc \ + -I$(top_srcdir)/plugins/shared \ $(SECCOMPFLAGS) $(libcrypto_CFLAGS) pkglib_LTLIBRARIES = anonaes128.la diff --git a/plugins/anonaes128/Makefile.in b/plugins/anonaes128/Makefile.in index c3463cb..2fc9d86 100644 --- a/plugins/anonaes128/Makefile.in +++ b/plugins/anonaes128/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.1 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2018 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -205,8 +205,6 @@ am__define_uniq_tagged_files = \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags am__tty_colors_dummy = \ mgn= red= grn= lgn= blu= brg= std=; \ am__color_tests=no @@ -362,6 +360,7 @@ am__set_TESTS_bases = \ bases='$(TEST_LOGS)'; \ bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ bases=`echo $$bases` +AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' RECHECK_LOGS = $(TEST_LOGS) AM_RECURSIVE_TARGETS = check recheck TEST_SUITE_LOG = test-suite.log @@ -400,6 +399,8 @@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ @@ -410,6 +411,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GREP = @GREP@ @@ -516,11 +518,12 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ MAINTAINERCLEANFILES = $(srcdir)/Makefile.in -CLEANFILES = *.gcda *.gcno *.gcov test1.out test2.out test3.out \ - test3.pcap.20181127.155200.414188 test4.tmp +CLEANFILES = *.gcda *.gcno *.gcov *.pcap-dist test1.out test2.out \ + test3.out test3.pcap.20181127.155200.414188 test4.tmp AM_CFLAGS = -I$(srcdir) \ -I$(top_srcdir)/src \ -I$(top_srcdir)/isc \ + -I$(top_srcdir)/plugins/shared \ $(SECCOMPFLAGS) $(libcrypto_CFLAGS) pkglib_LTLIBRARIES = anonaes128.la @@ -804,7 +807,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS) test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ fi; \ echo "$${col}$$br$${std}"; \ - echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ + echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ echo "$${col}$$br$${std}"; \ create_testsuite_report --maybe-color; \ echo "$$col$$br$$std"; \ @@ -880,7 +883,6 @@ test4.sh.log: test4.sh @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) - distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am diff --git a/plugins/anonaes128/anonaes128.c b/plugins/anonaes128/anonaes128.c index b2d8dbd..0c86911 100644 --- a/plugins/anonaes128/anonaes128.c +++ b/plugins/anonaes128/anonaes128.c @@ -42,6 +42,7 @@ #include #include #include +#include #include "dnscap_common.h" @@ -50,12 +51,13 @@ #include #include #define USE_OPENSSL 1 +#include "edns0_ecs.c" #endif static set_iaddr_t anonaes128_set_iaddr = 0; static logerr_t* logerr; -static int only_clients = 0, only_servers = 0, dns_port = 53, encrypt_v4 = 0, decrypt = 0; +static int only_clients = 0, only_servers = 0, dns_port = 53, encrypt_v4 = 0, decrypt = 0, edns = 0; static unsigned char key[16]; static unsigned char iv[16]; #ifdef USE_OPENSSL @@ -86,7 +88,9 @@ void anonaes128_usage() "\t-c Only en/de-crypt clients (port != 53)\n" "\t-s Only en/de-crypt servers (port == 53)\n" "\t-p Set port for -c/-s, default 53\n" - "\t-4 Encrypt IPv4 addresses, not default or recommended\n"); + "\t-4 Encrypt IPv4 addresses, not default or recommended\n" + "\t-e Also en/de-crypt EDNS(0) Client Subnet\n" + "\t-E ONLY en/de-crypt EDNS(0) Client Subnet, not IP addresses\n"); } void anonaes128_extension(int ext, void* arg) @@ -104,7 +108,7 @@ void anonaes128_getopt(int* argc, char** argv[]) unsigned long ul; char* p; - while ((c = getopt(*argc, *argv, "?k:K:i:I:Dcsp:4")) != EOF) { + while ((c = getopt(*argc, *argv, "?k:K:i:I:Dcsp:4eE")) != EOF) { switch (c) { case 'k': if (strlen(optarg) != 16) { @@ -174,6 +178,13 @@ void anonaes128_getopt(int* argc, char** argv[]) case '4': encrypt_v4 = 1; break; + case 'e': + if (!edns) + edns = 1; + break; + case 'E': + edns = -1; + break; case '?': anonaes128_usage(); if (!optopt || optopt == '?') { @@ -242,12 +253,66 @@ int anonaes128_close(my_bpftimeval ts) return 0; } +#ifdef USE_OPENSSL +void ecs_callback(int family, u_char* buf, size_t len) +{ + unsigned char outbuf[16 + EVP_MAX_BLOCK_LENGTH] = { 0 }; + int outlen = 0; + + struct in6_addr in6 = IN6ADDR_ANY_INIT; + + switch (family) { + case 1: // IPv4 + if (len > sizeof(struct in_addr)) + break; + if (encrypt_v4) { + memcpy(&in6, buf, len); + memcpy(((uint8_t*)&in6) + 4, &in6, 4); + memcpy(((uint8_t*)&in6) + 8, &in6, 4); + memcpy(((uint8_t*)&in6) + 12, &in6, 4); + if (!EVP_CipherUpdate(ctx, outbuf, &outlen, (void*)&in6, 16)) { + logerr("anonaes128.so: error en/de-crypting IP address: %s", ERR_reason_error_string(ERR_get_error())); + exit(1); + } + if (outlen != 16) { + logerr("anonaes128.so: error en/de-crypted output is not 16 bytes"); + exit(1); + } + memcpy(buf, outbuf, len); + } + break; + case 2: // IPv6 + if (len > sizeof(struct in6_addr)) + break; + memcpy(&in6, buf, len); + if (!EVP_CipherUpdate(ctx, outbuf, &outlen, (void*)&in6, 16)) { + logerr("anonaes128.so: error en/de-crypting IP address: %s", ERR_reason_error_string(ERR_get_error())); + exit(1); + } + if (outlen != 16) { + logerr("anonaes128.so: error en/de-crypted output is not 16 bytes"); + exit(1); + } + memcpy(buf, outbuf, len); + break; + default: + break; + } +} +#endif + int anonaes128_filter(const char* descr, iaddr* from, iaddr* to, uint8_t proto, unsigned flags, unsigned sport, unsigned dport, my_bpftimeval ts, - const u_char* pkt_copy, const unsigned olen, - const u_char* payload, const unsigned payloadlen) + u_char* pkt_copy, const unsigned olen, + u_char* payload, const unsigned payloadlen) { #ifdef USE_OPENSSL + if (edns && flags & DNSCAP_OUTPUT_ISDNS && payload && payloadlen > DNS_MSG_HDR_SZ) { + parse_for_edns0_ecs(payload, payloadlen, ecs_callback); + if (edns < 0) + return 0; + } + unsigned char outbuf[16 + EVP_MAX_BLOCK_LENGTH]; int outlen = 0; diff --git a/plugins/anonaes128/test1.gold b/plugins/anonaes128/test1.gold index 8bd4844..a76a0b3 100644 --- a/plugins/anonaes128/test1.gold +++ b/plugins/anonaes128/test1.gold @@ -2144,3 +2144,249 @@ anonaes128.so usage error: must have key (-k/-K) and IV (-i/-I) ns3.google.com.,IN,A,157794,216.239.36.10 \ ns4.google.com.,IN,A,157794,216.239.38.10 anonaes128.so usage error: -c and -s options are mutually exclusive +[64] 2023-07-05 07:21:38.669836 [#0 edns.pcap-dist 4095] \ + [123.118.213.76].58541 [29.178.88.193].53 \ + dns QUERY,NOERROR,31428,rd \ + 1 h.root-servers.net.,IN,A 0 0 0 +[64] 2023-07-05 07:21:38.669891 [#1 edns.pcap-dist 4095] \ + [123.118.213.76].58541 [29.178.88.193].53 \ + dns QUERY,NOERROR,5824,rd \ + 1 h.root-servers.net.,IN,AAAA 0 0 0 +[80] 2023-07-05 07:21:38.669977 [#2 edns.pcap-dist 4095] \ + [29.178.88.193].53 [123.118.213.76].58541 \ + dns QUERY,NOERROR,31428,qr|rd|ra \ + 1 h.root-servers.net.,IN,A \ + 1 h.root-servers.net.,IN,A,85098,198.97.190.53 0 0 +[92] 2023-07-05 07:21:38.670010 [#3 edns.pcap-dist 4095] \ + [29.178.88.193].53 [123.118.213.76].58541 \ + dns QUERY,NOERROR,5824,qr|rd|ra \ + 1 h.root-servers.net.,IN,AAAA \ + 1 h.root-servers.net.,IN,AAAA,85098,2001:500:1::53 0 0 +[88] 2023-07-05 07:21:38.670793 [#4 edns.pcap-dist 4095] \ + [123.118.213.76].33737 [248.188.142.6].53 \ + dns QUERY,NOERROR,56979,rd|ad \ + 1 ns1.dns.nic.aaa.,IN,NS 0 0 \ + 1 .,4096,4096,0,edns0[len=16,UDP=4096,ver=0,rcode=0,DO=0,z=0],edns0opt[code=3,codelen=0],edns0opt[code=10,codelen=8] +[464] 2023-07-05 07:21:38.698303 [#5 edns.pcap-dist 4095] \ + [248.188.142.6].53 [123.118.213.76].33737 \ + dns QUERY,NOERROR,56979,qr|rd \ + 1 ns1.dns.nic.aaa.,IN,NS 0 \ + 6 aaa.,IN,NS,172800,a.nic.aaa. \ + aaa.,IN,NS,172800,b.nic.aaa. \ + aaa.,IN,NS,172800,c.nic.aaa. \ + aaa.,IN,NS,172800,ns1.dns.nic.aaa. \ + aaa.,IN,NS,172800,ns2.dns.nic.aaa. \ + aaa.,IN,NS,172800,ns3.dns.nic.aaa. \ + 13 a.nic.aaa.,IN,A,172800,37.209.192.9 \ + b.nic.aaa.,IN,A,172800,37.209.194.9 \ + c.nic.aaa.,IN,A,172800,37.209.196.9 \ + ns1.dns.nic.aaa.,IN,A,172800,156.154.144.2 \ + ns2.dns.nic.aaa.,IN,A,172800,156.154.145.2 \ + ns3.dns.nic.aaa.,IN,A,172800,156.154.159.2 \ + a.nic.aaa.,IN,AAAA,172800,2001:dcd:1::9 \ + b.nic.aaa.,IN,AAAA,172800,2001:dcd:2::9 \ + c.nic.aaa.,IN,AAAA,172800,2001:dcd:3::9 \ + ns1.dns.nic.aaa.,IN,AAAA,172800,2610:a1:1071::2 \ + ns2.dns.nic.aaa.,IN,AAAA,172800,2610:a1:1072::2 \ + ns3.dns.nic.aaa.,IN,AAAA,172800,2610:a1:1073::2 \ + .,1232,1232,0,edns0[len=30,UDP=1232,ver=0,rcode=0,DO=0,z=0],edns0opt[code=3,codelen=26] +[64] 2023-07-05 07:21:42.739334 [#6 edns.pcap-dist 4095] \ + [123.118.213.76].53174 [29.178.88.193].53 \ + dns QUERY,NOERROR,48648,rd \ + 1 g.root-servers.net.,IN,A 0 0 0 +[64] 2023-07-05 07:21:42.739396 [#7 edns.pcap-dist 4095] \ + [123.118.213.76].53174 [29.178.88.193].53 \ + dns QUERY,NOERROR,48141,rd \ + 1 g.root-servers.net.,IN,AAAA 0 0 0 +[80] 2023-07-05 07:21:42.739525 [#8 edns.pcap-dist 4095] \ + [29.178.88.193].53 [123.118.213.76].53174 \ + dns QUERY,NOERROR,48648,qr|rd|ra \ + 1 g.root-servers.net.,IN,A \ + 1 g.root-servers.net.,IN,A,85094,192.112.36.4 0 0 +[92] 2023-07-05 07:21:42.739558 [#9 edns.pcap-dist 4095] \ + [29.178.88.193].53 [123.118.213.76].53174 \ + dns QUERY,NOERROR,48141,qr|rd|ra \ + 1 g.root-servers.net.,IN,AAAA \ + 1 g.root-servers.net.,IN,AAAA,85094,2001:500:12::d0d 0 0 +[83] 2023-07-05 07:21:42.740590 [#10 edns.pcap-dist 4095] \ + [123.118.213.76].50901 [67.192.17.119].53 \ + dns QUERY,NOERROR,35713,rd|ad \ + 1 net.,IN,A 0 0 \ + 1 .,4096,4096,0,edns0[len=23,UDP=4096,ver=0,rcode=0,DO=0,z=0],edns0opt[ECS,family=1,source=24,scope=0,addr=34.29.83.0],edns0opt[code=10,codelen=8] +[895] 2023-07-05 07:21:42.836816 [#11 edns.pcap-dist 4095] \ + [67.192.17.119].53 [123.118.213.76].50901 \ + dns QUERY,NOERROR,35713,qr|rd \ + 1 net.,IN,A 0 \ + 13 net.,IN,NS,172800,j.gtld-servers.net. \ + net.,IN,NS,172800,b.gtld-servers.net. \ + net.,IN,NS,172800,a.gtld-servers.net. \ + net.,IN,NS,172800,h.gtld-servers.net. \ + net.,IN,NS,172800,d.gtld-servers.net. \ + net.,IN,NS,172800,c.gtld-servers.net. \ + net.,IN,NS,172800,i.gtld-servers.net. \ + net.,IN,NS,172800,e.gtld-servers.net. \ + net.,IN,NS,172800,m.gtld-servers.net. \ + net.,IN,NS,172800,f.gtld-servers.net. \ + net.,IN,NS,172800,k.gtld-servers.net. \ + net.,IN,NS,172800,l.gtld-servers.net. \ + net.,IN,NS,172800,g.gtld-servers.net. \ + 27 m.gtld-servers.net.,IN,A,172800,192.55.83.30 \ + l.gtld-servers.net.,IN,A,172800,192.41.162.30 \ + k.gtld-servers.net.,IN,A,172800,192.52.178.30 \ + j.gtld-servers.net.,IN,A,172800,192.48.79.30 \ + i.gtld-servers.net.,IN,A,172800,192.43.172.30 \ + h.gtld-servers.net.,IN,A,172800,192.54.112.30 \ + g.gtld-servers.net.,IN,A,172800,192.42.93.30 \ + f.gtld-servers.net.,IN,A,172800,192.35.51.30 \ + e.gtld-servers.net.,IN,A,172800,192.12.94.30 \ + d.gtld-servers.net.,IN,A,172800,192.31.80.30 \ + c.gtld-servers.net.,IN,A,172800,192.26.92.30 \ + b.gtld-servers.net.,IN,A,172800,192.33.14.30 \ + a.gtld-servers.net.,IN,A,172800,192.5.6.30 \ + m.gtld-servers.net.,IN,AAAA,172800,2001:501:b1f9::30 \ + l.gtld-servers.net.,IN,AAAA,172800,2001:500:d937::30 \ + k.gtld-servers.net.,IN,AAAA,172800,2001:503:d2d::30 \ + j.gtld-servers.net.,IN,AAAA,172800,2001:502:7094::30 \ + i.gtld-servers.net.,IN,AAAA,172800,2001:503:39c1::30 \ + h.gtld-servers.net.,IN,AAAA,172800,2001:502:8cc::30 \ + g.gtld-servers.net.,IN,AAAA,172800,2001:503:eea3::30 \ + f.gtld-servers.net.,IN,AAAA,172800,2001:503:d414::30 \ + e.gtld-servers.net.,IN,AAAA,172800,2001:502:1ca1::30 \ + d.gtld-servers.net.,IN,AAAA,172800,2001:500:856e::30 \ + c.gtld-servers.net.,IN,AAAA,172800,2001:503:83eb::30 \ + b.gtld-servers.net.,IN,AAAA,172800,2001:503:231d::2:30 \ + a.gtld-servers.net.,IN,AAAA,172800,2001:503:a83e::2:30 \ + .,1232,1232,0,edns0[len=39,UDP=1232,ver=0,rcode=0,DO=0,z=0],edns0opt[code=10,codelen=24],edns0opt[ECS,family=1,source=24,scope=0,addr=34.29.83.0] +[86] 2023-07-05 07:21:46.511502 [#12 edns.pcap-dist 4095] \ + [123.118.213.76].35191 [99.195.235.60].53 \ + dns QUERY,NOERROR,960,rd|ad \ + 1 dnssec-failed.org.,IN,A 0 0 \ + 1 .,4096,4096,0,edns0[len=12,UDP=4096,ver=0,rcode=0,DO=0,z=0],edns0opt[code=10,codelen=8] +[131] 2023-07-05 07:21:46.518500 [#13 edns.pcap-dist 4095] \ + [99.195.235.60].53 [123.118.213.76].35191 \ + dns QUERY,SERVFAIL,960,qr|rd|ra \ + 1 dnssec-failed.org.,IN,A 0 0 \ + 1 .,1232,1232,0,edns0[len=57,UDP=1232,ver=0,rcode=0,DO=0,z=0],edns0opt[code=15,codelen=53] +[64] 2023-07-05 07:21:38.669836 [#0 edns.pcap-dist 4095] \ + [172.17.0.6].58541 [172.17.0.1].53 \ + dns QUERY,NOERROR,31428,rd \ + 1 h.root-servers.net.,IN,A 0 0 0 +[64] 2023-07-05 07:21:38.669891 [#1 edns.pcap-dist 4095] \ + [172.17.0.6].58541 [172.17.0.1].53 \ + dns QUERY,NOERROR,5824,rd \ + 1 h.root-servers.net.,IN,AAAA 0 0 0 +[80] 2023-07-05 07:21:38.669977 [#2 edns.pcap-dist 4095] \ + [172.17.0.1].53 [172.17.0.6].58541 \ + dns QUERY,NOERROR,31428,qr|rd|ra \ + 1 h.root-servers.net.,IN,A \ + 1 h.root-servers.net.,IN,A,85098,198.97.190.53 0 0 +[92] 2023-07-05 07:21:38.670010 [#3 edns.pcap-dist 4095] \ + [172.17.0.1].53 [172.17.0.6].58541 \ + dns QUERY,NOERROR,5824,qr|rd|ra \ + 1 h.root-servers.net.,IN,AAAA \ + 1 h.root-servers.net.,IN,AAAA,85098,2001:500:1::53 0 0 +[88] 2023-07-05 07:21:38.670793 [#4 edns.pcap-dist 4095] \ + [172.17.0.6].33737 [198.97.190.53].53 \ + dns QUERY,NOERROR,56979,rd|ad \ + 1 ns1.dns.nic.aaa.,IN,NS 0 0 \ + 1 .,4096,4096,0,edns0[len=16,UDP=4096,ver=0,rcode=0,DO=0,z=0],edns0opt[code=3,codelen=0],edns0opt[code=10,codelen=8] +[464] 2023-07-05 07:21:38.698303 [#5 edns.pcap-dist 4095] \ + [198.97.190.53].53 [172.17.0.6].33737 \ + dns QUERY,NOERROR,56979,qr|rd \ + 1 ns1.dns.nic.aaa.,IN,NS 0 \ + 6 aaa.,IN,NS,172800,a.nic.aaa. \ + aaa.,IN,NS,172800,b.nic.aaa. \ + aaa.,IN,NS,172800,c.nic.aaa. \ + aaa.,IN,NS,172800,ns1.dns.nic.aaa. \ + aaa.,IN,NS,172800,ns2.dns.nic.aaa. \ + aaa.,IN,NS,172800,ns3.dns.nic.aaa. \ + 13 a.nic.aaa.,IN,A,172800,37.209.192.9 \ + b.nic.aaa.,IN,A,172800,37.209.194.9 \ + c.nic.aaa.,IN,A,172800,37.209.196.9 \ + ns1.dns.nic.aaa.,IN,A,172800,156.154.144.2 \ + ns2.dns.nic.aaa.,IN,A,172800,156.154.145.2 \ + ns3.dns.nic.aaa.,IN,A,172800,156.154.159.2 \ + a.nic.aaa.,IN,AAAA,172800,2001:dcd:1::9 \ + b.nic.aaa.,IN,AAAA,172800,2001:dcd:2::9 \ + c.nic.aaa.,IN,AAAA,172800,2001:dcd:3::9 \ + ns1.dns.nic.aaa.,IN,AAAA,172800,2610:a1:1071::2 \ + ns2.dns.nic.aaa.,IN,AAAA,172800,2610:a1:1072::2 \ + ns3.dns.nic.aaa.,IN,AAAA,172800,2610:a1:1073::2 \ + .,1232,1232,0,edns0[len=30,UDP=1232,ver=0,rcode=0,DO=0,z=0],edns0opt[code=3,codelen=26] +[64] 2023-07-05 07:21:42.739334 [#6 edns.pcap-dist 4095] \ + [172.17.0.6].53174 [172.17.0.1].53 \ + dns QUERY,NOERROR,48648,rd \ + 1 g.root-servers.net.,IN,A 0 0 0 +[64] 2023-07-05 07:21:42.739396 [#7 edns.pcap-dist 4095] \ + [172.17.0.6].53174 [172.17.0.1].53 \ + dns QUERY,NOERROR,48141,rd \ + 1 g.root-servers.net.,IN,AAAA 0 0 0 +[80] 2023-07-05 07:21:42.739525 [#8 edns.pcap-dist 4095] \ + [172.17.0.1].53 [172.17.0.6].53174 \ + dns QUERY,NOERROR,48648,qr|rd|ra \ + 1 g.root-servers.net.,IN,A \ + 1 g.root-servers.net.,IN,A,85094,192.112.36.4 0 0 +[92] 2023-07-05 07:21:42.739558 [#9 edns.pcap-dist 4095] \ + [172.17.0.1].53 [172.17.0.6].53174 \ + dns QUERY,NOERROR,48141,qr|rd|ra \ + 1 g.root-servers.net.,IN,AAAA \ + 1 g.root-servers.net.,IN,AAAA,85094,2001:500:12::d0d 0 0 +[83] 2023-07-05 07:21:42.740590 [#10 edns.pcap-dist 4095] \ + [172.17.0.6].50901 [192.112.36.4].53 \ + dns QUERY,NOERROR,35713,rd|ad \ + 1 net.,IN,A 0 0 \ + 1 .,4096,4096,0,edns0[len=23,UDP=4096,ver=0,rcode=0,DO=0,z=0],edns0opt[ECS,family=1,source=24,scope=0,addr=34.29.83.0],edns0opt[code=10,codelen=8] +[895] 2023-07-05 07:21:42.836816 [#11 edns.pcap-dist 4095] \ + [192.112.36.4].53 [172.17.0.6].50901 \ + dns QUERY,NOERROR,35713,qr|rd \ + 1 net.,IN,A 0 \ + 13 net.,IN,NS,172800,j.gtld-servers.net. \ + net.,IN,NS,172800,b.gtld-servers.net. \ + net.,IN,NS,172800,a.gtld-servers.net. \ + net.,IN,NS,172800,h.gtld-servers.net. \ + net.,IN,NS,172800,d.gtld-servers.net. \ + net.,IN,NS,172800,c.gtld-servers.net. \ + net.,IN,NS,172800,i.gtld-servers.net. \ + net.,IN,NS,172800,e.gtld-servers.net. \ + net.,IN,NS,172800,m.gtld-servers.net. \ + net.,IN,NS,172800,f.gtld-servers.net. \ + net.,IN,NS,172800,k.gtld-servers.net. \ + net.,IN,NS,172800,l.gtld-servers.net. \ + net.,IN,NS,172800,g.gtld-servers.net. \ + 27 m.gtld-servers.net.,IN,A,172800,192.55.83.30 \ + l.gtld-servers.net.,IN,A,172800,192.41.162.30 \ + k.gtld-servers.net.,IN,A,172800,192.52.178.30 \ + j.gtld-servers.net.,IN,A,172800,192.48.79.30 \ + i.gtld-servers.net.,IN,A,172800,192.43.172.30 \ + h.gtld-servers.net.,IN,A,172800,192.54.112.30 \ + g.gtld-servers.net.,IN,A,172800,192.42.93.30 \ + f.gtld-servers.net.,IN,A,172800,192.35.51.30 \ + e.gtld-servers.net.,IN,A,172800,192.12.94.30 \ + d.gtld-servers.net.,IN,A,172800,192.31.80.30 \ + c.gtld-servers.net.,IN,A,172800,192.26.92.30 \ + b.gtld-servers.net.,IN,A,172800,192.33.14.30 \ + a.gtld-servers.net.,IN,A,172800,192.5.6.30 \ + m.gtld-servers.net.,IN,AAAA,172800,2001:501:b1f9::30 \ + l.gtld-servers.net.,IN,AAAA,172800,2001:500:d937::30 \ + k.gtld-servers.net.,IN,AAAA,172800,2001:503:d2d::30 \ + j.gtld-servers.net.,IN,AAAA,172800,2001:502:7094::30 \ + i.gtld-servers.net.,IN,AAAA,172800,2001:503:39c1::30 \ + h.gtld-servers.net.,IN,AAAA,172800,2001:502:8cc::30 \ + g.gtld-servers.net.,IN,AAAA,172800,2001:503:eea3::30 \ + f.gtld-servers.net.,IN,AAAA,172800,2001:503:d414::30 \ + e.gtld-servers.net.,IN,AAAA,172800,2001:502:1ca1::30 \ + d.gtld-servers.net.,IN,AAAA,172800,2001:500:856e::30 \ + c.gtld-servers.net.,IN,AAAA,172800,2001:503:83eb::30 \ + b.gtld-servers.net.,IN,AAAA,172800,2001:503:231d::2:30 \ + a.gtld-servers.net.,IN,AAAA,172800,2001:503:a83e::2:30 \ + .,1232,1232,0,edns0[len=39,UDP=1232,ver=0,rcode=0,DO=0,z=0],edns0opt[code=10,codelen=24],edns0opt[ECS,family=1,source=24,scope=0,addr=34.29.83.0] +[86] 2023-07-05 07:21:46.511502 [#12 edns.pcap-dist 4095] \ + [172.17.0.6].35191 [1.1.1.1].53 \ + dns QUERY,NOERROR,960,rd|ad \ + 1 dnssec-failed.org.,IN,A 0 0 \ + 1 .,4096,4096,0,edns0[len=12,UDP=4096,ver=0,rcode=0,DO=0,z=0],edns0opt[code=10,codelen=8] +[131] 2023-07-05 07:21:46.518500 [#13 edns.pcap-dist 4095] \ + [1.1.1.1].53 [172.17.0.6].35191 \ + dns QUERY,SERVFAIL,960,qr|rd|ra \ + 1 dnssec-failed.org.,IN,A 0 0 \ + 1 .,1232,1232,0,edns0[len=57,UDP=1232,ver=0,rcode=0,DO=0,z=0],edns0opt[code=15,codelen=53] diff --git a/plugins/anonaes128/test1.sh b/plugins/anonaes128/test1.sh index 296bcd5..3338e42 100755 --- a/plugins/anonaes128/test1.sh +++ b/plugins/anonaes128/test1.sh @@ -16,6 +16,11 @@ ln -fs "$srcdir/../../src/test/dns.pcap" dns.pcap-dist ../../src/dnscap -r dns.pcap-dist -g -P "$plugin" -4 -k "some 16-byte key" -i "some 16-byte key" -s 2>>test1.out ! ../../src/dnscap -r dns.pcap-dist -g -P "$plugin" -4 -k "some 16-byte key" -i "some 16-byte key" -c -s 2>>test1.out +ln -fs "$srcdir/../../src/test/edns.pcap" edns.pcap-dist + +../../src/dnscap -r edns.pcap-dist -g -P "$plugin" -4 -k "some 16-byte key" -i "some 16-byte key" -e 2>>test1.out +../../src/dnscap -r edns.pcap-dist -g -P "$plugin" -4 -k "some 16-byte key" -i "some 16-byte key" -E 2>>test1.out + osrel=`uname -s` if [ "$osrel" = "OpenBSD" ]; then mv test1.out test1.out.old diff --git a/plugins/anonaes128/test2.sh b/plugins/anonaes128/test2.sh index ff21327..ab10f4a 100755 --- a/plugins/anonaes128/test2.sh +++ b/plugins/anonaes128/test2.sh @@ -19,12 +19,4 @@ if [ "$osrel" = "OpenBSD" ]; then rm test2.out.old fi -# TODO: Remove when #133 is fixed -cat test2.out | \ - sed 's%,CLASS4096,OPT,%,4096,4096,%' | \ - sed 's%,CLASS512,OPT,%,512,512,%' | \ - sed 's%,41,41,0,edns0\[len=0,UDP=4096,%,4096,4096,0,edns0[len=0,UDP=4096,%' | \ - sed 's%,41,41,0,edns0\[len=0,UDP=512,%,512,512,0,edns0[len=0,UDP=512,%' >test2.new -mv test2.new test2.out - diff test2.out "$srcdir/test2.gold" diff --git a/plugins/anonaes128/test3.sh b/plugins/anonaes128/test3.sh index 09fb116..4edab93 100755 --- a/plugins/anonaes128/test3.sh +++ b/plugins/anonaes128/test3.sh @@ -18,12 +18,4 @@ if [ "$osrel" = "OpenBSD" ]; then rm test3.out.old fi -# TODO: Remove when #133 is fixed -cat test3.out | \ - sed 's%,CLASS4096,OPT,%,4096,4096,%' | \ - sed 's%,CLASS512,OPT,%,512,512,%' | \ - sed 's%,41,41,0,edns0\[len=0,UDP=4096,%,4096,4096,0,edns0[len=0,UDP=4096,%' | \ - sed 's%,41,41,0,edns0\[len=0,UDP=512,%,512,512,0,edns0[len=0,UDP=512,%' >test3.new -mv test3.new test3.out - diff test3.out "$srcdir/test3.gold" diff --git a/plugins/anonmask/Makefile.am b/plugins/anonmask/Makefile.am index 48f5a10..1ddf13d 100644 --- a/plugins/anonmask/Makefile.am +++ b/plugins/anonmask/Makefile.am @@ -1,9 +1,10 @@ MAINTAINERCLEANFILES = $(srcdir)/Makefile.in -CLEANFILES = *.gcda *.gcno *.gcov +CLEANFILES = *.gcda *.gcno *.gcov *.pcap-dist AM_CFLAGS = -I$(srcdir) \ -I$(top_srcdir)/src \ -I$(top_srcdir)/isc \ + -I$(top_srcdir)/plugins/shared \ $(SECCOMPFLAGS) pkglib_LTLIBRARIES = anonmask.la diff --git a/plugins/anonmask/Makefile.in b/plugins/anonmask/Makefile.in index 0541793..788611f 100644 --- a/plugins/anonmask/Makefile.in +++ b/plugins/anonmask/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.1 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2018 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -205,8 +205,6 @@ am__define_uniq_tagged_files = \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags am__tty_colors_dummy = \ mgn= red= grn= lgn= blu= brg= std=; \ am__color_tests=no @@ -362,6 +360,7 @@ am__set_TESTS_bases = \ bases='$(TEST_LOGS)'; \ bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ bases=`echo $$bases` +AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' RECHECK_LOGS = $(TEST_LOGS) AM_RECURSIVE_TARGETS = check recheck TEST_SUITE_LOG = test-suite.log @@ -400,6 +399,8 @@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ @@ -410,6 +411,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GREP = @GREP@ @@ -516,10 +518,11 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ MAINTAINERCLEANFILES = $(srcdir)/Makefile.in -CLEANFILES = *.gcda *.gcno *.gcov test1.out test2.out +CLEANFILES = *.gcda *.gcno *.gcov *.pcap-dist test1.out test2.out AM_CFLAGS = -I$(srcdir) \ -I$(top_srcdir)/src \ -I$(top_srcdir)/isc \ + -I$(top_srcdir)/plugins/shared \ $(SECCOMPFLAGS) pkglib_LTLIBRARIES = anonmask.la @@ -803,7 +806,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS) test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ fi; \ echo "$${col}$$br$${std}"; \ - echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ + echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ echo "$${col}$$br$${std}"; \ create_testsuite_report --maybe-color; \ echo "$$col$$br$$std"; \ @@ -872,7 +875,6 @@ test3.sh.log: test3.sh @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) - distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am diff --git a/plugins/anonmask/anonmask.c b/plugins/anonmask/anonmask.c index 444f5df..8e17a79 100644 --- a/plugins/anonmask/anonmask.c +++ b/plugins/anonmask/anonmask.c @@ -43,10 +43,12 @@ #include "dnscap_common.h" +#include "edns0_ecs.c" + static set_iaddr_t anonmask_set_iaddr = 0; static logerr_t* logerr; -static int only_clients = 0, only_servers = 0, mask_port = 53, mask_v4 = 24, mask_v6 = 48; +static int only_clients = 0, only_servers = 0, mask_port = 53, mask_v4 = 24, mask_v6 = 48, edns = 0; static struct in_addr in4 = { INADDR_ANY }; static struct in6_addr in6 = IN6ADDR_ANY_INIT; static uint32_t* in6p = (uint32_t*)&in6; @@ -71,7 +73,9 @@ void anonmask_usage() "\t-s Only mask servers (port == 53)\n" "\t-p Set port for -c/-s masking, default 53\n" "\t-4 The /mask for IPv4 addresses, default /24\n" - "\t-6 The /mask for IPv6 addresses, default /48\n"); + "\t-6 The /mask for IPv6 addresses, default /48\n" + "\t-e Also mask EDNS(0) Client Subnet\n" + "\t-E ONLY mask EDNS(0) Client Subnet, not IP addresses\n"); } void anonmask_extension(int ext, void* arg) @@ -89,7 +93,7 @@ void anonmask_getopt(int* argc, char** argv[]) unsigned long ul; char* p; - while ((c = getopt(*argc, *argv, "?csp:4:6:")) != EOF) { + while ((c = getopt(*argc, *argv, "?csp:4:6:eE")) != EOF) { switch (c) { case 'c': only_clients = 1; @@ -115,6 +119,13 @@ void anonmask_getopt(int* argc, char** argv[]) usage("IPv6 mask must be an integer 0..127"); mask_v6 = (unsigned)ul; break; + case 'e': + if (!edns) + edns = 1; + break; + case 'E': + edns = -1; + break; case '?': anonmask_usage(); if (!optopt || optopt == '?') { @@ -173,11 +184,43 @@ int anonmask_close(my_bpftimeval ts) return 0; } +void ecs_callback(int family, u_char* buf, size_t len) +{ + u_char* mask; + + switch (family) { + case 1: // IPv4 + if (len > sizeof(struct in_addr)) + break; + mask = (u_char*)&in4; + while (len--) { + *buf++ &= *mask++; + } + break; + case 2: // IPv6 + if (len > sizeof(struct in6_addr)) + break; + mask = (u_char*)&in6; + while (len--) { + *buf++ &= *mask++; + } + break; + default: + break; + } +} + int anonmask_filter(const char* descr, iaddr* from, iaddr* to, uint8_t proto, unsigned flags, unsigned sport, unsigned dport, my_bpftimeval ts, - const u_char* pkt_copy, const unsigned olen, - const u_char* payload, const unsigned payloadlen) + u_char* pkt_copy, unsigned olen, + u_char* payload, unsigned payloadlen) { + if (edns && flags & DNSCAP_OUTPUT_ISDNS && payload && payloadlen > DNS_MSG_HDR_SZ) { + parse_for_edns0_ecs(payload, payloadlen, ecs_callback); + if (edns < 0) + return 0; + } + uint32_t* p6; for (;;) { diff --git a/plugins/anonmask/test1.gold b/plugins/anonmask/test1.gold index d6dde5a..bdf740a 100644 --- a/plugins/anonmask/test1.gold +++ b/plugins/anonmask/test1.gold @@ -2855,3 +2855,249 @@ ns3.google.com.,IN,A,157794,216.239.36.10 \ ns4.google.com.,IN,A,157794,216.239.38.10 anonmask.so usage error: -c and -s options are mutually exclusive +[64] 2023-07-05 07:21:38.669836 [#0 edns.pcap-dist 4095] \ + [172.0.0.0].58541 [172.0.0.0].53 \ + dns QUERY,NOERROR,31428,rd \ + 1 h.root-servers.net.,IN,A 0 0 0 +[64] 2023-07-05 07:21:38.669891 [#1 edns.pcap-dist 4095] \ + [172.0.0.0].58541 [172.0.0.0].53 \ + dns QUERY,NOERROR,5824,rd \ + 1 h.root-servers.net.,IN,AAAA 0 0 0 +[80] 2023-07-05 07:21:38.669977 [#2 edns.pcap-dist 4095] \ + [172.0.0.0].53 [172.0.0.0].58541 \ + dns QUERY,NOERROR,31428,qr|rd|ra \ + 1 h.root-servers.net.,IN,A \ + 1 h.root-servers.net.,IN,A,85098,198.97.190.53 0 0 +[92] 2023-07-05 07:21:38.670010 [#3 edns.pcap-dist 4095] \ + [172.0.0.0].53 [172.0.0.0].58541 \ + dns QUERY,NOERROR,5824,qr|rd|ra \ + 1 h.root-servers.net.,IN,AAAA \ + 1 h.root-servers.net.,IN,AAAA,85098,2001:500:1::53 0 0 +[88] 2023-07-05 07:21:38.670793 [#4 edns.pcap-dist 4095] \ + [172.0.0.0].33737 [198.0.0.0].53 \ + dns QUERY,NOERROR,56979,rd|ad \ + 1 ns1.dns.nic.aaa.,IN,NS 0 0 \ + 1 .,4096,4096,0,edns0[len=16,UDP=4096,ver=0,rcode=0,DO=0,z=0],edns0opt[code=3,codelen=0],edns0opt[code=10,codelen=8] +[464] 2023-07-05 07:21:38.698303 [#5 edns.pcap-dist 4095] \ + [198.0.0.0].53 [172.0.0.0].33737 \ + dns QUERY,NOERROR,56979,qr|rd \ + 1 ns1.dns.nic.aaa.,IN,NS 0 \ + 6 aaa.,IN,NS,172800,a.nic.aaa. \ + aaa.,IN,NS,172800,b.nic.aaa. \ + aaa.,IN,NS,172800,c.nic.aaa. \ + aaa.,IN,NS,172800,ns1.dns.nic.aaa. \ + aaa.,IN,NS,172800,ns2.dns.nic.aaa. \ + aaa.,IN,NS,172800,ns3.dns.nic.aaa. \ + 13 a.nic.aaa.,IN,A,172800,37.209.192.9 \ + b.nic.aaa.,IN,A,172800,37.209.194.9 \ + c.nic.aaa.,IN,A,172800,37.209.196.9 \ + ns1.dns.nic.aaa.,IN,A,172800,156.154.144.2 \ + ns2.dns.nic.aaa.,IN,A,172800,156.154.145.2 \ + ns3.dns.nic.aaa.,IN,A,172800,156.154.159.2 \ + a.nic.aaa.,IN,AAAA,172800,2001:dcd:1::9 \ + b.nic.aaa.,IN,AAAA,172800,2001:dcd:2::9 \ + c.nic.aaa.,IN,AAAA,172800,2001:dcd:3::9 \ + ns1.dns.nic.aaa.,IN,AAAA,172800,2610:a1:1071::2 \ + ns2.dns.nic.aaa.,IN,AAAA,172800,2610:a1:1072::2 \ + ns3.dns.nic.aaa.,IN,AAAA,172800,2610:a1:1073::2 \ + .,1232,1232,0,edns0[len=30,UDP=1232,ver=0,rcode=0,DO=0,z=0],edns0opt[code=3,codelen=26] +[64] 2023-07-05 07:21:42.739334 [#6 edns.pcap-dist 4095] \ + [172.0.0.0].53174 [172.0.0.0].53 \ + dns QUERY,NOERROR,48648,rd \ + 1 g.root-servers.net.,IN,A 0 0 0 +[64] 2023-07-05 07:21:42.739396 [#7 edns.pcap-dist 4095] \ + [172.0.0.0].53174 [172.0.0.0].53 \ + dns QUERY,NOERROR,48141,rd \ + 1 g.root-servers.net.,IN,AAAA 0 0 0 +[80] 2023-07-05 07:21:42.739525 [#8 edns.pcap-dist 4095] \ + [172.0.0.0].53 [172.0.0.0].53174 \ + dns QUERY,NOERROR,48648,qr|rd|ra \ + 1 g.root-servers.net.,IN,A \ + 1 g.root-servers.net.,IN,A,85094,192.112.36.4 0 0 +[92] 2023-07-05 07:21:42.739558 [#9 edns.pcap-dist 4095] \ + [172.0.0.0].53 [172.0.0.0].53174 \ + dns QUERY,NOERROR,48141,qr|rd|ra \ + 1 g.root-servers.net.,IN,AAAA \ + 1 g.root-servers.net.,IN,AAAA,85094,2001:500:12::d0d 0 0 +[83] 2023-07-05 07:21:42.740590 [#10 edns.pcap-dist 4095] \ + [172.0.0.0].50901 [192.0.0.0].53 \ + dns QUERY,NOERROR,35713,rd|ad \ + 1 net.,IN,A 0 0 \ + 1 .,4096,4096,0,edns0[len=23,UDP=4096,ver=0,rcode=0,DO=0,z=0],edns0opt[ECS,family=1,source=24,scope=0,addr=172.0.0.0],edns0opt[code=10,codelen=8] +[895] 2023-07-05 07:21:42.836816 [#11 edns.pcap-dist 4095] \ + [192.0.0.0].53 [172.0.0.0].50901 \ + dns QUERY,NOERROR,35713,qr|rd \ + 1 net.,IN,A 0 \ + 13 net.,IN,NS,172800,j.gtld-servers.net. \ + net.,IN,NS,172800,b.gtld-servers.net. \ + net.,IN,NS,172800,a.gtld-servers.net. \ + net.,IN,NS,172800,h.gtld-servers.net. \ + net.,IN,NS,172800,d.gtld-servers.net. \ + net.,IN,NS,172800,c.gtld-servers.net. \ + net.,IN,NS,172800,i.gtld-servers.net. \ + net.,IN,NS,172800,e.gtld-servers.net. \ + net.,IN,NS,172800,m.gtld-servers.net. \ + net.,IN,NS,172800,f.gtld-servers.net. \ + net.,IN,NS,172800,k.gtld-servers.net. \ + net.,IN,NS,172800,l.gtld-servers.net. \ + net.,IN,NS,172800,g.gtld-servers.net. \ + 27 m.gtld-servers.net.,IN,A,172800,192.55.83.30 \ + l.gtld-servers.net.,IN,A,172800,192.41.162.30 \ + k.gtld-servers.net.,IN,A,172800,192.52.178.30 \ + j.gtld-servers.net.,IN,A,172800,192.48.79.30 \ + i.gtld-servers.net.,IN,A,172800,192.43.172.30 \ + h.gtld-servers.net.,IN,A,172800,192.54.112.30 \ + g.gtld-servers.net.,IN,A,172800,192.42.93.30 \ + f.gtld-servers.net.,IN,A,172800,192.35.51.30 \ + e.gtld-servers.net.,IN,A,172800,192.12.94.30 \ + d.gtld-servers.net.,IN,A,172800,192.31.80.30 \ + c.gtld-servers.net.,IN,A,172800,192.26.92.30 \ + b.gtld-servers.net.,IN,A,172800,192.33.14.30 \ + a.gtld-servers.net.,IN,A,172800,192.5.6.30 \ + m.gtld-servers.net.,IN,AAAA,172800,2001:501:b1f9::30 \ + l.gtld-servers.net.,IN,AAAA,172800,2001:500:d937::30 \ + k.gtld-servers.net.,IN,AAAA,172800,2001:503:d2d::30 \ + j.gtld-servers.net.,IN,AAAA,172800,2001:502:7094::30 \ + i.gtld-servers.net.,IN,AAAA,172800,2001:503:39c1::30 \ + h.gtld-servers.net.,IN,AAAA,172800,2001:502:8cc::30 \ + g.gtld-servers.net.,IN,AAAA,172800,2001:503:eea3::30 \ + f.gtld-servers.net.,IN,AAAA,172800,2001:503:d414::30 \ + e.gtld-servers.net.,IN,AAAA,172800,2001:502:1ca1::30 \ + d.gtld-servers.net.,IN,AAAA,172800,2001:500:856e::30 \ + c.gtld-servers.net.,IN,AAAA,172800,2001:503:83eb::30 \ + b.gtld-servers.net.,IN,AAAA,172800,2001:503:231d::2:30 \ + a.gtld-servers.net.,IN,AAAA,172800,2001:503:a83e::2:30 \ + .,1232,1232,0,edns0[len=39,UDP=1232,ver=0,rcode=0,DO=0,z=0],edns0opt[code=10,codelen=24],edns0opt[ECS,family=1,source=24,scope=0,addr=172.0.0.0] +[86] 2023-07-05 07:21:46.511502 [#12 edns.pcap-dist 4095] \ + [172.0.0.0].35191 [1.0.0.0].53 \ + dns QUERY,NOERROR,960,rd|ad \ + 1 dnssec-failed.org.,IN,A 0 0 \ + 1 .,4096,4096,0,edns0[len=12,UDP=4096,ver=0,rcode=0,DO=0,z=0],edns0opt[code=10,codelen=8] +[131] 2023-07-05 07:21:46.518500 [#13 edns.pcap-dist 4095] \ + [1.0.0.0].53 [172.0.0.0].35191 \ + dns QUERY,SERVFAIL,960,qr|rd|ra \ + 1 dnssec-failed.org.,IN,A 0 0 \ + 1 .,1232,1232,0,edns0[len=57,UDP=1232,ver=0,rcode=0,DO=0,z=0],edns0opt[code=15,codelen=53] +[64] 2023-07-05 07:21:38.669836 [#0 edns.pcap-dist 4095] \ + [172.17.0.6].58541 [172.17.0.1].53 \ + dns QUERY,NOERROR,31428,rd \ + 1 h.root-servers.net.,IN,A 0 0 0 +[64] 2023-07-05 07:21:38.669891 [#1 edns.pcap-dist 4095] \ + [172.17.0.6].58541 [172.17.0.1].53 \ + dns QUERY,NOERROR,5824,rd \ + 1 h.root-servers.net.,IN,AAAA 0 0 0 +[80] 2023-07-05 07:21:38.669977 [#2 edns.pcap-dist 4095] \ + [172.17.0.1].53 [172.17.0.6].58541 \ + dns QUERY,NOERROR,31428,qr|rd|ra \ + 1 h.root-servers.net.,IN,A \ + 1 h.root-servers.net.,IN,A,85098,198.97.190.53 0 0 +[92] 2023-07-05 07:21:38.670010 [#3 edns.pcap-dist 4095] \ + [172.17.0.1].53 [172.17.0.6].58541 \ + dns QUERY,NOERROR,5824,qr|rd|ra \ + 1 h.root-servers.net.,IN,AAAA \ + 1 h.root-servers.net.,IN,AAAA,85098,2001:500:1::53 0 0 +[88] 2023-07-05 07:21:38.670793 [#4 edns.pcap-dist 4095] \ + [172.17.0.6].33737 [198.97.190.53].53 \ + dns QUERY,NOERROR,56979,rd|ad \ + 1 ns1.dns.nic.aaa.,IN,NS 0 0 \ + 1 .,4096,4096,0,edns0[len=16,UDP=4096,ver=0,rcode=0,DO=0,z=0],edns0opt[code=3,codelen=0],edns0opt[code=10,codelen=8] +[464] 2023-07-05 07:21:38.698303 [#5 edns.pcap-dist 4095] \ + [198.97.190.53].53 [172.17.0.6].33737 \ + dns QUERY,NOERROR,56979,qr|rd \ + 1 ns1.dns.nic.aaa.,IN,NS 0 \ + 6 aaa.,IN,NS,172800,a.nic.aaa. \ + aaa.,IN,NS,172800,b.nic.aaa. \ + aaa.,IN,NS,172800,c.nic.aaa. \ + aaa.,IN,NS,172800,ns1.dns.nic.aaa. \ + aaa.,IN,NS,172800,ns2.dns.nic.aaa. \ + aaa.,IN,NS,172800,ns3.dns.nic.aaa. \ + 13 a.nic.aaa.,IN,A,172800,37.209.192.9 \ + b.nic.aaa.,IN,A,172800,37.209.194.9 \ + c.nic.aaa.,IN,A,172800,37.209.196.9 \ + ns1.dns.nic.aaa.,IN,A,172800,156.154.144.2 \ + ns2.dns.nic.aaa.,IN,A,172800,156.154.145.2 \ + ns3.dns.nic.aaa.,IN,A,172800,156.154.159.2 \ + a.nic.aaa.,IN,AAAA,172800,2001:dcd:1::9 \ + b.nic.aaa.,IN,AAAA,172800,2001:dcd:2::9 \ + c.nic.aaa.,IN,AAAA,172800,2001:dcd:3::9 \ + ns1.dns.nic.aaa.,IN,AAAA,172800,2610:a1:1071::2 \ + ns2.dns.nic.aaa.,IN,AAAA,172800,2610:a1:1072::2 \ + ns3.dns.nic.aaa.,IN,AAAA,172800,2610:a1:1073::2 \ + .,1232,1232,0,edns0[len=30,UDP=1232,ver=0,rcode=0,DO=0,z=0],edns0opt[code=3,codelen=26] +[64] 2023-07-05 07:21:42.739334 [#6 edns.pcap-dist 4095] \ + [172.17.0.6].53174 [172.17.0.1].53 \ + dns QUERY,NOERROR,48648,rd \ + 1 g.root-servers.net.,IN,A 0 0 0 +[64] 2023-07-05 07:21:42.739396 [#7 edns.pcap-dist 4095] \ + [172.17.0.6].53174 [172.17.0.1].53 \ + dns QUERY,NOERROR,48141,rd \ + 1 g.root-servers.net.,IN,AAAA 0 0 0 +[80] 2023-07-05 07:21:42.739525 [#8 edns.pcap-dist 4095] \ + [172.17.0.1].53 [172.17.0.6].53174 \ + dns QUERY,NOERROR,48648,qr|rd|ra \ + 1 g.root-servers.net.,IN,A \ + 1 g.root-servers.net.,IN,A,85094,192.112.36.4 0 0 +[92] 2023-07-05 07:21:42.739558 [#9 edns.pcap-dist 4095] \ + [172.17.0.1].53 [172.17.0.6].53174 \ + dns QUERY,NOERROR,48141,qr|rd|ra \ + 1 g.root-servers.net.,IN,AAAA \ + 1 g.root-servers.net.,IN,AAAA,85094,2001:500:12::d0d 0 0 +[83] 2023-07-05 07:21:42.740590 [#10 edns.pcap-dist 4095] \ + [172.17.0.6].50901 [192.112.36.4].53 \ + dns QUERY,NOERROR,35713,rd|ad \ + 1 net.,IN,A 0 0 \ + 1 .,4096,4096,0,edns0[len=23,UDP=4096,ver=0,rcode=0,DO=0,z=0],edns0opt[ECS,family=1,source=24,scope=0,addr=172.0.0.0],edns0opt[code=10,codelen=8] +[895] 2023-07-05 07:21:42.836816 [#11 edns.pcap-dist 4095] \ + [192.112.36.4].53 [172.17.0.6].50901 \ + dns QUERY,NOERROR,35713,qr|rd \ + 1 net.,IN,A 0 \ + 13 net.,IN,NS,172800,j.gtld-servers.net. \ + net.,IN,NS,172800,b.gtld-servers.net. \ + net.,IN,NS,172800,a.gtld-servers.net. \ + net.,IN,NS,172800,h.gtld-servers.net. \ + net.,IN,NS,172800,d.gtld-servers.net. \ + net.,IN,NS,172800,c.gtld-servers.net. \ + net.,IN,NS,172800,i.gtld-servers.net. \ + net.,IN,NS,172800,e.gtld-servers.net. \ + net.,IN,NS,172800,m.gtld-servers.net. \ + net.,IN,NS,172800,f.gtld-servers.net. \ + net.,IN,NS,172800,k.gtld-servers.net. \ + net.,IN,NS,172800,l.gtld-servers.net. \ + net.,IN,NS,172800,g.gtld-servers.net. \ + 27 m.gtld-servers.net.,IN,A,172800,192.55.83.30 \ + l.gtld-servers.net.,IN,A,172800,192.41.162.30 \ + k.gtld-servers.net.,IN,A,172800,192.52.178.30 \ + j.gtld-servers.net.,IN,A,172800,192.48.79.30 \ + i.gtld-servers.net.,IN,A,172800,192.43.172.30 \ + h.gtld-servers.net.,IN,A,172800,192.54.112.30 \ + g.gtld-servers.net.,IN,A,172800,192.42.93.30 \ + f.gtld-servers.net.,IN,A,172800,192.35.51.30 \ + e.gtld-servers.net.,IN,A,172800,192.12.94.30 \ + d.gtld-servers.net.,IN,A,172800,192.31.80.30 \ + c.gtld-servers.net.,IN,A,172800,192.26.92.30 \ + b.gtld-servers.net.,IN,A,172800,192.33.14.30 \ + a.gtld-servers.net.,IN,A,172800,192.5.6.30 \ + m.gtld-servers.net.,IN,AAAA,172800,2001:501:b1f9::30 \ + l.gtld-servers.net.,IN,AAAA,172800,2001:500:d937::30 \ + k.gtld-servers.net.,IN,AAAA,172800,2001:503:d2d::30 \ + j.gtld-servers.net.,IN,AAAA,172800,2001:502:7094::30 \ + i.gtld-servers.net.,IN,AAAA,172800,2001:503:39c1::30 \ + h.gtld-servers.net.,IN,AAAA,172800,2001:502:8cc::30 \ + g.gtld-servers.net.,IN,AAAA,172800,2001:503:eea3::30 \ + f.gtld-servers.net.,IN,AAAA,172800,2001:503:d414::30 \ + e.gtld-servers.net.,IN,AAAA,172800,2001:502:1ca1::30 \ + d.gtld-servers.net.,IN,AAAA,172800,2001:500:856e::30 \ + c.gtld-servers.net.,IN,AAAA,172800,2001:503:83eb::30 \ + b.gtld-servers.net.,IN,AAAA,172800,2001:503:231d::2:30 \ + a.gtld-servers.net.,IN,AAAA,172800,2001:503:a83e::2:30 \ + .,1232,1232,0,edns0[len=39,UDP=1232,ver=0,rcode=0,DO=0,z=0],edns0opt[code=10,codelen=24],edns0opt[ECS,family=1,source=24,scope=0,addr=172.0.0.0] +[86] 2023-07-05 07:21:46.511502 [#12 edns.pcap-dist 4095] \ + [172.17.0.6].35191 [1.1.1.1].53 \ + dns QUERY,NOERROR,960,rd|ad \ + 1 dnssec-failed.org.,IN,A 0 0 \ + 1 .,4096,4096,0,edns0[len=12,UDP=4096,ver=0,rcode=0,DO=0,z=0],edns0opt[code=10,codelen=8] +[131] 2023-07-05 07:21:46.518500 [#13 edns.pcap-dist 4095] \ + [1.1.1.1].53 [172.17.0.6].35191 \ + dns QUERY,SERVFAIL,960,qr|rd|ra \ + 1 dnssec-failed.org.,IN,A 0 0 \ + 1 .,1232,1232,0,edns0[len=57,UDP=1232,ver=0,rcode=0,DO=0,z=0],edns0opt[code=15,codelen=53] diff --git a/plugins/anonmask/test1.sh b/plugins/anonmask/test1.sh index a15a9bb..341a9cc 100755 --- a/plugins/anonmask/test1.sh +++ b/plugins/anonmask/test1.sh @@ -14,6 +14,11 @@ ln -fs "$srcdir/../../src/test/dns.pcap" dns.pcap-dist ../../src/dnscap -r dns.pcap-dist -g -P "$plugin" -s 2>>test1.out ! ../../src/dnscap -r dns.pcap-dist -g -P "$plugin" -c -s 2>>test1.out +ln -fs "$srcdir/../../src/test/edns.pcap" edns.pcap-dist + +../../src/dnscap -r edns.pcap-dist -g -P "$plugin" -4 8 -e 2>>test1.out +../../src/dnscap -r edns.pcap-dist -g -P "$plugin" -4 8 -E 2>>test1.out + osrel=`uname -s` if [ "$osrel" = "OpenBSD" ]; then mv test1.out test1.out.old diff --git a/plugins/anonmask/test2.sh b/plugins/anonmask/test2.sh index 7a155c5..dbfba51 100755 --- a/plugins/anonmask/test2.sh +++ b/plugins/anonmask/test2.sh @@ -23,12 +23,4 @@ if [ "$osrel" = "OpenBSD" ]; then rm test2.out.old fi -# TODO: Remove when #133 is fixed -cat test2.out | \ - sed 's%,CLASS4096,OPT,%,4096,4096,%' | \ - sed 's%,CLASS512,OPT,%,512,512,%' | \ - sed 's%,41,41,0,edns0\[len=0,UDP=4096,%,4096,4096,0,edns0[len=0,UDP=4096,%' | \ - sed 's%,41,41,0,edns0\[len=0,UDP=512,%,512,512,0,edns0[len=0,UDP=512,%' >test2.new -mv test2.new test2.out - diff test2.out "$srcdir/test2.gold" diff --git a/plugins/cryptopan/Makefile.am b/plugins/cryptopan/Makefile.am index 0215742..6504a61 100644 --- a/plugins/cryptopan/Makefile.am +++ b/plugins/cryptopan/Makefile.am @@ -1,9 +1,10 @@ MAINTAINERCLEANFILES = $(srcdir)/Makefile.in -CLEANFILES = *.gcda *.gcno *.gcov +CLEANFILES = *.gcda *.gcno *.gcov *.pcap-dist AM_CFLAGS = -I$(srcdir) \ -I$(top_srcdir)/src \ -I$(top_srcdir)/isc \ + -I$(top_srcdir)/plugins/shared \ $(SECCOMPFLAGS) $(libcrypto_CFLAGS) pkglib_LTLIBRARIES = cryptopan.la diff --git a/plugins/cryptopan/Makefile.in b/plugins/cryptopan/Makefile.in index f108e81..0ff66b2 100644 --- a/plugins/cryptopan/Makefile.in +++ b/plugins/cryptopan/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.1 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2018 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -205,8 +205,6 @@ am__define_uniq_tagged_files = \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags am__tty_colors_dummy = \ mgn= red= grn= lgn= blu= brg= std=; \ am__color_tests=no @@ -362,6 +360,7 @@ am__set_TESTS_bases = \ bases='$(TEST_LOGS)'; \ bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ bases=`echo $$bases` +AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' RECHECK_LOGS = $(TEST_LOGS) AM_RECURSIVE_TARGETS = check recheck TEST_SUITE_LOG = test-suite.log @@ -400,6 +399,8 @@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ @@ -410,6 +411,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GREP = @GREP@ @@ -516,12 +518,13 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ MAINTAINERCLEANFILES = $(srcdir)/Makefile.in -CLEANFILES = *.gcda *.gcno *.gcov test1.out test2.out test3.out \ - test3.pcap.20161020.152301.075993 \ +CLEANFILES = *.gcda *.gcno *.gcov *.pcap-dist test1.out test2.out \ + test3.out test3.pcap.20161020.152301.075993 \ test3.pcap.20181127.155200.414188 test4.tmp AM_CFLAGS = -I$(srcdir) \ -I$(top_srcdir)/src \ -I$(top_srcdir)/isc \ + -I$(top_srcdir)/plugins/shared \ $(SECCOMPFLAGS) $(libcrypto_CFLAGS) pkglib_LTLIBRARIES = cryptopan.la @@ -805,7 +808,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS) test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ fi; \ echo "$${col}$$br$${std}"; \ - echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ + echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ echo "$${col}$$br$${std}"; \ create_testsuite_report --maybe-color; \ echo "$$col$$br$$std"; \ @@ -881,7 +884,6 @@ test4.sh.log: test4.sh @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) - distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am diff --git a/plugins/cryptopan/cryptopan.c b/plugins/cryptopan/cryptopan.c index 5eb54c7..6274c3d 100644 --- a/plugins/cryptopan/cryptopan.c +++ b/plugins/cryptopan/cryptopan.c @@ -47,6 +47,10 @@ #include #include #include +#include +#ifndef s6_addr32 +#define s6_addr32 __u6_addr.__u6_addr32 +#endif #include "dnscap_common.h" @@ -55,12 +59,13 @@ #include #include #define USE_OPENSSL 1 +#include "edns0_ecs.c" #endif static set_iaddr_t cryptopan_set_iaddr = 0; static logerr_t* logerr; -static int only_clients = 0, only_servers = 0, dns_port = 53, encrypt_v6 = 0, decrypt = 0; +static int only_clients = 0, only_servers = 0, dns_port = 53, encrypt_v6 = 0, decrypt = 0, edns = 0; static unsigned char key[16]; static unsigned char iv[16]; static unsigned char pad[16]; @@ -94,7 +99,9 @@ void cryptopan_usage() "\t-c Only en/de-crypt clients (port != 53)\n" "\t-s Only en/de-crypt servers (port == 53)\n" "\t-p Set port for -c/-s, default 53\n" - "\t-6 En/de-crypt IPv6 addresses, not default or recommended\n"); + "\t-6 En/de-crypt IPv6 addresses, not default or recommended\n" + "\t-e Also en/de-crypt EDNS(0) Client Subnet\n" + "\t-E ONLY en/de-crypt EDNS(0) Client Subnet, not IP addresses\n"); } void cryptopan_extension(int ext, void* arg) @@ -112,7 +119,7 @@ void cryptopan_getopt(int* argc, char** argv[]) unsigned long ul; char* p; - while ((c = getopt(*argc, *argv, "?k:K:i:I:a:A:Dcsp:6")) != EOF) { + while ((c = getopt(*argc, *argv, "?k:K:i:I:a:A:Dcsp:6eE")) != EOF) { switch (c) { case 'k': if (strlen(optarg) != 16) { @@ -207,6 +214,13 @@ void cryptopan_getopt(int* argc, char** argv[]) case '6': encrypt_v6 = 1; break; + case 'e': + if (!edns) + edns = 1; + break; + case 'E': + edns = -1; + break; case '?': cryptopan_usage(); if (!optopt || optopt == '?') { @@ -396,12 +410,56 @@ static inline void _decrypt(uint32_t* in) } #endif +#ifdef USE_OPENSSL +void ecs_callback(int family, u_char* buf, size_t len) +{ + struct in6_addr in6 = IN6ADDR_ANY_INIT; + + switch (family) { + case 1: // IPv4 + if (len > sizeof(struct in_addr)) + break; + memcpy(&in6, buf, len); + decrypt ? _decrypt((uint32_t*)&in6) : _encrypt((uint32_t*)&in6); + memcpy(buf, &in6, len); + break; + case 2: // IPv6 + if (len > sizeof(struct in6_addr)) + break; + if (encrypt_v6) { + memcpy(&in6, buf, len); + if (decrypt) { + _decrypt(&in6.s6_addr32[0]); + _decrypt(&in6.s6_addr32[1]); + _decrypt(&in6.s6_addr32[2]); + _decrypt(&in6.s6_addr32[3]); + } else { + _encrypt(&in6.s6_addr32[0]); + _encrypt(&in6.s6_addr32[1]); + _encrypt(&in6.s6_addr32[2]); + _encrypt(&in6.s6_addr32[3]); + } + memcpy(buf, &in6, len); + } + break; + default: + break; + } +} +#endif + int cryptopan_filter(const char* descr, iaddr* from, iaddr* to, uint8_t proto, unsigned flags, unsigned sport, unsigned dport, my_bpftimeval ts, - const u_char* pkt_copy, const unsigned olen, - const u_char* payload, const unsigned payloadlen) + u_char* pkt_copy, const unsigned olen, + u_char* payload, const unsigned payloadlen) { #ifdef USE_OPENSSL + if (edns && flags & DNSCAP_OUTPUT_ISDNS && payload && payloadlen > DNS_MSG_HDR_SZ) { + parse_for_edns0_ecs(payload, payloadlen, ecs_callback); + if (edns < 0) + return 0; + } + for (;;) { if (only_clients && sport == dns_port) { if (sport != dport) { @@ -421,15 +479,15 @@ int cryptopan_filter(const char* descr, iaddr* from, iaddr* to, uint8_t proto, u case AF_INET6: if (encrypt_v6) { if (decrypt) { - _decrypt((uint32_t*)&from->u.a6); - _decrypt(((uint32_t*)&from->u.a6) + 1); // lgtm [cpp/suspicious-pointer-scaling] - _decrypt(((uint32_t*)&from->u.a6) + 2); // lgtm [cpp/suspicious-pointer-scaling] - _decrypt(((uint32_t*)&from->u.a6) + 3); // lgtm [cpp/suspicious-pointer-scaling] + _decrypt(&from->u.a6.s6_addr32[0]); + _decrypt(&from->u.a6.s6_addr32[1]); + _decrypt(&from->u.a6.s6_addr32[2]); + _decrypt(&from->u.a6.s6_addr32[3]); } else { - _encrypt((uint32_t*)&from->u.a6); - _encrypt(((uint32_t*)&from->u.a6) + 1); // lgtm [cpp/suspicious-pointer-scaling] - _encrypt(((uint32_t*)&from->u.a6) + 2); // lgtm [cpp/suspicious-pointer-scaling] - _encrypt(((uint32_t*)&from->u.a6) + 3); // lgtm [cpp/suspicious-pointer-scaling] + _encrypt(&from->u.a6.s6_addr32[0]); + _encrypt(&from->u.a6.s6_addr32[1]); + _encrypt(&from->u.a6.s6_addr32[2]); + _encrypt(&from->u.a6.s6_addr32[3]); } break; } @@ -459,15 +517,15 @@ int cryptopan_filter(const char* descr, iaddr* from, iaddr* to, uint8_t proto, u case AF_INET6: if (encrypt_v6) { if (decrypt) { - _decrypt((uint32_t*)&to->u.a6); - _decrypt(((uint32_t*)&to->u.a6) + 1); // lgtm [cpp/suspicious-pointer-scaling] - _decrypt(((uint32_t*)&to->u.a6) + 2); // lgtm [cpp/suspicious-pointer-scaling] - _decrypt(((uint32_t*)&to->u.a6) + 3); // lgtm [cpp/suspicious-pointer-scaling] + _decrypt(&to->u.a6.s6_addr32[0]); + _decrypt(&to->u.a6.s6_addr32[1]); + _decrypt(&to->u.a6.s6_addr32[2]); + _decrypt(&to->u.a6.s6_addr32[3]); } else { - _encrypt((uint32_t*)&to->u.a6); - _encrypt(((uint32_t*)&to->u.a6) + 1); // lgtm [cpp/suspicious-pointer-scaling] - _encrypt(((uint32_t*)&to->u.a6) + 2); // lgtm [cpp/suspicious-pointer-scaling] - _encrypt(((uint32_t*)&to->u.a6) + 3); // lgtm [cpp/suspicious-pointer-scaling] + _encrypt(&to->u.a6.s6_addr32[0]); + _encrypt(&to->u.a6.s6_addr32[1]); + _encrypt(&to->u.a6.s6_addr32[2]); + _encrypt(&to->u.a6.s6_addr32[3]); } break; } diff --git a/plugins/cryptopan/test1.gold b/plugins/cryptopan/test1.gold index 71bbba1..4f1b903 100644 --- a/plugins/cryptopan/test1.gold +++ b/plugins/cryptopan/test1.gold @@ -2145,3 +2145,249 @@ cryptopan.so usage error: must have key (-k/-K), IV (-i/-I) and padding (-a/-A) ns3.google.com.,IN,A,157794,216.239.36.10 \ ns4.google.com.,IN,A,157794,216.239.38.10 cryptopan.so usage error: -c and -s options are mutually exclusive +[64] 2023-07-05 07:21:38.669836 [#0 edns.pcap-dist 4095] \ + [137.205.188.240].58541 [137.205.188.246].53 \ + dns QUERY,NOERROR,31428,rd \ + 1 h.root-servers.net.,IN,A 0 0 0 +[64] 2023-07-05 07:21:38.669891 [#1 edns.pcap-dist 4095] \ + [137.205.188.240].58541 [137.205.188.246].53 \ + dns QUERY,NOERROR,5824,rd \ + 1 h.root-servers.net.,IN,AAAA 0 0 0 +[80] 2023-07-05 07:21:38.669977 [#2 edns.pcap-dist 4095] \ + [137.205.188.246].53 [137.205.188.240].58541 \ + dns QUERY,NOERROR,31428,qr|rd|ra \ + 1 h.root-servers.net.,IN,A \ + 1 h.root-servers.net.,IN,A,85098,198.97.190.53 0 0 +[92] 2023-07-05 07:21:38.670010 [#3 edns.pcap-dist 4095] \ + [137.205.188.246].53 [137.205.188.240].58541 \ + dns QUERY,NOERROR,5824,qr|rd|ra \ + 1 h.root-servers.net.,IN,AAAA \ + 1 h.root-servers.net.,IN,AAAA,85098,2001:500:1::53 0 0 +[88] 2023-07-05 07:21:38.670793 [#4 edns.pcap-dist 4095] \ + [137.205.188.240].33737 [242.191.199.152].53 \ + dns QUERY,NOERROR,56979,rd|ad \ + 1 ns1.dns.nic.aaa.,IN,NS 0 0 \ + 1 .,4096,4096,0,edns0[len=16,UDP=4096,ver=0,rcode=0,DO=0,z=0],edns0opt[code=3,codelen=0],edns0opt[code=10,codelen=8] +[464] 2023-07-05 07:21:38.698303 [#5 edns.pcap-dist 4095] \ + [242.191.199.152].53 [137.205.188.240].33737 \ + dns QUERY,NOERROR,56979,qr|rd \ + 1 ns1.dns.nic.aaa.,IN,NS 0 \ + 6 aaa.,IN,NS,172800,a.nic.aaa. \ + aaa.,IN,NS,172800,b.nic.aaa. \ + aaa.,IN,NS,172800,c.nic.aaa. \ + aaa.,IN,NS,172800,ns1.dns.nic.aaa. \ + aaa.,IN,NS,172800,ns2.dns.nic.aaa. \ + aaa.,IN,NS,172800,ns3.dns.nic.aaa. \ + 13 a.nic.aaa.,IN,A,172800,37.209.192.9 \ + b.nic.aaa.,IN,A,172800,37.209.194.9 \ + c.nic.aaa.,IN,A,172800,37.209.196.9 \ + ns1.dns.nic.aaa.,IN,A,172800,156.154.144.2 \ + ns2.dns.nic.aaa.,IN,A,172800,156.154.145.2 \ + ns3.dns.nic.aaa.,IN,A,172800,156.154.159.2 \ + a.nic.aaa.,IN,AAAA,172800,2001:dcd:1::9 \ + b.nic.aaa.,IN,AAAA,172800,2001:dcd:2::9 \ + c.nic.aaa.,IN,AAAA,172800,2001:dcd:3::9 \ + ns1.dns.nic.aaa.,IN,AAAA,172800,2610:a1:1071::2 \ + ns2.dns.nic.aaa.,IN,AAAA,172800,2610:a1:1072::2 \ + ns3.dns.nic.aaa.,IN,AAAA,172800,2610:a1:1073::2 \ + .,1232,1232,0,edns0[len=30,UDP=1232,ver=0,rcode=0,DO=0,z=0],edns0opt[code=3,codelen=26] +[64] 2023-07-05 07:21:42.739334 [#6 edns.pcap-dist 4095] \ + [137.205.188.240].53174 [137.205.188.246].53 \ + dns QUERY,NOERROR,48648,rd \ + 1 g.root-servers.net.,IN,A 0 0 0 +[64] 2023-07-05 07:21:42.739396 [#7 edns.pcap-dist 4095] \ + [137.205.188.240].53174 [137.205.188.246].53 \ + dns QUERY,NOERROR,48141,rd \ + 1 g.root-servers.net.,IN,AAAA 0 0 0 +[80] 2023-07-05 07:21:42.739525 [#8 edns.pcap-dist 4095] \ + [137.205.188.246].53 [137.205.188.240].53174 \ + dns QUERY,NOERROR,48648,qr|rd|ra \ + 1 g.root-servers.net.,IN,A \ + 1 g.root-servers.net.,IN,A,85094,192.112.36.4 0 0 +[92] 2023-07-05 07:21:42.739558 [#9 edns.pcap-dist 4095] \ + [137.205.188.246].53 [137.205.188.240].53174 \ + dns QUERY,NOERROR,48141,qr|rd|ra \ + 1 g.root-servers.net.,IN,AAAA \ + 1 g.root-servers.net.,IN,AAAA,85094,2001:500:12::d0d 0 0 +[83] 2023-07-05 07:21:42.740590 [#10 edns.pcap-dist 4095] \ + [137.205.188.240].50901 [245.202.0.100].53 \ + dns QUERY,NOERROR,35713,rd|ad \ + 1 net.,IN,A 0 0 \ + 1 .,4096,4096,0,edns0[len=23,UDP=4096,ver=0,rcode=0,DO=0,z=0],edns0opt[ECS,family=1,source=24,scope=0,addr=137.205.188.0],edns0opt[code=10,codelen=8] +[895] 2023-07-05 07:21:42.836816 [#11 edns.pcap-dist 4095] \ + [245.202.0.100].53 [137.205.188.240].50901 \ + dns QUERY,NOERROR,35713,qr|rd \ + 1 net.,IN,A 0 \ + 13 net.,IN,NS,172800,j.gtld-servers.net. \ + net.,IN,NS,172800,b.gtld-servers.net. \ + net.,IN,NS,172800,a.gtld-servers.net. \ + net.,IN,NS,172800,h.gtld-servers.net. \ + net.,IN,NS,172800,d.gtld-servers.net. \ + net.,IN,NS,172800,c.gtld-servers.net. \ + net.,IN,NS,172800,i.gtld-servers.net. \ + net.,IN,NS,172800,e.gtld-servers.net. \ + net.,IN,NS,172800,m.gtld-servers.net. \ + net.,IN,NS,172800,f.gtld-servers.net. \ + net.,IN,NS,172800,k.gtld-servers.net. \ + net.,IN,NS,172800,l.gtld-servers.net. \ + net.,IN,NS,172800,g.gtld-servers.net. \ + 27 m.gtld-servers.net.,IN,A,172800,192.55.83.30 \ + l.gtld-servers.net.,IN,A,172800,192.41.162.30 \ + k.gtld-servers.net.,IN,A,172800,192.52.178.30 \ + j.gtld-servers.net.,IN,A,172800,192.48.79.30 \ + i.gtld-servers.net.,IN,A,172800,192.43.172.30 \ + h.gtld-servers.net.,IN,A,172800,192.54.112.30 \ + g.gtld-servers.net.,IN,A,172800,192.42.93.30 \ + f.gtld-servers.net.,IN,A,172800,192.35.51.30 \ + e.gtld-servers.net.,IN,A,172800,192.12.94.30 \ + d.gtld-servers.net.,IN,A,172800,192.31.80.30 \ + c.gtld-servers.net.,IN,A,172800,192.26.92.30 \ + b.gtld-servers.net.,IN,A,172800,192.33.14.30 \ + a.gtld-servers.net.,IN,A,172800,192.5.6.30 \ + m.gtld-servers.net.,IN,AAAA,172800,2001:501:b1f9::30 \ + l.gtld-servers.net.,IN,AAAA,172800,2001:500:d937::30 \ + k.gtld-servers.net.,IN,AAAA,172800,2001:503:d2d::30 \ + j.gtld-servers.net.,IN,AAAA,172800,2001:502:7094::30 \ + i.gtld-servers.net.,IN,AAAA,172800,2001:503:39c1::30 \ + h.gtld-servers.net.,IN,AAAA,172800,2001:502:8cc::30 \ + g.gtld-servers.net.,IN,AAAA,172800,2001:503:eea3::30 \ + f.gtld-servers.net.,IN,AAAA,172800,2001:503:d414::30 \ + e.gtld-servers.net.,IN,AAAA,172800,2001:502:1ca1::30 \ + d.gtld-servers.net.,IN,AAAA,172800,2001:500:856e::30 \ + c.gtld-servers.net.,IN,AAAA,172800,2001:503:83eb::30 \ + b.gtld-servers.net.,IN,AAAA,172800,2001:503:231d::2:30 \ + a.gtld-servers.net.,IN,AAAA,172800,2001:503:a83e::2:30 \ + .,1232,1232,0,edns0[len=39,UDP=1232,ver=0,rcode=0,DO=0,z=0],edns0opt[code=10,codelen=24],edns0opt[ECS,family=1,source=24,scope=0,addr=137.205.188.0] +[86] 2023-07-05 07:21:46.511502 [#12 edns.pcap-dist 4095] \ + [137.205.188.240].35191 [39.174.37.237].53 \ + dns QUERY,NOERROR,960,rd|ad \ + 1 dnssec-failed.org.,IN,A 0 0 \ + 1 .,4096,4096,0,edns0[len=12,UDP=4096,ver=0,rcode=0,DO=0,z=0],edns0opt[code=10,codelen=8] +[131] 2023-07-05 07:21:46.518500 [#13 edns.pcap-dist 4095] \ + [39.174.37.237].53 [137.205.188.240].35191 \ + dns QUERY,SERVFAIL,960,qr|rd|ra \ + 1 dnssec-failed.org.,IN,A 0 0 \ + 1 .,1232,1232,0,edns0[len=57,UDP=1232,ver=0,rcode=0,DO=0,z=0],edns0opt[code=15,codelen=53] +[64] 2023-07-05 07:21:38.669836 [#0 edns.pcap-dist 4095] \ + [172.17.0.6].58541 [172.17.0.1].53 \ + dns QUERY,NOERROR,31428,rd \ + 1 h.root-servers.net.,IN,A 0 0 0 +[64] 2023-07-05 07:21:38.669891 [#1 edns.pcap-dist 4095] \ + [172.17.0.6].58541 [172.17.0.1].53 \ + dns QUERY,NOERROR,5824,rd \ + 1 h.root-servers.net.,IN,AAAA 0 0 0 +[80] 2023-07-05 07:21:38.669977 [#2 edns.pcap-dist 4095] \ + [172.17.0.1].53 [172.17.0.6].58541 \ + dns QUERY,NOERROR,31428,qr|rd|ra \ + 1 h.root-servers.net.,IN,A \ + 1 h.root-servers.net.,IN,A,85098,198.97.190.53 0 0 +[92] 2023-07-05 07:21:38.670010 [#3 edns.pcap-dist 4095] \ + [172.17.0.1].53 [172.17.0.6].58541 \ + dns QUERY,NOERROR,5824,qr|rd|ra \ + 1 h.root-servers.net.,IN,AAAA \ + 1 h.root-servers.net.,IN,AAAA,85098,2001:500:1::53 0 0 +[88] 2023-07-05 07:21:38.670793 [#4 edns.pcap-dist 4095] \ + [172.17.0.6].33737 [198.97.190.53].53 \ + dns QUERY,NOERROR,56979,rd|ad \ + 1 ns1.dns.nic.aaa.,IN,NS 0 0 \ + 1 .,4096,4096,0,edns0[len=16,UDP=4096,ver=0,rcode=0,DO=0,z=0],edns0opt[code=3,codelen=0],edns0opt[code=10,codelen=8] +[464] 2023-07-05 07:21:38.698303 [#5 edns.pcap-dist 4095] \ + [198.97.190.53].53 [172.17.0.6].33737 \ + dns QUERY,NOERROR,56979,qr|rd \ + 1 ns1.dns.nic.aaa.,IN,NS 0 \ + 6 aaa.,IN,NS,172800,a.nic.aaa. \ + aaa.,IN,NS,172800,b.nic.aaa. \ + aaa.,IN,NS,172800,c.nic.aaa. \ + aaa.,IN,NS,172800,ns1.dns.nic.aaa. \ + aaa.,IN,NS,172800,ns2.dns.nic.aaa. \ + aaa.,IN,NS,172800,ns3.dns.nic.aaa. \ + 13 a.nic.aaa.,IN,A,172800,37.209.192.9 \ + b.nic.aaa.,IN,A,172800,37.209.194.9 \ + c.nic.aaa.,IN,A,172800,37.209.196.9 \ + ns1.dns.nic.aaa.,IN,A,172800,156.154.144.2 \ + ns2.dns.nic.aaa.,IN,A,172800,156.154.145.2 \ + ns3.dns.nic.aaa.,IN,A,172800,156.154.159.2 \ + a.nic.aaa.,IN,AAAA,172800,2001:dcd:1::9 \ + b.nic.aaa.,IN,AAAA,172800,2001:dcd:2::9 \ + c.nic.aaa.,IN,AAAA,172800,2001:dcd:3::9 \ + ns1.dns.nic.aaa.,IN,AAAA,172800,2610:a1:1071::2 \ + ns2.dns.nic.aaa.,IN,AAAA,172800,2610:a1:1072::2 \ + ns3.dns.nic.aaa.,IN,AAAA,172800,2610:a1:1073::2 \ + .,1232,1232,0,edns0[len=30,UDP=1232,ver=0,rcode=0,DO=0,z=0],edns0opt[code=3,codelen=26] +[64] 2023-07-05 07:21:42.739334 [#6 edns.pcap-dist 4095] \ + [172.17.0.6].53174 [172.17.0.1].53 \ + dns QUERY,NOERROR,48648,rd \ + 1 g.root-servers.net.,IN,A 0 0 0 +[64] 2023-07-05 07:21:42.739396 [#7 edns.pcap-dist 4095] \ + [172.17.0.6].53174 [172.17.0.1].53 \ + dns QUERY,NOERROR,48141,rd \ + 1 g.root-servers.net.,IN,AAAA 0 0 0 +[80] 2023-07-05 07:21:42.739525 [#8 edns.pcap-dist 4095] \ + [172.17.0.1].53 [172.17.0.6].53174 \ + dns QUERY,NOERROR,48648,qr|rd|ra \ + 1 g.root-servers.net.,IN,A \ + 1 g.root-servers.net.,IN,A,85094,192.112.36.4 0 0 +[92] 2023-07-05 07:21:42.739558 [#9 edns.pcap-dist 4095] \ + [172.17.0.1].53 [172.17.0.6].53174 \ + dns QUERY,NOERROR,48141,qr|rd|ra \ + 1 g.root-servers.net.,IN,AAAA \ + 1 g.root-servers.net.,IN,AAAA,85094,2001:500:12::d0d 0 0 +[83] 2023-07-05 07:21:42.740590 [#10 edns.pcap-dist 4095] \ + [172.17.0.6].50901 [192.112.36.4].53 \ + dns QUERY,NOERROR,35713,rd|ad \ + 1 net.,IN,A 0 0 \ + 1 .,4096,4096,0,edns0[len=23,UDP=4096,ver=0,rcode=0,DO=0,z=0],edns0opt[ECS,family=1,source=24,scope=0,addr=137.205.188.0],edns0opt[code=10,codelen=8] +[895] 2023-07-05 07:21:42.836816 [#11 edns.pcap-dist 4095] \ + [192.112.36.4].53 [172.17.0.6].50901 \ + dns QUERY,NOERROR,35713,qr|rd \ + 1 net.,IN,A 0 \ + 13 net.,IN,NS,172800,j.gtld-servers.net. \ + net.,IN,NS,172800,b.gtld-servers.net. \ + net.,IN,NS,172800,a.gtld-servers.net. \ + net.,IN,NS,172800,h.gtld-servers.net. \ + net.,IN,NS,172800,d.gtld-servers.net. \ + net.,IN,NS,172800,c.gtld-servers.net. \ + net.,IN,NS,172800,i.gtld-servers.net. \ + net.,IN,NS,172800,e.gtld-servers.net. \ + net.,IN,NS,172800,m.gtld-servers.net. \ + net.,IN,NS,172800,f.gtld-servers.net. \ + net.,IN,NS,172800,k.gtld-servers.net. \ + net.,IN,NS,172800,l.gtld-servers.net. \ + net.,IN,NS,172800,g.gtld-servers.net. \ + 27 m.gtld-servers.net.,IN,A,172800,192.55.83.30 \ + l.gtld-servers.net.,IN,A,172800,192.41.162.30 \ + k.gtld-servers.net.,IN,A,172800,192.52.178.30 \ + j.gtld-servers.net.,IN,A,172800,192.48.79.30 \ + i.gtld-servers.net.,IN,A,172800,192.43.172.30 \ + h.gtld-servers.net.,IN,A,172800,192.54.112.30 \ + g.gtld-servers.net.,IN,A,172800,192.42.93.30 \ + f.gtld-servers.net.,IN,A,172800,192.35.51.30 \ + e.gtld-servers.net.,IN,A,172800,192.12.94.30 \ + d.gtld-servers.net.,IN,A,172800,192.31.80.30 \ + c.gtld-servers.net.,IN,A,172800,192.26.92.30 \ + b.gtld-servers.net.,IN,A,172800,192.33.14.30 \ + a.gtld-servers.net.,IN,A,172800,192.5.6.30 \ + m.gtld-servers.net.,IN,AAAA,172800,2001:501:b1f9::30 \ + l.gtld-servers.net.,IN,AAAA,172800,2001:500:d937::30 \ + k.gtld-servers.net.,IN,AAAA,172800,2001:503:d2d::30 \ + j.gtld-servers.net.,IN,AAAA,172800,2001:502:7094::30 \ + i.gtld-servers.net.,IN,AAAA,172800,2001:503:39c1::30 \ + h.gtld-servers.net.,IN,AAAA,172800,2001:502:8cc::30 \ + g.gtld-servers.net.,IN,AAAA,172800,2001:503:eea3::30 \ + f.gtld-servers.net.,IN,AAAA,172800,2001:503:d414::30 \ + e.gtld-servers.net.,IN,AAAA,172800,2001:502:1ca1::30 \ + d.gtld-servers.net.,IN,AAAA,172800,2001:500:856e::30 \ + c.gtld-servers.net.,IN,AAAA,172800,2001:503:83eb::30 \ + b.gtld-servers.net.,IN,AAAA,172800,2001:503:231d::2:30 \ + a.gtld-servers.net.,IN,AAAA,172800,2001:503:a83e::2:30 \ + .,1232,1232,0,edns0[len=39,UDP=1232,ver=0,rcode=0,DO=0,z=0],edns0opt[code=10,codelen=24],edns0opt[ECS,family=1,source=24,scope=0,addr=137.205.188.0] +[86] 2023-07-05 07:21:46.511502 [#12 edns.pcap-dist 4095] \ + [172.17.0.6].35191 [1.1.1.1].53 \ + dns QUERY,NOERROR,960,rd|ad \ + 1 dnssec-failed.org.,IN,A 0 0 \ + 1 .,4096,4096,0,edns0[len=12,UDP=4096,ver=0,rcode=0,DO=0,z=0],edns0opt[code=10,codelen=8] +[131] 2023-07-05 07:21:46.518500 [#13 edns.pcap-dist 4095] \ + [1.1.1.1].53 [172.17.0.6].35191 \ + dns QUERY,SERVFAIL,960,qr|rd|ra \ + 1 dnssec-failed.org.,IN,A 0 0 \ + 1 .,1232,1232,0,edns0[len=57,UDP=1232,ver=0,rcode=0,DO=0,z=0],edns0opt[code=15,codelen=53] diff --git a/plugins/cryptopan/test1.sh b/plugins/cryptopan/test1.sh index b499f12..943ab2f 100755 --- a/plugins/cryptopan/test1.sh +++ b/plugins/cryptopan/test1.sh @@ -17,6 +17,11 @@ ln -fs "$srcdir/../../src/test/dns.pcap" dns.pcap-dist ../../src/dnscap -r dns.pcap-dist -g -P "$plugin" -k "some 16-byte key" -i "some 16-byte key" -a "some 16-byte key" -s 2>>test1.out ! ../../src/dnscap -r dns.pcap-dist -g -P "$plugin" -k "some 16-byte key" -i "some 16-byte key" -a "some 16-byte key" -c -s 2>>test1.out +ln -fs "$srcdir/../../src/test/edns.pcap" edns.pcap-dist + +../../src/dnscap -r edns.pcap-dist -g -P "$plugin" -k "some 16-byte key" -i "some 16-byte key" -a "some 16-byte key" -e 2>>test1.out +../../src/dnscap -r edns.pcap-dist -g -P "$plugin" -k "some 16-byte key" -i "some 16-byte key" -a "some 16-byte key" -E 2>>test1.out + osrel=`uname -s` if [ "$osrel" = "OpenBSD" ]; then mv test1.out test1.out.old diff --git a/plugins/cryptopan/test2.sh b/plugins/cryptopan/test2.sh index 3f41fc4..3e92b53 100755 --- a/plugins/cryptopan/test2.sh +++ b/plugins/cryptopan/test2.sh @@ -19,12 +19,4 @@ if [ "$osrel" = "OpenBSD" ]; then rm test2.out.old fi -# TODO: Remove when #133 is fixed -cat test2.out | \ - sed 's%,CLASS4096,OPT,%,4096,4096,%' | \ - sed 's%,CLASS512,OPT,%,512,512,%' | \ - sed 's%,41,41,0,edns0\[len=0,UDP=4096,%,4096,4096,0,edns0[len=0,UDP=4096,%' | \ - sed 's%,41,41,0,edns0\[len=0,UDP=512,%,512,512,0,edns0[len=0,UDP=512,%' >test2.new -mv test2.new test2.out - diff test2.out "$srcdir/test2.gold" diff --git a/plugins/cryptopan/test3.sh b/plugins/cryptopan/test3.sh index 48dc90f..61110f7 100755 --- a/plugins/cryptopan/test3.sh +++ b/plugins/cryptopan/test3.sh @@ -21,12 +21,4 @@ if [ "$osrel" = "OpenBSD" ]; then rm test3.out.old fi -# TODO: Remove when #133 is fixed -cat test3.out | \ - sed 's%,CLASS4096,OPT,%,4096,4096,%' | \ - sed 's%,CLASS512,OPT,%,512,512,%' | \ - sed 's%,41,41,0,edns0\[len=0,UDP=4096,%,4096,4096,0,edns0[len=0,UDP=4096,%' | \ - sed 's%,41,41,0,edns0\[len=0,UDP=512,%,512,512,0,edns0[len=0,UDP=512,%' >test3.new -mv test3.new test3.out - diff test3.out "$srcdir/test3.gold" diff --git a/plugins/cryptopant/Makefile.am b/plugins/cryptopant/Makefile.am index 3aaa44a..765a522 100644 --- a/plugins/cryptopant/Makefile.am +++ b/plugins/cryptopant/Makefile.am @@ -1,9 +1,10 @@ MAINTAINERCLEANFILES = $(srcdir)/Makefile.in -CLEANFILES = *.gcda *.gcno *.gcov +CLEANFILES = *.gcda *.gcno *.gcov *.pcap-dist AM_CFLAGS = -I$(srcdir) \ -I$(top_srcdir)/src \ -I$(top_srcdir)/isc \ + -I$(top_srcdir)/plugins/shared \ $(SECCOMPFLAGS) $(libcrypto_CFLAGS) pkglib_LTLIBRARIES = cryptopant.la diff --git a/plugins/cryptopant/Makefile.in b/plugins/cryptopant/Makefile.in index 8f716bf..7389fe2 100644 --- a/plugins/cryptopant/Makefile.in +++ b/plugins/cryptopant/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.1 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2018 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -205,8 +205,6 @@ am__define_uniq_tagged_files = \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags am__tty_colors_dummy = \ mgn= red= grn= lgn= blu= brg= std=; \ am__color_tests=no @@ -362,6 +360,7 @@ am__set_TESTS_bases = \ bases='$(TEST_LOGS)'; \ bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ bases=`echo $$bases` +AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' RECHECK_LOGS = $(TEST_LOGS) AM_RECURSIVE_TARGETS = check recheck TEST_SUITE_LOG = test-suite.log @@ -400,6 +399,8 @@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ @@ -410,6 +411,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GREP = @GREP@ @@ -516,12 +518,13 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ MAINTAINERCLEANFILES = $(srcdir)/Makefile.in -CLEANFILES = *.gcda *.gcno *.gcov test1.out test2.out test3.out \ - test3.pcap.20161020.152301.075993 \ +CLEANFILES = *.gcda *.gcno *.gcov *.pcap-dist test1.out test2.out \ + test3.out test3.pcap.20161020.152301.075993 \ test3.pcap.20181127.155200.414188 AM_CFLAGS = -I$(srcdir) \ -I$(top_srcdir)/src \ -I$(top_srcdir)/isc \ + -I$(top_srcdir)/plugins/shared \ $(SECCOMPFLAGS) $(libcrypto_CFLAGS) pkglib_LTLIBRARIES = cryptopant.la @@ -805,7 +808,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS) test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ fi; \ echo "$${col}$$br$${std}"; \ - echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ + echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ echo "$${col}$$br$${std}"; \ create_testsuite_report --maybe-color; \ echo "$$col$$br$$std"; \ @@ -881,7 +884,6 @@ test4.sh.log: test4.sh @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) - distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am diff --git a/plugins/cryptopant/cryptopant.c b/plugins/cryptopant/cryptopant.c index 7fca715..e6d8f04 100644 --- a/plugins/cryptopant/cryptopant.c +++ b/plugins/cryptopant/cryptopant.c @@ -39,18 +39,20 @@ #include #include #include +#include #include "dnscap_common.h" #if defined(HAVE_LIBCRYPTOPANT) && defined(HAVE_CRYPTOPANT_H) #include #define USE_CRYPTOPANT 1 +#include "edns0_ecs.c" #endif static set_iaddr_t cryptopant_set_iaddr = 0; static logerr_t* logerr; -static int only_clients = 0, only_servers = 0, dns_port = 53, pass4 = 0, pass6 = 0, decrypt = 0; +static int only_clients = 0, only_servers = 0, dns_port = 53, pass4 = 0, pass6 = 0, decrypt = 0, edns = 0; enum plugin_type cryptopant_type() { @@ -74,7 +76,9 @@ void cryptopant_usage() "\t-D Decrypt IP addresses\n" "\t-c Only encrypt clients (port != 53)\n" "\t-s Only encrypt servers (port == 53)\n" - "\t-p Set port for -c/-s, default 53\n"); + "\t-p Set port for -c/-s, default 53\n" + "\t-e Also en/de-crypt EDNS(0) Client Subnet\n" + "\t-E ONLY en/de-crypt EDNS(0) Client Subnet, not IP addresses\n"); } void cryptopant_extension(int ext, void* arg) @@ -92,7 +96,7 @@ void cryptopant_getopt(int* argc, char** argv[]) unsigned long ul; char * p, *keyfile = 0; - while ((c = getopt(*argc, *argv, "?k:4:6:Dcsp:")) != EOF) { + while ((c = getopt(*argc, *argv, "?k:4:6:Dcsp:eE")) != EOF) { switch (c) { case 'k': if (keyfile) { @@ -127,6 +131,13 @@ void cryptopant_getopt(int* argc, char** argv[]) usage("port must be an integer 1..65535"); dns_port = (unsigned)ul; break; + case 'e': + if (!edns) + edns = 1; + break; + case 'E': + edns = -1; + break; case '?': cryptopant_usage(); if (!optopt || optopt == '?') { @@ -179,12 +190,48 @@ int cryptopant_close(my_bpftimeval ts) return 0; } +#ifdef USE_CRYPTOPANT +void ecs_callback(int family, u_char* buf, size_t len) +{ + switch (family) { + case 1: // IPv4 + { + if (len > sizeof(struct in_addr)) + break; + struct in_addr in = { INADDR_ANY }; + memcpy(&in, buf, len); + in.s_addr = decrypt ? unscramble_ip4(in.s_addr, pass4) : scramble_ip4(in.s_addr, pass4); + memcpy(buf, &in, len); + break; + } + case 2: // IPv6 + { + if (len > sizeof(struct in6_addr)) + break; + struct in6_addr in = IN6ADDR_ANY_INIT; + memcpy(&in, buf, len); + decrypt ? unscramble_ip6(&in, pass6) : scramble_ip6(&in, pass6); + memcpy(buf, &in, len); + break; + } + default: + break; + } +} +#endif + int cryptopant_filter(const char* descr, iaddr* from, iaddr* to, uint8_t proto, unsigned flags, unsigned sport, unsigned dport, my_bpftimeval ts, - const u_char* pkt_copy, const unsigned olen, - const u_char* payload, const unsigned payloadlen) + u_char* pkt_copy, const unsigned olen, + u_char* payload, const unsigned payloadlen) { #ifdef USE_CRYPTOPANT + if (edns && flags & DNSCAP_OUTPUT_ISDNS && payload && payloadlen > DNS_MSG_HDR_SZ) { + parse_for_edns0_ecs(payload, payloadlen, ecs_callback); + if (edns < 0) + return 0; + } + for (;;) { if (only_clients && sport == dns_port) { if (sport != dport) { diff --git a/plugins/cryptopant/test1.gold b/plugins/cryptopant/test1.gold index 2201d4f..5b93845 100644 --- a/plugins/cryptopant/test1.gold +++ b/plugins/cryptopant/test1.gold @@ -2856,3 +2856,249 @@ cryptopant.so usage error: must have a -k keyfile ns3.google.com.,IN,A,157794,216.239.36.10 \ ns4.google.com.,IN,A,157794,216.239.38.10 cryptopant.so usage error: -c and -s options are mutually exclusive +[64] 2023-07-05 07:21:38.669836 [#0 edns.pcap-dist 4095] \ + [172.24.244.221].58541 [172.24.244.218].53 \ + dns QUERY,NOERROR,31428,rd \ + 1 h.root-servers.net.,IN,A 0 0 0 +[64] 2023-07-05 07:21:38.669891 [#1 edns.pcap-dist 4095] \ + [172.24.244.221].58541 [172.24.244.218].53 \ + dns QUERY,NOERROR,5824,rd \ + 1 h.root-servers.net.,IN,AAAA 0 0 0 +[80] 2023-07-05 07:21:38.669977 [#2 edns.pcap-dist 4095] \ + [172.24.244.218].53 [172.24.244.221].58541 \ + dns QUERY,NOERROR,31428,qr|rd|ra \ + 1 h.root-servers.net.,IN,A \ + 1 h.root-servers.net.,IN,A,85098,198.97.190.53 0 0 +[92] 2023-07-05 07:21:38.670010 [#3 edns.pcap-dist 4095] \ + [172.24.244.218].53 [172.24.244.221].58541 \ + dns QUERY,NOERROR,5824,qr|rd|ra \ + 1 h.root-servers.net.,IN,AAAA \ + 1 h.root-servers.net.,IN,AAAA,85098,2001:500:1::53 0 0 +[88] 2023-07-05 07:21:38.670793 [#4 edns.pcap-dist 4095] \ + [172.24.244.221].33737 [198.221.87.229].53 \ + dns QUERY,NOERROR,56979,rd|ad \ + 1 ns1.dns.nic.aaa.,IN,NS 0 0 \ + 1 .,4096,4096,0,edns0[len=16,UDP=4096,ver=0,rcode=0,DO=0,z=0],edns0opt[code=3,codelen=0],edns0opt[code=10,codelen=8] +[464] 2023-07-05 07:21:38.698303 [#5 edns.pcap-dist 4095] \ + [198.221.87.229].53 [172.24.244.221].33737 \ + dns QUERY,NOERROR,56979,qr|rd \ + 1 ns1.dns.nic.aaa.,IN,NS 0 \ + 6 aaa.,IN,NS,172800,a.nic.aaa. \ + aaa.,IN,NS,172800,b.nic.aaa. \ + aaa.,IN,NS,172800,c.nic.aaa. \ + aaa.,IN,NS,172800,ns1.dns.nic.aaa. \ + aaa.,IN,NS,172800,ns2.dns.nic.aaa. \ + aaa.,IN,NS,172800,ns3.dns.nic.aaa. \ + 13 a.nic.aaa.,IN,A,172800,37.209.192.9 \ + b.nic.aaa.,IN,A,172800,37.209.194.9 \ + c.nic.aaa.,IN,A,172800,37.209.196.9 \ + ns1.dns.nic.aaa.,IN,A,172800,156.154.144.2 \ + ns2.dns.nic.aaa.,IN,A,172800,156.154.145.2 \ + ns3.dns.nic.aaa.,IN,A,172800,156.154.159.2 \ + a.nic.aaa.,IN,AAAA,172800,2001:dcd:1::9 \ + b.nic.aaa.,IN,AAAA,172800,2001:dcd:2::9 \ + c.nic.aaa.,IN,AAAA,172800,2001:dcd:3::9 \ + ns1.dns.nic.aaa.,IN,AAAA,172800,2610:a1:1071::2 \ + ns2.dns.nic.aaa.,IN,AAAA,172800,2610:a1:1072::2 \ + ns3.dns.nic.aaa.,IN,AAAA,172800,2610:a1:1073::2 \ + .,1232,1232,0,edns0[len=30,UDP=1232,ver=0,rcode=0,DO=0,z=0],edns0opt[code=3,codelen=26] +[64] 2023-07-05 07:21:42.739334 [#6 edns.pcap-dist 4095] \ + [172.24.244.221].53174 [172.24.244.218].53 \ + dns QUERY,NOERROR,48648,rd \ + 1 g.root-servers.net.,IN,A 0 0 0 +[64] 2023-07-05 07:21:42.739396 [#7 edns.pcap-dist 4095] \ + [172.24.244.221].53174 [172.24.244.218].53 \ + dns QUERY,NOERROR,48141,rd \ + 1 g.root-servers.net.,IN,AAAA 0 0 0 +[80] 2023-07-05 07:21:42.739525 [#8 edns.pcap-dist 4095] \ + [172.24.244.218].53 [172.24.244.221].53174 \ + dns QUERY,NOERROR,48648,qr|rd|ra \ + 1 g.root-servers.net.,IN,A \ + 1 g.root-servers.net.,IN,A,85094,192.112.36.4 0 0 +[92] 2023-07-05 07:21:42.739558 [#9 edns.pcap-dist 4095] \ + [172.24.244.218].53 [172.24.244.221].53174 \ + dns QUERY,NOERROR,48141,qr|rd|ra \ + 1 g.root-servers.net.,IN,AAAA \ + 1 g.root-servers.net.,IN,AAAA,85094,2001:500:12::d0d 0 0 +[83] 2023-07-05 07:21:42.740590 [#10 edns.pcap-dist 4095] \ + [172.24.244.221].50901 [192.37.47.233].53 \ + dns QUERY,NOERROR,35713,rd|ad \ + 1 net.,IN,A 0 0 \ + 1 .,4096,4096,0,edns0[len=23,UDP=4096,ver=0,rcode=0,DO=0,z=0],edns0opt[ECS,family=1,source=24,scope=0,addr=172.24.244.0],edns0opt[code=10,codelen=8] +[895] 2023-07-05 07:21:42.836816 [#11 edns.pcap-dist 4095] \ + [192.37.47.233].53 [172.24.244.221].50901 \ + dns QUERY,NOERROR,35713,qr|rd \ + 1 net.,IN,A 0 \ + 13 net.,IN,NS,172800,j.gtld-servers.net. \ + net.,IN,NS,172800,b.gtld-servers.net. \ + net.,IN,NS,172800,a.gtld-servers.net. \ + net.,IN,NS,172800,h.gtld-servers.net. \ + net.,IN,NS,172800,d.gtld-servers.net. \ + net.,IN,NS,172800,c.gtld-servers.net. \ + net.,IN,NS,172800,i.gtld-servers.net. \ + net.,IN,NS,172800,e.gtld-servers.net. \ + net.,IN,NS,172800,m.gtld-servers.net. \ + net.,IN,NS,172800,f.gtld-servers.net. \ + net.,IN,NS,172800,k.gtld-servers.net. \ + net.,IN,NS,172800,l.gtld-servers.net. \ + net.,IN,NS,172800,g.gtld-servers.net. \ + 27 m.gtld-servers.net.,IN,A,172800,192.55.83.30 \ + l.gtld-servers.net.,IN,A,172800,192.41.162.30 \ + k.gtld-servers.net.,IN,A,172800,192.52.178.30 \ + j.gtld-servers.net.,IN,A,172800,192.48.79.30 \ + i.gtld-servers.net.,IN,A,172800,192.43.172.30 \ + h.gtld-servers.net.,IN,A,172800,192.54.112.30 \ + g.gtld-servers.net.,IN,A,172800,192.42.93.30 \ + f.gtld-servers.net.,IN,A,172800,192.35.51.30 \ + e.gtld-servers.net.,IN,A,172800,192.12.94.30 \ + d.gtld-servers.net.,IN,A,172800,192.31.80.30 \ + c.gtld-servers.net.,IN,A,172800,192.26.92.30 \ + b.gtld-servers.net.,IN,A,172800,192.33.14.30 \ + a.gtld-servers.net.,IN,A,172800,192.5.6.30 \ + m.gtld-servers.net.,IN,AAAA,172800,2001:501:b1f9::30 \ + l.gtld-servers.net.,IN,AAAA,172800,2001:500:d937::30 \ + k.gtld-servers.net.,IN,AAAA,172800,2001:503:d2d::30 \ + j.gtld-servers.net.,IN,AAAA,172800,2001:502:7094::30 \ + i.gtld-servers.net.,IN,AAAA,172800,2001:503:39c1::30 \ + h.gtld-servers.net.,IN,AAAA,172800,2001:502:8cc::30 \ + g.gtld-servers.net.,IN,AAAA,172800,2001:503:eea3::30 \ + f.gtld-servers.net.,IN,AAAA,172800,2001:503:d414::30 \ + e.gtld-servers.net.,IN,AAAA,172800,2001:502:1ca1::30 \ + d.gtld-servers.net.,IN,AAAA,172800,2001:500:856e::30 \ + c.gtld-servers.net.,IN,AAAA,172800,2001:503:83eb::30 \ + b.gtld-servers.net.,IN,AAAA,172800,2001:503:231d::2:30 \ + a.gtld-servers.net.,IN,AAAA,172800,2001:503:a83e::2:30 \ + .,1232,1232,0,edns0[len=39,UDP=1232,ver=0,rcode=0,DO=0,z=0],edns0opt[code=10,codelen=24],edns0opt[ECS,family=1,source=24,scope=0,addr=172.24.244.0] +[86] 2023-07-05 07:21:46.511502 [#12 edns.pcap-dist 4095] \ + [172.24.244.221].35191 [1.183.102.77].53 \ + dns QUERY,NOERROR,960,rd|ad \ + 1 dnssec-failed.org.,IN,A 0 0 \ + 1 .,4096,4096,0,edns0[len=12,UDP=4096,ver=0,rcode=0,DO=0,z=0],edns0opt[code=10,codelen=8] +[131] 2023-07-05 07:21:46.518500 [#13 edns.pcap-dist 4095] \ + [1.183.102.77].53 [172.24.244.221].35191 \ + dns QUERY,SERVFAIL,960,qr|rd|ra \ + 1 dnssec-failed.org.,IN,A 0 0 \ + 1 .,1232,1232,0,edns0[len=57,UDP=1232,ver=0,rcode=0,DO=0,z=0],edns0opt[code=15,codelen=53] +[64] 2023-07-05 07:21:38.669836 [#0 edns.pcap-dist 4095] \ + [172.17.0.6].58541 [172.17.0.1].53 \ + dns QUERY,NOERROR,31428,rd \ + 1 h.root-servers.net.,IN,A 0 0 0 +[64] 2023-07-05 07:21:38.669891 [#1 edns.pcap-dist 4095] \ + [172.17.0.6].58541 [172.17.0.1].53 \ + dns QUERY,NOERROR,5824,rd \ + 1 h.root-servers.net.,IN,AAAA 0 0 0 +[80] 2023-07-05 07:21:38.669977 [#2 edns.pcap-dist 4095] \ + [172.17.0.1].53 [172.17.0.6].58541 \ + dns QUERY,NOERROR,31428,qr|rd|ra \ + 1 h.root-servers.net.,IN,A \ + 1 h.root-servers.net.,IN,A,85098,198.97.190.53 0 0 +[92] 2023-07-05 07:21:38.670010 [#3 edns.pcap-dist 4095] \ + [172.17.0.1].53 [172.17.0.6].58541 \ + dns QUERY,NOERROR,5824,qr|rd|ra \ + 1 h.root-servers.net.,IN,AAAA \ + 1 h.root-servers.net.,IN,AAAA,85098,2001:500:1::53 0 0 +[88] 2023-07-05 07:21:38.670793 [#4 edns.pcap-dist 4095] \ + [172.17.0.6].33737 [198.97.190.53].53 \ + dns QUERY,NOERROR,56979,rd|ad \ + 1 ns1.dns.nic.aaa.,IN,NS 0 0 \ + 1 .,4096,4096,0,edns0[len=16,UDP=4096,ver=0,rcode=0,DO=0,z=0],edns0opt[code=3,codelen=0],edns0opt[code=10,codelen=8] +[464] 2023-07-05 07:21:38.698303 [#5 edns.pcap-dist 4095] \ + [198.97.190.53].53 [172.17.0.6].33737 \ + dns QUERY,NOERROR,56979,qr|rd \ + 1 ns1.dns.nic.aaa.,IN,NS 0 \ + 6 aaa.,IN,NS,172800,a.nic.aaa. \ + aaa.,IN,NS,172800,b.nic.aaa. \ + aaa.,IN,NS,172800,c.nic.aaa. \ + aaa.,IN,NS,172800,ns1.dns.nic.aaa. \ + aaa.,IN,NS,172800,ns2.dns.nic.aaa. \ + aaa.,IN,NS,172800,ns3.dns.nic.aaa. \ + 13 a.nic.aaa.,IN,A,172800,37.209.192.9 \ + b.nic.aaa.,IN,A,172800,37.209.194.9 \ + c.nic.aaa.,IN,A,172800,37.209.196.9 \ + ns1.dns.nic.aaa.,IN,A,172800,156.154.144.2 \ + ns2.dns.nic.aaa.,IN,A,172800,156.154.145.2 \ + ns3.dns.nic.aaa.,IN,A,172800,156.154.159.2 \ + a.nic.aaa.,IN,AAAA,172800,2001:dcd:1::9 \ + b.nic.aaa.,IN,AAAA,172800,2001:dcd:2::9 \ + c.nic.aaa.,IN,AAAA,172800,2001:dcd:3::9 \ + ns1.dns.nic.aaa.,IN,AAAA,172800,2610:a1:1071::2 \ + ns2.dns.nic.aaa.,IN,AAAA,172800,2610:a1:1072::2 \ + ns3.dns.nic.aaa.,IN,AAAA,172800,2610:a1:1073::2 \ + .,1232,1232,0,edns0[len=30,UDP=1232,ver=0,rcode=0,DO=0,z=0],edns0opt[code=3,codelen=26] +[64] 2023-07-05 07:21:42.739334 [#6 edns.pcap-dist 4095] \ + [172.17.0.6].53174 [172.17.0.1].53 \ + dns QUERY,NOERROR,48648,rd \ + 1 g.root-servers.net.,IN,A 0 0 0 +[64] 2023-07-05 07:21:42.739396 [#7 edns.pcap-dist 4095] \ + [172.17.0.6].53174 [172.17.0.1].53 \ + dns QUERY,NOERROR,48141,rd \ + 1 g.root-servers.net.,IN,AAAA 0 0 0 +[80] 2023-07-05 07:21:42.739525 [#8 edns.pcap-dist 4095] \ + [172.17.0.1].53 [172.17.0.6].53174 \ + dns QUERY,NOERROR,48648,qr|rd|ra \ + 1 g.root-servers.net.,IN,A \ + 1 g.root-servers.net.,IN,A,85094,192.112.36.4 0 0 +[92] 2023-07-05 07:21:42.739558 [#9 edns.pcap-dist 4095] \ + [172.17.0.1].53 [172.17.0.6].53174 \ + dns QUERY,NOERROR,48141,qr|rd|ra \ + 1 g.root-servers.net.,IN,AAAA \ + 1 g.root-servers.net.,IN,AAAA,85094,2001:500:12::d0d 0 0 +[83] 2023-07-05 07:21:42.740590 [#10 edns.pcap-dist 4095] \ + [172.17.0.6].50901 [192.112.36.4].53 \ + dns QUERY,NOERROR,35713,rd|ad \ + 1 net.,IN,A 0 0 \ + 1 .,4096,4096,0,edns0[len=23,UDP=4096,ver=0,rcode=0,DO=0,z=0],edns0opt[ECS,family=1,source=24,scope=0,addr=172.24.244.0],edns0opt[code=10,codelen=8] +[895] 2023-07-05 07:21:42.836816 [#11 edns.pcap-dist 4095] \ + [192.112.36.4].53 [172.17.0.6].50901 \ + dns QUERY,NOERROR,35713,qr|rd \ + 1 net.,IN,A 0 \ + 13 net.,IN,NS,172800,j.gtld-servers.net. \ + net.,IN,NS,172800,b.gtld-servers.net. \ + net.,IN,NS,172800,a.gtld-servers.net. \ + net.,IN,NS,172800,h.gtld-servers.net. \ + net.,IN,NS,172800,d.gtld-servers.net. \ + net.,IN,NS,172800,c.gtld-servers.net. \ + net.,IN,NS,172800,i.gtld-servers.net. \ + net.,IN,NS,172800,e.gtld-servers.net. \ + net.,IN,NS,172800,m.gtld-servers.net. \ + net.,IN,NS,172800,f.gtld-servers.net. \ + net.,IN,NS,172800,k.gtld-servers.net. \ + net.,IN,NS,172800,l.gtld-servers.net. \ + net.,IN,NS,172800,g.gtld-servers.net. \ + 27 m.gtld-servers.net.,IN,A,172800,192.55.83.30 \ + l.gtld-servers.net.,IN,A,172800,192.41.162.30 \ + k.gtld-servers.net.,IN,A,172800,192.52.178.30 \ + j.gtld-servers.net.,IN,A,172800,192.48.79.30 \ + i.gtld-servers.net.,IN,A,172800,192.43.172.30 \ + h.gtld-servers.net.,IN,A,172800,192.54.112.30 \ + g.gtld-servers.net.,IN,A,172800,192.42.93.30 \ + f.gtld-servers.net.,IN,A,172800,192.35.51.30 \ + e.gtld-servers.net.,IN,A,172800,192.12.94.30 \ + d.gtld-servers.net.,IN,A,172800,192.31.80.30 \ + c.gtld-servers.net.,IN,A,172800,192.26.92.30 \ + b.gtld-servers.net.,IN,A,172800,192.33.14.30 \ + a.gtld-servers.net.,IN,A,172800,192.5.6.30 \ + m.gtld-servers.net.,IN,AAAA,172800,2001:501:b1f9::30 \ + l.gtld-servers.net.,IN,AAAA,172800,2001:500:d937::30 \ + k.gtld-servers.net.,IN,AAAA,172800,2001:503:d2d::30 \ + j.gtld-servers.net.,IN,AAAA,172800,2001:502:7094::30 \ + i.gtld-servers.net.,IN,AAAA,172800,2001:503:39c1::30 \ + h.gtld-servers.net.,IN,AAAA,172800,2001:502:8cc::30 \ + g.gtld-servers.net.,IN,AAAA,172800,2001:503:eea3::30 \ + f.gtld-servers.net.,IN,AAAA,172800,2001:503:d414::30 \ + e.gtld-servers.net.,IN,AAAA,172800,2001:502:1ca1::30 \ + d.gtld-servers.net.,IN,AAAA,172800,2001:500:856e::30 \ + c.gtld-servers.net.,IN,AAAA,172800,2001:503:83eb::30 \ + b.gtld-servers.net.,IN,AAAA,172800,2001:503:231d::2:30 \ + a.gtld-servers.net.,IN,AAAA,172800,2001:503:a83e::2:30 \ + .,1232,1232,0,edns0[len=39,UDP=1232,ver=0,rcode=0,DO=0,z=0],edns0opt[code=10,codelen=24],edns0opt[ECS,family=1,source=24,scope=0,addr=172.24.244.0] +[86] 2023-07-05 07:21:46.511502 [#12 edns.pcap-dist 4095] \ + [172.17.0.6].35191 [1.1.1.1].53 \ + dns QUERY,NOERROR,960,rd|ad \ + 1 dnssec-failed.org.,IN,A 0 0 \ + 1 .,4096,4096,0,edns0[len=12,UDP=4096,ver=0,rcode=0,DO=0,z=0],edns0opt[code=10,codelen=8] +[131] 2023-07-05 07:21:46.518500 [#13 edns.pcap-dist 4095] \ + [1.1.1.1].53 [172.17.0.6].35191 \ + dns QUERY,SERVFAIL,960,qr|rd|ra \ + 1 dnssec-failed.org.,IN,A 0 0 \ + 1 .,1232,1232,0,edns0[len=57,UDP=1232,ver=0,rcode=0,DO=0,z=0],edns0opt[code=15,codelen=53] diff --git a/plugins/cryptopant/test1.sh b/plugins/cryptopant/test1.sh index cb632cf..9e4182a 100755 --- a/plugins/cryptopant/test1.sh +++ b/plugins/cryptopant/test1.sh @@ -21,6 +21,11 @@ fi ../../src/dnscap -r dns.pcap-dist -g -P "$plugin" -k "$srcdir/keyfile" -s 2>>test1.out ! ../../src/dnscap -r dns.pcap-dist -g -P "$plugin" -k "$srcdir/keyfile" -c -s 2>>test1.out +ln -fs "$srcdir/../../src/test/edns.pcap" edns.pcap-dist + +../../src/dnscap -r edns.pcap-dist -g -P "$plugin" -k "$srcdir/keyfile" -4 8 -e 2>>test1.out +../../src/dnscap -r edns.pcap-dist -g -P "$plugin" -k "$srcdir/keyfile" -4 8 -E 2>>test1.out + osrel=`uname -s` if [ "$osrel" = "OpenBSD" ]; then mv test1.out test1.out.old diff --git a/plugins/cryptopant/test2.sh b/plugins/cryptopant/test2.sh index 9d50269..7e6b1cf 100755 --- a/plugins/cryptopant/test2.sh +++ b/plugins/cryptopant/test2.sh @@ -26,12 +26,4 @@ if [ "$osrel" = "OpenBSD" ]; then rm test2.out.old fi -# TODO: Remove when #133 is fixed -cat test2.out | \ - sed 's%,CLASS4096,OPT,%,4096,4096,%' | \ - sed 's%,CLASS512,OPT,%,512,512,%' | \ - sed 's%,41,41,0,edns0\[len=0,UDP=4096,%,4096,4096,0,edns0[len=0,UDP=4096,%' | \ - sed 's%,41,41,0,edns0\[len=0,UDP=512,%,512,512,0,edns0[len=0,UDP=512,%' >test2.new -mv test2.new test2.out - diff test2.out "$srcdir/test2.gold" diff --git a/plugins/cryptopant/test3.sh b/plugins/cryptopant/test3.sh index 1ebb524..a30a7f0 100755 --- a/plugins/cryptopant/test3.sh +++ b/plugins/cryptopant/test3.sh @@ -27,12 +27,4 @@ if [ "$osrel" = "OpenBSD" ]; then rm test3.out.old fi -# TODO: Remove when #133 is fixed -cat test3.out | \ - sed 's%,CLASS4096,OPT,%,4096,4096,%' | \ - sed 's%,CLASS512,OPT,%,512,512,%' | \ - sed 's%,41,41,0,edns0\[len=0,UDP=4096,%,4096,4096,0,edns0[len=0,UDP=4096,%' | \ - sed 's%,41,41,0,edns0\[len=0,UDP=512,%,512,512,0,edns0[len=0,UDP=512,%' >test3.new -mv test3.new test3.out - diff test3.out "$srcdir/test3.gold" diff --git a/plugins/eventlog/Makefile.am b/plugins/eventlog/Makefile.am index d18531c..fc78576 100644 --- a/plugins/eventlog/Makefile.am +++ b/plugins/eventlog/Makefile.am @@ -1,5 +1,5 @@ MAINTAINERCLEANFILES = $(srcdir)/Makefile.in -CLEANFILES = *.gcda *.gcno *.gcov +CLEANFILES = *.gcda *.gcno *.gcov *.pcap-dist AM_CFLAGS = -I$(srcdir) \ -I$(top_srcdir)/src \ @@ -13,7 +13,7 @@ eventlog_la_LDFLAGS = -module -avoid-version $(libldns_LIBS) TESTS = test1.sh EXTRA_DIST = $(TESTS) -CLEANFILES += test1.out *.pcap-dist +CLEANFILES += test1.out if ENABLE_GCOV gcov-local: diff --git a/plugins/eventlog/Makefile.in b/plugins/eventlog/Makefile.in index fe6a9a6..b5765e6 100644 --- a/plugins/eventlog/Makefile.in +++ b/plugins/eventlog/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.1 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2018 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -205,8 +205,6 @@ am__define_uniq_tagged_files = \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags am__tty_colors_dummy = \ mgn= red= grn= lgn= blu= brg= std=; \ am__color_tests=no @@ -362,6 +360,7 @@ am__set_TESTS_bases = \ bases='$(TEST_LOGS)'; \ bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ bases=`echo $$bases` +AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' RECHECK_LOGS = $(TEST_LOGS) AM_RECURSIVE_TARGETS = check recheck TEST_SUITE_LOG = test-suite.log @@ -400,6 +399,8 @@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ @@ -410,6 +411,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GREP = @GREP@ @@ -516,7 +518,7 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ MAINTAINERCLEANFILES = $(srcdir)/Makefile.in -CLEANFILES = *.gcda *.gcno *.gcov test1.out *.pcap-dist +CLEANFILES = *.gcda *.gcno *.gcov *.pcap-dist test1.out AM_CFLAGS = -I$(srcdir) \ -I$(top_srcdir)/src \ -I$(top_srcdir)/isc \ @@ -804,7 +806,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS) test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ fi; \ echo "$${col}$$br$${std}"; \ - echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ + echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ echo "$${col}$$br$${std}"; \ create_testsuite_report --maybe-color; \ echo "$$col$$br$$std"; \ @@ -859,7 +861,6 @@ test1.sh.log: test1.sh @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) - distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am diff --git a/plugins/ipcrypt/Makefile.am b/plugins/ipcrypt/Makefile.am index 64effb7..13327eb 100644 --- a/plugins/ipcrypt/Makefile.am +++ b/plugins/ipcrypt/Makefile.am @@ -1,9 +1,10 @@ MAINTAINERCLEANFILES = $(srcdir)/Makefile.in -CLEANFILES = *.gcda *.gcno *.gcov +CLEANFILES = *.gcda *.gcno *.gcov *.pcap-dist AM_CFLAGS = -I$(srcdir) \ -I$(top_srcdir)/src \ -I$(top_srcdir)/isc \ + -I$(top_srcdir)/plugins/shared \ $(SECCOMPFLAGS) pkglib_LTLIBRARIES = ipcrypt.la diff --git a/plugins/ipcrypt/Makefile.in b/plugins/ipcrypt/Makefile.in index 955a9c9..72140ac 100644 --- a/plugins/ipcrypt/Makefile.in +++ b/plugins/ipcrypt/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.1 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2018 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -205,8 +205,6 @@ am__define_uniq_tagged_files = \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags am__tty_colors_dummy = \ mgn= red= grn= lgn= blu= brg= std=; \ am__color_tests=no @@ -362,6 +360,7 @@ am__set_TESTS_bases = \ bases='$(TEST_LOGS)'; \ bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ bases=`echo $$bases` +AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' RECHECK_LOGS = $(TEST_LOGS) AM_RECURSIVE_TARGETS = check recheck TEST_SUITE_LOG = test-suite.log @@ -400,6 +399,8 @@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ @@ -410,6 +411,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GREP = @GREP@ @@ -516,12 +518,13 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ MAINTAINERCLEANFILES = $(srcdir)/Makefile.in -CLEANFILES = *.gcda *.gcno *.gcov test1.out test2.out test3.out \ - test3.pcap.20161020.152301.075993 \ +CLEANFILES = *.gcda *.gcno *.gcov *.pcap-dist test1.out test2.out \ + test3.out test3.pcap.20161020.152301.075993 \ test3.pcap.20181127.155200.414188 test4.tmp AM_CFLAGS = -I$(srcdir) \ -I$(top_srcdir)/src \ -I$(top_srcdir)/isc \ + -I$(top_srcdir)/plugins/shared \ $(SECCOMPFLAGS) pkglib_LTLIBRARIES = ipcrypt.la @@ -805,7 +808,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS) test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ fi; \ echo "$${col}$$br$${std}"; \ - echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ + echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ echo "$${col}$$br$${std}"; \ create_testsuite_report --maybe-color; \ echo "$$col$$br$$std"; \ @@ -881,7 +884,6 @@ test4.sh.log: test4.sh @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) - distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am diff --git a/plugins/ipcrypt/ipcrypt.c b/plugins/ipcrypt/ipcrypt.c index f8908a6..e9a1f58 100644 --- a/plugins/ipcrypt/ipcrypt.c +++ b/plugins/ipcrypt/ipcrypt.c @@ -42,13 +42,16 @@ #include #include #include +#include #include "dnscap_common.h" +#include "edns0_ecs.c" + static set_iaddr_t ipcrypt_set_iaddr = 0; static logerr_t* logerr; -static int only_clients = 0, only_servers = 0, dns_port = 53, iterations = 1, encrypt_v6 = 0, decrypt = 0; +static int only_clients = 0, only_servers = 0, dns_port = 53, iterations = 1, encrypt_v6 = 0, decrypt = 0, edns = 0; static uint8_t key[16]; /* @@ -157,7 +160,9 @@ void ipcrypt_usage() "\t-s Only en/de-crypt servers (port == 53)\n" "\t-p Set port for -c/-s, default 53\n" "\t-i Number of en/de-cryption iterations, default 1\n" - "\t-6 En/de-crypt IPv6 addresses, not default or recommended\n"); + "\t-6 En/de-crypt IPv6 addresses, not default or recommended\n" + "\t-e Also en/de-crypt EDNS(0) Client Subnet\n" + "\t-E ONLY en/de-crypt EDNS(0) Client Subnet, not IP addresses\n"); } void ipcrypt_extension(int ext, void* arg) @@ -175,7 +180,7 @@ void ipcrypt_getopt(int* argc, char** argv[]) unsigned long ul; char* p; - while ((c = getopt(*argc, *argv, "?k:f:Dcsp:i:6")) != EOF) { + while ((c = getopt(*argc, *argv, "?k:f:Dcsp:i:6eE")) != EOF) { switch (c) { case 'k': if (strlen(optarg) != 16) { @@ -226,6 +231,13 @@ void ipcrypt_getopt(int* argc, char** argv[]) case '6': encrypt_v6 = 1; break; + case 'e': + if (!edns) + edns = 1; + break; + case 'E': + edns = -1; + break; case '?': ipcrypt_usage(); if (!optopt || optopt == '?') { @@ -266,11 +278,55 @@ int ipcrypt_close(my_bpftimeval ts) return 0; } +void ecs_callback(int family, u_char* buf, size_t len) +{ + switch (family) { + case 1: // IPv4 + { + if (len > sizeof(struct in_addr)) + break; + struct in_addr in = { INADDR_ANY }; + memcpy(&in, buf, len); + decrypt ? _decrypt((uint8_t*)&in) : _encrypt((uint8_t*)&in); + memcpy(buf, &in, len); + break; + } + case 2: // IPv6 + if (len > sizeof(struct in6_addr)) + break; + if (encrypt_v6) { + struct in6_addr in = IN6ADDR_ANY_INIT; + memcpy(&in, buf, len); + if (decrypt) { + _decrypt((uint8_t*)&in); + _decrypt(((uint8_t*)&in) + 4); + _decrypt(((uint8_t*)&in) + 8); + _decrypt(((uint8_t*)&in) + 12); + } else { + _encrypt((uint8_t*)&in); + _encrypt(((uint8_t*)&in) + 4); + _encrypt(((uint8_t*)&in) + 8); + _encrypt(((uint8_t*)&in) + 12); + } + memcpy(buf, &in, len); + } + break; + default: + break; + } +} + int ipcrypt_filter(const char* descr, iaddr* from, iaddr* to, uint8_t proto, unsigned flags, unsigned sport, unsigned dport, my_bpftimeval ts, - const u_char* pkt_copy, const unsigned olen, - const u_char* payload, const unsigned payloadlen) + u_char* pkt_copy, const unsigned olen, + u_char* payload, const unsigned payloadlen) { + if (edns && flags & DNSCAP_OUTPUT_ISDNS && payload && payloadlen > DNS_MSG_HDR_SZ) { + parse_for_edns0_ecs(payload, payloadlen, ecs_callback); + if (edns < 0) + return 0; + } + for (;;) { if (only_clients && sport == dns_port) { if (sport != dport) { diff --git a/plugins/ipcrypt/test1.gold b/plugins/ipcrypt/test1.gold index 040d875..99dc62e 100644 --- a/plugins/ipcrypt/test1.gold +++ b/plugins/ipcrypt/test1.gold @@ -2142,3 +2142,249 @@ ipcrypt.so usage error: must have -k or -f ns3.google.com.,IN,A,157794,216.239.36.10 \ ns4.google.com.,IN,A,157794,216.239.38.10 ipcrypt.so usage error: -c and -s options are mutually exclusive +[64] 2023-07-05 07:21:38.669836 [#0 edns.pcap-dist 4095] \ + [122.143.39.9].58541 [132.72.37.15].53 \ + dns QUERY,NOERROR,31428,rd \ + 1 h.root-servers.net.,IN,A 0 0 0 +[64] 2023-07-05 07:21:38.669891 [#1 edns.pcap-dist 4095] \ + [122.143.39.9].58541 [132.72.37.15].53 \ + dns QUERY,NOERROR,5824,rd \ + 1 h.root-servers.net.,IN,AAAA 0 0 0 +[80] 2023-07-05 07:21:38.669977 [#2 edns.pcap-dist 4095] \ + [132.72.37.15].53 [122.143.39.9].58541 \ + dns QUERY,NOERROR,31428,qr|rd|ra \ + 1 h.root-servers.net.,IN,A \ + 1 h.root-servers.net.,IN,A,85098,198.97.190.53 0 0 +[92] 2023-07-05 07:21:38.670010 [#3 edns.pcap-dist 4095] \ + [132.72.37.15].53 [122.143.39.9].58541 \ + dns QUERY,NOERROR,5824,qr|rd|ra \ + 1 h.root-servers.net.,IN,AAAA \ + 1 h.root-servers.net.,IN,AAAA,85098,2001:500:1::53 0 0 +[88] 2023-07-05 07:21:38.670793 [#4 edns.pcap-dist 4095] \ + [122.143.39.9].33737 [225.150.52.100].53 \ + dns QUERY,NOERROR,56979,rd|ad \ + 1 ns1.dns.nic.aaa.,IN,NS 0 0 \ + 1 .,4096,4096,0,edns0[len=16,UDP=4096,ver=0,rcode=0,DO=0,z=0],edns0opt[code=3,codelen=0],edns0opt[code=10,codelen=8] +[464] 2023-07-05 07:21:38.698303 [#5 edns.pcap-dist 4095] \ + [225.150.52.100].53 [122.143.39.9].33737 \ + dns QUERY,NOERROR,56979,qr|rd \ + 1 ns1.dns.nic.aaa.,IN,NS 0 \ + 6 aaa.,IN,NS,172800,a.nic.aaa. \ + aaa.,IN,NS,172800,b.nic.aaa. \ + aaa.,IN,NS,172800,c.nic.aaa. \ + aaa.,IN,NS,172800,ns1.dns.nic.aaa. \ + aaa.,IN,NS,172800,ns2.dns.nic.aaa. \ + aaa.,IN,NS,172800,ns3.dns.nic.aaa. \ + 13 a.nic.aaa.,IN,A,172800,37.209.192.9 \ + b.nic.aaa.,IN,A,172800,37.209.194.9 \ + c.nic.aaa.,IN,A,172800,37.209.196.9 \ + ns1.dns.nic.aaa.,IN,A,172800,156.154.144.2 \ + ns2.dns.nic.aaa.,IN,A,172800,156.154.145.2 \ + ns3.dns.nic.aaa.,IN,A,172800,156.154.159.2 \ + a.nic.aaa.,IN,AAAA,172800,2001:dcd:1::9 \ + b.nic.aaa.,IN,AAAA,172800,2001:dcd:2::9 \ + c.nic.aaa.,IN,AAAA,172800,2001:dcd:3::9 \ + ns1.dns.nic.aaa.,IN,AAAA,172800,2610:a1:1071::2 \ + ns2.dns.nic.aaa.,IN,AAAA,172800,2610:a1:1072::2 \ + ns3.dns.nic.aaa.,IN,AAAA,172800,2610:a1:1073::2 \ + .,1232,1232,0,edns0[len=30,UDP=1232,ver=0,rcode=0,DO=0,z=0],edns0opt[code=3,codelen=26] +[64] 2023-07-05 07:21:42.739334 [#6 edns.pcap-dist 4095] \ + [122.143.39.9].53174 [132.72.37.15].53 \ + dns QUERY,NOERROR,48648,rd \ + 1 g.root-servers.net.,IN,A 0 0 0 +[64] 2023-07-05 07:21:42.739396 [#7 edns.pcap-dist 4095] \ + [122.143.39.9].53174 [132.72.37.15].53 \ + dns QUERY,NOERROR,48141,rd \ + 1 g.root-servers.net.,IN,AAAA 0 0 0 +[80] 2023-07-05 07:21:42.739525 [#8 edns.pcap-dist 4095] \ + [132.72.37.15].53 [122.143.39.9].53174 \ + dns QUERY,NOERROR,48648,qr|rd|ra \ + 1 g.root-servers.net.,IN,A \ + 1 g.root-servers.net.,IN,A,85094,192.112.36.4 0 0 +[92] 2023-07-05 07:21:42.739558 [#9 edns.pcap-dist 4095] \ + [132.72.37.15].53 [122.143.39.9].53174 \ + dns QUERY,NOERROR,48141,qr|rd|ra \ + 1 g.root-servers.net.,IN,AAAA \ + 1 g.root-servers.net.,IN,AAAA,85094,2001:500:12::d0d 0 0 +[83] 2023-07-05 07:21:42.740590 [#10 edns.pcap-dist 4095] \ + [122.143.39.9].50901 [255.236.91.80].53 \ + dns QUERY,NOERROR,35713,rd|ad \ + 1 net.,IN,A 0 0 \ + 1 .,4096,4096,0,edns0[len=23,UDP=4096,ver=0,rcode=0,DO=0,z=0],edns0opt[ECS,family=1,source=24,scope=0,addr=250.154.229.0],edns0opt[code=10,codelen=8] +[895] 2023-07-05 07:21:42.836816 [#11 edns.pcap-dist 4095] \ + [255.236.91.80].53 [122.143.39.9].50901 \ + dns QUERY,NOERROR,35713,qr|rd \ + 1 net.,IN,A 0 \ + 13 net.,IN,NS,172800,j.gtld-servers.net. \ + net.,IN,NS,172800,b.gtld-servers.net. \ + net.,IN,NS,172800,a.gtld-servers.net. \ + net.,IN,NS,172800,h.gtld-servers.net. \ + net.,IN,NS,172800,d.gtld-servers.net. \ + net.,IN,NS,172800,c.gtld-servers.net. \ + net.,IN,NS,172800,i.gtld-servers.net. \ + net.,IN,NS,172800,e.gtld-servers.net. \ + net.,IN,NS,172800,m.gtld-servers.net. \ + net.,IN,NS,172800,f.gtld-servers.net. \ + net.,IN,NS,172800,k.gtld-servers.net. \ + net.,IN,NS,172800,l.gtld-servers.net. \ + net.,IN,NS,172800,g.gtld-servers.net. \ + 27 m.gtld-servers.net.,IN,A,172800,192.55.83.30 \ + l.gtld-servers.net.,IN,A,172800,192.41.162.30 \ + k.gtld-servers.net.,IN,A,172800,192.52.178.30 \ + j.gtld-servers.net.,IN,A,172800,192.48.79.30 \ + i.gtld-servers.net.,IN,A,172800,192.43.172.30 \ + h.gtld-servers.net.,IN,A,172800,192.54.112.30 \ + g.gtld-servers.net.,IN,A,172800,192.42.93.30 \ + f.gtld-servers.net.,IN,A,172800,192.35.51.30 \ + e.gtld-servers.net.,IN,A,172800,192.12.94.30 \ + d.gtld-servers.net.,IN,A,172800,192.31.80.30 \ + c.gtld-servers.net.,IN,A,172800,192.26.92.30 \ + b.gtld-servers.net.,IN,A,172800,192.33.14.30 \ + a.gtld-servers.net.,IN,A,172800,192.5.6.30 \ + m.gtld-servers.net.,IN,AAAA,172800,2001:501:b1f9::30 \ + l.gtld-servers.net.,IN,AAAA,172800,2001:500:d937::30 \ + k.gtld-servers.net.,IN,AAAA,172800,2001:503:d2d::30 \ + j.gtld-servers.net.,IN,AAAA,172800,2001:502:7094::30 \ + i.gtld-servers.net.,IN,AAAA,172800,2001:503:39c1::30 \ + h.gtld-servers.net.,IN,AAAA,172800,2001:502:8cc::30 \ + g.gtld-servers.net.,IN,AAAA,172800,2001:503:eea3::30 \ + f.gtld-servers.net.,IN,AAAA,172800,2001:503:d414::30 \ + e.gtld-servers.net.,IN,AAAA,172800,2001:502:1ca1::30 \ + d.gtld-servers.net.,IN,AAAA,172800,2001:500:856e::30 \ + c.gtld-servers.net.,IN,AAAA,172800,2001:503:83eb::30 \ + b.gtld-servers.net.,IN,AAAA,172800,2001:503:231d::2:30 \ + a.gtld-servers.net.,IN,AAAA,172800,2001:503:a83e::2:30 \ + .,1232,1232,0,edns0[len=39,UDP=1232,ver=0,rcode=0,DO=0,z=0],edns0opt[code=10,codelen=24],edns0opt[ECS,family=1,source=24,scope=0,addr=250.154.229.0] +[86] 2023-07-05 07:21:46.511502 [#12 edns.pcap-dist 4095] \ + [122.143.39.9].35191 [214.180.194.165].53 \ + dns QUERY,NOERROR,960,rd|ad \ + 1 dnssec-failed.org.,IN,A 0 0 \ + 1 .,4096,4096,0,edns0[len=12,UDP=4096,ver=0,rcode=0,DO=0,z=0],edns0opt[code=10,codelen=8] +[131] 2023-07-05 07:21:46.518500 [#13 edns.pcap-dist 4095] \ + [214.180.194.165].53 [122.143.39.9].35191 \ + dns QUERY,SERVFAIL,960,qr|rd|ra \ + 1 dnssec-failed.org.,IN,A 0 0 \ + 1 .,1232,1232,0,edns0[len=57,UDP=1232,ver=0,rcode=0,DO=0,z=0],edns0opt[code=15,codelen=53] +[64] 2023-07-05 07:21:38.669836 [#0 edns.pcap-dist 4095] \ + [172.17.0.6].58541 [172.17.0.1].53 \ + dns QUERY,NOERROR,31428,rd \ + 1 h.root-servers.net.,IN,A 0 0 0 +[64] 2023-07-05 07:21:38.669891 [#1 edns.pcap-dist 4095] \ + [172.17.0.6].58541 [172.17.0.1].53 \ + dns QUERY,NOERROR,5824,rd \ + 1 h.root-servers.net.,IN,AAAA 0 0 0 +[80] 2023-07-05 07:21:38.669977 [#2 edns.pcap-dist 4095] \ + [172.17.0.1].53 [172.17.0.6].58541 \ + dns QUERY,NOERROR,31428,qr|rd|ra \ + 1 h.root-servers.net.,IN,A \ + 1 h.root-servers.net.,IN,A,85098,198.97.190.53 0 0 +[92] 2023-07-05 07:21:38.670010 [#3 edns.pcap-dist 4095] \ + [172.17.0.1].53 [172.17.0.6].58541 \ + dns QUERY,NOERROR,5824,qr|rd|ra \ + 1 h.root-servers.net.,IN,AAAA \ + 1 h.root-servers.net.,IN,AAAA,85098,2001:500:1::53 0 0 +[88] 2023-07-05 07:21:38.670793 [#4 edns.pcap-dist 4095] \ + [172.17.0.6].33737 [198.97.190.53].53 \ + dns QUERY,NOERROR,56979,rd|ad \ + 1 ns1.dns.nic.aaa.,IN,NS 0 0 \ + 1 .,4096,4096,0,edns0[len=16,UDP=4096,ver=0,rcode=0,DO=0,z=0],edns0opt[code=3,codelen=0],edns0opt[code=10,codelen=8] +[464] 2023-07-05 07:21:38.698303 [#5 edns.pcap-dist 4095] \ + [198.97.190.53].53 [172.17.0.6].33737 \ + dns QUERY,NOERROR,56979,qr|rd \ + 1 ns1.dns.nic.aaa.,IN,NS 0 \ + 6 aaa.,IN,NS,172800,a.nic.aaa. \ + aaa.,IN,NS,172800,b.nic.aaa. \ + aaa.,IN,NS,172800,c.nic.aaa. \ + aaa.,IN,NS,172800,ns1.dns.nic.aaa. \ + aaa.,IN,NS,172800,ns2.dns.nic.aaa. \ + aaa.,IN,NS,172800,ns3.dns.nic.aaa. \ + 13 a.nic.aaa.,IN,A,172800,37.209.192.9 \ + b.nic.aaa.,IN,A,172800,37.209.194.9 \ + c.nic.aaa.,IN,A,172800,37.209.196.9 \ + ns1.dns.nic.aaa.,IN,A,172800,156.154.144.2 \ + ns2.dns.nic.aaa.,IN,A,172800,156.154.145.2 \ + ns3.dns.nic.aaa.,IN,A,172800,156.154.159.2 \ + a.nic.aaa.,IN,AAAA,172800,2001:dcd:1::9 \ + b.nic.aaa.,IN,AAAA,172800,2001:dcd:2::9 \ + c.nic.aaa.,IN,AAAA,172800,2001:dcd:3::9 \ + ns1.dns.nic.aaa.,IN,AAAA,172800,2610:a1:1071::2 \ + ns2.dns.nic.aaa.,IN,AAAA,172800,2610:a1:1072::2 \ + ns3.dns.nic.aaa.,IN,AAAA,172800,2610:a1:1073::2 \ + .,1232,1232,0,edns0[len=30,UDP=1232,ver=0,rcode=0,DO=0,z=0],edns0opt[code=3,codelen=26] +[64] 2023-07-05 07:21:42.739334 [#6 edns.pcap-dist 4095] \ + [172.17.0.6].53174 [172.17.0.1].53 \ + dns QUERY,NOERROR,48648,rd \ + 1 g.root-servers.net.,IN,A 0 0 0 +[64] 2023-07-05 07:21:42.739396 [#7 edns.pcap-dist 4095] \ + [172.17.0.6].53174 [172.17.0.1].53 \ + dns QUERY,NOERROR,48141,rd \ + 1 g.root-servers.net.,IN,AAAA 0 0 0 +[80] 2023-07-05 07:21:42.739525 [#8 edns.pcap-dist 4095] \ + [172.17.0.1].53 [172.17.0.6].53174 \ + dns QUERY,NOERROR,48648,qr|rd|ra \ + 1 g.root-servers.net.,IN,A \ + 1 g.root-servers.net.,IN,A,85094,192.112.36.4 0 0 +[92] 2023-07-05 07:21:42.739558 [#9 edns.pcap-dist 4095] \ + [172.17.0.1].53 [172.17.0.6].53174 \ + dns QUERY,NOERROR,48141,qr|rd|ra \ + 1 g.root-servers.net.,IN,AAAA \ + 1 g.root-servers.net.,IN,AAAA,85094,2001:500:12::d0d 0 0 +[83] 2023-07-05 07:21:42.740590 [#10 edns.pcap-dist 4095] \ + [172.17.0.6].50901 [192.112.36.4].53 \ + dns QUERY,NOERROR,35713,rd|ad \ + 1 net.,IN,A 0 0 \ + 1 .,4096,4096,0,edns0[len=23,UDP=4096,ver=0,rcode=0,DO=0,z=0],edns0opt[ECS,family=1,source=24,scope=0,addr=250.154.229.0],edns0opt[code=10,codelen=8] +[895] 2023-07-05 07:21:42.836816 [#11 edns.pcap-dist 4095] \ + [192.112.36.4].53 [172.17.0.6].50901 \ + dns QUERY,NOERROR,35713,qr|rd \ + 1 net.,IN,A 0 \ + 13 net.,IN,NS,172800,j.gtld-servers.net. \ + net.,IN,NS,172800,b.gtld-servers.net. \ + net.,IN,NS,172800,a.gtld-servers.net. \ + net.,IN,NS,172800,h.gtld-servers.net. \ + net.,IN,NS,172800,d.gtld-servers.net. \ + net.,IN,NS,172800,c.gtld-servers.net. \ + net.,IN,NS,172800,i.gtld-servers.net. \ + net.,IN,NS,172800,e.gtld-servers.net. \ + net.,IN,NS,172800,m.gtld-servers.net. \ + net.,IN,NS,172800,f.gtld-servers.net. \ + net.,IN,NS,172800,k.gtld-servers.net. \ + net.,IN,NS,172800,l.gtld-servers.net. \ + net.,IN,NS,172800,g.gtld-servers.net. \ + 27 m.gtld-servers.net.,IN,A,172800,192.55.83.30 \ + l.gtld-servers.net.,IN,A,172800,192.41.162.30 \ + k.gtld-servers.net.,IN,A,172800,192.52.178.30 \ + j.gtld-servers.net.,IN,A,172800,192.48.79.30 \ + i.gtld-servers.net.,IN,A,172800,192.43.172.30 \ + h.gtld-servers.net.,IN,A,172800,192.54.112.30 \ + g.gtld-servers.net.,IN,A,172800,192.42.93.30 \ + f.gtld-servers.net.,IN,A,172800,192.35.51.30 \ + e.gtld-servers.net.,IN,A,172800,192.12.94.30 \ + d.gtld-servers.net.,IN,A,172800,192.31.80.30 \ + c.gtld-servers.net.,IN,A,172800,192.26.92.30 \ + b.gtld-servers.net.,IN,A,172800,192.33.14.30 \ + a.gtld-servers.net.,IN,A,172800,192.5.6.30 \ + m.gtld-servers.net.,IN,AAAA,172800,2001:501:b1f9::30 \ + l.gtld-servers.net.,IN,AAAA,172800,2001:500:d937::30 \ + k.gtld-servers.net.,IN,AAAA,172800,2001:503:d2d::30 \ + j.gtld-servers.net.,IN,AAAA,172800,2001:502:7094::30 \ + i.gtld-servers.net.,IN,AAAA,172800,2001:503:39c1::30 \ + h.gtld-servers.net.,IN,AAAA,172800,2001:502:8cc::30 \ + g.gtld-servers.net.,IN,AAAA,172800,2001:503:eea3::30 \ + f.gtld-servers.net.,IN,AAAA,172800,2001:503:d414::30 \ + e.gtld-servers.net.,IN,AAAA,172800,2001:502:1ca1::30 \ + d.gtld-servers.net.,IN,AAAA,172800,2001:500:856e::30 \ + c.gtld-servers.net.,IN,AAAA,172800,2001:503:83eb::30 \ + b.gtld-servers.net.,IN,AAAA,172800,2001:503:231d::2:30 \ + a.gtld-servers.net.,IN,AAAA,172800,2001:503:a83e::2:30 \ + .,1232,1232,0,edns0[len=39,UDP=1232,ver=0,rcode=0,DO=0,z=0],edns0opt[code=10,codelen=24],edns0opt[ECS,family=1,source=24,scope=0,addr=250.154.229.0] +[86] 2023-07-05 07:21:46.511502 [#12 edns.pcap-dist 4095] \ + [172.17.0.6].35191 [1.1.1.1].53 \ + dns QUERY,NOERROR,960,rd|ad \ + 1 dnssec-failed.org.,IN,A 0 0 \ + 1 .,4096,4096,0,edns0[len=12,UDP=4096,ver=0,rcode=0,DO=0,z=0],edns0opt[code=10,codelen=8] +[131] 2023-07-05 07:21:46.518500 [#13 edns.pcap-dist 4095] \ + [1.1.1.1].53 [172.17.0.6].35191 \ + dns QUERY,SERVFAIL,960,qr|rd|ra \ + 1 dnssec-failed.org.,IN,A 0 0 \ + 1 .,1232,1232,0,edns0[len=57,UDP=1232,ver=0,rcode=0,DO=0,z=0],edns0opt[code=15,codelen=53] diff --git a/plugins/ipcrypt/test1.sh b/plugins/ipcrypt/test1.sh index 3be7107..4156d95 100755 --- a/plugins/ipcrypt/test1.sh +++ b/plugins/ipcrypt/test1.sh @@ -14,6 +14,11 @@ ln -fs "$srcdir/../../src/test/dns.pcap" dns.pcap-dist ../../src/dnscap -r dns.pcap-dist -g -P "$plugin" -k "some 16-byte key" -s 2>>test1.out ! ../../src/dnscap -r dns.pcap-dist -g -P "$plugin" -k "some 16-byte key" -c -s 2>>test1.out +ln -fs "$srcdir/../../src/test/edns.pcap" edns.pcap-dist + +../../src/dnscap -r edns.pcap-dist -g -P "$plugin" -k "some 16-byte key" -e 2>>test1.out +../../src/dnscap -r edns.pcap-dist -g -P "$plugin" -k "some 16-byte key" -E 2>>test1.out + osrel=`uname -s` if [ "$osrel" = "OpenBSD" ]; then mv test1.out test1.out.old diff --git a/plugins/ipcrypt/test2.sh b/plugins/ipcrypt/test2.sh index 7b99122..2c97bba 100755 --- a/plugins/ipcrypt/test2.sh +++ b/plugins/ipcrypt/test2.sh @@ -19,12 +19,4 @@ if [ "$osrel" = "OpenBSD" ]; then rm test2.out.old fi -# TODO: Remove when #133 is fixed -cat test2.out | \ - sed 's%,CLASS4096,OPT,%,4096,4096,%' | \ - sed 's%,CLASS512,OPT,%,512,512,%' | \ - sed 's%,41,41,0,edns0\[len=0,UDP=4096,%,4096,4096,0,edns0[len=0,UDP=4096,%' | \ - sed 's%,41,41,0,edns0\[len=0,UDP=512,%,512,512,0,edns0[len=0,UDP=512,%' >test2.new -mv test2.new test2.out - diff test2.out "$srcdir/test2.gold" diff --git a/plugins/ipcrypt/test3.sh b/plugins/ipcrypt/test3.sh index 860f272..1eb21f3 100755 --- a/plugins/ipcrypt/test3.sh +++ b/plugins/ipcrypt/test3.sh @@ -21,12 +21,4 @@ if [ "$osrel" = "OpenBSD" ]; then rm test3.out.old fi -# TODO: Remove when #133 is fixed -cat test3.out | \ - sed 's%,CLASS4096,OPT,%,4096,4096,%' | \ - sed 's%,CLASS512,OPT,%,512,512,%' | \ - sed 's%,41,41,0,edns0\[len=0,UDP=4096,%,4096,4096,0,edns0[len=0,UDP=4096,%' | \ - sed 's%,41,41,0,edns0\[len=0,UDP=512,%,512,512,0,edns0[len=0,UDP=512,%' >test3.new -mv test3.new test3.out - diff test3.out "$srcdir/test3.gold" diff --git a/plugins/pcapdump/Makefile.am b/plugins/pcapdump/Makefile.am index bfbf8a4..33b74e3 100644 --- a/plugins/pcapdump/Makefile.am +++ b/plugins/pcapdump/Makefile.am @@ -1,5 +1,5 @@ MAINTAINERCLEANFILES = $(srcdir)/Makefile.in -CLEANFILES = *.gcda *.gcno *.gcov +CLEANFILES = *.gcda *.gcno *.gcov *.pcap-dist AM_CFLAGS = -I$(srcdir) \ -I$(top_srcdir)/src \ @@ -12,7 +12,7 @@ pcapdump_la_LDFLAGS = -module -avoid-version TESTS = test1.sh EXTRA_DIST = $(TESTS) -CLEANFILES += test1.out* *.pcap-dist +CLEANFILES += test1.out if ENABLE_GCOV gcov-local: diff --git a/plugins/pcapdump/Makefile.in b/plugins/pcapdump/Makefile.in index db00a2c..4f4267c 100644 --- a/plugins/pcapdump/Makefile.in +++ b/plugins/pcapdump/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.1 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2018 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -205,8 +205,6 @@ am__define_uniq_tagged_files = \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags am__tty_colors_dummy = \ mgn= red= grn= lgn= blu= brg= std=; \ am__color_tests=no @@ -362,6 +360,7 @@ am__set_TESTS_bases = \ bases='$(TEST_LOGS)'; \ bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ bases=`echo $$bases` +AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' RECHECK_LOGS = $(TEST_LOGS) AM_RECURSIVE_TARGETS = check recheck TEST_SUITE_LOG = test-suite.log @@ -400,6 +399,8 @@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ @@ -410,6 +411,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GREP = @GREP@ @@ -516,7 +518,7 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ MAINTAINERCLEANFILES = $(srcdir)/Makefile.in -CLEANFILES = *.gcda *.gcno *.gcov test1.out* *.pcap-dist +CLEANFILES = *.gcda *.gcno *.gcov *.pcap-dist test1.out AM_CFLAGS = -I$(srcdir) \ -I$(top_srcdir)/src \ -I$(top_srcdir)/isc \ @@ -803,7 +805,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS) test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ fi; \ echo "$${col}$$br$${std}"; \ - echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ + echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ echo "$${col}$$br$${std}"; \ create_testsuite_report --maybe-color; \ echo "$$col$$br$$std"; \ @@ -858,7 +860,6 @@ test1.sh.log: test1.sh @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) - distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am diff --git a/plugins/royparse/Makefile.am b/plugins/royparse/Makefile.am index 5b907cb..23aeed7 100644 --- a/plugins/royparse/Makefile.am +++ b/plugins/royparse/Makefile.am @@ -1,5 +1,5 @@ MAINTAINERCLEANFILES = $(srcdir)/Makefile.in -CLEANFILES = *.gcda *.gcno *.gcov +CLEANFILES = *.gcda *.gcno *.gcov *.pcap-dist AM_CFLAGS = -I$(srcdir) \ -I$(top_srcdir)/src \ @@ -13,7 +13,7 @@ royparse_la_LDFLAGS = -module -avoid-version $(libldns_LIBS) TESTS = test1.sh EXTRA_DIST = $(TESTS) -CLEANFILES += test1.out* *.pcap-dist +CLEANFILES += test1.out if ENABLE_GCOV gcov-local: diff --git a/plugins/royparse/Makefile.in b/plugins/royparse/Makefile.in index d2e0ee5..02fdef1 100644 --- a/plugins/royparse/Makefile.in +++ b/plugins/royparse/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.1 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2018 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -205,8 +205,6 @@ am__define_uniq_tagged_files = \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags am__tty_colors_dummy = \ mgn= red= grn= lgn= blu= brg= std=; \ am__color_tests=no @@ -362,6 +360,7 @@ am__set_TESTS_bases = \ bases='$(TEST_LOGS)'; \ bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ bases=`echo $$bases` +AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' RECHECK_LOGS = $(TEST_LOGS) AM_RECURSIVE_TARGETS = check recheck TEST_SUITE_LOG = test-suite.log @@ -400,6 +399,8 @@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ @@ -410,6 +411,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GREP = @GREP@ @@ -516,7 +518,7 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ MAINTAINERCLEANFILES = $(srcdir)/Makefile.in -CLEANFILES = *.gcda *.gcno *.gcov test1.out* *.pcap-dist +CLEANFILES = *.gcda *.gcno *.gcov *.pcap-dist test1.out AM_CFLAGS = -I$(srcdir) \ -I$(top_srcdir)/src \ -I$(top_srcdir)/isc \ @@ -804,7 +806,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS) test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ fi; \ echo "$${col}$$br$${std}"; \ - echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ + echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ echo "$${col}$$br$${std}"; \ create_testsuite_report --maybe-color; \ echo "$$col$$br$$std"; \ @@ -859,7 +861,6 @@ test1.sh.log: test1.sh @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) - distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am diff --git a/plugins/rssm/Makefile.am b/plugins/rssm/Makefile.am index 08e4429..b4ddf6b 100644 --- a/plugins/rssm/Makefile.am +++ b/plugins/rssm/Makefile.am @@ -1,6 +1,5 @@ MAINTAINERCLEANFILES = $(srcdir)/Makefile.in -CLEANFILES = $(srcdir)/hashtbl.c \ - hashtbl.c *.gcda *.gcno *.gcov +CLEANFILES = *.gcda *.gcno *.gcov *.pcap-dist AM_CFLAGS = -I$(srcdir) \ -I$(top_srcdir)/src \ @@ -10,8 +9,6 @@ AM_CFLAGS = -I$(srcdir) \ pkglib_LTLIBRARIES = rssm.la rssm_la_SOURCES = rssm.c -nodist_rssm_la_SOURCES = hashtbl.c -BUILT_SOURCES = hashtbl.c rssm_la_LDFLAGS = -module -avoid-version $(libldns_LIBS) TESTS = test1.sh test2.sh test3.sh test4.sh test5.sh EXTRA_DIST = $(TESTS) test1.gold test2.gold dnscap-rssm-rssac002.1.in \ @@ -29,12 +26,6 @@ gcov-local: done endif -hashtbl.c: $(top_srcdir)/src/hashtbl.c - cp $(top_srcdir)/src/hashtbl.c ./ - -$(srcdir)/hashtbl.c: $(top_srcdir)/src/hashtbl.c - cp $(top_srcdir)/src/hashtbl.c $(srcdir)/ - dnscap-rssm-rssac002.1: dnscap-rssm-rssac002.1.in Makefile sed -e 's,[@]PACKAGE_VERSION[@],$(PACKAGE_VERSION),g' \ -e 's,[@]PACKAGE_URL[@],$(PACKAGE_URL),g' \ diff --git a/plugins/rssm/Makefile.in b/plugins/rssm/Makefile.in index 4fe13fa..8f59932 100644 --- a/plugins/rssm/Makefile.in +++ b/plugins/rssm/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.1 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2018 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -140,8 +140,7 @@ am__installdirs = "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(bindir)" \ LTLIBRARIES = $(pkglib_LTLIBRARIES) rssm_la_LIBADD = am_rssm_la_OBJECTS = rssm.lo -nodist_rssm_la_OBJECTS = hashtbl.lo -rssm_la_OBJECTS = $(am_rssm_la_OBJECTS) $(nodist_rssm_la_OBJECTS) +rssm_la_OBJECTS = $(am_rssm_la_OBJECTS) AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent @@ -165,7 +164,7 @@ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src depcomp = $(SHELL) $(top_srcdir)/depcomp am__maybe_remake_depfiles = depfiles -am__depfiles_remade = ./$(DEPDIR)/hashtbl.Plo ./$(DEPDIR)/rssm.Plo +am__depfiles_remade = ./$(DEPDIR)/rssm.Plo am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) @@ -185,7 +184,7 @@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = -SOURCES = $(rssm_la_SOURCES) $(nodist_rssm_la_SOURCES) +SOURCES = $(rssm_la_SOURCES) DIST_SOURCES = $(rssm_la_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ @@ -213,8 +212,6 @@ am__define_uniq_tagged_files = \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags am__tty_colors_dummy = \ mgn= red= grn= lgn= blu= brg= std=; \ am__color_tests=no @@ -370,6 +367,7 @@ am__set_TESTS_bases = \ bases='$(TEST_LOGS)'; \ bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ bases=`echo $$bases` +AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' RECHECK_LOGS = $(TEST_LOGS) AM_RECURSIVE_TARGETS = check recheck TEST_SUITE_LOG = test-suite.log @@ -393,7 +391,7 @@ TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \ $(TEST_LOG_FLAGS) am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp \ - $(top_srcdir)/test-driver + $(top_srcdir)/test-driver README.md DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ @@ -408,6 +406,8 @@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ @@ -418,6 +418,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GREP = @GREP@ @@ -524,7 +525,7 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ MAINTAINERCLEANFILES = $(srcdir)/Makefile.in -CLEANFILES = $(srcdir)/hashtbl.c hashtbl.c *.gcda *.gcno *.gcov \ +CLEANFILES = *.gcda *.gcno *.gcov *.pcap-dist \ test1.20161020.152301.075993 test2.out $(man1_MANS) \ test3.20181127.155200.414188 test4.*20161020.152301.075993 \ test5.20180110.112241.543825 @@ -536,8 +537,6 @@ AM_CFLAGS = -I$(srcdir) \ pkglib_LTLIBRARIES = rssm.la rssm_la_SOURCES = rssm.c -nodist_rssm_la_SOURCES = hashtbl.c -BUILT_SOURCES = hashtbl.c rssm_la_LDFLAGS = -module -avoid-version $(libldns_LIBS) TESTS = test1.sh test2.sh test3.sh test4.sh test5.sh EXTRA_DIST = $(TESTS) test1.gold test2.gold dnscap-rssm-rssac002.1.in \ @@ -545,8 +544,7 @@ EXTRA_DIST = $(TESTS) test1.gold test2.gold dnscap-rssm-rssac002.1.in \ dist_bin_SCRIPTS = dnscap-rssm-rssac002 man1_MANS = dnscap-rssm-rssac002.1 -all: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) all-am +all: all-am .SUFFIXES: .SUFFIXES: .c .lo .log .o .obj .test .test$(EXEEXT) .trs @@ -659,7 +657,6 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hashtbl.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rssm.Plo@am__quote@ # am--include-marker $(am__depfiles_remade): @@ -899,7 +896,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS) test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ fi; \ echo "$${col}$$br$${std}"; \ - echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ + echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ echo "$${col}$$br$${std}"; \ create_testsuite_report --maybe-color; \ echo "$$col$$br$$std"; \ @@ -982,7 +979,6 @@ test5.sh.log: test5.sh @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) - distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am @@ -1018,15 +1014,13 @@ distdir-am: $(DISTFILES) done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) check-TESTS -check: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) check-am +check: check-am all-am: Makefile $(LTLIBRARIES) $(SCRIPTS) $(MANS) installdirs: for dir in "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done -install: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) install-am +install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am @@ -1060,7 +1054,6 @@ distclean-generic: maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) @ENABLE_GCOV_FALSE@gcov-local: clean: clean-am @@ -1069,8 +1062,7 @@ clean-am: clean-generic clean-libtool clean-pkglibLTLIBRARIES \ mostlyclean-am distclean: distclean-am - -rm -f ./$(DEPDIR)/hashtbl.Plo - -rm -f ./$(DEPDIR)/rssm.Plo + -rm -f ./$(DEPDIR)/rssm.Plo -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags @@ -1120,8 +1112,7 @@ install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am - -rm -f ./$(DEPDIR)/hashtbl.Plo - -rm -f ./$(DEPDIR)/rssm.Plo + -rm -f ./$(DEPDIR)/rssm.Plo -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic @@ -1143,7 +1134,7 @@ uninstall-am: uninstall-dist_binSCRIPTS uninstall-man \ uninstall-man: uninstall-man1 -.MAKE: all check check-am install install-am install-strip +.MAKE: check-am install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-TESTS \ check-am clean clean-generic clean-libtool \ @@ -1171,12 +1162,6 @@ uninstall-man: uninstall-man1 @ENABLE_GCOV_TRUE@ gcov -o .libs -l -r -s "$(srcdir)" "$$src"; \ @ENABLE_GCOV_TRUE@ done -hashtbl.c: $(top_srcdir)/src/hashtbl.c - cp $(top_srcdir)/src/hashtbl.c ./ - -$(srcdir)/hashtbl.c: $(top_srcdir)/src/hashtbl.c - cp $(top_srcdir)/src/hashtbl.c $(srcdir)/ - dnscap-rssm-rssac002.1: dnscap-rssm-rssac002.1.in Makefile sed -e 's,[@]PACKAGE_VERSION[@],$(PACKAGE_VERSION),g' \ -e 's,[@]PACKAGE_URL[@],$(PACKAGE_URL),g' \ diff --git a/plugins/rssm/README.md b/plugins/rssm/README.md new file mode 100644 index 0000000..3c10fba --- /dev/null +++ b/plugins/rssm/README.md @@ -0,0 +1,42 @@ +# Root Server Scaling Measurement (RSSM) plugin + +This plugin collects data as described by the [RSSAC002v3 specification](https://www.icann.org/en/system/files/files/rssac-002-measurements-root-06jun16-en.pdf) +which has been created by [ICANN Root Server System Advisory Committee](https://www.icann.org/groups/rssac) (RSSAC). + +## Additions + +As the RSSAC002v3 specification states that measurements should be saved per +24 hours interval, this plugin produces additional metrics that can be used +to compile the 24 hours measurements allowing for variable time between +output generation. + +Metric `dnscap-rssm-sources` has a hash entry called `sources` which lists +IP addresses and the number of times they appeared. + +Metric `dnscap-rssm-aggregated-sources` has a hash entry called `aggregated-sources` +which lists the aggregated IPv6 addresses by a /64 net and the number of times +it has appeared. + +## Merge Tool + +The Perl script `dnscap-rssm-rssac002` is included and installed with `dnscap` +and can be used to multiple combine RSSM plugin RSSAC002v3 YAML output files +into one file. + +The script will merge and remove metric specific to this plugin and replace +others to fill in correct values for the new time period. The earliest +`start-period` found will be used for all metrics. + +**NOTE** no parsing of `start-period` is performed, it is up to the operator +to only give input files related to the same 24 hour period. + +Options: +- `--no-recompile`: Disabled the combining of metrics and the removal of + metrics specific to this plugin +- `--keep-dnscap-rssm`: Do the combining but keep the metrics specific to + this plugin +- `--sort`: Output will always start with `version:`, `service:`, + `start-period:` and `metric:`, rest of the values are not ordered by label. + This option enabled sorting of them, which is not required by the + specification but may help in debugging and testing cases. +- `--skip-unsupported`: Skip unsupported RSSAC002 version metrics diff --git a/plugins/rssm/rssm.c b/plugins/rssm/rssm.c index 91cbd93..83f1ca8 100644 --- a/plugins/rssm/rssm.c +++ b/plugins/rssm/rssm.c @@ -60,7 +60,7 @@ #include "dnscap_common.h" -#include "hashtbl.h" +#include "hashtbl.c" static logerr_t* logerr; static my_bpftimeval open_ts; diff --git a/plugins/rzkeychange/Makefile.am b/plugins/rzkeychange/Makefile.am index 869eba6..ff80679 100644 --- a/plugins/rzkeychange/Makefile.am +++ b/plugins/rzkeychange/Makefile.am @@ -1,5 +1,5 @@ MAINTAINERCLEANFILES = $(srcdir)/Makefile.in -CLEANFILES = *.gcda *.gcno *.gcov +CLEANFILES = *.gcda *.gcno *.gcov *.pcap-dist AM_CFLAGS = -I$(srcdir) \ -I$(top_srcdir)/src \ @@ -13,7 +13,6 @@ rzkeychange_la_LDFLAGS = -module -avoid-version $(libldns_LIBS) TESTS = test1.sh EXTRA_DIST = $(TESTS) -CLEANFILES += *.pcap-dist if ENABLE_GCOV gcov-local: diff --git a/plugins/rzkeychange/Makefile.in b/plugins/rzkeychange/Makefile.in index 6b0120f..b297ed5 100644 --- a/plugins/rzkeychange/Makefile.in +++ b/plugins/rzkeychange/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.1 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2018 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -206,8 +206,6 @@ am__define_uniq_tagged_files = \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags am__tty_colors_dummy = \ mgn= red= grn= lgn= blu= brg= std=; \ am__color_tests=no @@ -363,6 +361,7 @@ am__set_TESTS_bases = \ bases='$(TEST_LOGS)'; \ bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ bases=`echo $$bases` +AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' RECHECK_LOGS = $(TEST_LOGS) AM_RECURSIVE_TARGETS = check recheck TEST_SUITE_LOG = test-suite.log @@ -401,6 +400,8 @@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ @@ -411,6 +412,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GREP = @GREP@ @@ -805,7 +807,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS) test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ fi; \ echo "$${col}$$br$${std}"; \ - echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ + echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ echo "$${col}$$br$${std}"; \ create_testsuite_report --maybe-color; \ echo "$$col$$br$$std"; \ @@ -860,7 +862,6 @@ test1.sh.log: test1.sh @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) - distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am diff --git a/plugins/rzkeychange/rzkeychange.c b/plugins/rzkeychange/rzkeychange.c index 4f14c40..dd99316 100644 --- a/plugins/rzkeychange/rzkeychange.c +++ b/plugins/rzkeychange/rzkeychange.c @@ -287,7 +287,7 @@ void rzkeychange_submit_counts(void) { char qname[256]; ldns_pkt* pkt; - double elapsed = (double)clos_ts.tv_sec - (double)open_ts.tv_sec + 0.000001 * clos_ts.tv_usec - 0.000001 * open_ts.tv_usec; //NOSONAR + double elapsed = (double)clos_ts.tv_sec - (double)open_ts.tv_sec + 0.000001 * clos_ts.tv_usec - 0.000001 * open_ts.tv_usec; // NOSONAR int k; k = snprintf(qname, sizeof(qname), "%lu-%u-%" PRIu64 "-%" PRIu64 "-%" PRIu64 "-%" PRIu64 "-%" PRIu64 "-%" PRIu64 "-%" PRIu64 ".%s.%s.%s", diff --git a/plugins/shared/edns0_ecs.c b/plugins/shared/edns0_ecs.c new file mode 100644 index 0000000..2b2e1fa --- /dev/null +++ b/plugins/shared/edns0_ecs.c @@ -0,0 +1,222 @@ +/* + * Copyright (c) 2018-2023, OARC, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. Neither the name of the copyright holder nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#define DNS_MSG_HDR_SZ 12 +#define RFC1035_MAXLABELSZ 63 +#define nptohs(p) ((((uint8_t*)(p))[0] << 8) | ((uint8_t*)(p))[1]) + +static int rfc1035NameSkip(const u_char* buf, size_t sz, off_t* off) +{ + unsigned char c; + size_t len; + /* + * loop_detect[] tracks which position in the DNS message it has + * jumped to so it can't jump to the same twice, aka loop + */ + static unsigned char loop_detect[0x3FFF] = { 0 }; + do { + if ((*off) >= sz) + break; + c = *(buf + (*off)); + if (c > 191) { + /* blasted compression */ + int rc; + unsigned short s; + off_t ptr, loop_ptr; + s = nptohs(buf + (*off)); + (*off) += sizeof(s); + /* Sanity check */ + if ((*off) >= sz) + return 1; /* message too short */ + ptr = s & 0x3FFF; + /* Make sure the pointer is inside this message */ + if (ptr >= sz) + return 2; /* bad compression ptr */ + if (ptr < DNS_MSG_HDR_SZ) + return 2; /* bad compression ptr */ + if (loop_detect[ptr]) + return 4; /* compression loop */ + loop_detect[(loop_ptr = ptr)] = 1; + + rc = rfc1035NameSkip(buf, sz, &ptr); + + loop_detect[loop_ptr] = 0; + return rc; + } else if (c > RFC1035_MAXLABELSZ) { + /* + * "(The 10 and 01 combinations are reserved for future use.)" + */ + return 3; /* reserved label/compression flags */ + } else { + (*off)++; + len = (size_t)c; + if (len == 0) + break; + if ((*off) + len > sz) + return 4; /* message is too short */ + (*off) += len; + } + } while (c > 0); + return 0; +} + +static off_t skip_question(const u_char* buf, int len, off_t offset) +{ + if (rfc1035NameSkip(buf, len, &offset)) + return 0; + if (offset + 4 > len) + return 0; + offset += 4; + return offset; +} + +static off_t skip_rr(const u_char* buf, int len, off_t offset) +{ + if (rfc1035NameSkip(buf, len, &offset)) + return 0; + if (offset + 10 > len) + return 0; + unsigned short us = nptohs(buf + offset + 8); + offset += 10; + if (offset + us > len) + return 0; + offset += us; + return offset; +} + +#define EDNS0_TYPE_ECS 8 + +typedef void (*edns0_ecs_cb)(int family, u_char* buf, size_t len); + +static void process_edns0_options(u_char* buf, int len, edns0_ecs_cb cb) +{ + unsigned short edns0_type; + unsigned short edns0_len; + off_t offset = 0; + + while (len >= 4) { + edns0_type = nptohs(buf + offset); + edns0_len = nptohs(buf + offset + 2); + if (len < 4 + edns0_len) + break; + if (edns0_type == EDNS0_TYPE_ECS) { + if (edns0_len < 5) + break; + if (cb) + cb(nptohs(buf + offset + 4), buf + offset + 8, edns0_len - 4); + } + offset += 4 + edns0_len; + len -= 4 + edns0_len; + } +} + +#define T_OPT 41 + +static off_t grok_additional_for_opt_rr(u_char* buf, int len, off_t offset, edns0_ecs_cb cb) +{ + unsigned short us; + /* + * OPT RR for EDNS0 MUST be 0 (root domain), so if the first byte of + * the name is anything it can't be a valid EDNS0 record. + */ + if (*(buf + offset)) { + if (rfc1035NameSkip(buf, len, &offset)) + return 0; + if (offset + 10 > len) + return 0; + } else { + offset++; + if (offset + 10 > len) + return 0; + if (nptohs(buf + offset) == T_OPT) { + u_char version = *(buf + offset + 5); + us = nptohs(buf + offset + 8); // rd len + offset += 10; + if (offset + us > len) + return 0; + if (!version && us > 0) + process_edns0_options(buf + offset, us, cb); + offset += us; + return offset; + } + } + /* get rdlength */ + us = nptohs(buf + offset + 8); + offset += 10; + if (offset + us > len) + return 0; + offset += us; + return offset; +} + +static void parse_for_edns0_ecs(u_char* payload, size_t payloadlen, edns0_ecs_cb cb) +{ + off_t offset; + int qdcount, ancount, nscount, arcount; + + qdcount = nptohs(payload + 4); + ancount = nptohs(payload + 6); + nscount = nptohs(payload + 8); + arcount = nptohs(payload + 10); + + offset = DNS_MSG_HDR_SZ; + + while (qdcount > 0 && offset < payloadlen) { + if (!(offset = skip_question(payload, payloadlen, offset))) { + return; + } + qdcount--; + } + + while (ancount > 0 && offset < payloadlen) { + if (!(offset = skip_rr(payload, payloadlen, offset))) { + return; + } + ancount--; + } + + while (nscount > 0 && offset < payloadlen) { + if (!(offset = skip_rr(payload, payloadlen, offset))) { + return; + } + nscount--; + } + + while (arcount > 0 && offset < payloadlen) { + if (!(offset = grok_additional_for_opt_rr(payload, payloadlen, offset, cb))) { + return; + } + arcount--; + } +} \ No newline at end of file diff --git a/plugins/template/Makefile.am b/plugins/template/Makefile.am index 2cc0d7e..2079fa7 100644 --- a/plugins/template/Makefile.am +++ b/plugins/template/Makefile.am @@ -1,5 +1,5 @@ MAINTAINERCLEANFILES = $(srcdir)/Makefile.in -CLEANFILES = *.gcda *.gcno *.gcov +CLEANFILES = *.gcda *.gcno *.gcov *.pcap-dist AM_CFLAGS = -I$(srcdir) \ -I$(top_srcdir)/src \ @@ -12,7 +12,6 @@ template_la_LDFLAGS = -module -avoid-version TESTS = test1.sh EXTRA_DIST = $(TESTS) -CLEANFILES += *.pcap-dist if ENABLE_GCOV gcov-local: diff --git a/plugins/txtout/Makefile.am b/plugins/txtout/Makefile.am index c802b92..2f1c7fc 100644 --- a/plugins/txtout/Makefile.am +++ b/plugins/txtout/Makefile.am @@ -1,5 +1,5 @@ MAINTAINERCLEANFILES = $(srcdir)/Makefile.in -CLEANFILES = *.gcda *.gcno *.gcov +CLEANFILES = *.gcda *.gcno *.gcov *.pcap-dist AM_CFLAGS = -I$(srcdir) \ -I$(top_srcdir)/src \ @@ -12,7 +12,7 @@ txtout_la_LDFLAGS = -module -avoid-version $(libldns_LIBS) TESTS = test1.sh EXTRA_DIST = $(TESTS) -CLEANFILES += test1.out *.pcap-dist +CLEANFILES += test1.out if ENABLE_GCOV gcov-local: diff --git a/plugins/txtout/Makefile.in b/plugins/txtout/Makefile.in index 8242eee..2524c9c 100644 --- a/plugins/txtout/Makefile.in +++ b/plugins/txtout/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.1 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2018 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -205,8 +205,6 @@ am__define_uniq_tagged_files = \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags am__tty_colors_dummy = \ mgn= red= grn= lgn= blu= brg= std=; \ am__color_tests=no @@ -362,6 +360,7 @@ am__set_TESTS_bases = \ bases='$(TEST_LOGS)'; \ bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ bases=`echo $$bases` +AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' RECHECK_LOGS = $(TEST_LOGS) AM_RECURSIVE_TARGETS = check recheck TEST_SUITE_LOG = test-suite.log @@ -400,6 +399,8 @@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ @@ -410,6 +411,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GREP = @GREP@ @@ -516,7 +518,7 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ MAINTAINERCLEANFILES = $(srcdir)/Makefile.in -CLEANFILES = *.gcda *.gcno *.gcov test1.out *.pcap-dist +CLEANFILES = *.gcda *.gcno *.gcov *.pcap-dist test1.out AM_CFLAGS = -I$(srcdir) \ -I$(top_srcdir)/src \ -I$(top_srcdir)/isc \ @@ -803,7 +805,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS) test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ fi; \ echo "$${col}$$br$${std}"; \ - echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ + echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ echo "$${col}$$br$${std}"; \ create_testsuite_report --maybe-color; \ echo "$$col$$br$$std"; \ @@ -858,7 +860,6 @@ test1.sh.log: test1.sh @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) - distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am diff --git a/src/Makefile.am b/src/Makefile.am index e194d95..d46dd85 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -17,7 +17,8 @@ bin_PROGRAMS = dnscap dnscap_SOURCES = args.c assert.c bpft.c daemon.c dnscap.c dump_cbor.c \ dump_cds.c dump_dns.c dumper.c endpoint.c hashtbl.c iaddr.c log.c \ network.c options.c pcaps.c sig.c tcpstate.c tcpreasm.c memzero.c \ - pcap-thread/pcap_thread.c pcap-thread/pcap_thread_ext_frag.c + pcap-thread/pcap_thread.c pcap-thread/pcap_thread_ext_frag.c \ + ext/lookup3.c dist_dnscap_SOURCES = args.h bpft.h daemon.h dnscap_common.h dnscap.h \ dump_cbor.h dump_cds.h dump_dns.h dumper.h endpoint.h hashtbl.h iaddr.h \ log.h network.h options.h pcaps.h sig.h tcpstate.h tcpreasm.h memzero.h \ diff --git a/src/Makefile.in b/src/Makefile.in index 8f93ac4..a5cf3e2 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.1 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2018 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -118,7 +118,8 @@ am_dnscap_OBJECTS = args.$(OBJEXT) assert.$(OBJEXT) bpft.$(OBJEXT) \ pcaps.$(OBJEXT) sig.$(OBJEXT) tcpstate.$(OBJEXT) \ tcpreasm.$(OBJEXT) memzero.$(OBJEXT) \ pcap-thread/pcap_thread.$(OBJEXT) \ - pcap-thread/pcap_thread_ext_frag.$(OBJEXT) + pcap-thread/pcap_thread_ext_frag.$(OBJEXT) \ + ext/lookup3.$(OBJEXT) dist_dnscap_OBJECTS = dnscap_OBJECTS = $(am_dnscap_OBJECTS) $(dist_dnscap_OBJECTS) am__DEPENDENCIES_1 = @@ -152,7 +153,7 @@ am__depfiles_remade = ./$(DEPDIR)/args.Po ./$(DEPDIR)/assert.Po \ ./$(DEPDIR)/memzero.Po ./$(DEPDIR)/network.Po \ ./$(DEPDIR)/options.Po ./$(DEPDIR)/pcaps.Po ./$(DEPDIR)/sig.Po \ ./$(DEPDIR)/tcpreasm.Po ./$(DEPDIR)/tcpstate.Po \ - pcap-thread/$(DEPDIR)/pcap_thread.Po \ + ext/$(DEPDIR)/lookup3.Po pcap-thread/$(DEPDIR)/pcap_thread.Po \ pcap-thread/$(DEPDIR)/pcap_thread_ext_frag.Po am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ @@ -227,8 +228,8 @@ am__recursive_targets = \ AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir distdir-am am__extra_recursive_targets = gcov-recursive -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \ - $(LISP)config.h.in +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) \ + config.h.in # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. @@ -245,8 +246,6 @@ am__define_uniq_tagged_files = \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \ $(top_srcdir)/depcomp @@ -289,6 +288,8 @@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ @@ -299,6 +300,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GREP = @GREP@ @@ -418,7 +420,8 @@ EXTRA_DIST = dnscap.1.in dnscap_SOURCES = args.c assert.c bpft.c daemon.c dnscap.c dump_cbor.c \ dump_cds.c dump_dns.c dumper.c endpoint.c hashtbl.c iaddr.c log.c \ network.c options.c pcaps.c sig.c tcpstate.c tcpreasm.c memzero.c \ - pcap-thread/pcap_thread.c pcap-thread/pcap_thread_ext_frag.c + pcap-thread/pcap_thread.c pcap-thread/pcap_thread_ext_frag.c \ + ext/lookup3.c dist_dnscap_SOURCES = args.h bpft.h daemon.h dnscap_common.h dnscap.h \ dump_cbor.h dump_cds.h dump_dns.h dumper.h endpoint.h hashtbl.h iaddr.h \ @@ -537,6 +540,14 @@ pcap-thread/pcap_thread.$(OBJEXT): pcap-thread/$(am__dirstamp) \ pcap-thread/pcap_thread_ext_frag.$(OBJEXT): \ pcap-thread/$(am__dirstamp) \ pcap-thread/$(DEPDIR)/$(am__dirstamp) +ext/$(am__dirstamp): + @$(MKDIR_P) ext + @: > ext/$(am__dirstamp) +ext/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) ext/$(DEPDIR) + @: > ext/$(DEPDIR)/$(am__dirstamp) +ext/lookup3.$(OBJEXT): ext/$(am__dirstamp) \ + ext/$(DEPDIR)/$(am__dirstamp) dnscap$(EXEEXT): $(dnscap_OBJECTS) $(dnscap_DEPENDENCIES) $(EXTRA_dnscap_DEPENDENCIES) @rm -f dnscap$(EXEEXT) @@ -544,6 +555,7 @@ dnscap$(EXEEXT): $(dnscap_OBJECTS) $(dnscap_DEPENDENCIES) $(EXTRA_dnscap_DEPENDE mostlyclean-compile: -rm -f *.$(OBJEXT) + -rm -f ext/*.$(OBJEXT) -rm -f pcap-thread/*.$(OBJEXT) distclean-compile: @@ -569,6 +581,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sig.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tcpreasm.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tcpstate.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@ext/$(DEPDIR)/lookup3.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@pcap-thread/$(DEPDIR)/pcap_thread.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@pcap-thread/$(DEPDIR)/pcap_thread_ext_frag.Po@am__quote@ # am--include-marker @@ -748,7 +761,6 @@ cscopelist-am: $(am__tagged_files) distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am @@ -842,6 +854,8 @@ clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + -rm -f ext/$(DEPDIR)/$(am__dirstamp) + -rm -f ext/$(am__dirstamp) -rm -f pcap-thread/$(DEPDIR)/$(am__dirstamp) -rm -f pcap-thread/$(am__dirstamp) @@ -875,6 +889,7 @@ distclean: distclean-recursive -rm -f ./$(DEPDIR)/sig.Po -rm -f ./$(DEPDIR)/tcpreasm.Po -rm -f ./$(DEPDIR)/tcpstate.Po + -rm -f ext/$(DEPDIR)/lookup3.Po -rm -f pcap-thread/$(DEPDIR)/pcap_thread.Po -rm -f pcap-thread/$(DEPDIR)/pcap_thread_ext_frag.Po -rm -f Makefile @@ -946,6 +961,7 @@ maintainer-clean: maintainer-clean-recursive -rm -f ./$(DEPDIR)/sig.Po -rm -f ./$(DEPDIR)/tcpreasm.Po -rm -f ./$(DEPDIR)/tcpstate.Po + -rm -f ext/$(DEPDIR)/lookup3.Po -rm -f pcap-thread/$(DEPDIR)/pcap_thread.Po -rm -f pcap-thread/$(DEPDIR)/pcap_thread_ext_frag.Po -rm -f Makefile diff --git a/src/bpft.c b/src/bpft.c index 6ee5862..8ce1b56 100644 --- a/src/bpft.c +++ b/src/bpft.c @@ -41,7 +41,7 @@ void prepare_bpft(void) { - unsigned udp10_mbs, udp10_mbc, udp11_mbc; //udp11_mbs + unsigned udp10_mbs, udp10_mbc, udp11_mbc; // udp11_mbs text_list bpfl; text_ptr text; size_t len; @@ -70,13 +70,13 @@ void prepare_bpft(void) } /* - * Model - * (vlan) and (transport) - * (vlan) and ((icmp) or (frags) or (dns)) - * (vlan) and ((icmp) or (frags) or ((ports) and (hosts))) - * (vlan) and ((icmp) or (frags) or (((tcp) or (udp)) and (hosts))) - * [(vlan) and] ( [(icmp) or] [(frags) or] ( ( [(tcp) or] (udp) ) [and (hosts)] ) ) - */ + * Model + * (vlan) and (transport) + * (vlan) and ((icmp) or (frags) or (dns)) + * (vlan) and ((icmp) or (frags) or ((ports) and (hosts))) + * (vlan) and ((icmp) or (frags) or (((tcp) or (udp)) and (hosts))) + * [(vlan) and] ( [(icmp) or] [(frags) or] ( ( [(tcp) or] (udp) ) [and (hosts)] ) ) + */ /* Make a BPF program to do early course kernel-level filtering. */ INIT_LIST(bpfl); diff --git a/src/config.h.in b/src/config.h.in index b0f7a22..3d0a228 100644 --- a/src/config.h.in +++ b/src/config.h.in @@ -81,9 +81,6 @@ /* Define to 1 if you have the header file. */ #undef HAVE_MACHINE_ENDIAN_H -/* Define to 1 if you have the header file. */ -#undef HAVE_MEMORY_H - /* Define to 1 if you have the header file. */ #undef HAVE_NETDB_H @@ -163,6 +160,9 @@ /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H +/* Define to 1 if you have the header file. */ +#undef HAVE_STDIO_H + /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H @@ -230,10 +230,13 @@ your system. */ #undef PTHREAD_CREATE_JOINABLE -/* Define to 1 if you have the ANSI C header files. */ +/* Define to 1 if all of the C90 standard headers exist (not just the ones + required in a freestanding environment). This macro is provided for + backward compatibility; new code need not use it. */ #undef STDC_HEADERS -/* Define to 1 if you can safely include both and . */ +/* Define to 1 if you can safely include both and . This + macro is obsolete. */ #undef TIME_WITH_SYS_TIME /* Define this to enable Linux seccomp-bpf sandbox. */ diff --git a/src/dnscap.h b/src/dnscap.h index ebdde87..e079ec9 100644 --- a/src/dnscap.h +++ b/src/dnscap.h @@ -297,9 +297,19 @@ struct tcpreasm { size_t bfb_at; }; +struct tcpstate_key { + iaddr* saddr; + iaddr* daddr; + unsigned sport; + unsigned dport; +}; +typedef struct tcpstate_key tcpstate_key; + struct tcpstate { LINK(struct tcpstate) link; + tcpstate_key key; + iaddr saddr; iaddr daddr; uint16_t sport; diff --git a/src/dnscap_common.h b/src/dnscap_common.h index fa869cd..a1f05d9 100644 --- a/src/dnscap_common.h +++ b/src/dnscap_common.h @@ -116,10 +116,10 @@ typedef int filter_t(const char* descr, unsigned sport, unsigned dport, my_bpftimeval ts, - const u_char* pkt_copy, - const unsigned olen, - const u_char* payload, - const unsigned payloadlen); + u_char* pkt_copy, + unsigned olen, + u_char* payload, + unsigned payloadlen); /* * Extensions diff --git a/src/dumper.c b/src/dumper.c index 95d92a5..88d83fd 100644 --- a/src/dumper.c +++ b/src/dumper.c @@ -44,8 +44,8 @@ */ void output(const char* descr, iaddr from, iaddr to, uint8_t proto, unsigned flags, unsigned sport, unsigned dport, my_bpftimeval ts, - const u_char* pkt_copy, const unsigned olen, - const u_char* payload, const unsigned payloadlen) + u_char* pkt_copy, const unsigned olen, + u_char* payload, const unsigned payloadlen) { struct plugin* p; diff --git a/src/dumper.h b/src/dumper.h index cec2ddd..ffef7cd 100644 --- a/src/dumper.h +++ b/src/dumper.h @@ -39,8 +39,8 @@ void output(const char* descr, iaddr from, iaddr to, uint8_t proto, unsigned flags, unsigned sport, unsigned dport, my_bpftimeval ts, - const u_char* pkt_copy, const unsigned olen, - const u_char* payload, const unsigned payloadlen); + u_char* pkt_copy, const unsigned olen, + u_char* payload, const unsigned payloadlen); int dumper_open(my_bpftimeval ts); int dumper_close(my_bpftimeval ts); diff --git a/src/ext/lookup3.c b/src/ext/lookup3.c new file mode 100644 index 0000000..99694a5 --- /dev/null +++ b/src/ext/lookup3.c @@ -0,0 +1,1235 @@ +/* +------------------------------------------------------------------------------- +lookup3.c, by Bob Jenkins, May 2006, Public Domain. + +These are functions for producing 32-bit hashes for hash table lookup. +hashword(), hashlittle(), hashlittle2(), hashbig(), mix(), and final() +are externally useful functions. Routines to test the hash are included +if SELF_TEST is defined. You can use this free for any purpose. It's in +the public domain. It has no warranty. + +You probably want to use hashlittle(). hashlittle() and hashbig() +hash byte arrays. hashlittle() is is faster than hashbig() on +little-endian machines. Intel and AMD are little-endian machines. +On second thought, you probably want hashlittle2(), which is identical to +hashlittle() except it returns two 32-bit hashes for the price of one. +You could implement hashbig2() if you wanted but I haven't bothered here. + +If you want to find a hash of, say, exactly 7 integers, do + a = i1; b = i2; c = i3; + mix(a,b,c); + a += i4; b += i5; c += i6; + mix(a,b,c); + a += i7; + final(a,b,c); +then use c as the hash value. If you have a variable length array of +4-byte integers to hash, use hashword(). If you have a byte array (like +a character string), use hashlittle(). If you have several byte arrays, or +a mix of things, see the comments above hashlittle(). + +Why is this so big? I read 12 bytes at a time into 3 4-byte integers, +then mix those integers. This is fast (you can do a lot more thorough +mixing with 12*3 instructions on 3 integers than you can with 3 instructions +on 1 byte), but shoehorning those bytes into integers efficiently is messy. +------------------------------------------------------------------------------- +*/ +#define SELF_TEST 0 + +#include /* defines printf for tests */ +#include /* defines time_t for timings in the test */ +#if defined (__SVR4) && defined (__sun) +#include +#else +#include /* defines uint32_t etc */ +#endif +#include /* attempt to define endianness */ +#ifdef linux +#include /* attempt to define endianness */ +#endif + +/* + * My best guess at if you are big-endian or little-endian. This may + * need adjustment. + */ +#if (defined(__BYTE_ORDER) && defined(__LITTLE_ENDIAN) && \ + __BYTE_ORDER == __LITTLE_ENDIAN) || \ + (defined(i386) || defined(__i386__) || defined(__i486__) || \ + defined(__i586__) || defined(__i686__) || defined(vax) || defined(MIPSEL)) +#define HASH_LITTLE_ENDIAN 1 +#define HASH_BIG_ENDIAN 0 +#elif (defined(__BYTE_ORDER) && defined(__BIG_ENDIAN) && \ + __BYTE_ORDER == __BIG_ENDIAN) || \ + (defined(sparc) || defined(POWERPC) || defined(mc68000) || defined(sel)) +#define HASH_LITTLE_ENDIAN 0 +#define HASH_BIG_ENDIAN 1 +#else +#define HASH_LITTLE_ENDIAN 0 +#define HASH_BIG_ENDIAN 0 +#endif + +#define hashsize(n) ((uint32_t)1<<(n)) +#define hashmask(n) (hashsize(n)-1) +#define rot(x,k) (((x)<<(k)) | ((x)>>(32-(k)))) + +/* +------------------------------------------------------------------------------- +mix -- mix 3 32-bit values reversibly. + +This is reversible, so any information in (a,b,c) before mix() is +still in (a,b,c) after mix(). + +If four pairs of (a,b,c) inputs are run through mix(), or through +mix() in reverse, there are at least 32 bits of the output that +are sometimes the same for one pair and different for another pair. +This was tested for: +* pairs that differed by one bit, by two bits, in any combination + of top bits of (a,b,c), or in any combination of bottom bits of + (a,b,c). +* "differ" is defined as +, -, ^, or ~^. For + and -, I transformed + the output delta to a Gray code (a^(a>>1)) so a string of 1's (as + is commonly produced by subtraction) look like a single 1-bit + difference. +* the base values were pseudorandom, all zero but one bit set, or + all zero plus a counter that starts at zero. + +Some k values for my "a-=c; a^=rot(c,k); c+=b;" arrangement that +satisfy this are + 4 6 8 16 19 4 + 9 15 3 18 27 15 + 14 9 3 7 17 3 +Well, "9 15 3 18 27 15" didn't quite get 32 bits diffing +for "differ" defined as + with a one-bit base and a two-bit delta. I +used http://burtleburtle.net/bob/hash/avalanche.html to choose +the operations, constants, and arrangements of the variables. + +This does not achieve avalanche. There are input bits of (a,b,c) +that fail to affect some output bits of (a,b,c), especially of a. The +most thoroughly mixed value is c, but it doesn't really even achieve +avalanche in c. + +This allows some parallelism. Read-after-writes are good at doubling +the number of bits affected, so the goal of mixing pulls in the opposite +direction as the goal of parallelism. I did what I could. Rotates +seem to cost as much as shifts on every machine I could lay my hands +on, and rotates are much kinder to the top and bottom bits, so I used +rotates. +------------------------------------------------------------------------------- +*/ +#define mix(a,b,c) \ +{ \ + a -= c; a ^= rot(c, 4); c += b; \ + b -= a; b ^= rot(a, 6); a += c; \ + c -= b; c ^= rot(b, 8); b += a; \ + a -= c; a ^= rot(c,16); c += b; \ + b -= a; b ^= rot(a,19); a += c; \ + c -= b; c ^= rot(b, 4); b += a; \ +} + +/* +------------------------------------------------------------------------------- +final -- final mixing of 3 32-bit values (a,b,c) into c + +Pairs of (a,b,c) values differing in only a few bits will usually +produce values of c that look totally different. This was tested for +* pairs that differed by one bit, by two bits, in any combination + of top bits of (a,b,c), or in any combination of bottom bits of + (a,b,c). +* "differ" is defined as +, -, ^, or ~^. For + and -, I transformed + the output delta to a Gray code (a^(a>>1)) so a string of 1's (as + is commonly produced by subtraction) look like a single 1-bit + difference. +* the base values were pseudorandom, all zero but one bit set, or + all zero plus a counter that starts at zero. + +These constants passed: + 14 11 25 16 4 14 24 + 12 14 25 16 4 14 24 +and these came close: + 4 8 15 26 3 22 24 + 10 8 15 26 3 22 24 + 11 8 15 26 3 22 24 +------------------------------------------------------------------------------- +*/ +#define final(a,b,c) \ +{ \ + c ^= b; c -= rot(b,14); \ + a ^= c; a -= rot(c,11); \ + b ^= a; b -= rot(a,25); \ + c ^= b; c -= rot(b,16); \ + a ^= c; a -= rot(c,4); \ + b ^= a; b -= rot(a,14); \ + c ^= b; c -= rot(b,24); \ +} + +/* +-------------------------------------------------------------------- + This works on all machines. To be useful, it requires + -- that the key be an array of uint32_t's, and + -- that the length be the number of uint32_t's in the key + + The function hashword() is identical to hashlittle() on little-endian + machines, and identical to hashbig() on big-endian machines, + except that the length has to be measured in uint32_ts rather than in + bytes. hashlittle() is more complicated than hashword() only because + hashlittle() has to dance around fitting the key bytes into registers. +-------------------------------------------------------------------- +*/ +uint32_t +hashword(const uint32_t * k, /* the key, an array of uint32_t values */ + size_t length, /* the length of the key, in uint32_ts */ + uint32_t initval) +{ /* the previous hash, or an arbitrary value */ + uint32_t a, b, c; + + /* Set up the internal state */ + a = b = c = 0xdeadbeef + (((uint32_t) length) << 2) + initval; + + /*------------------------------------------------- handle most of the key */ + while (length > 3) { + a += k[0]; + b += k[1]; + c += k[2]; + mix(a, b, c); + length -= 3; + k += 3; + } + + /*------------------------------------------- handle the last 3 uint32_t's */ + switch (length) { /* all the case statements fall through */ + case 3: + c += k[2]; + case 2: + b += k[1]; + case 1: + a += k[0]; + final(a, b, c); + case 0: /* case 0: nothing left to add */ + break; + } + /*------------------------------------------------------ report the result */ + return c; +} + + +/* +-------------------------------------------------------------------- +hashword2() -- same as hashword(), but take two seeds and return two +32-bit values. pc and pb must both be nonnull, and *pc and *pb must +both be initialized with seeds. If you pass in (*pb)==0, the output +(*pc) will be the same as the return value from hashword(). +-------------------------------------------------------------------- +*/ +void +hashword2(const uint32_t * k, /* the key, an array of uint32_t values */ + size_t length, /* the length of the key, in uint32_ts */ + uint32_t * pc, /* IN: seed OUT: primary hash value */ + uint32_t * pb) +{ /* IN: more seed OUT: secondary hash value */ + uint32_t a, b, c; + + /* Set up the internal state */ + a = b = c = 0xdeadbeef + ((uint32_t) (length << 2)) + *pc; + c += *pb; + + /*------------------------------------------------- handle most of the key */ + while (length > 3) { + a += k[0]; + b += k[1]; + c += k[2]; + mix(a, b, c); + length -= 3; + k += 3; + } + + /*------------------------------------------- handle the last 3 uint32_t's */ + switch (length) { /* all the case statements fall through */ + case 3: + c += k[2]; + case 2: + b += k[1]; + case 1: + a += k[0]; + final(a, b, c); + case 0: /* case 0: nothing left to add */ + break; + } + /*------------------------------------------------------ report the result */ + *pc = c; + *pb = b; +} + + +/* +------------------------------------------------------------------------------- +hashlittle() -- hash a variable-length key into a 32-bit value + k : the key (the unaligned variable-length array of bytes) + length : the length of the key, counting by bytes + initval : can be any 4-byte value +Returns a 32-bit value. Every bit of the key affects every bit of +the return value. Two keys differing by one or two bits will have +totally different hash values. + +The best hash table sizes are powers of 2. There is no need to do +mod a prime (mod is sooo slow!). If you need less than 32 bits, +use a bitmask. For example, if you need only 10 bits, do + h = (h & hashmask(10)); +In which case, the hash table should have hashsize(10) elements. + +If you are hashing n strings (uint8_t **)k, do it like this: + for (i=0, h=0; i 12) { + a += k[0]; + b += k[1]; + c += k[2]; + mix(a, b, c); + length -= 12; + k += 3; + } + + /*----------------------------- handle the last (probably partial) block */ + /* + * "k[2]&0xffffff" actually reads beyond the end of the string, but + * then masks off the part it's not allowed to read. Because the + * string is aligned, the masked-off tail is in the same word as the + * rest of the string. Every machine with memory protection I've seen + * does it on word boundaries, so is OK with this. But VALGRIND will + * still catch it and complain. The masking trick does make the hash + * noticably faster for short strings (like English words). + */ +#ifndef VALGRIND + + switch (length) { + case 12: + c += k[2]; + b += k[1]; + a += k[0]; + break; + case 11: + c += k[2] & 0xffffff; + b += k[1]; + a += k[0]; + break; + case 10: + c += k[2] & 0xffff; + b += k[1]; + a += k[0]; + break; + case 9: + c += k[2] & 0xff; + b += k[1]; + a += k[0]; + break; + case 8: + b += k[1]; + a += k[0]; + break; + case 7: + b += k[1] & 0xffffff; + a += k[0]; + break; + case 6: + b += k[1] & 0xffff; + a += k[0]; + break; + case 5: + b += k[1] & 0xff; + a += k[0]; + break; + case 4: + a += k[0]; + break; + case 3: + a += k[0] & 0xffffff; + break; + case 2: + a += k[0] & 0xffff; + break; + case 1: + a += k[0] & 0xff; + break; + case 0: + return c; /* zero length strings require no mixing */ + } + +#else /* make valgrind happy */ + + k8 = (const uint8_t *) k; + switch (length) { + case 12: + c += k[2]; + b += k[1]; + a += k[0]; + break; + case 11: + c += ((uint32_t) k8[10]) << 16; /* fall through */ + case 10: + c += ((uint32_t) k8[9]) << 8; /* fall through */ + case 9: + c += k8[8]; /* fall through */ + case 8: + b += k[1]; + a += k[0]; + break; + case 7: + b += ((uint32_t) k8[6]) << 16; /* fall through */ + case 6: + b += ((uint32_t) k8[5]) << 8; /* fall through */ + case 5: + b += k8[4]; /* fall through */ + case 4: + a += k[0]; + break; + case 3: + a += ((uint32_t) k8[2]) << 16; /* fall through */ + case 2: + a += ((uint32_t) k8[1]) << 8; /* fall through */ + case 1: + a += k8[0]; + break; + case 0: + return c; + } + +#endif /* !valgrind */ + + } else if (HASH_LITTLE_ENDIAN && ((u.i & 0x1) == 0)) { + const uint16_t *k = (const uint16_t *) key; /* read 16-bit chunks */ + const uint8_t *k8; + + /*--------------- all but last block: aligned reads and different mixing */ + while (length > 12) { + a += k[0] + (((uint32_t) k[1]) << 16); + b += k[2] + (((uint32_t) k[3]) << 16); + c += k[4] + (((uint32_t) k[5]) << 16); + mix(a, b, c); + length -= 12; + k += 6; + } + + /*----------------------------- handle the last (probably partial) block */ + k8 = (const uint8_t *) k; + switch (length) { + case 12: + c += k[4] + (((uint32_t) k[5]) << 16); + b += k[2] + (((uint32_t) k[3]) << 16); + a += k[0] + (((uint32_t) k[1]) << 16); + break; + case 11: + c += ((uint32_t) k8[10]) << 16; /* fall through */ + case 10: + c += k[4]; + b += k[2] + (((uint32_t) k[3]) << 16); + a += k[0] + (((uint32_t) k[1]) << 16); + break; + case 9: + c += k8[8]; /* fall through */ + case 8: + b += k[2] + (((uint32_t) k[3]) << 16); + a += k[0] + (((uint32_t) k[1]) << 16); + break; + case 7: + b += ((uint32_t) k8[6]) << 16; /* fall through */ + case 6: + b += k[2]; + a += k[0] + (((uint32_t) k[1]) << 16); + break; + case 5: + b += k8[4]; /* fall through */ + case 4: + a += k[0] + (((uint32_t) k[1]) << 16); + break; + case 3: + a += ((uint32_t) k8[2]) << 16; /* fall through */ + case 2: + a += k[0]; + break; + case 1: + a += k8[0]; + break; + case 0: + return c; /* zero length requires no mixing */ + } + + } else { /* need to read the key one byte at a time */ + const uint8_t *k = (const uint8_t *) key; + + /*--------------- all but the last block: affect some 32 bits of (a,b,c) */ + while (length > 12) { + a += k[0]; + a += ((uint32_t) k[1]) << 8; + a += ((uint32_t) k[2]) << 16; + a += ((uint32_t) k[3]) << 24; + b += k[4]; + b += ((uint32_t) k[5]) << 8; + b += ((uint32_t) k[6]) << 16; + b += ((uint32_t) k[7]) << 24; + c += k[8]; + c += ((uint32_t) k[9]) << 8; + c += ((uint32_t) k[10]) << 16; + c += ((uint32_t) k[11]) << 24; + mix(a, b, c); + length -= 12; + k += 12; + } + + /*-------------------------------- last block: affect all 32 bits of (c) */ + switch (length) { /* all the case statements fall through */ + case 12: + c += ((uint32_t) k[11]) << 24; + case 11: + c += ((uint32_t) k[10]) << 16; + case 10: + c += ((uint32_t) k[9]) << 8; + case 9: + c += k[8]; + case 8: + b += ((uint32_t) k[7]) << 24; + case 7: + b += ((uint32_t) k[6]) << 16; + case 6: + b += ((uint32_t) k[5]) << 8; + case 5: + b += k[4]; + case 4: + a += ((uint32_t) k[3]) << 24; + case 3: + a += ((uint32_t) k[2]) << 16; + case 2: + a += ((uint32_t) k[1]) << 8; + case 1: + a += k[0]; + break; + case 0: + return c; + } + } + + final(a, b, c); + return c; +} + + +/* + * hashlittle2: return 2 32-bit hash values + * + * This is identical to hashlittle(), except it returns two 32-bit hash + * values instead of just one. This is good enough for hash table + * lookup with 2^^64 buckets, or if you want a second hash if you're not + * happy with the first, or if you want a probably-unique 64-bit ID for + * the key. *pc is better mixed than *pb, so use *pc first. If you want + * a 64-bit value do something like "*pc + (((uint64_t)*pb)<<32)". + */ +void +hashlittle2(const void *key, /* the key to hash */ + size_t length, /* length of the key */ + uint32_t * pc, /* IN: primary initval, OUT: primary hash */ + uint32_t * pb) +{ /* IN: secondary initval, OUT: secondary hash */ + uint32_t a, b, c; /* internal state */ + union + { + const void *ptr; + size_t i; + } u; /* needed for Mac Powerbook G4 */ + + /* Set up the internal state */ + a = b = c = 0xdeadbeef + ((uint32_t) length) + *pc; + c += *pb; + + u.ptr = key; + if (HASH_LITTLE_ENDIAN && ((u.i & 0x3) == 0)) { + const uint32_t *k = (const uint32_t *) key; /* read 32-bit chunks */ +#ifdef VALGRIND + const uint8_t *k8; +#endif + + /*------ all but last block: aligned reads and affect 32 bits of (a,b,c) */ + while (length > 12) { + a += k[0]; + b += k[1]; + c += k[2]; + mix(a, b, c); + length -= 12; + k += 3; + } + + /*----------------------------- handle the last (probably partial) block */ + /* + * "k[2]&0xffffff" actually reads beyond the end of the string, but + * then masks off the part it's not allowed to read. Because the + * string is aligned, the masked-off tail is in the same word as the + * rest of the string. Every machine with memory protection I've seen + * does it on word boundaries, so is OK with this. But VALGRIND will + * still catch it and complain. The masking trick does make the hash + * noticably faster for short strings (like English words). + */ +#ifndef VALGRIND + + switch (length) { + case 12: + c += k[2]; + b += k[1]; + a += k[0]; + break; + case 11: + c += k[2] & 0xffffff; + b += k[1]; + a += k[0]; + break; + case 10: + c += k[2] & 0xffff; + b += k[1]; + a += k[0]; + break; + case 9: + c += k[2] & 0xff; + b += k[1]; + a += k[0]; + break; + case 8: + b += k[1]; + a += k[0]; + break; + case 7: + b += k[1] & 0xffffff; + a += k[0]; + break; + case 6: + b += k[1] & 0xffff; + a += k[0]; + break; + case 5: + b += k[1] & 0xff; + a += k[0]; + break; + case 4: + a += k[0]; + break; + case 3: + a += k[0] & 0xffffff; + break; + case 2: + a += k[0] & 0xffff; + break; + case 1: + a += k[0] & 0xff; + break; + case 0: + *pc = c; + *pb = b; + return; /* zero length strings require no mixing */ + } + +#else /* make valgrind happy */ + + k8 = (const uint8_t *) k; + switch (length) { + case 12: + c += k[2]; + b += k[1]; + a += k[0]; + break; + case 11: + c += ((uint32_t) k8[10]) << 16; /* fall through */ + case 10: + c += ((uint32_t) k8[9]) << 8; /* fall through */ + case 9: + c += k8[8]; /* fall through */ + case 8: + b += k[1]; + a += k[0]; + break; + case 7: + b += ((uint32_t) k8[6]) << 16; /* fall through */ + case 6: + b += ((uint32_t) k8[5]) << 8; /* fall through */ + case 5: + b += k8[4]; /* fall through */ + case 4: + a += k[0]; + break; + case 3: + a += ((uint32_t) k8[2]) << 16; /* fall through */ + case 2: + a += ((uint32_t) k8[1]) << 8; /* fall through */ + case 1: + a += k8[0]; + break; + case 0: + *pc = c; + *pb = b; + return; /* zero length strings require no mixing */ + } + +#endif /* !valgrind */ + + } else if (HASH_LITTLE_ENDIAN && ((u.i & 0x1) == 0)) { + const uint16_t *k = (const uint16_t *) key; /* read 16-bit chunks */ + const uint8_t *k8; + + /*--------------- all but last block: aligned reads and different mixing */ + while (length > 12) { + a += k[0] + (((uint32_t) k[1]) << 16); + b += k[2] + (((uint32_t) k[3]) << 16); + c += k[4] + (((uint32_t) k[5]) << 16); + mix(a, b, c); + length -= 12; + k += 6; + } + + /*----------------------------- handle the last (probably partial) block */ + k8 = (const uint8_t *) k; + switch (length) { + case 12: + c += k[4] + (((uint32_t) k[5]) << 16); + b += k[2] + (((uint32_t) k[3]) << 16); + a += k[0] + (((uint32_t) k[1]) << 16); + break; + case 11: + c += ((uint32_t) k8[10]) << 16; /* fall through */ + case 10: + c += k[4]; + b += k[2] + (((uint32_t) k[3]) << 16); + a += k[0] + (((uint32_t) k[1]) << 16); + break; + case 9: + c += k8[8]; /* fall through */ + case 8: + b += k[2] + (((uint32_t) k[3]) << 16); + a += k[0] + (((uint32_t) k[1]) << 16); + break; + case 7: + b += ((uint32_t) k8[6]) << 16; /* fall through */ + case 6: + b += k[2]; + a += k[0] + (((uint32_t) k[1]) << 16); + break; + case 5: + b += k8[4]; /* fall through */ + case 4: + a += k[0] + (((uint32_t) k[1]) << 16); + break; + case 3: + a += ((uint32_t) k8[2]) << 16; /* fall through */ + case 2: + a += k[0]; + break; + case 1: + a += k8[0]; + break; + case 0: + *pc = c; + *pb = b; + return; /* zero length strings require no mixing */ + } + + } else { /* need to read the key one byte at a time */ + const uint8_t *k = (const uint8_t *) key; + + /*--------------- all but the last block: affect some 32 bits of (a,b,c) */ + while (length > 12) { + a += k[0]; + a += ((uint32_t) k[1]) << 8; + a += ((uint32_t) k[2]) << 16; + a += ((uint32_t) k[3]) << 24; + b += k[4]; + b += ((uint32_t) k[5]) << 8; + b += ((uint32_t) k[6]) << 16; + b += ((uint32_t) k[7]) << 24; + c += k[8]; + c += ((uint32_t) k[9]) << 8; + c += ((uint32_t) k[10]) << 16; + c += ((uint32_t) k[11]) << 24; + mix(a, b, c); + length -= 12; + k += 12; + } + + /*-------------------------------- last block: affect all 32 bits of (c) */ + switch (length) { /* all the case statements fall through */ + case 12: + c += ((uint32_t) k[11]) << 24; + case 11: + c += ((uint32_t) k[10]) << 16; + case 10: + c += ((uint32_t) k[9]) << 8; + case 9: + c += k[8]; + case 8: + b += ((uint32_t) k[7]) << 24; + case 7: + b += ((uint32_t) k[6]) << 16; + case 6: + b += ((uint32_t) k[5]) << 8; + case 5: + b += k[4]; + case 4: + a += ((uint32_t) k[3]) << 24; + case 3: + a += ((uint32_t) k[2]) << 16; + case 2: + a += ((uint32_t) k[1]) << 8; + case 1: + a += k[0]; + break; + case 0: + *pc = c; + *pb = b; + return; /* zero length strings require no mixing */ + } + } + + final(a, b, c); + *pc = c; + *pb = b; +} + + + +/* + * hashbig(): + * This is the same as hashword() on big-endian machines. It is different + * from hashlittle() on all machines. hashbig() takes advantage of + * big-endian byte ordering. + */ +uint32_t +hashbig(const void *key, size_t length, uint32_t initval) +{ + uint32_t a, b, c; + union + { + const void *ptr; + size_t i; + } u; /* to cast key to (size_t) happily */ + + /* Set up the internal state */ + a = b = c = 0xdeadbeef + ((uint32_t) length) + initval; + + u.ptr = key; + if (HASH_BIG_ENDIAN && ((u.i & 0x3) == 0)) { + const uint32_t *k = (const uint32_t *) key; /* read 32-bit chunks */ +#ifdef VALGRIND + const uint8_t *k8; +#endif + + /*------ all but last block: aligned reads and affect 32 bits of (a,b,c) */ + while (length > 12) { + a += k[0]; + b += k[1]; + c += k[2]; + mix(a, b, c); + length -= 12; + k += 3; + } + + /*----------------------------- handle the last (probably partial) block */ + /* + * "k[2]<<8" actually reads beyond the end of the string, but + * then shifts out the part it's not allowed to read. Because the + * string is aligned, the illegal read is in the same word as the + * rest of the string. Every machine with memory protection I've seen + * does it on word boundaries, so is OK with this. But VALGRIND will + * still catch it and complain. The masking trick does make the hash + * noticably faster for short strings (like English words). + */ +#ifndef VALGRIND + + switch (length) { + case 12: + c += k[2]; + b += k[1]; + a += k[0]; + break; + case 11: + c += k[2] & 0xffffff00; + b += k[1]; + a += k[0]; + break; + case 10: + c += k[2] & 0xffff0000; + b += k[1]; + a += k[0]; + break; + case 9: + c += k[2] & 0xff000000; + b += k[1]; + a += k[0]; + break; + case 8: + b += k[1]; + a += k[0]; + break; + case 7: + b += k[1] & 0xffffff00; + a += k[0]; + break; + case 6: + b += k[1] & 0xffff0000; + a += k[0]; + break; + case 5: + b += k[1] & 0xff000000; + a += k[0]; + break; + case 4: + a += k[0]; + break; + case 3: + a += k[0] & 0xffffff00; + break; + case 2: + a += k[0] & 0xffff0000; + break; + case 1: + a += k[0] & 0xff000000; + break; + case 0: + return c; /* zero length strings require no mixing */ + } + +#else /* make valgrind happy */ + + k8 = (const uint8_t *) k; + switch (length) { /* all the case statements fall through */ + case 12: + c += k[2]; + b += k[1]; + a += k[0]; + break; + case 11: + c += ((uint32_t) k8[10]) << 8; /* fall through */ + case 10: + c += ((uint32_t) k8[9]) << 16; /* fall through */ + case 9: + c += ((uint32_t) k8[8]) << 24; /* fall through */ + case 8: + b += k[1]; + a += k[0]; + break; + case 7: + b += ((uint32_t) k8[6]) << 8; /* fall through */ + case 6: + b += ((uint32_t) k8[5]) << 16; /* fall through */ + case 5: + b += ((uint32_t) k8[4]) << 24; /* fall through */ + case 4: + a += k[0]; + break; + case 3: + a += ((uint32_t) k8[2]) << 8; /* fall through */ + case 2: + a += ((uint32_t) k8[1]) << 16; /* fall through */ + case 1: + a += ((uint32_t) k8[0]) << 24; + break; + case 0: + return c; + } + +#endif /* !VALGRIND */ + + } else { /* need to read the key one byte at a time */ + const uint8_t *k = (const uint8_t *) key; + + /*--------------- all but the last block: affect some 32 bits of (a,b,c) */ + while (length > 12) { + a += ((uint32_t) k[0]) << 24; + a += ((uint32_t) k[1]) << 16; + a += ((uint32_t) k[2]) << 8; + a += ((uint32_t) k[3]); + b += ((uint32_t) k[4]) << 24; + b += ((uint32_t) k[5]) << 16; + b += ((uint32_t) k[6]) << 8; + b += ((uint32_t) k[7]); + c += ((uint32_t) k[8]) << 24; + c += ((uint32_t) k[9]) << 16; + c += ((uint32_t) k[10]) << 8; + c += ((uint32_t) k[11]); + mix(a, b, c); + length -= 12; + k += 12; + } + + /*-------------------------------- last block: affect all 32 bits of (c) */ + switch (length) { /* all the case statements fall through */ + case 12: + c += k[11]; + case 11: + c += ((uint32_t) k[10]) << 8; + case 10: + c += ((uint32_t) k[9]) << 16; + case 9: + c += ((uint32_t) k[8]) << 24; + case 8: + b += k[7]; + case 7: + b += ((uint32_t) k[6]) << 8; + case 6: + b += ((uint32_t) k[5]) << 16; + case 5: + b += ((uint32_t) k[4]) << 24; + case 4: + a += k[3]; + case 3: + a += ((uint32_t) k[2]) << 8; + case 2: + a += ((uint32_t) k[1]) << 16; + case 1: + a += ((uint32_t) k[0]) << 24; + break; + case 0: + return c; + } + } + + final(a, b, c); + return c; +} + + +#if SELF_TEST + +/* used for timings */ +void +driver1() +{ + uint8_t buf[256]; + uint32_t i; + uint32_t h = 0; + time_t a, z; + + time(&a); + for (i = 0; i < 256; ++i) + buf[i] = 'x'; + for (i = 0; i < 1; ++i) { + h = hashlittle(&buf[0], 1, h); + } + time(&z); + if (z - a > 0) + printf("time %d %.8x\n", z - a, h); +} + +/* check that every input bit changes every output bit half the time */ +#define HASHSTATE 1 +#define HASHLEN 1 +#define MAXPAIR 60 +#define MAXLEN 70 +void +driver2() +{ + uint8_t qa[MAXLEN + 1], qb[MAXLEN + 2], *a = &qa[0], *b = &qb[1]; + uint32_t c[HASHSTATE], d[HASHSTATE], i = 0, j = 0, k, l, m = 0, z; + uint32_t e[HASHSTATE], f[HASHSTATE], g[HASHSTATE], h[HASHSTATE]; + uint32_t x[HASHSTATE], y[HASHSTATE]; + uint32_t hlen; + + printf("No more than %d trials should ever be needed \n", MAXPAIR / 2); + for (hlen = 0; hlen < MAXLEN; ++hlen) { + z = 0; + for (i = 0; i < hlen; ++i) { +/*----------------------- for each input byte, */ + for (j = 0; j < 8; ++j) { +/*------------------------ for each input bit, */ + for (m = 1; m < 8; ++m) { +/*------------ for serveral possible initvals, */ + for (l = 0; l < HASHSTATE; ++l) + e[l] = f[l] = g[l] = h[l] = x[l] = y[l] = ~((uint32_t) 0); + + /*---- check that every output bit is affected by that input bit */ + for (k = 0; k < MAXPAIR; k += 2) { + uint32_t finished = 1; + /* keys have one bit different */ + for (l = 0; l < hlen + 1; ++l) { + a[l] = b[l] = (uint8_t) 0; + } + /* have a and b be two keys differing in only one bit */ + a[i] ^= (k << j); + a[i] ^= (k >> (8 - j)); + c[0] = hashlittle(a, hlen, m); + b[i] ^= ((k + 1) << j); + b[i] ^= ((k + 1) >> (8 - j)); + d[0] = hashlittle(b, hlen, m); + /* check every bit is 1, 0, set, and not set at least once */ + for (l = 0; l < HASHSTATE; ++l) { + e[l] &= (c[l] ^ d[l]); + f[l] &= ~(c[l] ^ d[l]); + g[l] &= c[l]; + h[l] &= ~c[l]; + x[l] &= d[l]; + y[l] &= ~d[l]; + if (e[l] | f[l] | g[l] | h[l] | x[l] | y[l]) + finished = 0; + } + if (finished) + break; + } + if (k > z) + z = k; + if (k == MAXPAIR) { + printf("Some bit didn't change: "); + printf("%.8x %.8x %.8x %.8x %.8x %.8x ", e[0], f[0], g[0], h[0], x[0], y[0]); + printf("i %d j %d m %d len %d\n", i, j, m, hlen); + } + if (z == MAXPAIR) + goto done; + } + } + } + done: + if (z < MAXPAIR) { + printf("Mix success %2d bytes %2d initvals ", i, m); + printf("required %d trials\n", z / 2); + } + } + printf("\n"); +} + +/* Check for reading beyond the end of the buffer and alignment problems */ +void +driver3() +{ + uint8_t buf[MAXLEN + 20], *b; + uint32_t len; + uint8_t q[] = "This is the time for all good men to come to the aid of their country..."; + uint32_t h; + uint8_t qq[] = "xThis is the time for all good men to come to the aid of their country..."; + uint32_t i; + uint8_t qqq[] = "xxThis is the time for all good men to come to the aid of their country..."; + uint32_t j; + uint8_t qqqq[] = "xxxThis is the time for all good men to come to the aid of their country..."; + uint32_t ref, x, y; + uint8_t *p; + + printf("Endianness. These lines should all be the same (for values filled in):\n"); + printf("%.8x %.8x %.8x\n", + hashword((const uint32_t *) q, (sizeof(q) - 1) / 4, 13), + hashword((const uint32_t *) q, (sizeof(q) - 5) / 4, 13), + hashword((const uint32_t *) q, (sizeof(q) - 9) / 4, 13)); + p = q; + printf("%.8x %.8x %.8x %.8x %.8x %.8x %.8x %.8x %.8x %.8x %.8x %.8x\n", + hashlittle(p, sizeof(q) - 1, 13), hashlittle(p, sizeof(q) - 2, 13), + hashlittle(p, sizeof(q) - 3, 13), hashlittle(p, sizeof(q) - 4, 13), + hashlittle(p, sizeof(q) - 5, 13), hashlittle(p, sizeof(q) - 6, 13), + hashlittle(p, sizeof(q) - 7, 13), hashlittle(p, sizeof(q) - 8, 13), + hashlittle(p, sizeof(q) - 9, 13), hashlittle(p, sizeof(q) - 10, 13), + hashlittle(p, sizeof(q) - 11, 13), hashlittle(p, sizeof(q) - 12, 13)); + p = &qq[1]; + printf("%.8x %.8x %.8x %.8x %.8x %.8x %.8x %.8x %.8x %.8x %.8x %.8x\n", + hashlittle(p, sizeof(q) - 1, 13), hashlittle(p, sizeof(q) - 2, 13), + hashlittle(p, sizeof(q) - 3, 13), hashlittle(p, sizeof(q) - 4, 13), + hashlittle(p, sizeof(q) - 5, 13), hashlittle(p, sizeof(q) - 6, 13), + hashlittle(p, sizeof(q) - 7, 13), hashlittle(p, sizeof(q) - 8, 13), + hashlittle(p, sizeof(q) - 9, 13), hashlittle(p, sizeof(q) - 10, 13), + hashlittle(p, sizeof(q) - 11, 13), hashlittle(p, sizeof(q) - 12, 13)); + p = &qqq[2]; + printf("%.8x %.8x %.8x %.8x %.8x %.8x %.8x %.8x %.8x %.8x %.8x %.8x\n", + hashlittle(p, sizeof(q) - 1, 13), hashlittle(p, sizeof(q) - 2, 13), + hashlittle(p, sizeof(q) - 3, 13), hashlittle(p, sizeof(q) - 4, 13), + hashlittle(p, sizeof(q) - 5, 13), hashlittle(p, sizeof(q) - 6, 13), + hashlittle(p, sizeof(q) - 7, 13), hashlittle(p, sizeof(q) - 8, 13), + hashlittle(p, sizeof(q) - 9, 13), hashlittle(p, sizeof(q) - 10, 13), + hashlittle(p, sizeof(q) - 11, 13), hashlittle(p, sizeof(q) - 12, 13)); + p = &qqqq[3]; + printf("%.8x %.8x %.8x %.8x %.8x %.8x %.8x %.8x %.8x %.8x %.8x %.8x\n", + hashlittle(p, sizeof(q) - 1, 13), hashlittle(p, sizeof(q) - 2, 13), + hashlittle(p, sizeof(q) - 3, 13), hashlittle(p, sizeof(q) - 4, 13), + hashlittle(p, sizeof(q) - 5, 13), hashlittle(p, sizeof(q) - 6, 13), + hashlittle(p, sizeof(q) - 7, 13), hashlittle(p, sizeof(q) - 8, 13), + hashlittle(p, sizeof(q) - 9, 13), hashlittle(p, sizeof(q) - 10, 13), + hashlittle(p, sizeof(q) - 11, 13), hashlittle(p, sizeof(q) - 12, 13)); + printf("\n"); + + /* check that hashlittle2 and hashlittle produce the same results */ + i = 47; + j = 0; + hashlittle2(q, sizeof(q), &i, &j); + if (hashlittle(q, sizeof(q), 47) != i) + printf("hashlittle2 and hashlittle mismatch\n"); + + /* check that hashword2 and hashword produce the same results */ + len = 0xdeadbeef; + i = 47, j = 0; + hashword2(&len, 1, &i, &j); + if (hashword(&len, 1, 47) != i) + printf("hashword2 and hashword mismatch %x %x\n", i, hashword(&len, 1, 47)); + + /* check hashlittle doesn't read before or after the ends of the string */ + for (h = 0, b = buf + 1; h < 8; ++h, ++b) { + for (i = 0; i < MAXLEN; ++i) { + len = i; + for (j = 0; j < i; ++j) + *(b + j) = 0; + + /* these should all be equal */ + ref = hashlittle(b, len, (uint32_t) 1); + *(b + i) = (uint8_t) ~ 0; + *(b - 1) = (uint8_t) ~ 0; + x = hashlittle(b, len, (uint32_t) 1); + y = hashlittle(b, len, (uint32_t) 1); + if ((ref != x) || (ref != y)) { + printf("alignment error: %.8x %.8x %.8x %d %d\n", ref, x, y, h, i); + } + } + } +} + +/* check for problems with nulls */ +void +driver4() +{ + uint8_t buf[1]; + uint32_t h, i, state[HASHSTATE]; + + + buf[0] = ~0; + for (i = 0; i < HASHSTATE; ++i) + state[i] = 1; + printf("These should all be different\n"); + for (i = 0, h = 0; i < 8; ++i) { + h = hashlittle(buf, 0, h); + printf("%2d 0-byte strings, hash is %.8x\n", i, h); + } +} + + +int +main() +{ + driver1(); /* test that the key is hashed: used for timings */ + driver2(); /* test that whole key is hashed thoroughly */ + driver3(); /* test that nothing but the key is hashed */ + driver4(); /* test hashing multiple buffers (all buffers are null) */ + return 1; +} + +#endif /* SELF_TEST */ diff --git a/src/hashtbl.h b/src/hashtbl.h index 6243b09..d049ca5 100644 --- a/src/hashtbl.h +++ b/src/hashtbl.h @@ -67,4 +67,13 @@ void hash_remove(const void* key, hashtbl* tbl); void hash_free(hashtbl* tbl); void hash_destroy(hashtbl* tbl); +/* + * found in lookup3.c + */ +#include +#include +extern uint32_t hashlittle(const void* key, size_t length, uint32_t initval); +extern uint32_t hashbig(const void* key, size_t length, uint32_t initval); +extern uint32_t hashword(const uint32_t* k, size_t length, uint32_t initval); + #endif // __dnscap_hashtbl_h diff --git a/src/iaddr.c b/src/iaddr.c index 43f0b8f..bbe47be 100644 --- a/src/iaddr.c +++ b/src/iaddr.c @@ -66,3 +66,16 @@ int ia_equal(iaddr x, iaddr y) } return FALSE; } + +int ia_equalp(iaddr* x, iaddr* y) +{ + if (x->af != y->af) + return FALSE; + switch (x->af) { + case AF_INET: + return (x->u.a4.s_addr == y->u.a4.s_addr); + case AF_INET6: + return (memcmp(&x->u.a6.s6_addr, &y->u.a6.s6_addr, sizeof(x->u.a6.s6_addr)) == 0); + } + return FALSE; +} diff --git a/src/iaddr.h b/src/iaddr.h index ea27049..452ca14 100644 --- a/src/iaddr.h +++ b/src/iaddr.h @@ -39,5 +39,6 @@ const char* ia_str(iaddr ia); int ia_equal(iaddr x, iaddr y); +int ia_equalp(iaddr* x, iaddr* y); #endif /* __dnscap_iaddr_h */ diff --git a/src/network.c b/src/network.c index 6dc3dfc..9fc1f00 100644 --- a/src/network.c +++ b/src/network.c @@ -517,7 +517,7 @@ _match_rr(const ldns_rr_list* rrs, char** reason, int* negmatch, int* match, ldn /* Look at each RR in the section (or each QNAME in the question section). */ myregex_ptr myregex; - size_t i, n; + size_t i, n; for (i = 0, n = ldns_rr_list_rr_count(rrs); i < n; i++) { ldns_rr* rr = ldns_rr_list_rr(rrs, i); if (!rr) { @@ -536,7 +536,7 @@ _match_rr(const ldns_rr_list* rrs, char** reason, int* negmatch, int* match, ldn myregex = NEXT(myregex, link)) { if (regexec(&myregex->reg, (char*)ldns_buffer_begin(buf), 0, NULL, 0) == 0) { - if (myregex->not) + if (myregex->not ) (*negmatch)++; else (*match)++; @@ -571,7 +571,7 @@ _filter_by_qname(const ldns_pkt* lpkt, char** reason) */ myregex_ptr myregex; for (myregex = HEAD(myregexes); myregex != NULL; myregex = NEXT(myregex, link)) { - if (myregex->not) { + if (myregex->not ) { negmatch = 0; } else { match = 0; @@ -609,15 +609,15 @@ _filter_by_qname(const ldns_pkt* lpkt, char** reason) void network_pkt2(const char* descr, my_bpftimeval ts, const pcap_thread_packet_t* packet, const u_char* payload, size_t length) { - u_char pkt_copy[SNAPLEN], *pkt = pkt_copy; - const u_char* dnspkt = 0; - unsigned proto, sport, dport; - iaddr from, to, initiator, responder; - int response, m; - unsigned flags = DNSCAP_OUTPUT_ISLAYER; - tcpstate_ptr tcpstate = NULL; - size_t len, dnslen = 0; - HEADER dns; + u_char pkt_copy[SNAPLEN], *pkt = pkt_copy; + u_char* dnspkt = 0; + unsigned proto, sport, dport; + iaddr from, to, initiator, responder; + int response, m; + unsigned flags = DNSCAP_OUTPUT_ISLAYER; + tcpstate_ptr tcpstate = NULL; + size_t len, dnslen = 0; + HEADER dns; /* Make a writable copy of the packet and use that copy from now on. */ if (length > SNAPLEN) @@ -664,8 +664,8 @@ void network_pkt2(const char* descr, my_bpftimeval ts, const pcap_thread_packet_ proto = IPPROTO_UDP; sport = packet->udphdr.uh_sport; dport = packet->udphdr.uh_dport; - dnspkt = payload; - dnslen = length; + dnspkt = pkt; + dnslen = len; flags |= DNSCAP_OUTPUT_ISDNS; } else if (packet->have_tcphdr) { uint32_t seq = packet->tcphdr.th_seq; @@ -730,14 +730,7 @@ void network_pkt2(const char* descr, my_bpftimeval ts, const pcap_thread_packet_ _curr_tcpstate = 0; /* End of stream; deallocate the tcpstate. */ - if (tcpstate) { - UNLINK(tcpstates, tcpstate, link); - if (tcpstate->reasm) { - tcpreasm_free(tcpstate->reasm); - } - free(tcpstate); - tcpstate_count--; - } + tcpstate_free(tcpstate); return; } if (packet->tcphdr.th_flags & TH_SYN) { @@ -1084,7 +1077,7 @@ void network_pkt(const char* descr, my_bpftimeval ts, unsigned pf, const u_char* opkt, size_t olen) { u_char pkt_copy[SNAPLEN], *pkt = pkt_copy; - const u_char* dnspkt = 0; + u_char* dnspkt = 0; unsigned proto, sport, dport; iaddr from, to, initiator, responder; struct ip6_hdr* ipv6; @@ -1314,14 +1307,7 @@ void network_pkt(const char* descr, my_bpftimeval ts, unsigned pf, pkt_copy, olen, NULL, 0); _curr_tcpstate = 0; /* End of stream; deallocate the tcpstate. */ - if (tcpstate) { - UNLINK(tcpstates, tcpstate, link); - if (tcpstate->reasm) { - tcpreasm_free(tcpstate->reasm); - } - free(tcpstate); - tcpstate_count--; - } + tcpstate_free(tcpstate); goto network_pkt_end; } if (tcp->th_flags & TH_SYN) { @@ -1448,8 +1434,8 @@ void network_pkt(const char* descr, my_bpftimeval ts, unsigned pf, tcpstate->lastdns = seq + tcpstate->dnslen; } else if (seqdiff == 0 && len > 2) { /* This is the first segment of the stream, and - * contains the dnslen and dns header, so we can - * filter on it. */ + * contains the dnslen and dns header, so we can + * filter on it. */ if (dumptrace >= 3) fprintf(stderr, "len+hdr\n"); dnslen = tcpstate->dnslen = (pkt[0] << 8) | (pkt[1] << 0); @@ -1461,7 +1447,7 @@ void network_pkt(const char* descr, my_bpftimeval ts, unsigned pf, tcpstate->lastdns = seq + 2 + tcpstate->dnslen; } else if (seqdiff == 0 && len == 2) { /* This is the first segment of the stream, but only - * contains the dnslen. */ + * contains the dnslen. */ if (dumptrace >= 3) fprintf(stderr, "len\n"); tcpstate->dnslen = (pkt[0] << 8) | (pkt[1] << 0); @@ -1478,7 +1464,7 @@ void network_pkt(const char* descr, my_bpftimeval ts, unsigned pf, goto network_pkt_end; } else if (seqdiff == 2) { /* This is not the first segment, but it does contain - * the first dns header, so we can filter on it. */ + * the first dns header, so we can filter on it. */ if (dumptrace >= 3) fprintf(stderr, "hdr\n"); tcpstate->maxdiff = seqdiff + (uint32_t)len; diff --git a/src/tcpreasm.c b/src/tcpreasm.c index e3df539..7dc82fa 100644 --- a/src/tcpreasm.c +++ b/src/tcpreasm.c @@ -104,7 +104,7 @@ static int dns_protocol_handler(tcpreasm_t* t, u_char* segment, uint16_t dnslen, } t->bfb_buf[t->bfb_at++] = dnslen >> 8; - t->bfb_buf[t->bfb_at++] = dnslen & 0xff; //NOSONAR + t->bfb_buf[t->bfb_at++] = dnslen & 0xff; // NOSONAR memcpy(&t->bfb_buf[t->bfb_at], segment, dnslen); t->bfb_at += dnslen; t->seq_bfb += 2 + dnslen; diff --git a/src/tcpstate.c b/src/tcpstate.c index 5bc3840..b11c701 100644 --- a/src/tcpstate.c +++ b/src/tcpstate.c @@ -38,11 +38,18 @@ #include "iaddr.h" #include "log.h" #include "tcpreasm.h" +#include "hashtbl.h" + +#ifndef s6_addr32 +#define s6_addr32 __u6_addr.__u6_addr32 +#endif #define MAX_TCP_IDLE_TIME 600 #define MAX_TCP_IDLE_COUNT 4096 #define TCP_GC_TIME 60 +static hashtbl* _hash = 0; + tcpstate_ptr tcpstate_find(iaddr from, iaddr to, unsigned sport, unsigned dport, time_t t) { static time_t next_gc = 0; @@ -59,12 +66,15 @@ tcpstate_ptr tcpstate_find(iaddr from, iaddr to, unsigned sport, unsigned dport, } #endif - for (tcpstate = HEAD(tcpstates); - tcpstate != NULL; - tcpstate = NEXT(tcpstate, link)) { - if (ia_equal(tcpstate->saddr, from) && ia_equal(tcpstate->daddr, to) && tcpstate->sport == sport && tcpstate->dport == dport) - break; - } + tcpstate_key key = { + .saddr = &from, + .daddr = &to, + .sport = sport, + .dport = dport + }; + + tcpstate = hash_find(&key, _hash); + if (tcpstate != NULL) { tcpstate->last_use = t; if (tcpstate != HEAD(tcpstates)) { @@ -77,10 +87,47 @@ tcpstate_ptr tcpstate_find(iaddr from, iaddr to, unsigned sport, unsigned dport, return tcpstate; } +unsigned int tcpstate_hash(const tcpstate_key* key) +{ + uint32_t h = 0; + + switch (key->saddr->af) { + case AF_INET: + h = hashword(&key->saddr->u.a4.s_addr, 1, h); + break; + case AF_INET6: + h = hashword(key->saddr->u.a6.s6_addr32, 4, h); + break; + } + + switch (key->daddr->af) { + case AF_INET: + h = hashword(&key->daddr->u.a4.s_addr, 1, h); + break; + case AF_INET6: + h = hashword(key->daddr->u.a6.s6_addr32, 4, h); + break; + } + + uint32_t p = (key->sport << 16) | (key->dport & 0xffff); + return hashword(&p, 1, h); +} + +int tcpstate_cmp(const tcpstate_key* a, const tcpstate_key* b) +{ + if (ia_equalp(a->saddr, b->saddr) && ia_equalp(a->daddr, b->daddr) && a->sport == b->sport && a->dport == b->dport) + return 0; + return 1; +} + tcpstate_ptr _curr_tcpstate = 0; tcpstate_ptr tcpstate_new(iaddr from, iaddr to, unsigned sport, unsigned dport) { + if (!_hash) { + _hash = hash_create(65535, (hashkey_func)tcpstate_hash, (hashkeycmp_func)tcpstate_cmp, 0); + assert(_hash); + } tcpstate_ptr tcpstate = calloc(1, sizeof *tcpstate); if (tcpstate == NULL) { /* Out of memory; recycle the least recently used */ @@ -95,6 +142,7 @@ tcpstate_ptr tcpstate_new(iaddr from, iaddr to, unsigned sport, unsigned dport) if (_curr_tcpstate == tcpstate) { _curr_tcpstate = 0; } + hash_remove(&tcpstate->key, _hash); memset(tcpstate, 0, sizeof(*tcpstate)); } else { tcpstate_count++; @@ -105,6 +153,13 @@ tcpstate_ptr tcpstate_new(iaddr from, iaddr to, unsigned sport, unsigned dport) tcpstate->dport = dport; INIT_LINK(tcpstate, link); PREPEND(tcpstates, tcpstate, link); + + tcpstate->key.saddr = &tcpstate->saddr; + tcpstate->key.daddr = &tcpstate->daddr; + tcpstate->key.sport = sport; + tcpstate->key.dport = dport; + hash_add(&tcpstate->key, tcpstate, _hash); + return tcpstate; } @@ -124,6 +179,7 @@ void tcpstate_discard(tcpstate_ptr tcpstate, const char* msg) if (tcpstate->reasm) { tcpreasm_free(tcpstate->reasm); } + hash_remove(&tcpstate->key, _hash); free(tcpstate); if (_curr_tcpstate == tcpstate) { _curr_tcpstate = 0; @@ -149,3 +205,19 @@ void tcpstate_reset(tcpstate_ptr tcpstate, const char* msg) } } } + +void tcpstate_free(tcpstate_ptr tcpstate) +{ + if (tcpstate) { + UNLINK(tcpstates, tcpstate, link); + if (tcpstate->reasm) { + tcpreasm_free(tcpstate->reasm); + } + hash_remove(&tcpstate->key, _hash); + free(tcpstate); + if (_curr_tcpstate == tcpstate) { + _curr_tcpstate = 0; + } + tcpstate_count--; + } +} \ No newline at end of file diff --git a/src/tcpstate.h b/src/tcpstate.h index 1191f9d..2f77ddb 100644 --- a/src/tcpstate.h +++ b/src/tcpstate.h @@ -42,5 +42,6 @@ tcpstate_ptr tcpstate_new(iaddr from, iaddr to, unsigned sport, unsigned dport); void tcpstate_discard(tcpstate_ptr tcpstate, const char* msg); tcpstate_ptr tcpstate_getcurr(void); void tcpstate_reset(tcpstate_ptr tcpstate, const char* msg); +void tcpstate_free(tcpstate_ptr tcpstate); #endif /* __dnscap_tcpstate_h */ diff --git a/src/test/Makefile.am b/src/test/Makefile.am index 85611fb..1918400 100644 --- a/src/test/Makefile.am +++ b/src/test/Makefile.am @@ -1,10 +1,9 @@ MAINTAINERCLEANFILES = $(srcdir)/Makefile.in CLEANFILES = test*.log test*.trs \ - *.pcap-dist \ dns.out \ no-layers.out layers.out \ - frags.out \ + frags.out frags.gold \ padding-no-layers.out padding-layers.out \ vlan11.out \ dnspad.out \ @@ -16,46 +15,12 @@ CLEANFILES = test*.log test*.trs \ test12.out test12.20161020.152301.075993.gz \ test13.out \ test14.out \ - test_regex_match.out + test_regex_match.out \ + edns.out TESTS = test1.sh test2.sh test3.sh test4.sh test5.sh test6.sh test7.sh \ test8.sh test9.sh test10.sh test11.sh test12.sh test13.sh test14.sh \ - test_regex_match.sh - -test1.sh: dns.pcap-dist - -test2.sh: dns.pcap-dist - -test3.sh: frags.pcap-dist - -test4.sh: 1qtcppadd.pcap-dist - -test5.sh: vlan11.pcap-dist - -test6.sh: dnspad.pcap-dist - -test7.sh: 1qtcpnosyn.pcap-dist dnso1tcp.pcap-dist \ - do1t-nosyn-1nolen.pcap-dist dnso1tcp-midmiss.pcap-dist - -test8.sh: dnsotcp-many1pkt.pcap-dist dnsotcp-manyopkts.pcap-dist \ - dnso1tcp-bighole.pcap-dist - -test9.sh: dns.pcap-dist - -test10.sh: dns6.pcap-dist - -test11.sh: dns.pcap-dist - -test12.sh: dns.pcap-dist - -test13.sh: dns.pcap-dist - -test14.sh: dns.pcap-dist - -test_regex_match.sh: dns.pcap-dist - -.pcap.pcap-dist: - cp "$<" "$@" + test_regex_match.sh test_edns.sh EXTRA_DIST = $(TESTS) \ dns.gold dns.pcap \ @@ -70,4 +35,5 @@ EXTRA_DIST = $(TESTS) \ test9.gold \ dns6.pcap test10.gold \ test14.gold \ - test_regex_match.gold + test_regex_match.gold \ + edns.pcap edns.gold diff --git a/src/test/Makefile.in b/src/test/Makefile.in index 10676e0..1aff4ee 100644 --- a/src/test/Makefile.in +++ b/src/test/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.1 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2018 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -308,6 +308,7 @@ am__set_TESTS_bases = \ bases='$(TEST_LOGS)'; \ bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ bases=`echo $$bases` +AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' RECHECK_LOGS = $(TEST_LOGS) AM_RECURSIVE_TARGETS = check recheck TEST_SUITE_LOG = test-suite.log @@ -345,6 +346,8 @@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ @@ -355,6 +358,7 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GREP = @GREP@ @@ -462,10 +466,9 @@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ MAINTAINERCLEANFILES = $(srcdir)/Makefile.in CLEANFILES = test*.log test*.trs \ - *.pcap-dist \ dns.out \ no-layers.out layers.out \ - frags.out \ + frags.out frags.gold \ padding-no-layers.out padding-layers.out \ vlan11.out \ dnspad.out \ @@ -477,11 +480,12 @@ CLEANFILES = test*.log test*.trs \ test12.out test12.20161020.152301.075993.gz \ test13.out \ test14.out \ - test_regex_match.out + test_regex_match.out \ + edns.out TESTS = test1.sh test2.sh test3.sh test4.sh test5.sh test6.sh test7.sh \ test8.sh test9.sh test10.sh test11.sh test12.sh test13.sh test14.sh \ - test_regex_match.sh + test_regex_match.sh test_edns.sh EXTRA_DIST = $(TESTS) \ dns.gold dns.pcap \ @@ -496,12 +500,13 @@ EXTRA_DIST = $(TESTS) \ test9.gold \ dns6.pcap test10.gold \ test14.gold \ - test_regex_match.gold + test_regex_match.gold \ + edns.pcap edns.gold all: all-am .SUFFIXES: -.SUFFIXES: .log .pcap .pcap-dist .test .test$(EXEEXT) .trs +.SUFFIXES: .log .test .test$(EXEEXT) .trs $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ @@ -652,7 +657,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS) test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ fi; \ echo "$${col}$$br$${std}"; \ - echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ + echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ echo "$${col}$$br$${std}"; \ create_testsuite_report --maybe-color; \ echo "$$col$$br$$std"; \ @@ -791,6 +796,13 @@ test_regex_match.sh.log: test_regex_match.sh --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) +test_edns.sh.log: test_edns.sh + @p='test_edns.sh'; \ + b='test_edns.sh'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) .test.log: @p='$<'; \ $(am__set_b); \ @@ -805,7 +817,6 @@ test_regex_match.sh.log: test_regex_match.sh @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) - distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am @@ -967,41 +978,6 @@ uninstall-am: .PRECIOUS: Makefile -test1.sh: dns.pcap-dist - -test2.sh: dns.pcap-dist - -test3.sh: frags.pcap-dist - -test4.sh: 1qtcppadd.pcap-dist - -test5.sh: vlan11.pcap-dist - -test6.sh: dnspad.pcap-dist - -test7.sh: 1qtcpnosyn.pcap-dist dnso1tcp.pcap-dist \ - do1t-nosyn-1nolen.pcap-dist dnso1tcp-midmiss.pcap-dist - -test8.sh: dnsotcp-many1pkt.pcap-dist dnsotcp-manyopkts.pcap-dist \ - dnso1tcp-bighole.pcap-dist - -test9.sh: dns.pcap-dist - -test10.sh: dns6.pcap-dist - -test11.sh: dns.pcap-dist - -test12.sh: dns.pcap-dist - -test13.sh: dns.pcap-dist - -test14.sh: dns.pcap-dist - -test_regex_match.sh: dns.pcap-dist - -.pcap.pcap-dist: - cp "$<" "$@" - # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: diff --git a/src/test/dns.gold b/src/test/dns.gold index b1cdd8f..170f2c3 100644 --- a/src/test/dns.gold +++ b/src/test/dns.gold @@ -1,8 +1,8 @@ -[56] 2016-10-20 15:23:01.075993 [#0 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:23:01.075993 [#0 dns.pcap 4095] \ [172.17.0.10].53199 [8.8.8.8].53 \ dns QUERY,NOERROR,59311,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:23:01.077982 [#1 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:23:01.077982 [#1 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].53199 \ dns QUERY,NOERROR,59311,qr|rd|ra \ 1 google.com.,IN,A \ @@ -15,11 +15,11 @@ ns1.google.com.,IN,A,331882,216.239.32.10 \ ns3.google.com.,IN,A,157880,216.239.36.10 \ ns4.google.com.,IN,A,157880,216.239.38.10 -[73] 2016-10-20 15:23:01.082865 [#2 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:23:01.082865 [#2 dns.pcap 4095] \ [172.17.0.10].57822 [8.8.8.8].53 \ dns QUERY,NOERROR,35665,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:23:01.084107 [#3 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:23:01.084107 [#3 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].57822 \ dns QUERY,NOERROR,35665,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -33,11 +33,11 @@ ns3.google.com.,IN,A,157880,216.239.36.10 \ ns4.google.com.,IN,A,157880,216.239.38.10 \ ns2.google.com.,IN,A,157880,216.239.34.10 -[56] 2016-10-20 15:23:01.087291 [#4 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:23:01.087291 [#4 dns.pcap 4095] \ [172.17.0.10].40043 [8.8.8.8].53 \ dns QUERY,NOERROR,5337,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:23:01.088733 [#5 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:23:01.088733 [#5 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].40043 \ dns QUERY,NOERROR,5337,qr|rd|ra \ 1 google.com.,IN,A \ @@ -50,11 +50,11 @@ ns1.google.com.,IN,A,331882,216.239.32.10 \ ns3.google.com.,IN,A,157880,216.239.36.10 \ ns4.google.com.,IN,A,157880,216.239.38.10 -[56] 2016-10-20 15:23:10.322117 [#6 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:23:10.322117 [#6 dns.pcap 4095] \ [172.17.0.10].37953 [8.8.8.8].53 \ dns QUERY,NOERROR,22982,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:23:10.323399 [#7 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:23:10.323399 [#7 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].37953 \ dns QUERY,NOERROR,22982,qr|rd|ra \ 1 google.com.,IN,A \ @@ -67,11 +67,11 @@ ns1.google.com.,IN,A,331872,216.239.32.10 \ ns3.google.com.,IN,A,157870,216.239.36.10 \ ns4.google.com.,IN,A,157870,216.239.38.10 -[73] 2016-10-20 15:23:10.328324 [#8 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:23:10.328324 [#8 dns.pcap 4095] \ [172.17.0.10].48658 [8.8.8.8].53 \ dns QUERY,NOERROR,18718,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:23:10.329572 [#9 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:23:10.329572 [#9 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].48658 \ dns QUERY,NOERROR,18718,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -85,11 +85,11 @@ ns3.google.com.,IN,A,157870,216.239.36.10 \ ns4.google.com.,IN,A,157870,216.239.38.10 \ ns2.google.com.,IN,A,157870,216.239.34.10 -[56] 2016-10-20 15:23:52.860937 [#10 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:23:52.860937 [#10 dns.pcap 4095] \ [172.17.0.10].40953 [8.8.8.8].53 \ dns QUERY,NOERROR,22531,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:23:52.863771 [#11 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:23:52.863771 [#11 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].40953 \ dns QUERY,NOERROR,22531,qr|rd|ra \ 1 google.com.,IN,A \ @@ -102,11 +102,11 @@ ns1.google.com.,IN,A,331830,216.239.32.10 \ ns3.google.com.,IN,A,157828,216.239.36.10 \ ns4.google.com.,IN,A,157828,216.239.38.10 -[56] 2016-10-20 15:23:59.083869 [#12 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:23:59.083869 [#12 dns.pcap 4095] \ [172.17.0.10].45174 [8.8.8.8].53 \ dns QUERY,NOERROR,58510,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:23:59.086104 [#13 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:23:59.086104 [#13 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].45174 \ dns QUERY,NOERROR,58510,qr|rd|ra \ 1 google.com.,IN,A \ @@ -119,11 +119,11 @@ ns1.google.com.,IN,A,331824,216.239.32.10 \ ns3.google.com.,IN,A,157822,216.239.36.10 \ ns4.google.com.,IN,A,157822,216.239.38.10 -[73] 2016-10-20 15:23:59.090911 [#14 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:23:59.090911 [#14 dns.pcap 4095] \ [172.17.0.10].33916 [8.8.8.8].53 \ dns QUERY,NOERROR,45248,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:23:59.092204 [#15 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:23:59.092204 [#15 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].33916 \ dns QUERY,NOERROR,45248,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -137,11 +137,11 @@ ns3.google.com.,IN,A,157822,216.239.36.10 \ ns4.google.com.,IN,A,157822,216.239.38.10 \ ns2.google.com.,IN,A,157822,216.239.34.10 -[56] 2016-10-20 15:24:04.323868 [#16 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:04.323868 [#16 dns.pcap 4095] \ [172.17.0.10].43559 [8.8.8.8].53 \ dns QUERY,NOERROR,49483,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:04.325597 [#17 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:04.325597 [#17 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].43559 \ dns QUERY,NOERROR,49483,qr|rd|ra \ 1 google.com.,IN,A \ @@ -154,11 +154,11 @@ ns1.google.com.,IN,A,331818,216.239.32.10 \ ns3.google.com.,IN,A,157816,216.239.36.10 \ ns4.google.com.,IN,A,157816,216.239.38.10 -[56] 2016-10-20 15:24:06.332239 [#18 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:06.332239 [#18 dns.pcap 4095] \ [172.17.0.10].54859 [8.8.8.8].53 \ dns QUERY,NOERROR,31669,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:06.333743 [#19 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:06.333743 [#19 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].54859 \ dns QUERY,NOERROR,31669,qr|rd|ra \ 1 google.com.,IN,A \ @@ -171,11 +171,11 @@ ns1.google.com.,IN,A,331816,216.239.32.10 \ ns3.google.com.,IN,A,157814,216.239.36.10 \ ns4.google.com.,IN,A,157814,216.239.38.10 -[73] 2016-10-20 15:24:06.339145 [#20 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:06.339145 [#20 dns.pcap 4095] \ [172.17.0.10].58176 [8.8.8.8].53 \ dns QUERY,NOERROR,25433,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:06.340820 [#21 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:06.340820 [#21 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].58176 \ dns QUERY,NOERROR,25433,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -189,11 +189,11 @@ ns3.google.com.,IN,A,157814,216.239.36.10 \ ns4.google.com.,IN,A,157814,216.239.38.10 \ ns2.google.com.,IN,A,157814,216.239.34.10 -[56] 2016-10-20 15:24:07.346429 [#22 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:07.346429 [#22 dns.pcap 4095] \ [172.17.0.10].41266 [8.8.8.8].53 \ dns QUERY,NOERROR,63798,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:07.348160 [#23 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:07.348160 [#23 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].41266 \ dns QUERY,NOERROR,63798,qr|rd|ra \ 1 google.com.,IN,A \ @@ -206,11 +206,11 @@ ns1.google.com.,IN,A,331815,216.239.32.10 \ ns3.google.com.,IN,A,157813,216.239.36.10 \ ns4.google.com.,IN,A,157813,216.239.38.10 -[73] 2016-10-20 15:24:07.353123 [#24 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:07.353123 [#24 dns.pcap 4095] \ [172.17.0.10].34607 [8.8.8.8].53 \ dns QUERY,NOERROR,8470,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:07.354682 [#25 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:07.354682 [#25 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].34607 \ dns QUERY,NOERROR,8470,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -224,11 +224,11 @@ ns3.google.com.,IN,A,157813,216.239.36.10 \ ns4.google.com.,IN,A,157813,216.239.38.10 \ ns2.google.com.,IN,A,157813,216.239.34.10 -[56] 2016-10-20 15:24:08.360528 [#26 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:08.360528 [#26 dns.pcap 4095] \ [172.17.0.10].60437 [8.8.8.8].53 \ dns QUERY,NOERROR,60258,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:08.362206 [#27 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:08.362206 [#27 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].60437 \ dns QUERY,NOERROR,60258,qr|rd|ra \ 1 google.com.,IN,A \ @@ -241,11 +241,11 @@ ns1.google.com.,IN,A,331814,216.239.32.10 \ ns3.google.com.,IN,A,157812,216.239.36.10 \ ns4.google.com.,IN,A,157812,216.239.38.10 -[73] 2016-10-20 15:24:08.368516 [#28 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:08.368516 [#28 dns.pcap 4095] \ [172.17.0.10].37149 [8.8.8.8].53 \ dns QUERY,NOERROR,44985,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:08.370119 [#29 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:08.370119 [#29 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].37149 \ dns QUERY,NOERROR,44985,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -259,11 +259,11 @@ ns3.google.com.,IN,A,157812,216.239.36.10 \ ns4.google.com.,IN,A,157812,216.239.38.10 \ ns2.google.com.,IN,A,157812,216.239.34.10 -[56] 2016-10-20 15:24:09.375942 [#30 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:09.375942 [#30 dns.pcap 4095] \ [172.17.0.10].53820 [8.8.8.8].53 \ dns QUERY,NOERROR,45512,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:09.378425 [#31 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:09.378425 [#31 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].53820 \ dns QUERY,NOERROR,45512,qr|rd|ra \ 1 google.com.,IN,A \ @@ -276,11 +276,11 @@ ns1.google.com.,IN,A,331813,216.239.32.10 \ ns3.google.com.,IN,A,157811,216.239.36.10 \ ns4.google.com.,IN,A,157811,216.239.38.10 -[73] 2016-10-20 15:24:09.384057 [#32 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:09.384057 [#32 dns.pcap 4095] \ [172.17.0.10].52368 [8.8.8.8].53 \ dns QUERY,NOERROR,22980,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:09.385463 [#33 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:09.385463 [#33 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].52368 \ dns QUERY,NOERROR,22980,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -294,11 +294,11 @@ ns3.google.com.,IN,A,157811,216.239.36.10 \ ns4.google.com.,IN,A,157811,216.239.38.10 \ ns2.google.com.,IN,A,157811,216.239.34.10 -[56] 2016-10-20 15:24:10.391358 [#34 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:10.391358 [#34 dns.pcap 4095] \ [172.17.0.10].47637 [8.8.8.8].53 \ dns QUERY,NOERROR,1834,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:10.392886 [#35 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:10.392886 [#35 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].47637 \ dns QUERY,NOERROR,1834,qr|rd|ra \ 1 google.com.,IN,A \ @@ -311,11 +311,11 @@ ns1.google.com.,IN,A,331812,216.239.32.10 \ ns3.google.com.,IN,A,157810,216.239.36.10 \ ns4.google.com.,IN,A,157810,216.239.38.10 -[73] 2016-10-20 15:24:10.398099 [#36 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:10.398099 [#36 dns.pcap 4095] \ [172.17.0.10].34426 [8.8.8.8].53 \ dns QUERY,NOERROR,25431,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:10.400317 [#37 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:10.400317 [#37 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].34426 \ dns QUERY,NOERROR,25431,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -329,11 +329,11 @@ ns3.google.com.,IN,A,157810,216.239.36.10 \ ns4.google.com.,IN,A,157810,216.239.38.10 \ ns2.google.com.,IN,A,157810,216.239.34.10 -[56] 2016-10-20 15:24:11.406297 [#38 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:11.406297 [#38 dns.pcap 4095] \ [172.17.0.10].41059 [8.8.8.8].53 \ dns QUERY,NOERROR,48432,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:11.407460 [#39 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:11.407460 [#39 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].41059 \ dns QUERY,NOERROR,48432,qr|rd|ra \ 1 google.com.,IN,A \ @@ -346,11 +346,11 @@ ns1.google.com.,IN,A,331811,216.239.32.10 \ ns3.google.com.,IN,A,157809,216.239.36.10 \ ns4.google.com.,IN,A,157809,216.239.38.10 -[73] 2016-10-20 15:24:11.412133 [#40 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:11.412133 [#40 dns.pcap 4095] \ [172.17.0.10].51181 [8.8.8.8].53 \ dns QUERY,NOERROR,47411,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:11.413370 [#41 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:11.413370 [#41 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].51181 \ dns QUERY,NOERROR,47411,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -364,11 +364,11 @@ ns3.google.com.,IN,A,157809,216.239.36.10 \ ns4.google.com.,IN,A,157809,216.239.38.10 \ ns2.google.com.,IN,A,157809,216.239.34.10 -[56] 2016-10-20 15:24:12.419936 [#42 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:12.419936 [#42 dns.pcap 4095] \ [172.17.0.10].32976 [8.8.8.8].53 \ dns QUERY,NOERROR,12038,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:12.421228 [#43 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:12.421228 [#43 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].32976 \ dns QUERY,NOERROR,12038,qr|rd|ra \ 1 google.com.,IN,A \ @@ -381,11 +381,11 @@ ns1.google.com.,IN,A,331810,216.239.32.10 \ ns3.google.com.,IN,A,157808,216.239.36.10 \ ns4.google.com.,IN,A,157808,216.239.38.10 -[56] 2016-10-20 15:24:14.428524 [#44 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:14.428524 [#44 dns.pcap 4095] \ [172.17.0.10].53467 [8.8.8.8].53 \ dns QUERY,NOERROR,11614,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:14.429863 [#45 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:14.429863 [#45 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].53467 \ dns QUERY,NOERROR,11614,qr|rd|ra \ 1 google.com.,IN,A \ @@ -398,11 +398,11 @@ ns1.google.com.,IN,A,331808,216.239.32.10 \ ns3.google.com.,IN,A,157806,216.239.36.10 \ ns4.google.com.,IN,A,157806,216.239.38.10 -[56] 2016-10-20 15:24:16.435733 [#46 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:16.435733 [#46 dns.pcap 4095] \ [172.17.0.10].41532 [8.8.8.8].53 \ dns QUERY,NOERROR,59173,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:16.437471 [#47 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:16.437471 [#47 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].41532 \ dns QUERY,NOERROR,59173,qr|rd|ra \ 1 google.com.,IN,A \ @@ -415,11 +415,11 @@ ns1.google.com.,IN,A,331806,216.239.32.10 \ ns3.google.com.,IN,A,157804,216.239.36.10 \ ns4.google.com.,IN,A,157804,216.239.38.10 -[56] 2016-10-20 15:24:18.445519 [#48 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:18.445519 [#48 dns.pcap 4095] \ [172.17.0.10].44982 [8.8.8.8].53 \ dns QUERY,NOERROR,45535,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:18.446775 [#49 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:18.446775 [#49 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].44982 \ dns QUERY,NOERROR,45535,qr|rd|ra \ 1 google.com.,IN,A \ @@ -432,11 +432,11 @@ ns1.google.com.,IN,A,331804,216.239.32.10 \ ns3.google.com.,IN,A,157802,216.239.36.10 \ ns4.google.com.,IN,A,157802,216.239.38.10 -[73] 2016-10-20 15:24:18.452451 [#50 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:18.452451 [#50 dns.pcap 4095] \ [172.17.0.10].40224 [8.8.8.8].53 \ dns QUERY,NOERROR,60808,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:18.454030 [#51 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:18.454030 [#51 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].40224 \ dns QUERY,NOERROR,60808,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -450,11 +450,11 @@ ns3.google.com.,IN,A,157802,216.239.36.10 \ ns4.google.com.,IN,A,157802,216.239.38.10 \ ns2.google.com.,IN,A,157802,216.239.34.10 -[56] 2016-10-20 15:24:19.460087 [#52 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:19.460087 [#52 dns.pcap 4095] \ [172.17.0.10].45658 [8.8.8.8].53 \ dns QUERY,NOERROR,64325,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:19.462224 [#53 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:19.462224 [#53 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].45658 \ dns QUERY,NOERROR,64325,qr|rd|ra \ 1 google.com.,IN,A \ @@ -467,11 +467,11 @@ ns1.google.com.,IN,A,331803,216.239.32.10 \ ns3.google.com.,IN,A,157801,216.239.36.10 \ ns4.google.com.,IN,A,157801,216.239.38.10 -[73] 2016-10-20 15:24:19.467324 [#54 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:19.467324 [#54 dns.pcap 4095] \ [172.17.0.10].60457 [8.8.8.8].53 \ dns QUERY,NOERROR,25543,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:19.468895 [#55 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:19.468895 [#55 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].60457 \ dns QUERY,NOERROR,25543,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -485,11 +485,11 @@ ns3.google.com.,IN,A,157801,216.239.36.10 \ ns4.google.com.,IN,A,157801,216.239.38.10 \ ns2.google.com.,IN,A,157801,216.239.34.10 -[56] 2016-10-20 15:24:20.475086 [#56 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:20.475086 [#56 dns.pcap 4095] \ [172.17.0.10].59762 [8.8.8.8].53 \ dns QUERY,NOERROR,20736,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:20.476841 [#57 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:20.476841 [#57 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].59762 \ dns QUERY,NOERROR,20736,qr|rd|ra \ 1 google.com.,IN,A \ @@ -502,11 +502,11 @@ ns1.google.com.,IN,A,331802,216.239.32.10 \ ns3.google.com.,IN,A,157800,216.239.36.10 \ ns4.google.com.,IN,A,157800,216.239.38.10 -[73] 2016-10-20 15:24:20.482188 [#58 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:20.482188 [#58 dns.pcap 4095] \ [172.17.0.10].56022 [8.8.8.8].53 \ dns QUERY,NOERROR,25911,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:20.483927 [#59 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:20.483927 [#59 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].56022 \ dns QUERY,NOERROR,25911,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -520,11 +520,11 @@ ns3.google.com.,IN,A,157800,216.239.36.10 \ ns4.google.com.,IN,A,157800,216.239.38.10 \ ns2.google.com.,IN,A,157800,216.239.34.10 -[56] 2016-10-20 15:24:21.489468 [#60 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:21.489468 [#60 dns.pcap 4095] \ [172.17.0.10].37669 [8.8.8.8].53 \ dns QUERY,NOERROR,64358,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:21.490573 [#61 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:21.490573 [#61 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].37669 \ dns QUERY,NOERROR,64358,qr|rd|ra \ 1 google.com.,IN,A \ @@ -537,11 +537,11 @@ ns1.google.com.,IN,A,331801,216.239.32.10 \ ns3.google.com.,IN,A,157799,216.239.36.10 \ ns4.google.com.,IN,A,157799,216.239.38.10 -[73] 2016-10-20 15:24:21.495324 [#62 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:21.495324 [#62 dns.pcap 4095] \ [172.17.0.10].42978 [8.8.8.8].53 \ dns QUERY,NOERROR,37698,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:21.496815 [#63 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:21.496815 [#63 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].42978 \ dns QUERY,NOERROR,37698,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -555,11 +555,11 @@ ns3.google.com.,IN,A,157799,216.239.36.10 \ ns4.google.com.,IN,A,157799,216.239.38.10 \ ns2.google.com.,IN,A,157799,216.239.34.10 -[56] 2016-10-20 15:24:22.502667 [#64 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:22.502667 [#64 dns.pcap 4095] \ [172.17.0.10].49829 [8.8.8.8].53 \ dns QUERY,NOERROR,54706,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:22.504738 [#65 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:22.504738 [#65 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].49829 \ dns QUERY,NOERROR,54706,qr|rd|ra \ 1 google.com.,IN,A \ @@ -572,11 +572,11 @@ ns1.google.com.,IN,A,331800,216.239.32.10 \ ns3.google.com.,IN,A,157798,216.239.36.10 \ ns4.google.com.,IN,A,157798,216.239.38.10 -[73] 2016-10-20 15:24:22.510176 [#66 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:22.510176 [#66 dns.pcap 4095] \ [172.17.0.10].50599 [8.8.8.8].53 \ dns QUERY,NOERROR,32142,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:22.511746 [#67 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:22.511746 [#67 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].50599 \ dns QUERY,NOERROR,32142,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -590,11 +590,11 @@ ns3.google.com.,IN,A,157798,216.239.36.10 \ ns4.google.com.,IN,A,157798,216.239.38.10 \ ns2.google.com.,IN,A,157798,216.239.34.10 -[56] 2016-10-20 15:24:23.520203 [#68 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:23.520203 [#68 dns.pcap 4095] \ [172.17.0.10].44980 [8.8.8.8].53 \ dns QUERY,NOERROR,41808,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:23.521976 [#69 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:23.521976 [#69 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].44980 \ dns QUERY,NOERROR,41808,qr|rd|ra \ 1 google.com.,IN,A \ @@ -607,11 +607,11 @@ ns1.google.com.,IN,A,331799,216.239.32.10 \ ns3.google.com.,IN,A,157797,216.239.36.10 \ ns4.google.com.,IN,A,157797,216.239.38.10 -[73] 2016-10-20 15:24:23.527449 [#70 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:23.527449 [#70 dns.pcap 4095] \ [172.17.0.10].60063 [8.8.8.8].53 \ dns QUERY,NOERROR,18886,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:23.529385 [#71 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:23.529385 [#71 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].60063 \ dns QUERY,NOERROR,18886,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -625,11 +625,11 @@ ns3.google.com.,IN,A,157797,216.239.36.10 \ ns4.google.com.,IN,A,157797,216.239.38.10 \ ns2.google.com.,IN,A,157797,216.239.34.10 -[56] 2016-10-20 15:24:24.537264 [#72 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:24.537264 [#72 dns.pcap 4095] \ [172.17.0.10].42042 [8.8.8.8].53 \ dns QUERY,NOERROR,10624,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:24.539398 [#73 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:24.539398 [#73 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].42042 \ dns QUERY,NOERROR,10624,qr|rd|ra \ 1 google.com.,IN,A \ @@ -642,11 +642,11 @@ ns1.google.com.,IN,A,331798,216.239.32.10 \ ns3.google.com.,IN,A,157796,216.239.36.10 \ ns4.google.com.,IN,A,157796,216.239.38.10 -[73] 2016-10-20 15:24:24.544538 [#74 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:24.544538 [#74 dns.pcap 4095] \ [172.17.0.10].60469 [8.8.8.8].53 \ dns QUERY,NOERROR,33139,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:24.546172 [#75 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:24.546172 [#75 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].60469 \ dns QUERY,NOERROR,33139,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -660,11 +660,11 @@ ns3.google.com.,IN,A,157796,216.239.36.10 \ ns4.google.com.,IN,A,157796,216.239.38.10 \ ns2.google.com.,IN,A,157796,216.239.34.10 -[56] 2016-10-20 15:24:25.554744 [#76 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:25.554744 [#76 dns.pcap 4095] \ [172.17.0.10].45703 [8.8.8.8].53 \ dns QUERY,NOERROR,61415,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:25.556513 [#77 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:25.556513 [#77 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].45703 \ dns QUERY,NOERROR,61415,qr|rd|ra \ 1 google.com.,IN,A \ @@ -677,11 +677,11 @@ ns1.google.com.,IN,A,331797,216.239.32.10 \ ns3.google.com.,IN,A,157795,216.239.36.10 \ ns4.google.com.,IN,A,157795,216.239.38.10 -[73] 2016-10-20 15:24:25.562608 [#78 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:25.562608 [#78 dns.pcap 4095] \ [172.17.0.10].33507 [8.8.8.8].53 \ dns QUERY,NOERROR,59258,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:25.564509 [#79 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:25.564509 [#79 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].33507 \ dns QUERY,NOERROR,59258,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -695,11 +695,11 @@ ns3.google.com.,IN,A,157795,216.239.36.10 \ ns4.google.com.,IN,A,157795,216.239.38.10 \ ns2.google.com.,IN,A,157795,216.239.34.10 -[56] 2016-10-20 15:24:26.572784 [#80 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:26.572784 [#80 dns.pcap 4095] \ [172.17.0.10].46798 [8.8.8.8].53 \ dns QUERY,NOERROR,17700,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:26.574350 [#81 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:26.574350 [#81 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].46798 \ dns QUERY,NOERROR,17700,qr|rd|ra \ 1 google.com.,IN,A \ diff --git a/src/test/dnspad.gold b/src/test/dnspad.gold index 8a5275a..82ae5fa 100644 --- a/src/test/dnspad.gold +++ b/src/test/dnspad.gold @@ -1,8 +1,8 @@ -[59] 2016-10-20 15:23:01.075993 [#0 dnspad.pcap-dist 4095] \ +[59] 2016-10-20 15:23:01.075993 [#0 dnspad.pcap 4095] \ [172.17.0.10].53199 [8.8.8.8].53 \ dns QUERY,NOERROR,59311,rd \ 1 google.com.,IN,A 0 0 0 -[59] 2016-10-20 15:23:01.075993 [#0 dnspad.pcap-dist 4095] \ +[59] 2016-10-20 15:23:01.075993 [#0 dnspad.pcap 4095] \ [172.17.0.10].53199 [8.8.8.8].53 \ dns QUERY,NOERROR,59311,rd \ 1 google.com.,IN,A 0 0 0 diff --git a/src/test/edns.gold b/src/test/edns.gold new file mode 100644 index 0000000..3e39ade --- /dev/null +++ b/src/test/edns.gold @@ -0,0 +1,123 @@ +[64] 2023-07-05 07:21:38.669836 [#0 edns.pcap 4095] \ + [172.17.0.6].58541 [172.17.0.1].53 \ + dns QUERY,NOERROR,31428,rd \ + 1 h.root-servers.net.,IN,A 0 0 0 +[64] 2023-07-05 07:21:38.669891 [#1 edns.pcap 4095] \ + [172.17.0.6].58541 [172.17.0.1].53 \ + dns QUERY,NOERROR,5824,rd \ + 1 h.root-servers.net.,IN,AAAA 0 0 0 +[80] 2023-07-05 07:21:38.669977 [#2 edns.pcap 4095] \ + [172.17.0.1].53 [172.17.0.6].58541 \ + dns QUERY,NOERROR,31428,qr|rd|ra \ + 1 h.root-servers.net.,IN,A \ + 1 h.root-servers.net.,IN,A,85098,198.97.190.53 0 0 +[92] 2023-07-05 07:21:38.670010 [#3 edns.pcap 4095] \ + [172.17.0.1].53 [172.17.0.6].58541 \ + dns QUERY,NOERROR,5824,qr|rd|ra \ + 1 h.root-servers.net.,IN,AAAA \ + 1 h.root-servers.net.,IN,AAAA,85098,2001:500:1::53 0 0 +[88] 2023-07-05 07:21:38.670793 [#4 edns.pcap 4095] \ + [172.17.0.6].33737 [198.97.190.53].53 \ + dns QUERY,NOERROR,56979,rd|ad \ + 1 ns1.dns.nic.aaa.,IN,NS 0 0 \ + 1 .,4096,4096,0,edns0[len=16,UDP=4096,ver=0,rcode=0,DO=0,z=0],edns0opt[code=3,codelen=0],edns0opt[code=10,codelen=8] +[464] 2023-07-05 07:21:38.698303 [#5 edns.pcap 4095] \ + [198.97.190.53].53 [172.17.0.6].33737 \ + dns QUERY,NOERROR,56979,qr|rd \ + 1 ns1.dns.nic.aaa.,IN,NS 0 \ + 6 aaa.,IN,NS,172800,a.nic.aaa. \ + aaa.,IN,NS,172800,b.nic.aaa. \ + aaa.,IN,NS,172800,c.nic.aaa. \ + aaa.,IN,NS,172800,ns1.dns.nic.aaa. \ + aaa.,IN,NS,172800,ns2.dns.nic.aaa. \ + aaa.,IN,NS,172800,ns3.dns.nic.aaa. \ + 13 a.nic.aaa.,IN,A,172800,37.209.192.9 \ + b.nic.aaa.,IN,A,172800,37.209.194.9 \ + c.nic.aaa.,IN,A,172800,37.209.196.9 \ + ns1.dns.nic.aaa.,IN,A,172800,156.154.144.2 \ + ns2.dns.nic.aaa.,IN,A,172800,156.154.145.2 \ + ns3.dns.nic.aaa.,IN,A,172800,156.154.159.2 \ + a.nic.aaa.,IN,AAAA,172800,2001:dcd:1::9 \ + b.nic.aaa.,IN,AAAA,172800,2001:dcd:2::9 \ + c.nic.aaa.,IN,AAAA,172800,2001:dcd:3::9 \ + ns1.dns.nic.aaa.,IN,AAAA,172800,2610:a1:1071::2 \ + ns2.dns.nic.aaa.,IN,AAAA,172800,2610:a1:1072::2 \ + ns3.dns.nic.aaa.,IN,AAAA,172800,2610:a1:1073::2 \ + .,1232,1232,0,edns0[len=30,UDP=1232,ver=0,rcode=0,DO=0,z=0],edns0opt[code=3,codelen=26] +[64] 2023-07-05 07:21:42.739334 [#6 edns.pcap 4095] \ + [172.17.0.6].53174 [172.17.0.1].53 \ + dns QUERY,NOERROR,48648,rd \ + 1 g.root-servers.net.,IN,A 0 0 0 +[64] 2023-07-05 07:21:42.739396 [#7 edns.pcap 4095] \ + [172.17.0.6].53174 [172.17.0.1].53 \ + dns QUERY,NOERROR,48141,rd \ + 1 g.root-servers.net.,IN,AAAA 0 0 0 +[80] 2023-07-05 07:21:42.739525 [#8 edns.pcap 4095] \ + [172.17.0.1].53 [172.17.0.6].53174 \ + dns QUERY,NOERROR,48648,qr|rd|ra \ + 1 g.root-servers.net.,IN,A \ + 1 g.root-servers.net.,IN,A,85094,192.112.36.4 0 0 +[92] 2023-07-05 07:21:42.739558 [#9 edns.pcap 4095] \ + [172.17.0.1].53 [172.17.0.6].53174 \ + dns QUERY,NOERROR,48141,qr|rd|ra \ + 1 g.root-servers.net.,IN,AAAA \ + 1 g.root-servers.net.,IN,AAAA,85094,2001:500:12::d0d 0 0 +[83] 2023-07-05 07:21:42.740590 [#10 edns.pcap 4095] \ + [172.17.0.6].50901 [192.112.36.4].53 \ + dns QUERY,NOERROR,35713,rd|ad \ + 1 net.,IN,A 0 0 \ + 1 .,4096,4096,0,edns0[len=23,UDP=4096,ver=0,rcode=0,DO=0,z=0],edns0opt[ECS,family=1,source=24,scope=0,addr=172.17.0.0],edns0opt[code=10,codelen=8] +[895] 2023-07-05 07:21:42.836816 [#11 edns.pcap 4095] \ + [192.112.36.4].53 [172.17.0.6].50901 \ + dns QUERY,NOERROR,35713,qr|rd \ + 1 net.,IN,A 0 \ + 13 net.,IN,NS,172800,j.gtld-servers.net. \ + net.,IN,NS,172800,b.gtld-servers.net. \ + net.,IN,NS,172800,a.gtld-servers.net. \ + net.,IN,NS,172800,h.gtld-servers.net. \ + net.,IN,NS,172800,d.gtld-servers.net. \ + net.,IN,NS,172800,c.gtld-servers.net. \ + net.,IN,NS,172800,i.gtld-servers.net. \ + net.,IN,NS,172800,e.gtld-servers.net. \ + net.,IN,NS,172800,m.gtld-servers.net. \ + net.,IN,NS,172800,f.gtld-servers.net. \ + net.,IN,NS,172800,k.gtld-servers.net. \ + net.,IN,NS,172800,l.gtld-servers.net. \ + net.,IN,NS,172800,g.gtld-servers.net. \ + 27 m.gtld-servers.net.,IN,A,172800,192.55.83.30 \ + l.gtld-servers.net.,IN,A,172800,192.41.162.30 \ + k.gtld-servers.net.,IN,A,172800,192.52.178.30 \ + j.gtld-servers.net.,IN,A,172800,192.48.79.30 \ + i.gtld-servers.net.,IN,A,172800,192.43.172.30 \ + h.gtld-servers.net.,IN,A,172800,192.54.112.30 \ + g.gtld-servers.net.,IN,A,172800,192.42.93.30 \ + f.gtld-servers.net.,IN,A,172800,192.35.51.30 \ + e.gtld-servers.net.,IN,A,172800,192.12.94.30 \ + d.gtld-servers.net.,IN,A,172800,192.31.80.30 \ + c.gtld-servers.net.,IN,A,172800,192.26.92.30 \ + b.gtld-servers.net.,IN,A,172800,192.33.14.30 \ + a.gtld-servers.net.,IN,A,172800,192.5.6.30 \ + m.gtld-servers.net.,IN,AAAA,172800,2001:501:b1f9::30 \ + l.gtld-servers.net.,IN,AAAA,172800,2001:500:d937::30 \ + k.gtld-servers.net.,IN,AAAA,172800,2001:503:d2d::30 \ + j.gtld-servers.net.,IN,AAAA,172800,2001:502:7094::30 \ + i.gtld-servers.net.,IN,AAAA,172800,2001:503:39c1::30 \ + h.gtld-servers.net.,IN,AAAA,172800,2001:502:8cc::30 \ + g.gtld-servers.net.,IN,AAAA,172800,2001:503:eea3::30 \ + f.gtld-servers.net.,IN,AAAA,172800,2001:503:d414::30 \ + e.gtld-servers.net.,IN,AAAA,172800,2001:502:1ca1::30 \ + d.gtld-servers.net.,IN,AAAA,172800,2001:500:856e::30 \ + c.gtld-servers.net.,IN,AAAA,172800,2001:503:83eb::30 \ + b.gtld-servers.net.,IN,AAAA,172800,2001:503:231d::2:30 \ + a.gtld-servers.net.,IN,AAAA,172800,2001:503:a83e::2:30 \ + .,1232,1232,0,edns0[len=39,UDP=1232,ver=0,rcode=0,DO=0,z=0],edns0opt[code=10,codelen=24],edns0opt[ECS,family=1,source=24,scope=0,addr=172.17.0.0] +[86] 2023-07-05 07:21:46.511502 [#12 edns.pcap 4095] \ + [172.17.0.6].35191 [1.1.1.1].53 \ + dns QUERY,NOERROR,960,rd|ad \ + 1 dnssec-failed.org.,IN,A 0 0 \ + 1 .,4096,4096,0,edns0[len=12,UDP=4096,ver=0,rcode=0,DO=0,z=0],edns0opt[code=10,codelen=8] +[131] 2023-07-05 07:21:46.518500 [#13 edns.pcap 4095] \ + [1.1.1.1].53 [172.17.0.6].35191 \ + dns QUERY,SERVFAIL,960,qr|rd|ra \ + 1 dnssec-failed.org.,IN,A 0 0 \ + 1 .,1232,1232,0,edns0[len=57,UDP=1232,ver=0,rcode=0,DO=0,z=0],edns0opt[code=15,codelen=53] diff --git a/src/test/edns.pcap b/src/test/edns.pcap new file mode 100644 index 0000000..1d4dd1f Binary files /dev/null and b/src/test/edns.pcap differ diff --git a/src/test/test1.sh b/src/test/test1.sh index 03142c9..deec4bf 100755 --- a/src/test/test1.sh +++ b/src/test/test1.sh @@ -1,6 +1,8 @@ #!/bin/sh -xe -../dnscap -g -r dns.pcap-dist 2>dns.out +test -e dns.pcap || ln -s "$srcdir/dns.pcap" dns.pcap + +../dnscap -g -r dns.pcap 2>dns.out mv dns.out dns.out.old grep -v "^libgcov profiling error:" dns.out.old > dns.out diff --git a/src/test/test10.gold b/src/test/test10.gold index 69f51ef..d03011b 100644 --- a/src/test/test10.gold +++ b/src/test/test10.gold @@ -1,20 +1,20 @@ -[87] 2018-11-27 15:52:00.414188 [#0 dns6.pcap-dist 4095] \ +[87] 2018-11-27 15:52:00.414188 [#0 dns6.pcap 4095] \ [2a01:3f0:0:57::245].51972 [2001:4860:4860::8888].53 \ dns QUERY,NOERROR,51420,rd|ad \ 1 google.com.,IN,A 0 0 \ 1 .,4096,4096,0,edns0[len=0,UDP=4096,ver=0,rcode=0,DO=0,z=0] -[103] 2018-11-27 15:52:00.428453 [#1 dns6.pcap-dist 4095] \ +[103] 2018-11-27 15:52:00.428453 [#1 dns6.pcap 4095] \ [2001:4860:4860::8888].53 [2a01:3f0:0:57::245].51972 \ dns QUERY,NOERROR,51420,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,299,172.217.20.46 0 \ 1 .,512,512,0,edns0[len=0,UDP=512,ver=0,rcode=0,DO=0,z=0] -[87] 2018-11-27 15:52:00.414188 [#0 dns6.pcap-dist 4095] \ +[87] 2018-11-27 15:52:00.414188 [#0 dns6.pcap 4095] \ [2a01:3f0:0:57::245].51972 [2001:4860:4860::8888].53 \ dns QUERY,NOERROR,51420,rd|ad \ 1 google.com.,IN,A 0 0 \ 1 .,4096,4096,0,edns0[len=0,UDP=4096,ver=0,rcode=0,DO=0,z=0] -[103] 2018-11-27 15:52:00.428453 [#1 dns6.pcap-dist 4095] \ +[103] 2018-11-27 15:52:00.428453 [#1 dns6.pcap 4095] \ [2001:4860:4860::8888].53 [2a01:3f0:0:57::245].51972 \ dns QUERY,NOERROR,51420,qr|rd|ra \ 1 google.com.,IN,A \ diff --git a/src/test/test10.sh b/src/test/test10.sh index 2779cb0..81375ed 100755 --- a/src/test/test10.sh +++ b/src/test/test10.sh @@ -1,6 +1,8 @@ #!/bin/sh -xe -../dnscap -r dns6.pcap-dist -g 2>test10.out -../dnscap -r dns6.pcap-dist -o use_layers=yes -g 2>>test10.out +test -e dns6.pcap || ln -s "$srcdir/dns6.pcap" dns6.pcap + +../dnscap -r dns6.pcap -g 2>test10.out +../dnscap -r dns6.pcap -o use_layers=yes -g 2>>test10.out diff test10.out "$srcdir/test10.gold" diff --git a/src/test/test11.sh b/src/test/test11.sh index 7f58c89..d8f4d40 100755 --- a/src/test/test11.sh +++ b/src/test/test11.sh @@ -1,5 +1,7 @@ #!/bin/sh -xe +test -e dns.pcap || ln -s "$srcdir/dns.pcap" dns.pcap + ../dnscap -? ! ../dnscap -j @@ -42,13 +44,13 @@ fi ../dnscap -V -../dnscap -r dns.pcap-dist -g -ddddd -../dnscap -r dns.pcap-dist -x '.*' -X '.*' -g -ddddd +../dnscap -r dns.pcap -g -ddddd +../dnscap -r dns.pcap -x '.*' -X '.*' -g -ddddd -! ../dnscap -r dns.pcap-dist -i fake 2>test11.out +! ../dnscap -r dns.pcap -i fake 2>test11.out cat test11.out grep -qF -- "-i makes no sense after -r" test11.out -! ../dnscap -i fake -r dns.pcap-dist 2>test11.out +! ../dnscap -i fake -r dns.pcap 2>test11.out cat test11.out grep -qF -- "-r makes no sense after -i" test11.out diff --git a/src/test/test12.sh b/src/test/test12.sh index 76b0e01..9243ed9 100755 --- a/src/test/test12.sh +++ b/src/test/test12.sh @@ -1,6 +1,8 @@ #!/bin/sh -xe -if ! ../dnscap -g -r dns.pcap-dist -w test12 -W .gz 2>test12.out; then +test -e dns.pcap || ln -s "$srcdir/dns.pcap" dns.pcap + +if ! ../dnscap -g -r dns.pcap -w test12 -W .gz 2>test12.out; then grep -qF "gzip compression requested but not supported" test12.out && exit 0 exit 1 fi diff --git a/src/test/test13.sh b/src/test/test13.sh index 4749a92..4b8d523 100755 --- a/src/test/test13.sh +++ b/src/test/test13.sh @@ -2,6 +2,8 @@ test -f /etc/resolv.conf || exit 0 +test -e dns.pcap || ln -s "$srcdir/dns.pcap" dns.pcap + ! ../dnscap -a "fake_host-should+not/work" 2>test13.out cat test13.out grep -qF "invalid host address" test13.out @@ -9,20 +11,20 @@ grep -qF "invalid host address" test13.out if [ "`uname`" = "OpenBSD" ]; then # IPv6 addresses in BPF seems to segfault on OpenBSD and doing host and # not host throws generic pcap_compile error - ../dnscap -a 127.0.0.1 -r dns.pcap-dist -g -dddd - ../dnscap -z 127.0.0.1 -r dns.pcap-dist -g -dddd - ../dnscap -A 127.0.0.1 -r dns.pcap-dist -g -dddd - ../dnscap -Z 127.0.0.1 -r dns.pcap-dist -g -dddd - ../dnscap -Y 127.0.0.1 -r dns.pcap-dist -g -dddd + ../dnscap -a 127.0.0.1 -r dns.pcap -g -dddd + ../dnscap -z 127.0.0.1 -r dns.pcap -g -dddd + ../dnscap -A 127.0.0.1 -r dns.pcap -g -dddd + ../dnscap -Z 127.0.0.1 -r dns.pcap -g -dddd + ../dnscap -Y 127.0.0.1 -r dns.pcap -g -dddd else - ../dnscap -a 127.0.0.1 -a ::1 -r dns.pcap-dist -g -dddd - ../dnscap -z 127.0.0.1 -z ::1 -r dns.pcap-dist -g -dddd - ../dnscap -A 127.0.0.1 -A ::1 -r dns.pcap-dist -g -dddd - ../dnscap -Z 127.0.0.1 -Z ::1 -r dns.pcap-dist -g -dddd - ../dnscap -Y 127.0.0.1 -Y ::1 -r dns.pcap-dist -g -dddd + ../dnscap -a 127.0.0.1 -a ::1 -r dns.pcap -g -dddd + ../dnscap -z 127.0.0.1 -z ::1 -r dns.pcap -g -dddd + ../dnscap -A 127.0.0.1 -A ::1 -r dns.pcap -g -dddd + ../dnscap -Z 127.0.0.1 -Z ::1 -r dns.pcap -g -dddd + ../dnscap -Y 127.0.0.1 -Y ::1 -r dns.pcap -g -dddd fi if [ "$TEST_DNSCAP_WITH_NETWORK" = "1" ]; then - ../dnscap -a google.com -r dns.pcap-dist -g -dddd + ../dnscap -a google.com -r dns.pcap -g -dddd fi -../dnscap -Y 127.0.0.1 -r dns.pcap-dist -g -../dnscap -Y 8.8.8.8 -r dns.pcap-dist -g +../dnscap -Y 127.0.0.1 -r dns.pcap -g +../dnscap -Y 8.8.8.8 -r dns.pcap -g diff --git a/src/test/test14.gold b/src/test/test14.gold index fb342e2..183d042 100644 --- a/src/test/test14.gold +++ b/src/test/test14.gold @@ -1,9 +1,9 @@ -- only 1 -[56] 2016-10-20 15:23:01.075993 [#0 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:23:01.075993 [#0 dns.pcap 4095] \ [172.17.0.10].53199 [8.8.8.8].53 \ dns QUERY,NOERROR,59311,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:23:01.077982 [#1 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:23:01.077982 [#1 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].53199 \ dns QUERY,NOERROR,59311,qr|rd|ra \ 1 google.com.,IN,A \ @@ -16,11 +16,11 @@ ns1.google.com.,IN,A,331882,216.239.32.10 \ ns3.google.com.,IN,A,157880,216.239.36.10 \ ns4.google.com.,IN,A,157880,216.239.38.10 -[56] 2016-10-20 15:23:01.087291 [#2 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:23:01.087291 [#2 dns.pcap 4095] \ [172.17.0.10].40043 [8.8.8.8].53 \ dns QUERY,NOERROR,5337,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:23:01.088733 [#3 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:23:01.088733 [#3 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].40043 \ dns QUERY,NOERROR,5337,qr|rd|ra \ 1 google.com.,IN,A \ @@ -33,11 +33,11 @@ ns1.google.com.,IN,A,331882,216.239.32.10 \ ns3.google.com.,IN,A,157880,216.239.36.10 \ ns4.google.com.,IN,A,157880,216.239.38.10 -[56] 2016-10-20 15:23:10.322117 [#4 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:23:10.322117 [#4 dns.pcap 4095] \ [172.17.0.10].37953 [8.8.8.8].53 \ dns QUERY,NOERROR,22982,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:23:10.323399 [#5 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:23:10.323399 [#5 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].37953 \ dns QUERY,NOERROR,22982,qr|rd|ra \ 1 google.com.,IN,A \ @@ -50,11 +50,11 @@ ns1.google.com.,IN,A,331872,216.239.32.10 \ ns3.google.com.,IN,A,157870,216.239.36.10 \ ns4.google.com.,IN,A,157870,216.239.38.10 -[56] 2016-10-20 15:23:52.860937 [#6 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:23:52.860937 [#6 dns.pcap 4095] \ [172.17.0.10].40953 [8.8.8.8].53 \ dns QUERY,NOERROR,22531,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:23:52.863771 [#7 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:23:52.863771 [#7 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].40953 \ dns QUERY,NOERROR,22531,qr|rd|ra \ 1 google.com.,IN,A \ @@ -67,11 +67,11 @@ ns1.google.com.,IN,A,331830,216.239.32.10 \ ns3.google.com.,IN,A,157828,216.239.36.10 \ ns4.google.com.,IN,A,157828,216.239.38.10 -[56] 2016-10-20 15:23:59.083869 [#8 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:23:59.083869 [#8 dns.pcap 4095] \ [172.17.0.10].45174 [8.8.8.8].53 \ dns QUERY,NOERROR,58510,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:23:59.086104 [#9 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:23:59.086104 [#9 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].45174 \ dns QUERY,NOERROR,58510,qr|rd|ra \ 1 google.com.,IN,A \ @@ -84,11 +84,11 @@ ns1.google.com.,IN,A,331824,216.239.32.10 \ ns3.google.com.,IN,A,157822,216.239.36.10 \ ns4.google.com.,IN,A,157822,216.239.38.10 -[56] 2016-10-20 15:24:04.323868 [#10 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:04.323868 [#10 dns.pcap 4095] \ [172.17.0.10].43559 [8.8.8.8].53 \ dns QUERY,NOERROR,49483,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:04.325597 [#11 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:04.325597 [#11 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].43559 \ dns QUERY,NOERROR,49483,qr|rd|ra \ 1 google.com.,IN,A \ @@ -101,11 +101,11 @@ ns1.google.com.,IN,A,331818,216.239.32.10 \ ns3.google.com.,IN,A,157816,216.239.36.10 \ ns4.google.com.,IN,A,157816,216.239.38.10 -[56] 2016-10-20 15:24:06.332239 [#12 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:06.332239 [#12 dns.pcap 4095] \ [172.17.0.10].54859 [8.8.8.8].53 \ dns QUERY,NOERROR,31669,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:06.333743 [#13 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:06.333743 [#13 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].54859 \ dns QUERY,NOERROR,31669,qr|rd|ra \ 1 google.com.,IN,A \ @@ -118,11 +118,11 @@ ns1.google.com.,IN,A,331816,216.239.32.10 \ ns3.google.com.,IN,A,157814,216.239.36.10 \ ns4.google.com.,IN,A,157814,216.239.38.10 -[56] 2016-10-20 15:24:07.346429 [#14 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:07.346429 [#14 dns.pcap 4095] \ [172.17.0.10].41266 [8.8.8.8].53 \ dns QUERY,NOERROR,63798,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:07.348160 [#15 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:07.348160 [#15 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].41266 \ dns QUERY,NOERROR,63798,qr|rd|ra \ 1 google.com.,IN,A \ @@ -135,11 +135,11 @@ ns1.google.com.,IN,A,331815,216.239.32.10 \ ns3.google.com.,IN,A,157813,216.239.36.10 \ ns4.google.com.,IN,A,157813,216.239.38.10 -[56] 2016-10-20 15:24:08.360528 [#16 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:08.360528 [#16 dns.pcap 4095] \ [172.17.0.10].60437 [8.8.8.8].53 \ dns QUERY,NOERROR,60258,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:08.362206 [#17 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:08.362206 [#17 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].60437 \ dns QUERY,NOERROR,60258,qr|rd|ra \ 1 google.com.,IN,A \ @@ -152,11 +152,11 @@ ns1.google.com.,IN,A,331814,216.239.32.10 \ ns3.google.com.,IN,A,157812,216.239.36.10 \ ns4.google.com.,IN,A,157812,216.239.38.10 -[56] 2016-10-20 15:24:09.375942 [#18 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:09.375942 [#18 dns.pcap 4095] \ [172.17.0.10].53820 [8.8.8.8].53 \ dns QUERY,NOERROR,45512,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:09.378425 [#19 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:09.378425 [#19 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].53820 \ dns QUERY,NOERROR,45512,qr|rd|ra \ 1 google.com.,IN,A \ @@ -169,11 +169,11 @@ ns1.google.com.,IN,A,331813,216.239.32.10 \ ns3.google.com.,IN,A,157811,216.239.36.10 \ ns4.google.com.,IN,A,157811,216.239.38.10 -[56] 2016-10-20 15:24:10.391358 [#20 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:10.391358 [#20 dns.pcap 4095] \ [172.17.0.10].47637 [8.8.8.8].53 \ dns QUERY,NOERROR,1834,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:10.392886 [#21 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:10.392886 [#21 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].47637 \ dns QUERY,NOERROR,1834,qr|rd|ra \ 1 google.com.,IN,A \ @@ -186,11 +186,11 @@ ns1.google.com.,IN,A,331812,216.239.32.10 \ ns3.google.com.,IN,A,157810,216.239.36.10 \ ns4.google.com.,IN,A,157810,216.239.38.10 -[56] 2016-10-20 15:24:11.406297 [#22 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:11.406297 [#22 dns.pcap 4095] \ [172.17.0.10].41059 [8.8.8.8].53 \ dns QUERY,NOERROR,48432,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:11.407460 [#23 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:11.407460 [#23 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].41059 \ dns QUERY,NOERROR,48432,qr|rd|ra \ 1 google.com.,IN,A \ @@ -203,11 +203,11 @@ ns1.google.com.,IN,A,331811,216.239.32.10 \ ns3.google.com.,IN,A,157809,216.239.36.10 \ ns4.google.com.,IN,A,157809,216.239.38.10 -[56] 2016-10-20 15:24:12.419936 [#24 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:12.419936 [#24 dns.pcap 4095] \ [172.17.0.10].32976 [8.8.8.8].53 \ dns QUERY,NOERROR,12038,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:12.421228 [#25 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:12.421228 [#25 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].32976 \ dns QUERY,NOERROR,12038,qr|rd|ra \ 1 google.com.,IN,A \ @@ -220,11 +220,11 @@ ns1.google.com.,IN,A,331810,216.239.32.10 \ ns3.google.com.,IN,A,157808,216.239.36.10 \ ns4.google.com.,IN,A,157808,216.239.38.10 -[56] 2016-10-20 15:24:14.428524 [#26 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:14.428524 [#26 dns.pcap 4095] \ [172.17.0.10].53467 [8.8.8.8].53 \ dns QUERY,NOERROR,11614,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:14.429863 [#27 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:14.429863 [#27 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].53467 \ dns QUERY,NOERROR,11614,qr|rd|ra \ 1 google.com.,IN,A \ @@ -237,11 +237,11 @@ ns1.google.com.,IN,A,331808,216.239.32.10 \ ns3.google.com.,IN,A,157806,216.239.36.10 \ ns4.google.com.,IN,A,157806,216.239.38.10 -[56] 2016-10-20 15:24:16.435733 [#28 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:16.435733 [#28 dns.pcap 4095] \ [172.17.0.10].41532 [8.8.8.8].53 \ dns QUERY,NOERROR,59173,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:16.437471 [#29 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:16.437471 [#29 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].41532 \ dns QUERY,NOERROR,59173,qr|rd|ra \ 1 google.com.,IN,A \ @@ -254,11 +254,11 @@ ns1.google.com.,IN,A,331806,216.239.32.10 \ ns3.google.com.,IN,A,157804,216.239.36.10 \ ns4.google.com.,IN,A,157804,216.239.38.10 -[56] 2016-10-20 15:24:18.445519 [#30 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:18.445519 [#30 dns.pcap 4095] \ [172.17.0.10].44982 [8.8.8.8].53 \ dns QUERY,NOERROR,45535,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:18.446775 [#31 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:18.446775 [#31 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].44982 \ dns QUERY,NOERROR,45535,qr|rd|ra \ 1 google.com.,IN,A \ @@ -271,11 +271,11 @@ ns1.google.com.,IN,A,331804,216.239.32.10 \ ns3.google.com.,IN,A,157802,216.239.36.10 \ ns4.google.com.,IN,A,157802,216.239.38.10 -[56] 2016-10-20 15:24:19.460087 [#32 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:19.460087 [#32 dns.pcap 4095] \ [172.17.0.10].45658 [8.8.8.8].53 \ dns QUERY,NOERROR,64325,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:19.462224 [#33 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:19.462224 [#33 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].45658 \ dns QUERY,NOERROR,64325,qr|rd|ra \ 1 google.com.,IN,A \ @@ -288,11 +288,11 @@ ns1.google.com.,IN,A,331803,216.239.32.10 \ ns3.google.com.,IN,A,157801,216.239.36.10 \ ns4.google.com.,IN,A,157801,216.239.38.10 -[56] 2016-10-20 15:24:20.475086 [#34 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:20.475086 [#34 dns.pcap 4095] \ [172.17.0.10].59762 [8.8.8.8].53 \ dns QUERY,NOERROR,20736,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:20.476841 [#35 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:20.476841 [#35 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].59762 \ dns QUERY,NOERROR,20736,qr|rd|ra \ 1 google.com.,IN,A \ @@ -305,11 +305,11 @@ ns1.google.com.,IN,A,331802,216.239.32.10 \ ns3.google.com.,IN,A,157800,216.239.36.10 \ ns4.google.com.,IN,A,157800,216.239.38.10 -[56] 2016-10-20 15:24:21.489468 [#36 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:21.489468 [#36 dns.pcap 4095] \ [172.17.0.10].37669 [8.8.8.8].53 \ dns QUERY,NOERROR,64358,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:21.490573 [#37 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:21.490573 [#37 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].37669 \ dns QUERY,NOERROR,64358,qr|rd|ra \ 1 google.com.,IN,A \ @@ -322,11 +322,11 @@ ns1.google.com.,IN,A,331801,216.239.32.10 \ ns3.google.com.,IN,A,157799,216.239.36.10 \ ns4.google.com.,IN,A,157799,216.239.38.10 -[56] 2016-10-20 15:24:22.502667 [#38 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:22.502667 [#38 dns.pcap 4095] \ [172.17.0.10].49829 [8.8.8.8].53 \ dns QUERY,NOERROR,54706,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:22.504738 [#39 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:22.504738 [#39 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].49829 \ dns QUERY,NOERROR,54706,qr|rd|ra \ 1 google.com.,IN,A \ @@ -339,11 +339,11 @@ ns1.google.com.,IN,A,331800,216.239.32.10 \ ns3.google.com.,IN,A,157798,216.239.36.10 \ ns4.google.com.,IN,A,157798,216.239.38.10 -[56] 2016-10-20 15:24:23.520203 [#40 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:23.520203 [#40 dns.pcap 4095] \ [172.17.0.10].44980 [8.8.8.8].53 \ dns QUERY,NOERROR,41808,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:23.521976 [#41 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:23.521976 [#41 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].44980 \ dns QUERY,NOERROR,41808,qr|rd|ra \ 1 google.com.,IN,A \ @@ -356,11 +356,11 @@ ns1.google.com.,IN,A,331799,216.239.32.10 \ ns3.google.com.,IN,A,157797,216.239.36.10 \ ns4.google.com.,IN,A,157797,216.239.38.10 -[56] 2016-10-20 15:24:24.537264 [#42 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:24.537264 [#42 dns.pcap 4095] \ [172.17.0.10].42042 [8.8.8.8].53 \ dns QUERY,NOERROR,10624,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:24.539398 [#43 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:24.539398 [#43 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].42042 \ dns QUERY,NOERROR,10624,qr|rd|ra \ 1 google.com.,IN,A \ @@ -373,11 +373,11 @@ ns1.google.com.,IN,A,331798,216.239.32.10 \ ns3.google.com.,IN,A,157796,216.239.36.10 \ ns4.google.com.,IN,A,157796,216.239.38.10 -[56] 2016-10-20 15:24:25.554744 [#44 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:25.554744 [#44 dns.pcap 4095] \ [172.17.0.10].45703 [8.8.8.8].53 \ dns QUERY,NOERROR,61415,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:25.556513 [#45 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:25.556513 [#45 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].45703 \ dns QUERY,NOERROR,61415,qr|rd|ra \ 1 google.com.,IN,A \ @@ -390,11 +390,11 @@ ns1.google.com.,IN,A,331797,216.239.32.10 \ ns3.google.com.,IN,A,157795,216.239.36.10 \ ns4.google.com.,IN,A,157795,216.239.38.10 -[56] 2016-10-20 15:24:26.572784 [#46 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:26.572784 [#46 dns.pcap 4095] \ [172.17.0.10].46798 [8.8.8.8].53 \ dns QUERY,NOERROR,17700,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:26.574350 [#47 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:26.574350 [#47 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].46798 \ dns QUERY,NOERROR,17700,qr|rd|ra \ 1 google.com.,IN,A \ @@ -408,11 +408,11 @@ ns3.google.com.,IN,A,157794,216.239.36.10 \ ns4.google.com.,IN,A,157794,216.239.38.10 -- not 1 -[73] 2016-10-20 15:23:01.082865 [#0 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:23:01.082865 [#0 dns.pcap 4095] \ [172.17.0.10].57822 [8.8.8.8].53 \ dns QUERY,NOERROR,35665,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:23:01.084107 [#1 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:23:01.084107 [#1 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].57822 \ dns QUERY,NOERROR,35665,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -426,11 +426,11 @@ ns3.google.com.,IN,A,157880,216.239.36.10 \ ns4.google.com.,IN,A,157880,216.239.38.10 \ ns2.google.com.,IN,A,157880,216.239.34.10 -[73] 2016-10-20 15:23:10.328324 [#2 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:23:10.328324 [#2 dns.pcap 4095] \ [172.17.0.10].48658 [8.8.8.8].53 \ dns QUERY,NOERROR,18718,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:23:10.329572 [#3 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:23:10.329572 [#3 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].48658 \ dns QUERY,NOERROR,18718,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -444,11 +444,11 @@ ns3.google.com.,IN,A,157870,216.239.36.10 \ ns4.google.com.,IN,A,157870,216.239.38.10 \ ns2.google.com.,IN,A,157870,216.239.34.10 -[73] 2016-10-20 15:23:59.090911 [#4 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:23:59.090911 [#4 dns.pcap 4095] \ [172.17.0.10].33916 [8.8.8.8].53 \ dns QUERY,NOERROR,45248,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:23:59.092204 [#5 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:23:59.092204 [#5 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].33916 \ dns QUERY,NOERROR,45248,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -462,11 +462,11 @@ ns3.google.com.,IN,A,157822,216.239.36.10 \ ns4.google.com.,IN,A,157822,216.239.38.10 \ ns2.google.com.,IN,A,157822,216.239.34.10 -[73] 2016-10-20 15:24:06.339145 [#6 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:06.339145 [#6 dns.pcap 4095] \ [172.17.0.10].58176 [8.8.8.8].53 \ dns QUERY,NOERROR,25433,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:06.340820 [#7 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:06.340820 [#7 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].58176 \ dns QUERY,NOERROR,25433,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -480,11 +480,11 @@ ns3.google.com.,IN,A,157814,216.239.36.10 \ ns4.google.com.,IN,A,157814,216.239.38.10 \ ns2.google.com.,IN,A,157814,216.239.34.10 -[73] 2016-10-20 15:24:07.353123 [#8 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:07.353123 [#8 dns.pcap 4095] \ [172.17.0.10].34607 [8.8.8.8].53 \ dns QUERY,NOERROR,8470,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:07.354682 [#9 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:07.354682 [#9 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].34607 \ dns QUERY,NOERROR,8470,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -498,11 +498,11 @@ ns3.google.com.,IN,A,157813,216.239.36.10 \ ns4.google.com.,IN,A,157813,216.239.38.10 \ ns2.google.com.,IN,A,157813,216.239.34.10 -[73] 2016-10-20 15:24:08.368516 [#10 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:08.368516 [#10 dns.pcap 4095] \ [172.17.0.10].37149 [8.8.8.8].53 \ dns QUERY,NOERROR,44985,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:08.370119 [#11 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:08.370119 [#11 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].37149 \ dns QUERY,NOERROR,44985,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -516,11 +516,11 @@ ns3.google.com.,IN,A,157812,216.239.36.10 \ ns4.google.com.,IN,A,157812,216.239.38.10 \ ns2.google.com.,IN,A,157812,216.239.34.10 -[73] 2016-10-20 15:24:09.384057 [#12 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:09.384057 [#12 dns.pcap 4095] \ [172.17.0.10].52368 [8.8.8.8].53 \ dns QUERY,NOERROR,22980,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:09.385463 [#13 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:09.385463 [#13 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].52368 \ dns QUERY,NOERROR,22980,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -534,11 +534,11 @@ ns3.google.com.,IN,A,157811,216.239.36.10 \ ns4.google.com.,IN,A,157811,216.239.38.10 \ ns2.google.com.,IN,A,157811,216.239.34.10 -[73] 2016-10-20 15:24:10.398099 [#14 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:10.398099 [#14 dns.pcap 4095] \ [172.17.0.10].34426 [8.8.8.8].53 \ dns QUERY,NOERROR,25431,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:10.400317 [#15 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:10.400317 [#15 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].34426 \ dns QUERY,NOERROR,25431,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -552,11 +552,11 @@ ns3.google.com.,IN,A,157810,216.239.36.10 \ ns4.google.com.,IN,A,157810,216.239.38.10 \ ns2.google.com.,IN,A,157810,216.239.34.10 -[73] 2016-10-20 15:24:11.412133 [#16 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:11.412133 [#16 dns.pcap 4095] \ [172.17.0.10].51181 [8.8.8.8].53 \ dns QUERY,NOERROR,47411,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:11.413370 [#17 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:11.413370 [#17 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].51181 \ dns QUERY,NOERROR,47411,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -570,11 +570,11 @@ ns3.google.com.,IN,A,157809,216.239.36.10 \ ns4.google.com.,IN,A,157809,216.239.38.10 \ ns2.google.com.,IN,A,157809,216.239.34.10 -[73] 2016-10-20 15:24:18.452451 [#18 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:18.452451 [#18 dns.pcap 4095] \ [172.17.0.10].40224 [8.8.8.8].53 \ dns QUERY,NOERROR,60808,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:18.454030 [#19 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:18.454030 [#19 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].40224 \ dns QUERY,NOERROR,60808,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -588,11 +588,11 @@ ns3.google.com.,IN,A,157802,216.239.36.10 \ ns4.google.com.,IN,A,157802,216.239.38.10 \ ns2.google.com.,IN,A,157802,216.239.34.10 -[73] 2016-10-20 15:24:19.467324 [#20 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:19.467324 [#20 dns.pcap 4095] \ [172.17.0.10].60457 [8.8.8.8].53 \ dns QUERY,NOERROR,25543,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:19.468895 [#21 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:19.468895 [#21 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].60457 \ dns QUERY,NOERROR,25543,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -606,11 +606,11 @@ ns3.google.com.,IN,A,157801,216.239.36.10 \ ns4.google.com.,IN,A,157801,216.239.38.10 \ ns2.google.com.,IN,A,157801,216.239.34.10 -[73] 2016-10-20 15:24:20.482188 [#22 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:20.482188 [#22 dns.pcap 4095] \ [172.17.0.10].56022 [8.8.8.8].53 \ dns QUERY,NOERROR,25911,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:20.483927 [#23 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:20.483927 [#23 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].56022 \ dns QUERY,NOERROR,25911,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -624,11 +624,11 @@ ns3.google.com.,IN,A,157800,216.239.36.10 \ ns4.google.com.,IN,A,157800,216.239.38.10 \ ns2.google.com.,IN,A,157800,216.239.34.10 -[73] 2016-10-20 15:24:21.495324 [#24 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:21.495324 [#24 dns.pcap 4095] \ [172.17.0.10].42978 [8.8.8.8].53 \ dns QUERY,NOERROR,37698,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:21.496815 [#25 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:21.496815 [#25 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].42978 \ dns QUERY,NOERROR,37698,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -642,11 +642,11 @@ ns3.google.com.,IN,A,157799,216.239.36.10 \ ns4.google.com.,IN,A,157799,216.239.38.10 \ ns2.google.com.,IN,A,157799,216.239.34.10 -[73] 2016-10-20 15:24:22.510176 [#26 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:22.510176 [#26 dns.pcap 4095] \ [172.17.0.10].50599 [8.8.8.8].53 \ dns QUERY,NOERROR,32142,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:22.511746 [#27 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:22.511746 [#27 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].50599 \ dns QUERY,NOERROR,32142,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -660,11 +660,11 @@ ns3.google.com.,IN,A,157798,216.239.36.10 \ ns4.google.com.,IN,A,157798,216.239.38.10 \ ns2.google.com.,IN,A,157798,216.239.34.10 -[73] 2016-10-20 15:24:23.527449 [#28 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:23.527449 [#28 dns.pcap 4095] \ [172.17.0.10].60063 [8.8.8.8].53 \ dns QUERY,NOERROR,18886,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:23.529385 [#29 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:23.529385 [#29 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].60063 \ dns QUERY,NOERROR,18886,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -678,11 +678,11 @@ ns3.google.com.,IN,A,157797,216.239.36.10 \ ns4.google.com.,IN,A,157797,216.239.38.10 \ ns2.google.com.,IN,A,157797,216.239.34.10 -[73] 2016-10-20 15:24:24.544538 [#30 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:24.544538 [#30 dns.pcap 4095] \ [172.17.0.10].60469 [8.8.8.8].53 \ dns QUERY,NOERROR,33139,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:24.546172 [#31 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:24.546172 [#31 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].60469 \ dns QUERY,NOERROR,33139,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -696,11 +696,11 @@ ns3.google.com.,IN,A,157796,216.239.36.10 \ ns4.google.com.,IN,A,157796,216.239.38.10 \ ns2.google.com.,IN,A,157796,216.239.34.10 -[73] 2016-10-20 15:24:25.562608 [#32 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:25.562608 [#32 dns.pcap 4095] \ [172.17.0.10].33507 [8.8.8.8].53 \ dns QUERY,NOERROR,59258,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:25.564509 [#33 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:25.564509 [#33 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].33507 \ dns QUERY,NOERROR,59258,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -715,11 +715,11 @@ ns4.google.com.,IN,A,157795,216.239.38.10 \ ns2.google.com.,IN,A,157795,216.239.34.10 -- only PTR -[73] 2016-10-20 15:23:01.082865 [#0 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:23:01.082865 [#0 dns.pcap 4095] \ [172.17.0.10].57822 [8.8.8.8].53 \ dns QUERY,NOERROR,35665,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:23:01.084107 [#1 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:23:01.084107 [#1 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].57822 \ dns QUERY,NOERROR,35665,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -733,11 +733,11 @@ ns3.google.com.,IN,A,157880,216.239.36.10 \ ns4.google.com.,IN,A,157880,216.239.38.10 \ ns2.google.com.,IN,A,157880,216.239.34.10 -[73] 2016-10-20 15:23:10.328324 [#2 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:23:10.328324 [#2 dns.pcap 4095] \ [172.17.0.10].48658 [8.8.8.8].53 \ dns QUERY,NOERROR,18718,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:23:10.329572 [#3 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:23:10.329572 [#3 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].48658 \ dns QUERY,NOERROR,18718,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -751,11 +751,11 @@ ns3.google.com.,IN,A,157870,216.239.36.10 \ ns4.google.com.,IN,A,157870,216.239.38.10 \ ns2.google.com.,IN,A,157870,216.239.34.10 -[73] 2016-10-20 15:23:59.090911 [#4 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:23:59.090911 [#4 dns.pcap 4095] \ [172.17.0.10].33916 [8.8.8.8].53 \ dns QUERY,NOERROR,45248,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:23:59.092204 [#5 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:23:59.092204 [#5 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].33916 \ dns QUERY,NOERROR,45248,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -769,11 +769,11 @@ ns3.google.com.,IN,A,157822,216.239.36.10 \ ns4.google.com.,IN,A,157822,216.239.38.10 \ ns2.google.com.,IN,A,157822,216.239.34.10 -[73] 2016-10-20 15:24:06.339145 [#6 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:06.339145 [#6 dns.pcap 4095] \ [172.17.0.10].58176 [8.8.8.8].53 \ dns QUERY,NOERROR,25433,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:06.340820 [#7 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:06.340820 [#7 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].58176 \ dns QUERY,NOERROR,25433,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -787,11 +787,11 @@ ns3.google.com.,IN,A,157814,216.239.36.10 \ ns4.google.com.,IN,A,157814,216.239.38.10 \ ns2.google.com.,IN,A,157814,216.239.34.10 -[73] 2016-10-20 15:24:07.353123 [#8 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:07.353123 [#8 dns.pcap 4095] \ [172.17.0.10].34607 [8.8.8.8].53 \ dns QUERY,NOERROR,8470,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:07.354682 [#9 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:07.354682 [#9 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].34607 \ dns QUERY,NOERROR,8470,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -805,11 +805,11 @@ ns3.google.com.,IN,A,157813,216.239.36.10 \ ns4.google.com.,IN,A,157813,216.239.38.10 \ ns2.google.com.,IN,A,157813,216.239.34.10 -[73] 2016-10-20 15:24:08.368516 [#10 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:08.368516 [#10 dns.pcap 4095] \ [172.17.0.10].37149 [8.8.8.8].53 \ dns QUERY,NOERROR,44985,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:08.370119 [#11 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:08.370119 [#11 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].37149 \ dns QUERY,NOERROR,44985,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -823,11 +823,11 @@ ns3.google.com.,IN,A,157812,216.239.36.10 \ ns4.google.com.,IN,A,157812,216.239.38.10 \ ns2.google.com.,IN,A,157812,216.239.34.10 -[73] 2016-10-20 15:24:09.384057 [#12 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:09.384057 [#12 dns.pcap 4095] \ [172.17.0.10].52368 [8.8.8.8].53 \ dns QUERY,NOERROR,22980,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:09.385463 [#13 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:09.385463 [#13 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].52368 \ dns QUERY,NOERROR,22980,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -841,11 +841,11 @@ ns3.google.com.,IN,A,157811,216.239.36.10 \ ns4.google.com.,IN,A,157811,216.239.38.10 \ ns2.google.com.,IN,A,157811,216.239.34.10 -[73] 2016-10-20 15:24:10.398099 [#14 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:10.398099 [#14 dns.pcap 4095] \ [172.17.0.10].34426 [8.8.8.8].53 \ dns QUERY,NOERROR,25431,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:10.400317 [#15 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:10.400317 [#15 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].34426 \ dns QUERY,NOERROR,25431,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -859,11 +859,11 @@ ns3.google.com.,IN,A,157810,216.239.36.10 \ ns4.google.com.,IN,A,157810,216.239.38.10 \ ns2.google.com.,IN,A,157810,216.239.34.10 -[73] 2016-10-20 15:24:11.412133 [#16 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:11.412133 [#16 dns.pcap 4095] \ [172.17.0.10].51181 [8.8.8.8].53 \ dns QUERY,NOERROR,47411,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:11.413370 [#17 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:11.413370 [#17 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].51181 \ dns QUERY,NOERROR,47411,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -877,11 +877,11 @@ ns3.google.com.,IN,A,157809,216.239.36.10 \ ns4.google.com.,IN,A,157809,216.239.38.10 \ ns2.google.com.,IN,A,157809,216.239.34.10 -[73] 2016-10-20 15:24:18.452451 [#18 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:18.452451 [#18 dns.pcap 4095] \ [172.17.0.10].40224 [8.8.8.8].53 \ dns QUERY,NOERROR,60808,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:18.454030 [#19 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:18.454030 [#19 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].40224 \ dns QUERY,NOERROR,60808,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -895,11 +895,11 @@ ns3.google.com.,IN,A,157802,216.239.36.10 \ ns4.google.com.,IN,A,157802,216.239.38.10 \ ns2.google.com.,IN,A,157802,216.239.34.10 -[73] 2016-10-20 15:24:19.467324 [#20 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:19.467324 [#20 dns.pcap 4095] \ [172.17.0.10].60457 [8.8.8.8].53 \ dns QUERY,NOERROR,25543,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:19.468895 [#21 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:19.468895 [#21 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].60457 \ dns QUERY,NOERROR,25543,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -913,11 +913,11 @@ ns3.google.com.,IN,A,157801,216.239.36.10 \ ns4.google.com.,IN,A,157801,216.239.38.10 \ ns2.google.com.,IN,A,157801,216.239.34.10 -[73] 2016-10-20 15:24:20.482188 [#22 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:20.482188 [#22 dns.pcap 4095] \ [172.17.0.10].56022 [8.8.8.8].53 \ dns QUERY,NOERROR,25911,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:20.483927 [#23 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:20.483927 [#23 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].56022 \ dns QUERY,NOERROR,25911,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -931,11 +931,11 @@ ns3.google.com.,IN,A,157800,216.239.36.10 \ ns4.google.com.,IN,A,157800,216.239.38.10 \ ns2.google.com.,IN,A,157800,216.239.34.10 -[73] 2016-10-20 15:24:21.495324 [#24 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:21.495324 [#24 dns.pcap 4095] \ [172.17.0.10].42978 [8.8.8.8].53 \ dns QUERY,NOERROR,37698,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:21.496815 [#25 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:21.496815 [#25 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].42978 \ dns QUERY,NOERROR,37698,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -949,11 +949,11 @@ ns3.google.com.,IN,A,157799,216.239.36.10 \ ns4.google.com.,IN,A,157799,216.239.38.10 \ ns2.google.com.,IN,A,157799,216.239.34.10 -[73] 2016-10-20 15:24:22.510176 [#26 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:22.510176 [#26 dns.pcap 4095] \ [172.17.0.10].50599 [8.8.8.8].53 \ dns QUERY,NOERROR,32142,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:22.511746 [#27 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:22.511746 [#27 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].50599 \ dns QUERY,NOERROR,32142,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -967,11 +967,11 @@ ns3.google.com.,IN,A,157798,216.239.36.10 \ ns4.google.com.,IN,A,157798,216.239.38.10 \ ns2.google.com.,IN,A,157798,216.239.34.10 -[73] 2016-10-20 15:24:23.527449 [#28 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:23.527449 [#28 dns.pcap 4095] \ [172.17.0.10].60063 [8.8.8.8].53 \ dns QUERY,NOERROR,18886,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:23.529385 [#29 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:23.529385 [#29 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].60063 \ dns QUERY,NOERROR,18886,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -985,11 +985,11 @@ ns3.google.com.,IN,A,157797,216.239.36.10 \ ns4.google.com.,IN,A,157797,216.239.38.10 \ ns2.google.com.,IN,A,157797,216.239.34.10 -[73] 2016-10-20 15:24:24.544538 [#30 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:24.544538 [#30 dns.pcap 4095] \ [172.17.0.10].60469 [8.8.8.8].53 \ dns QUERY,NOERROR,33139,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:24.546172 [#31 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:24.546172 [#31 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].60469 \ dns QUERY,NOERROR,33139,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -1003,11 +1003,11 @@ ns3.google.com.,IN,A,157796,216.239.36.10 \ ns4.google.com.,IN,A,157796,216.239.38.10 \ ns2.google.com.,IN,A,157796,216.239.34.10 -[73] 2016-10-20 15:24:25.562608 [#32 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:25.562608 [#32 dns.pcap 4095] \ [172.17.0.10].33507 [8.8.8.8].53 \ dns QUERY,NOERROR,59258,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:25.564509 [#33 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:25.564509 [#33 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].33507 \ dns QUERY,NOERROR,59258,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -1022,11 +1022,11 @@ ns4.google.com.,IN,A,157795,216.239.38.10 \ ns2.google.com.,IN,A,157795,216.239.34.10 -- not PTR -[56] 2016-10-20 15:23:01.075993 [#0 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:23:01.075993 [#0 dns.pcap 4095] \ [172.17.0.10].53199 [8.8.8.8].53 \ dns QUERY,NOERROR,59311,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:23:01.077982 [#1 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:23:01.077982 [#1 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].53199 \ dns QUERY,NOERROR,59311,qr|rd|ra \ 1 google.com.,IN,A \ @@ -1039,11 +1039,11 @@ ns1.google.com.,IN,A,331882,216.239.32.10 \ ns3.google.com.,IN,A,157880,216.239.36.10 \ ns4.google.com.,IN,A,157880,216.239.38.10 -[56] 2016-10-20 15:23:01.087291 [#2 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:23:01.087291 [#2 dns.pcap 4095] \ [172.17.0.10].40043 [8.8.8.8].53 \ dns QUERY,NOERROR,5337,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:23:01.088733 [#3 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:23:01.088733 [#3 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].40043 \ dns QUERY,NOERROR,5337,qr|rd|ra \ 1 google.com.,IN,A \ @@ -1056,11 +1056,11 @@ ns1.google.com.,IN,A,331882,216.239.32.10 \ ns3.google.com.,IN,A,157880,216.239.36.10 \ ns4.google.com.,IN,A,157880,216.239.38.10 -[56] 2016-10-20 15:23:10.322117 [#4 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:23:10.322117 [#4 dns.pcap 4095] \ [172.17.0.10].37953 [8.8.8.8].53 \ dns QUERY,NOERROR,22982,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:23:10.323399 [#5 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:23:10.323399 [#5 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].37953 \ dns QUERY,NOERROR,22982,qr|rd|ra \ 1 google.com.,IN,A \ @@ -1073,11 +1073,11 @@ ns1.google.com.,IN,A,331872,216.239.32.10 \ ns3.google.com.,IN,A,157870,216.239.36.10 \ ns4.google.com.,IN,A,157870,216.239.38.10 -[56] 2016-10-20 15:23:52.860937 [#6 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:23:52.860937 [#6 dns.pcap 4095] \ [172.17.0.10].40953 [8.8.8.8].53 \ dns QUERY,NOERROR,22531,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:23:52.863771 [#7 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:23:52.863771 [#7 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].40953 \ dns QUERY,NOERROR,22531,qr|rd|ra \ 1 google.com.,IN,A \ @@ -1090,11 +1090,11 @@ ns1.google.com.,IN,A,331830,216.239.32.10 \ ns3.google.com.,IN,A,157828,216.239.36.10 \ ns4.google.com.,IN,A,157828,216.239.38.10 -[56] 2016-10-20 15:23:59.083869 [#8 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:23:59.083869 [#8 dns.pcap 4095] \ [172.17.0.10].45174 [8.8.8.8].53 \ dns QUERY,NOERROR,58510,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:23:59.086104 [#9 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:23:59.086104 [#9 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].45174 \ dns QUERY,NOERROR,58510,qr|rd|ra \ 1 google.com.,IN,A \ @@ -1107,11 +1107,11 @@ ns1.google.com.,IN,A,331824,216.239.32.10 \ ns3.google.com.,IN,A,157822,216.239.36.10 \ ns4.google.com.,IN,A,157822,216.239.38.10 -[56] 2016-10-20 15:24:04.323868 [#10 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:04.323868 [#10 dns.pcap 4095] \ [172.17.0.10].43559 [8.8.8.8].53 \ dns QUERY,NOERROR,49483,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:04.325597 [#11 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:04.325597 [#11 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].43559 \ dns QUERY,NOERROR,49483,qr|rd|ra \ 1 google.com.,IN,A \ @@ -1124,11 +1124,11 @@ ns1.google.com.,IN,A,331818,216.239.32.10 \ ns3.google.com.,IN,A,157816,216.239.36.10 \ ns4.google.com.,IN,A,157816,216.239.38.10 -[56] 2016-10-20 15:24:06.332239 [#12 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:06.332239 [#12 dns.pcap 4095] \ [172.17.0.10].54859 [8.8.8.8].53 \ dns QUERY,NOERROR,31669,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:06.333743 [#13 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:06.333743 [#13 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].54859 \ dns QUERY,NOERROR,31669,qr|rd|ra \ 1 google.com.,IN,A \ @@ -1141,11 +1141,11 @@ ns1.google.com.,IN,A,331816,216.239.32.10 \ ns3.google.com.,IN,A,157814,216.239.36.10 \ ns4.google.com.,IN,A,157814,216.239.38.10 -[56] 2016-10-20 15:24:07.346429 [#14 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:07.346429 [#14 dns.pcap 4095] \ [172.17.0.10].41266 [8.8.8.8].53 \ dns QUERY,NOERROR,63798,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:07.348160 [#15 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:07.348160 [#15 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].41266 \ dns QUERY,NOERROR,63798,qr|rd|ra \ 1 google.com.,IN,A \ @@ -1158,11 +1158,11 @@ ns1.google.com.,IN,A,331815,216.239.32.10 \ ns3.google.com.,IN,A,157813,216.239.36.10 \ ns4.google.com.,IN,A,157813,216.239.38.10 -[56] 2016-10-20 15:24:08.360528 [#16 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:08.360528 [#16 dns.pcap 4095] \ [172.17.0.10].60437 [8.8.8.8].53 \ dns QUERY,NOERROR,60258,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:08.362206 [#17 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:08.362206 [#17 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].60437 \ dns QUERY,NOERROR,60258,qr|rd|ra \ 1 google.com.,IN,A \ @@ -1175,11 +1175,11 @@ ns1.google.com.,IN,A,331814,216.239.32.10 \ ns3.google.com.,IN,A,157812,216.239.36.10 \ ns4.google.com.,IN,A,157812,216.239.38.10 -[56] 2016-10-20 15:24:09.375942 [#18 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:09.375942 [#18 dns.pcap 4095] \ [172.17.0.10].53820 [8.8.8.8].53 \ dns QUERY,NOERROR,45512,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:09.378425 [#19 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:09.378425 [#19 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].53820 \ dns QUERY,NOERROR,45512,qr|rd|ra \ 1 google.com.,IN,A \ @@ -1192,11 +1192,11 @@ ns1.google.com.,IN,A,331813,216.239.32.10 \ ns3.google.com.,IN,A,157811,216.239.36.10 \ ns4.google.com.,IN,A,157811,216.239.38.10 -[56] 2016-10-20 15:24:10.391358 [#20 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:10.391358 [#20 dns.pcap 4095] \ [172.17.0.10].47637 [8.8.8.8].53 \ dns QUERY,NOERROR,1834,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:10.392886 [#21 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:10.392886 [#21 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].47637 \ dns QUERY,NOERROR,1834,qr|rd|ra \ 1 google.com.,IN,A \ @@ -1209,11 +1209,11 @@ ns1.google.com.,IN,A,331812,216.239.32.10 \ ns3.google.com.,IN,A,157810,216.239.36.10 \ ns4.google.com.,IN,A,157810,216.239.38.10 -[56] 2016-10-20 15:24:11.406297 [#22 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:11.406297 [#22 dns.pcap 4095] \ [172.17.0.10].41059 [8.8.8.8].53 \ dns QUERY,NOERROR,48432,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:11.407460 [#23 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:11.407460 [#23 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].41059 \ dns QUERY,NOERROR,48432,qr|rd|ra \ 1 google.com.,IN,A \ @@ -1226,11 +1226,11 @@ ns1.google.com.,IN,A,331811,216.239.32.10 \ ns3.google.com.,IN,A,157809,216.239.36.10 \ ns4.google.com.,IN,A,157809,216.239.38.10 -[56] 2016-10-20 15:24:12.419936 [#24 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:12.419936 [#24 dns.pcap 4095] \ [172.17.0.10].32976 [8.8.8.8].53 \ dns QUERY,NOERROR,12038,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:12.421228 [#25 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:12.421228 [#25 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].32976 \ dns QUERY,NOERROR,12038,qr|rd|ra \ 1 google.com.,IN,A \ @@ -1243,11 +1243,11 @@ ns1.google.com.,IN,A,331810,216.239.32.10 \ ns3.google.com.,IN,A,157808,216.239.36.10 \ ns4.google.com.,IN,A,157808,216.239.38.10 -[56] 2016-10-20 15:24:14.428524 [#26 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:14.428524 [#26 dns.pcap 4095] \ [172.17.0.10].53467 [8.8.8.8].53 \ dns QUERY,NOERROR,11614,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:14.429863 [#27 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:14.429863 [#27 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].53467 \ dns QUERY,NOERROR,11614,qr|rd|ra \ 1 google.com.,IN,A \ @@ -1260,11 +1260,11 @@ ns1.google.com.,IN,A,331808,216.239.32.10 \ ns3.google.com.,IN,A,157806,216.239.36.10 \ ns4.google.com.,IN,A,157806,216.239.38.10 -[56] 2016-10-20 15:24:16.435733 [#28 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:16.435733 [#28 dns.pcap 4095] \ [172.17.0.10].41532 [8.8.8.8].53 \ dns QUERY,NOERROR,59173,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:16.437471 [#29 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:16.437471 [#29 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].41532 \ dns QUERY,NOERROR,59173,qr|rd|ra \ 1 google.com.,IN,A \ @@ -1277,11 +1277,11 @@ ns1.google.com.,IN,A,331806,216.239.32.10 \ ns3.google.com.,IN,A,157804,216.239.36.10 \ ns4.google.com.,IN,A,157804,216.239.38.10 -[56] 2016-10-20 15:24:18.445519 [#30 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:18.445519 [#30 dns.pcap 4095] \ [172.17.0.10].44982 [8.8.8.8].53 \ dns QUERY,NOERROR,45535,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:18.446775 [#31 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:18.446775 [#31 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].44982 \ dns QUERY,NOERROR,45535,qr|rd|ra \ 1 google.com.,IN,A \ @@ -1294,11 +1294,11 @@ ns1.google.com.,IN,A,331804,216.239.32.10 \ ns3.google.com.,IN,A,157802,216.239.36.10 \ ns4.google.com.,IN,A,157802,216.239.38.10 -[56] 2016-10-20 15:24:19.460087 [#32 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:19.460087 [#32 dns.pcap 4095] \ [172.17.0.10].45658 [8.8.8.8].53 \ dns QUERY,NOERROR,64325,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:19.462224 [#33 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:19.462224 [#33 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].45658 \ dns QUERY,NOERROR,64325,qr|rd|ra \ 1 google.com.,IN,A \ @@ -1311,11 +1311,11 @@ ns1.google.com.,IN,A,331803,216.239.32.10 \ ns3.google.com.,IN,A,157801,216.239.36.10 \ ns4.google.com.,IN,A,157801,216.239.38.10 -[56] 2016-10-20 15:24:20.475086 [#34 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:20.475086 [#34 dns.pcap 4095] \ [172.17.0.10].59762 [8.8.8.8].53 \ dns QUERY,NOERROR,20736,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:20.476841 [#35 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:20.476841 [#35 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].59762 \ dns QUERY,NOERROR,20736,qr|rd|ra \ 1 google.com.,IN,A \ @@ -1328,11 +1328,11 @@ ns1.google.com.,IN,A,331802,216.239.32.10 \ ns3.google.com.,IN,A,157800,216.239.36.10 \ ns4.google.com.,IN,A,157800,216.239.38.10 -[56] 2016-10-20 15:24:21.489468 [#36 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:21.489468 [#36 dns.pcap 4095] \ [172.17.0.10].37669 [8.8.8.8].53 \ dns QUERY,NOERROR,64358,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:21.490573 [#37 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:21.490573 [#37 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].37669 \ dns QUERY,NOERROR,64358,qr|rd|ra \ 1 google.com.,IN,A \ @@ -1345,11 +1345,11 @@ ns1.google.com.,IN,A,331801,216.239.32.10 \ ns3.google.com.,IN,A,157799,216.239.36.10 \ ns4.google.com.,IN,A,157799,216.239.38.10 -[56] 2016-10-20 15:24:22.502667 [#38 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:22.502667 [#38 dns.pcap 4095] \ [172.17.0.10].49829 [8.8.8.8].53 \ dns QUERY,NOERROR,54706,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:22.504738 [#39 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:22.504738 [#39 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].49829 \ dns QUERY,NOERROR,54706,qr|rd|ra \ 1 google.com.,IN,A \ @@ -1362,11 +1362,11 @@ ns1.google.com.,IN,A,331800,216.239.32.10 \ ns3.google.com.,IN,A,157798,216.239.36.10 \ ns4.google.com.,IN,A,157798,216.239.38.10 -[56] 2016-10-20 15:24:23.520203 [#40 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:23.520203 [#40 dns.pcap 4095] \ [172.17.0.10].44980 [8.8.8.8].53 \ dns QUERY,NOERROR,41808,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:23.521976 [#41 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:23.521976 [#41 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].44980 \ dns QUERY,NOERROR,41808,qr|rd|ra \ 1 google.com.,IN,A \ @@ -1379,11 +1379,11 @@ ns1.google.com.,IN,A,331799,216.239.32.10 \ ns3.google.com.,IN,A,157797,216.239.36.10 \ ns4.google.com.,IN,A,157797,216.239.38.10 -[56] 2016-10-20 15:24:24.537264 [#42 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:24.537264 [#42 dns.pcap 4095] \ [172.17.0.10].42042 [8.8.8.8].53 \ dns QUERY,NOERROR,10624,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:24.539398 [#43 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:24.539398 [#43 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].42042 \ dns QUERY,NOERROR,10624,qr|rd|ra \ 1 google.com.,IN,A \ @@ -1396,11 +1396,11 @@ ns1.google.com.,IN,A,331798,216.239.32.10 \ ns3.google.com.,IN,A,157796,216.239.36.10 \ ns4.google.com.,IN,A,157796,216.239.38.10 -[56] 2016-10-20 15:24:25.554744 [#44 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:25.554744 [#44 dns.pcap 4095] \ [172.17.0.10].45703 [8.8.8.8].53 \ dns QUERY,NOERROR,61415,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:25.556513 [#45 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:25.556513 [#45 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].45703 \ dns QUERY,NOERROR,61415,qr|rd|ra \ 1 google.com.,IN,A \ @@ -1413,11 +1413,11 @@ ns1.google.com.,IN,A,331797,216.239.32.10 \ ns3.google.com.,IN,A,157795,216.239.36.10 \ ns4.google.com.,IN,A,157795,216.239.38.10 -[56] 2016-10-20 15:24:26.572784 [#46 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:26.572784 [#46 dns.pcap 4095] \ [172.17.0.10].46798 [8.8.8.8].53 \ dns QUERY,NOERROR,17700,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:26.574350 [#47 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:26.574350 [#47 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].46798 \ dns QUERY,NOERROR,17700,qr|rd|ra \ 1 google.com.,IN,A \ @@ -1431,11 +1431,11 @@ ns3.google.com.,IN,A,157794,216.239.36.10 \ ns4.google.com.,IN,A,157794,216.239.38.10 -- only 1 -[56] 2016-10-20 15:23:01.075993 [#0 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:23:01.075993 [#0 dns.pcap 4095] \ [172.17.0.10].53199 [8.8.8.8].53 \ dns QUERY,NOERROR,59311,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:23:01.077982 [#1 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:23:01.077982 [#1 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].53199 \ dns QUERY,NOERROR,59311,qr|rd|ra \ 1 google.com.,IN,A \ @@ -1448,11 +1448,11 @@ ns1.google.com.,IN,A,331882,216.239.32.10 \ ns3.google.com.,IN,A,157880,216.239.36.10 \ ns4.google.com.,IN,A,157880,216.239.38.10 -[56] 2016-10-20 15:23:01.087291 [#2 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:23:01.087291 [#2 dns.pcap 4095] \ [172.17.0.10].40043 [8.8.8.8].53 \ dns QUERY,NOERROR,5337,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:23:01.088733 [#3 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:23:01.088733 [#3 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].40043 \ dns QUERY,NOERROR,5337,qr|rd|ra \ 1 google.com.,IN,A \ @@ -1465,11 +1465,11 @@ ns1.google.com.,IN,A,331882,216.239.32.10 \ ns3.google.com.,IN,A,157880,216.239.36.10 \ ns4.google.com.,IN,A,157880,216.239.38.10 -[56] 2016-10-20 15:23:10.322117 [#4 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:23:10.322117 [#4 dns.pcap 4095] \ [172.17.0.10].37953 [8.8.8.8].53 \ dns QUERY,NOERROR,22982,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:23:10.323399 [#5 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:23:10.323399 [#5 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].37953 \ dns QUERY,NOERROR,22982,qr|rd|ra \ 1 google.com.,IN,A \ @@ -1482,11 +1482,11 @@ ns1.google.com.,IN,A,331872,216.239.32.10 \ ns3.google.com.,IN,A,157870,216.239.36.10 \ ns4.google.com.,IN,A,157870,216.239.38.10 -[56] 2016-10-20 15:23:52.860937 [#6 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:23:52.860937 [#6 dns.pcap 4095] \ [172.17.0.10].40953 [8.8.8.8].53 \ dns QUERY,NOERROR,22531,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:23:52.863771 [#7 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:23:52.863771 [#7 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].40953 \ dns QUERY,NOERROR,22531,qr|rd|ra \ 1 google.com.,IN,A \ @@ -1499,11 +1499,11 @@ ns1.google.com.,IN,A,331830,216.239.32.10 \ ns3.google.com.,IN,A,157828,216.239.36.10 \ ns4.google.com.,IN,A,157828,216.239.38.10 -[56] 2016-10-20 15:23:59.083869 [#8 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:23:59.083869 [#8 dns.pcap 4095] \ [172.17.0.10].45174 [8.8.8.8].53 \ dns QUERY,NOERROR,58510,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:23:59.086104 [#9 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:23:59.086104 [#9 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].45174 \ dns QUERY,NOERROR,58510,qr|rd|ra \ 1 google.com.,IN,A \ @@ -1516,11 +1516,11 @@ ns1.google.com.,IN,A,331824,216.239.32.10 \ ns3.google.com.,IN,A,157822,216.239.36.10 \ ns4.google.com.,IN,A,157822,216.239.38.10 -[56] 2016-10-20 15:24:04.323868 [#10 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:04.323868 [#10 dns.pcap 4095] \ [172.17.0.10].43559 [8.8.8.8].53 \ dns QUERY,NOERROR,49483,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:04.325597 [#11 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:04.325597 [#11 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].43559 \ dns QUERY,NOERROR,49483,qr|rd|ra \ 1 google.com.,IN,A \ @@ -1533,11 +1533,11 @@ ns1.google.com.,IN,A,331818,216.239.32.10 \ ns3.google.com.,IN,A,157816,216.239.36.10 \ ns4.google.com.,IN,A,157816,216.239.38.10 -[56] 2016-10-20 15:24:06.332239 [#12 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:06.332239 [#12 dns.pcap 4095] \ [172.17.0.10].54859 [8.8.8.8].53 \ dns QUERY,NOERROR,31669,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:06.333743 [#13 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:06.333743 [#13 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].54859 \ dns QUERY,NOERROR,31669,qr|rd|ra \ 1 google.com.,IN,A \ @@ -1550,11 +1550,11 @@ ns1.google.com.,IN,A,331816,216.239.32.10 \ ns3.google.com.,IN,A,157814,216.239.36.10 \ ns4.google.com.,IN,A,157814,216.239.38.10 -[56] 2016-10-20 15:24:07.346429 [#14 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:07.346429 [#14 dns.pcap 4095] \ [172.17.0.10].41266 [8.8.8.8].53 \ dns QUERY,NOERROR,63798,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:07.348160 [#15 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:07.348160 [#15 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].41266 \ dns QUERY,NOERROR,63798,qr|rd|ra \ 1 google.com.,IN,A \ @@ -1567,11 +1567,11 @@ ns1.google.com.,IN,A,331815,216.239.32.10 \ ns3.google.com.,IN,A,157813,216.239.36.10 \ ns4.google.com.,IN,A,157813,216.239.38.10 -[56] 2016-10-20 15:24:08.360528 [#16 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:08.360528 [#16 dns.pcap 4095] \ [172.17.0.10].60437 [8.8.8.8].53 \ dns QUERY,NOERROR,60258,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:08.362206 [#17 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:08.362206 [#17 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].60437 \ dns QUERY,NOERROR,60258,qr|rd|ra \ 1 google.com.,IN,A \ @@ -1584,11 +1584,11 @@ ns1.google.com.,IN,A,331814,216.239.32.10 \ ns3.google.com.,IN,A,157812,216.239.36.10 \ ns4.google.com.,IN,A,157812,216.239.38.10 -[56] 2016-10-20 15:24:09.375942 [#18 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:09.375942 [#18 dns.pcap 4095] \ [172.17.0.10].53820 [8.8.8.8].53 \ dns QUERY,NOERROR,45512,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:09.378425 [#19 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:09.378425 [#19 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].53820 \ dns QUERY,NOERROR,45512,qr|rd|ra \ 1 google.com.,IN,A \ @@ -1601,11 +1601,11 @@ ns1.google.com.,IN,A,331813,216.239.32.10 \ ns3.google.com.,IN,A,157811,216.239.36.10 \ ns4.google.com.,IN,A,157811,216.239.38.10 -[56] 2016-10-20 15:24:10.391358 [#20 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:10.391358 [#20 dns.pcap 4095] \ [172.17.0.10].47637 [8.8.8.8].53 \ dns QUERY,NOERROR,1834,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:10.392886 [#21 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:10.392886 [#21 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].47637 \ dns QUERY,NOERROR,1834,qr|rd|ra \ 1 google.com.,IN,A \ @@ -1618,11 +1618,11 @@ ns1.google.com.,IN,A,331812,216.239.32.10 \ ns3.google.com.,IN,A,157810,216.239.36.10 \ ns4.google.com.,IN,A,157810,216.239.38.10 -[56] 2016-10-20 15:24:11.406297 [#22 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:11.406297 [#22 dns.pcap 4095] \ [172.17.0.10].41059 [8.8.8.8].53 \ dns QUERY,NOERROR,48432,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:11.407460 [#23 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:11.407460 [#23 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].41059 \ dns QUERY,NOERROR,48432,qr|rd|ra \ 1 google.com.,IN,A \ @@ -1635,11 +1635,11 @@ ns1.google.com.,IN,A,331811,216.239.32.10 \ ns3.google.com.,IN,A,157809,216.239.36.10 \ ns4.google.com.,IN,A,157809,216.239.38.10 -[56] 2016-10-20 15:24:12.419936 [#24 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:12.419936 [#24 dns.pcap 4095] \ [172.17.0.10].32976 [8.8.8.8].53 \ dns QUERY,NOERROR,12038,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:12.421228 [#25 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:12.421228 [#25 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].32976 \ dns QUERY,NOERROR,12038,qr|rd|ra \ 1 google.com.,IN,A \ @@ -1652,11 +1652,11 @@ ns1.google.com.,IN,A,331810,216.239.32.10 \ ns3.google.com.,IN,A,157808,216.239.36.10 \ ns4.google.com.,IN,A,157808,216.239.38.10 -[56] 2016-10-20 15:24:14.428524 [#26 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:14.428524 [#26 dns.pcap 4095] \ [172.17.0.10].53467 [8.8.8.8].53 \ dns QUERY,NOERROR,11614,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:14.429863 [#27 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:14.429863 [#27 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].53467 \ dns QUERY,NOERROR,11614,qr|rd|ra \ 1 google.com.,IN,A \ @@ -1669,11 +1669,11 @@ ns1.google.com.,IN,A,331808,216.239.32.10 \ ns3.google.com.,IN,A,157806,216.239.36.10 \ ns4.google.com.,IN,A,157806,216.239.38.10 -[56] 2016-10-20 15:24:16.435733 [#28 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:16.435733 [#28 dns.pcap 4095] \ [172.17.0.10].41532 [8.8.8.8].53 \ dns QUERY,NOERROR,59173,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:16.437471 [#29 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:16.437471 [#29 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].41532 \ dns QUERY,NOERROR,59173,qr|rd|ra \ 1 google.com.,IN,A \ @@ -1686,11 +1686,11 @@ ns1.google.com.,IN,A,331806,216.239.32.10 \ ns3.google.com.,IN,A,157804,216.239.36.10 \ ns4.google.com.,IN,A,157804,216.239.38.10 -[56] 2016-10-20 15:24:18.445519 [#30 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:18.445519 [#30 dns.pcap 4095] \ [172.17.0.10].44982 [8.8.8.8].53 \ dns QUERY,NOERROR,45535,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:18.446775 [#31 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:18.446775 [#31 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].44982 \ dns QUERY,NOERROR,45535,qr|rd|ra \ 1 google.com.,IN,A \ @@ -1703,11 +1703,11 @@ ns1.google.com.,IN,A,331804,216.239.32.10 \ ns3.google.com.,IN,A,157802,216.239.36.10 \ ns4.google.com.,IN,A,157802,216.239.38.10 -[56] 2016-10-20 15:24:19.460087 [#32 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:19.460087 [#32 dns.pcap 4095] \ [172.17.0.10].45658 [8.8.8.8].53 \ dns QUERY,NOERROR,64325,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:19.462224 [#33 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:19.462224 [#33 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].45658 \ dns QUERY,NOERROR,64325,qr|rd|ra \ 1 google.com.,IN,A \ @@ -1720,11 +1720,11 @@ ns1.google.com.,IN,A,331803,216.239.32.10 \ ns3.google.com.,IN,A,157801,216.239.36.10 \ ns4.google.com.,IN,A,157801,216.239.38.10 -[56] 2016-10-20 15:24:20.475086 [#34 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:20.475086 [#34 dns.pcap 4095] \ [172.17.0.10].59762 [8.8.8.8].53 \ dns QUERY,NOERROR,20736,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:20.476841 [#35 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:20.476841 [#35 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].59762 \ dns QUERY,NOERROR,20736,qr|rd|ra \ 1 google.com.,IN,A \ @@ -1737,11 +1737,11 @@ ns1.google.com.,IN,A,331802,216.239.32.10 \ ns3.google.com.,IN,A,157800,216.239.36.10 \ ns4.google.com.,IN,A,157800,216.239.38.10 -[56] 2016-10-20 15:24:21.489468 [#36 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:21.489468 [#36 dns.pcap 4095] \ [172.17.0.10].37669 [8.8.8.8].53 \ dns QUERY,NOERROR,64358,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:21.490573 [#37 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:21.490573 [#37 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].37669 \ dns QUERY,NOERROR,64358,qr|rd|ra \ 1 google.com.,IN,A \ @@ -1754,11 +1754,11 @@ ns1.google.com.,IN,A,331801,216.239.32.10 \ ns3.google.com.,IN,A,157799,216.239.36.10 \ ns4.google.com.,IN,A,157799,216.239.38.10 -[56] 2016-10-20 15:24:22.502667 [#38 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:22.502667 [#38 dns.pcap 4095] \ [172.17.0.10].49829 [8.8.8.8].53 \ dns QUERY,NOERROR,54706,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:22.504738 [#39 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:22.504738 [#39 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].49829 \ dns QUERY,NOERROR,54706,qr|rd|ra \ 1 google.com.,IN,A \ @@ -1771,11 +1771,11 @@ ns1.google.com.,IN,A,331800,216.239.32.10 \ ns3.google.com.,IN,A,157798,216.239.36.10 \ ns4.google.com.,IN,A,157798,216.239.38.10 -[56] 2016-10-20 15:24:23.520203 [#40 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:23.520203 [#40 dns.pcap 4095] \ [172.17.0.10].44980 [8.8.8.8].53 \ dns QUERY,NOERROR,41808,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:23.521976 [#41 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:23.521976 [#41 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].44980 \ dns QUERY,NOERROR,41808,qr|rd|ra \ 1 google.com.,IN,A \ @@ -1788,11 +1788,11 @@ ns1.google.com.,IN,A,331799,216.239.32.10 \ ns3.google.com.,IN,A,157797,216.239.36.10 \ ns4.google.com.,IN,A,157797,216.239.38.10 -[56] 2016-10-20 15:24:24.537264 [#42 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:24.537264 [#42 dns.pcap 4095] \ [172.17.0.10].42042 [8.8.8.8].53 \ dns QUERY,NOERROR,10624,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:24.539398 [#43 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:24.539398 [#43 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].42042 \ dns QUERY,NOERROR,10624,qr|rd|ra \ 1 google.com.,IN,A \ @@ -1805,11 +1805,11 @@ ns1.google.com.,IN,A,331798,216.239.32.10 \ ns3.google.com.,IN,A,157796,216.239.36.10 \ ns4.google.com.,IN,A,157796,216.239.38.10 -[56] 2016-10-20 15:24:25.554744 [#44 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:25.554744 [#44 dns.pcap 4095] \ [172.17.0.10].45703 [8.8.8.8].53 \ dns QUERY,NOERROR,61415,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:25.556513 [#45 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:25.556513 [#45 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].45703 \ dns QUERY,NOERROR,61415,qr|rd|ra \ 1 google.com.,IN,A \ @@ -1822,11 +1822,11 @@ ns1.google.com.,IN,A,331797,216.239.32.10 \ ns3.google.com.,IN,A,157795,216.239.36.10 \ ns4.google.com.,IN,A,157795,216.239.38.10 -[56] 2016-10-20 15:24:26.572784 [#46 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:26.572784 [#46 dns.pcap 4095] \ [172.17.0.10].46798 [8.8.8.8].53 \ dns QUERY,NOERROR,17700,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:26.574350 [#47 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:26.574350 [#47 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].46798 \ dns QUERY,NOERROR,17700,qr|rd|ra \ 1 google.com.,IN,A \ @@ -1840,11 +1840,11 @@ ns3.google.com.,IN,A,157794,216.239.36.10 \ ns4.google.com.,IN,A,157794,216.239.38.10 -- not 1 -[73] 2016-10-20 15:23:01.082865 [#0 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:23:01.082865 [#0 dns.pcap 4095] \ [172.17.0.10].57822 [8.8.8.8].53 \ dns QUERY,NOERROR,35665,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:23:01.084107 [#1 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:23:01.084107 [#1 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].57822 \ dns QUERY,NOERROR,35665,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -1858,11 +1858,11 @@ ns3.google.com.,IN,A,157880,216.239.36.10 \ ns4.google.com.,IN,A,157880,216.239.38.10 \ ns2.google.com.,IN,A,157880,216.239.34.10 -[73] 2016-10-20 15:23:10.328324 [#2 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:23:10.328324 [#2 dns.pcap 4095] \ [172.17.0.10].48658 [8.8.8.8].53 \ dns QUERY,NOERROR,18718,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:23:10.329572 [#3 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:23:10.329572 [#3 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].48658 \ dns QUERY,NOERROR,18718,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -1876,11 +1876,11 @@ ns3.google.com.,IN,A,157870,216.239.36.10 \ ns4.google.com.,IN,A,157870,216.239.38.10 \ ns2.google.com.,IN,A,157870,216.239.34.10 -[73] 2016-10-20 15:23:59.090911 [#4 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:23:59.090911 [#4 dns.pcap 4095] \ [172.17.0.10].33916 [8.8.8.8].53 \ dns QUERY,NOERROR,45248,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:23:59.092204 [#5 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:23:59.092204 [#5 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].33916 \ dns QUERY,NOERROR,45248,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -1894,11 +1894,11 @@ ns3.google.com.,IN,A,157822,216.239.36.10 \ ns4.google.com.,IN,A,157822,216.239.38.10 \ ns2.google.com.,IN,A,157822,216.239.34.10 -[73] 2016-10-20 15:24:06.339145 [#6 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:06.339145 [#6 dns.pcap 4095] \ [172.17.0.10].58176 [8.8.8.8].53 \ dns QUERY,NOERROR,25433,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:06.340820 [#7 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:06.340820 [#7 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].58176 \ dns QUERY,NOERROR,25433,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -1912,11 +1912,11 @@ ns3.google.com.,IN,A,157814,216.239.36.10 \ ns4.google.com.,IN,A,157814,216.239.38.10 \ ns2.google.com.,IN,A,157814,216.239.34.10 -[73] 2016-10-20 15:24:07.353123 [#8 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:07.353123 [#8 dns.pcap 4095] \ [172.17.0.10].34607 [8.8.8.8].53 \ dns QUERY,NOERROR,8470,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:07.354682 [#9 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:07.354682 [#9 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].34607 \ dns QUERY,NOERROR,8470,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -1930,11 +1930,11 @@ ns3.google.com.,IN,A,157813,216.239.36.10 \ ns4.google.com.,IN,A,157813,216.239.38.10 \ ns2.google.com.,IN,A,157813,216.239.34.10 -[73] 2016-10-20 15:24:08.368516 [#10 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:08.368516 [#10 dns.pcap 4095] \ [172.17.0.10].37149 [8.8.8.8].53 \ dns QUERY,NOERROR,44985,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:08.370119 [#11 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:08.370119 [#11 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].37149 \ dns QUERY,NOERROR,44985,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -1948,11 +1948,11 @@ ns3.google.com.,IN,A,157812,216.239.36.10 \ ns4.google.com.,IN,A,157812,216.239.38.10 \ ns2.google.com.,IN,A,157812,216.239.34.10 -[73] 2016-10-20 15:24:09.384057 [#12 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:09.384057 [#12 dns.pcap 4095] \ [172.17.0.10].52368 [8.8.8.8].53 \ dns QUERY,NOERROR,22980,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:09.385463 [#13 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:09.385463 [#13 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].52368 \ dns QUERY,NOERROR,22980,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -1966,11 +1966,11 @@ ns3.google.com.,IN,A,157811,216.239.36.10 \ ns4.google.com.,IN,A,157811,216.239.38.10 \ ns2.google.com.,IN,A,157811,216.239.34.10 -[73] 2016-10-20 15:24:10.398099 [#14 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:10.398099 [#14 dns.pcap 4095] \ [172.17.0.10].34426 [8.8.8.8].53 \ dns QUERY,NOERROR,25431,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:10.400317 [#15 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:10.400317 [#15 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].34426 \ dns QUERY,NOERROR,25431,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -1984,11 +1984,11 @@ ns3.google.com.,IN,A,157810,216.239.36.10 \ ns4.google.com.,IN,A,157810,216.239.38.10 \ ns2.google.com.,IN,A,157810,216.239.34.10 -[73] 2016-10-20 15:24:11.412133 [#16 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:11.412133 [#16 dns.pcap 4095] \ [172.17.0.10].51181 [8.8.8.8].53 \ dns QUERY,NOERROR,47411,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:11.413370 [#17 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:11.413370 [#17 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].51181 \ dns QUERY,NOERROR,47411,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -2002,11 +2002,11 @@ ns3.google.com.,IN,A,157809,216.239.36.10 \ ns4.google.com.,IN,A,157809,216.239.38.10 \ ns2.google.com.,IN,A,157809,216.239.34.10 -[73] 2016-10-20 15:24:18.452451 [#18 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:18.452451 [#18 dns.pcap 4095] \ [172.17.0.10].40224 [8.8.8.8].53 \ dns QUERY,NOERROR,60808,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:18.454030 [#19 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:18.454030 [#19 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].40224 \ dns QUERY,NOERROR,60808,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -2020,11 +2020,11 @@ ns3.google.com.,IN,A,157802,216.239.36.10 \ ns4.google.com.,IN,A,157802,216.239.38.10 \ ns2.google.com.,IN,A,157802,216.239.34.10 -[73] 2016-10-20 15:24:19.467324 [#20 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:19.467324 [#20 dns.pcap 4095] \ [172.17.0.10].60457 [8.8.8.8].53 \ dns QUERY,NOERROR,25543,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:19.468895 [#21 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:19.468895 [#21 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].60457 \ dns QUERY,NOERROR,25543,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -2038,11 +2038,11 @@ ns3.google.com.,IN,A,157801,216.239.36.10 \ ns4.google.com.,IN,A,157801,216.239.38.10 \ ns2.google.com.,IN,A,157801,216.239.34.10 -[73] 2016-10-20 15:24:20.482188 [#22 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:20.482188 [#22 dns.pcap 4095] \ [172.17.0.10].56022 [8.8.8.8].53 \ dns QUERY,NOERROR,25911,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:20.483927 [#23 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:20.483927 [#23 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].56022 \ dns QUERY,NOERROR,25911,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -2056,11 +2056,11 @@ ns3.google.com.,IN,A,157800,216.239.36.10 \ ns4.google.com.,IN,A,157800,216.239.38.10 \ ns2.google.com.,IN,A,157800,216.239.34.10 -[73] 2016-10-20 15:24:21.495324 [#24 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:21.495324 [#24 dns.pcap 4095] \ [172.17.0.10].42978 [8.8.8.8].53 \ dns QUERY,NOERROR,37698,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:21.496815 [#25 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:21.496815 [#25 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].42978 \ dns QUERY,NOERROR,37698,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -2074,11 +2074,11 @@ ns3.google.com.,IN,A,157799,216.239.36.10 \ ns4.google.com.,IN,A,157799,216.239.38.10 \ ns2.google.com.,IN,A,157799,216.239.34.10 -[73] 2016-10-20 15:24:22.510176 [#26 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:22.510176 [#26 dns.pcap 4095] \ [172.17.0.10].50599 [8.8.8.8].53 \ dns QUERY,NOERROR,32142,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:22.511746 [#27 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:22.511746 [#27 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].50599 \ dns QUERY,NOERROR,32142,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -2092,11 +2092,11 @@ ns3.google.com.,IN,A,157798,216.239.36.10 \ ns4.google.com.,IN,A,157798,216.239.38.10 \ ns2.google.com.,IN,A,157798,216.239.34.10 -[73] 2016-10-20 15:24:23.527449 [#28 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:23.527449 [#28 dns.pcap 4095] \ [172.17.0.10].60063 [8.8.8.8].53 \ dns QUERY,NOERROR,18886,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:23.529385 [#29 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:23.529385 [#29 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].60063 \ dns QUERY,NOERROR,18886,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -2110,11 +2110,11 @@ ns3.google.com.,IN,A,157797,216.239.36.10 \ ns4.google.com.,IN,A,157797,216.239.38.10 \ ns2.google.com.,IN,A,157797,216.239.34.10 -[73] 2016-10-20 15:24:24.544538 [#30 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:24.544538 [#30 dns.pcap 4095] \ [172.17.0.10].60469 [8.8.8.8].53 \ dns QUERY,NOERROR,33139,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:24.546172 [#31 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:24.546172 [#31 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].60469 \ dns QUERY,NOERROR,33139,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -2128,11 +2128,11 @@ ns3.google.com.,IN,A,157796,216.239.36.10 \ ns4.google.com.,IN,A,157796,216.239.38.10 \ ns2.google.com.,IN,A,157796,216.239.34.10 -[73] 2016-10-20 15:24:25.562608 [#32 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:25.562608 [#32 dns.pcap 4095] \ [172.17.0.10].33507 [8.8.8.8].53 \ dns QUERY,NOERROR,59258,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:25.564509 [#33 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:25.564509 [#33 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].33507 \ dns QUERY,NOERROR,59258,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -2147,11 +2147,11 @@ ns4.google.com.,IN,A,157795,216.239.38.10 \ ns2.google.com.,IN,A,157795,216.239.34.10 -- only PTR -[73] 2016-10-20 15:23:01.082865 [#0 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:23:01.082865 [#0 dns.pcap 4095] \ [172.17.0.10].57822 [8.8.8.8].53 \ dns QUERY,NOERROR,35665,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:23:01.084107 [#1 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:23:01.084107 [#1 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].57822 \ dns QUERY,NOERROR,35665,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -2165,11 +2165,11 @@ ns3.google.com.,IN,A,157880,216.239.36.10 \ ns4.google.com.,IN,A,157880,216.239.38.10 \ ns2.google.com.,IN,A,157880,216.239.34.10 -[73] 2016-10-20 15:23:10.328324 [#2 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:23:10.328324 [#2 dns.pcap 4095] \ [172.17.0.10].48658 [8.8.8.8].53 \ dns QUERY,NOERROR,18718,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:23:10.329572 [#3 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:23:10.329572 [#3 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].48658 \ dns QUERY,NOERROR,18718,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -2183,11 +2183,11 @@ ns3.google.com.,IN,A,157870,216.239.36.10 \ ns4.google.com.,IN,A,157870,216.239.38.10 \ ns2.google.com.,IN,A,157870,216.239.34.10 -[73] 2016-10-20 15:23:59.090911 [#4 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:23:59.090911 [#4 dns.pcap 4095] \ [172.17.0.10].33916 [8.8.8.8].53 \ dns QUERY,NOERROR,45248,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:23:59.092204 [#5 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:23:59.092204 [#5 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].33916 \ dns QUERY,NOERROR,45248,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -2201,11 +2201,11 @@ ns3.google.com.,IN,A,157822,216.239.36.10 \ ns4.google.com.,IN,A,157822,216.239.38.10 \ ns2.google.com.,IN,A,157822,216.239.34.10 -[73] 2016-10-20 15:24:06.339145 [#6 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:06.339145 [#6 dns.pcap 4095] \ [172.17.0.10].58176 [8.8.8.8].53 \ dns QUERY,NOERROR,25433,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:06.340820 [#7 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:06.340820 [#7 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].58176 \ dns QUERY,NOERROR,25433,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -2219,11 +2219,11 @@ ns3.google.com.,IN,A,157814,216.239.36.10 \ ns4.google.com.,IN,A,157814,216.239.38.10 \ ns2.google.com.,IN,A,157814,216.239.34.10 -[73] 2016-10-20 15:24:07.353123 [#8 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:07.353123 [#8 dns.pcap 4095] \ [172.17.0.10].34607 [8.8.8.8].53 \ dns QUERY,NOERROR,8470,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:07.354682 [#9 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:07.354682 [#9 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].34607 \ dns QUERY,NOERROR,8470,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -2237,11 +2237,11 @@ ns3.google.com.,IN,A,157813,216.239.36.10 \ ns4.google.com.,IN,A,157813,216.239.38.10 \ ns2.google.com.,IN,A,157813,216.239.34.10 -[73] 2016-10-20 15:24:08.368516 [#10 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:08.368516 [#10 dns.pcap 4095] \ [172.17.0.10].37149 [8.8.8.8].53 \ dns QUERY,NOERROR,44985,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:08.370119 [#11 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:08.370119 [#11 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].37149 \ dns QUERY,NOERROR,44985,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -2255,11 +2255,11 @@ ns3.google.com.,IN,A,157812,216.239.36.10 \ ns4.google.com.,IN,A,157812,216.239.38.10 \ ns2.google.com.,IN,A,157812,216.239.34.10 -[73] 2016-10-20 15:24:09.384057 [#12 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:09.384057 [#12 dns.pcap 4095] \ [172.17.0.10].52368 [8.8.8.8].53 \ dns QUERY,NOERROR,22980,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:09.385463 [#13 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:09.385463 [#13 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].52368 \ dns QUERY,NOERROR,22980,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -2273,11 +2273,11 @@ ns3.google.com.,IN,A,157811,216.239.36.10 \ ns4.google.com.,IN,A,157811,216.239.38.10 \ ns2.google.com.,IN,A,157811,216.239.34.10 -[73] 2016-10-20 15:24:10.398099 [#14 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:10.398099 [#14 dns.pcap 4095] \ [172.17.0.10].34426 [8.8.8.8].53 \ dns QUERY,NOERROR,25431,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:10.400317 [#15 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:10.400317 [#15 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].34426 \ dns QUERY,NOERROR,25431,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -2291,11 +2291,11 @@ ns3.google.com.,IN,A,157810,216.239.36.10 \ ns4.google.com.,IN,A,157810,216.239.38.10 \ ns2.google.com.,IN,A,157810,216.239.34.10 -[73] 2016-10-20 15:24:11.412133 [#16 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:11.412133 [#16 dns.pcap 4095] \ [172.17.0.10].51181 [8.8.8.8].53 \ dns QUERY,NOERROR,47411,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:11.413370 [#17 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:11.413370 [#17 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].51181 \ dns QUERY,NOERROR,47411,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -2309,11 +2309,11 @@ ns3.google.com.,IN,A,157809,216.239.36.10 \ ns4.google.com.,IN,A,157809,216.239.38.10 \ ns2.google.com.,IN,A,157809,216.239.34.10 -[73] 2016-10-20 15:24:18.452451 [#18 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:18.452451 [#18 dns.pcap 4095] \ [172.17.0.10].40224 [8.8.8.8].53 \ dns QUERY,NOERROR,60808,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:18.454030 [#19 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:18.454030 [#19 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].40224 \ dns QUERY,NOERROR,60808,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -2327,11 +2327,11 @@ ns3.google.com.,IN,A,157802,216.239.36.10 \ ns4.google.com.,IN,A,157802,216.239.38.10 \ ns2.google.com.,IN,A,157802,216.239.34.10 -[73] 2016-10-20 15:24:19.467324 [#20 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:19.467324 [#20 dns.pcap 4095] \ [172.17.0.10].60457 [8.8.8.8].53 \ dns QUERY,NOERROR,25543,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:19.468895 [#21 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:19.468895 [#21 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].60457 \ dns QUERY,NOERROR,25543,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -2345,11 +2345,11 @@ ns3.google.com.,IN,A,157801,216.239.36.10 \ ns4.google.com.,IN,A,157801,216.239.38.10 \ ns2.google.com.,IN,A,157801,216.239.34.10 -[73] 2016-10-20 15:24:20.482188 [#22 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:20.482188 [#22 dns.pcap 4095] \ [172.17.0.10].56022 [8.8.8.8].53 \ dns QUERY,NOERROR,25911,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:20.483927 [#23 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:20.483927 [#23 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].56022 \ dns QUERY,NOERROR,25911,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -2363,11 +2363,11 @@ ns3.google.com.,IN,A,157800,216.239.36.10 \ ns4.google.com.,IN,A,157800,216.239.38.10 \ ns2.google.com.,IN,A,157800,216.239.34.10 -[73] 2016-10-20 15:24:21.495324 [#24 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:21.495324 [#24 dns.pcap 4095] \ [172.17.0.10].42978 [8.8.8.8].53 \ dns QUERY,NOERROR,37698,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:21.496815 [#25 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:21.496815 [#25 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].42978 \ dns QUERY,NOERROR,37698,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -2381,11 +2381,11 @@ ns3.google.com.,IN,A,157799,216.239.36.10 \ ns4.google.com.,IN,A,157799,216.239.38.10 \ ns2.google.com.,IN,A,157799,216.239.34.10 -[73] 2016-10-20 15:24:22.510176 [#26 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:22.510176 [#26 dns.pcap 4095] \ [172.17.0.10].50599 [8.8.8.8].53 \ dns QUERY,NOERROR,32142,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:22.511746 [#27 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:22.511746 [#27 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].50599 \ dns QUERY,NOERROR,32142,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -2399,11 +2399,11 @@ ns3.google.com.,IN,A,157798,216.239.36.10 \ ns4.google.com.,IN,A,157798,216.239.38.10 \ ns2.google.com.,IN,A,157798,216.239.34.10 -[73] 2016-10-20 15:24:23.527449 [#28 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:23.527449 [#28 dns.pcap 4095] \ [172.17.0.10].60063 [8.8.8.8].53 \ dns QUERY,NOERROR,18886,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:23.529385 [#29 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:23.529385 [#29 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].60063 \ dns QUERY,NOERROR,18886,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -2417,11 +2417,11 @@ ns3.google.com.,IN,A,157797,216.239.36.10 \ ns4.google.com.,IN,A,157797,216.239.38.10 \ ns2.google.com.,IN,A,157797,216.239.34.10 -[73] 2016-10-20 15:24:24.544538 [#30 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:24.544538 [#30 dns.pcap 4095] \ [172.17.0.10].60469 [8.8.8.8].53 \ dns QUERY,NOERROR,33139,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:24.546172 [#31 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:24.546172 [#31 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].60469 \ dns QUERY,NOERROR,33139,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -2435,11 +2435,11 @@ ns3.google.com.,IN,A,157796,216.239.36.10 \ ns4.google.com.,IN,A,157796,216.239.38.10 \ ns2.google.com.,IN,A,157796,216.239.34.10 -[73] 2016-10-20 15:24:25.562608 [#32 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:25.562608 [#32 dns.pcap 4095] \ [172.17.0.10].33507 [8.8.8.8].53 \ dns QUERY,NOERROR,59258,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:25.564509 [#33 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:25.564509 [#33 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].33507 \ dns QUERY,NOERROR,59258,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -2454,11 +2454,11 @@ ns4.google.com.,IN,A,157795,216.239.38.10 \ ns2.google.com.,IN,A,157795,216.239.34.10 -- not PTR -[56] 2016-10-20 15:23:01.075993 [#0 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:23:01.075993 [#0 dns.pcap 4095] \ [172.17.0.10].53199 [8.8.8.8].53 \ dns QUERY,NOERROR,59311,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:23:01.077982 [#1 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:23:01.077982 [#1 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].53199 \ dns QUERY,NOERROR,59311,qr|rd|ra \ 1 google.com.,IN,A \ @@ -2471,11 +2471,11 @@ ns1.google.com.,IN,A,331882,216.239.32.10 \ ns3.google.com.,IN,A,157880,216.239.36.10 \ ns4.google.com.,IN,A,157880,216.239.38.10 -[56] 2016-10-20 15:23:01.087291 [#2 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:23:01.087291 [#2 dns.pcap 4095] \ [172.17.0.10].40043 [8.8.8.8].53 \ dns QUERY,NOERROR,5337,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:23:01.088733 [#3 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:23:01.088733 [#3 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].40043 \ dns QUERY,NOERROR,5337,qr|rd|ra \ 1 google.com.,IN,A \ @@ -2488,11 +2488,11 @@ ns1.google.com.,IN,A,331882,216.239.32.10 \ ns3.google.com.,IN,A,157880,216.239.36.10 \ ns4.google.com.,IN,A,157880,216.239.38.10 -[56] 2016-10-20 15:23:10.322117 [#4 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:23:10.322117 [#4 dns.pcap 4095] \ [172.17.0.10].37953 [8.8.8.8].53 \ dns QUERY,NOERROR,22982,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:23:10.323399 [#5 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:23:10.323399 [#5 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].37953 \ dns QUERY,NOERROR,22982,qr|rd|ra \ 1 google.com.,IN,A \ @@ -2505,11 +2505,11 @@ ns1.google.com.,IN,A,331872,216.239.32.10 \ ns3.google.com.,IN,A,157870,216.239.36.10 \ ns4.google.com.,IN,A,157870,216.239.38.10 -[56] 2016-10-20 15:23:52.860937 [#6 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:23:52.860937 [#6 dns.pcap 4095] \ [172.17.0.10].40953 [8.8.8.8].53 \ dns QUERY,NOERROR,22531,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:23:52.863771 [#7 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:23:52.863771 [#7 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].40953 \ dns QUERY,NOERROR,22531,qr|rd|ra \ 1 google.com.,IN,A \ @@ -2522,11 +2522,11 @@ ns1.google.com.,IN,A,331830,216.239.32.10 \ ns3.google.com.,IN,A,157828,216.239.36.10 \ ns4.google.com.,IN,A,157828,216.239.38.10 -[56] 2016-10-20 15:23:59.083869 [#8 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:23:59.083869 [#8 dns.pcap 4095] \ [172.17.0.10].45174 [8.8.8.8].53 \ dns QUERY,NOERROR,58510,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:23:59.086104 [#9 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:23:59.086104 [#9 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].45174 \ dns QUERY,NOERROR,58510,qr|rd|ra \ 1 google.com.,IN,A \ @@ -2539,11 +2539,11 @@ ns1.google.com.,IN,A,331824,216.239.32.10 \ ns3.google.com.,IN,A,157822,216.239.36.10 \ ns4.google.com.,IN,A,157822,216.239.38.10 -[56] 2016-10-20 15:24:04.323868 [#10 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:04.323868 [#10 dns.pcap 4095] \ [172.17.0.10].43559 [8.8.8.8].53 \ dns QUERY,NOERROR,49483,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:04.325597 [#11 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:04.325597 [#11 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].43559 \ dns QUERY,NOERROR,49483,qr|rd|ra \ 1 google.com.,IN,A \ @@ -2556,11 +2556,11 @@ ns1.google.com.,IN,A,331818,216.239.32.10 \ ns3.google.com.,IN,A,157816,216.239.36.10 \ ns4.google.com.,IN,A,157816,216.239.38.10 -[56] 2016-10-20 15:24:06.332239 [#12 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:06.332239 [#12 dns.pcap 4095] \ [172.17.0.10].54859 [8.8.8.8].53 \ dns QUERY,NOERROR,31669,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:06.333743 [#13 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:06.333743 [#13 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].54859 \ dns QUERY,NOERROR,31669,qr|rd|ra \ 1 google.com.,IN,A \ @@ -2573,11 +2573,11 @@ ns1.google.com.,IN,A,331816,216.239.32.10 \ ns3.google.com.,IN,A,157814,216.239.36.10 \ ns4.google.com.,IN,A,157814,216.239.38.10 -[56] 2016-10-20 15:24:07.346429 [#14 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:07.346429 [#14 dns.pcap 4095] \ [172.17.0.10].41266 [8.8.8.8].53 \ dns QUERY,NOERROR,63798,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:07.348160 [#15 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:07.348160 [#15 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].41266 \ dns QUERY,NOERROR,63798,qr|rd|ra \ 1 google.com.,IN,A \ @@ -2590,11 +2590,11 @@ ns1.google.com.,IN,A,331815,216.239.32.10 \ ns3.google.com.,IN,A,157813,216.239.36.10 \ ns4.google.com.,IN,A,157813,216.239.38.10 -[56] 2016-10-20 15:24:08.360528 [#16 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:08.360528 [#16 dns.pcap 4095] \ [172.17.0.10].60437 [8.8.8.8].53 \ dns QUERY,NOERROR,60258,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:08.362206 [#17 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:08.362206 [#17 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].60437 \ dns QUERY,NOERROR,60258,qr|rd|ra \ 1 google.com.,IN,A \ @@ -2607,11 +2607,11 @@ ns1.google.com.,IN,A,331814,216.239.32.10 \ ns3.google.com.,IN,A,157812,216.239.36.10 \ ns4.google.com.,IN,A,157812,216.239.38.10 -[56] 2016-10-20 15:24:09.375942 [#18 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:09.375942 [#18 dns.pcap 4095] \ [172.17.0.10].53820 [8.8.8.8].53 \ dns QUERY,NOERROR,45512,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:09.378425 [#19 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:09.378425 [#19 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].53820 \ dns QUERY,NOERROR,45512,qr|rd|ra \ 1 google.com.,IN,A \ @@ -2624,11 +2624,11 @@ ns1.google.com.,IN,A,331813,216.239.32.10 \ ns3.google.com.,IN,A,157811,216.239.36.10 \ ns4.google.com.,IN,A,157811,216.239.38.10 -[56] 2016-10-20 15:24:10.391358 [#20 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:10.391358 [#20 dns.pcap 4095] \ [172.17.0.10].47637 [8.8.8.8].53 \ dns QUERY,NOERROR,1834,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:10.392886 [#21 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:10.392886 [#21 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].47637 \ dns QUERY,NOERROR,1834,qr|rd|ra \ 1 google.com.,IN,A \ @@ -2641,11 +2641,11 @@ ns1.google.com.,IN,A,331812,216.239.32.10 \ ns3.google.com.,IN,A,157810,216.239.36.10 \ ns4.google.com.,IN,A,157810,216.239.38.10 -[56] 2016-10-20 15:24:11.406297 [#22 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:11.406297 [#22 dns.pcap 4095] \ [172.17.0.10].41059 [8.8.8.8].53 \ dns QUERY,NOERROR,48432,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:11.407460 [#23 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:11.407460 [#23 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].41059 \ dns QUERY,NOERROR,48432,qr|rd|ra \ 1 google.com.,IN,A \ @@ -2658,11 +2658,11 @@ ns1.google.com.,IN,A,331811,216.239.32.10 \ ns3.google.com.,IN,A,157809,216.239.36.10 \ ns4.google.com.,IN,A,157809,216.239.38.10 -[56] 2016-10-20 15:24:12.419936 [#24 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:12.419936 [#24 dns.pcap 4095] \ [172.17.0.10].32976 [8.8.8.8].53 \ dns QUERY,NOERROR,12038,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:12.421228 [#25 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:12.421228 [#25 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].32976 \ dns QUERY,NOERROR,12038,qr|rd|ra \ 1 google.com.,IN,A \ @@ -2675,11 +2675,11 @@ ns1.google.com.,IN,A,331810,216.239.32.10 \ ns3.google.com.,IN,A,157808,216.239.36.10 \ ns4.google.com.,IN,A,157808,216.239.38.10 -[56] 2016-10-20 15:24:14.428524 [#26 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:14.428524 [#26 dns.pcap 4095] \ [172.17.0.10].53467 [8.8.8.8].53 \ dns QUERY,NOERROR,11614,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:14.429863 [#27 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:14.429863 [#27 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].53467 \ dns QUERY,NOERROR,11614,qr|rd|ra \ 1 google.com.,IN,A \ @@ -2692,11 +2692,11 @@ ns1.google.com.,IN,A,331808,216.239.32.10 \ ns3.google.com.,IN,A,157806,216.239.36.10 \ ns4.google.com.,IN,A,157806,216.239.38.10 -[56] 2016-10-20 15:24:16.435733 [#28 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:16.435733 [#28 dns.pcap 4095] \ [172.17.0.10].41532 [8.8.8.8].53 \ dns QUERY,NOERROR,59173,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:16.437471 [#29 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:16.437471 [#29 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].41532 \ dns QUERY,NOERROR,59173,qr|rd|ra \ 1 google.com.,IN,A \ @@ -2709,11 +2709,11 @@ ns1.google.com.,IN,A,331806,216.239.32.10 \ ns3.google.com.,IN,A,157804,216.239.36.10 \ ns4.google.com.,IN,A,157804,216.239.38.10 -[56] 2016-10-20 15:24:18.445519 [#30 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:18.445519 [#30 dns.pcap 4095] \ [172.17.0.10].44982 [8.8.8.8].53 \ dns QUERY,NOERROR,45535,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:18.446775 [#31 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:18.446775 [#31 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].44982 \ dns QUERY,NOERROR,45535,qr|rd|ra \ 1 google.com.,IN,A \ @@ -2726,11 +2726,11 @@ ns1.google.com.,IN,A,331804,216.239.32.10 \ ns3.google.com.,IN,A,157802,216.239.36.10 \ ns4.google.com.,IN,A,157802,216.239.38.10 -[56] 2016-10-20 15:24:19.460087 [#32 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:19.460087 [#32 dns.pcap 4095] \ [172.17.0.10].45658 [8.8.8.8].53 \ dns QUERY,NOERROR,64325,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:19.462224 [#33 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:19.462224 [#33 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].45658 \ dns QUERY,NOERROR,64325,qr|rd|ra \ 1 google.com.,IN,A \ @@ -2743,11 +2743,11 @@ ns1.google.com.,IN,A,331803,216.239.32.10 \ ns3.google.com.,IN,A,157801,216.239.36.10 \ ns4.google.com.,IN,A,157801,216.239.38.10 -[56] 2016-10-20 15:24:20.475086 [#34 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:20.475086 [#34 dns.pcap 4095] \ [172.17.0.10].59762 [8.8.8.8].53 \ dns QUERY,NOERROR,20736,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:20.476841 [#35 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:20.476841 [#35 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].59762 \ dns QUERY,NOERROR,20736,qr|rd|ra \ 1 google.com.,IN,A \ @@ -2760,11 +2760,11 @@ ns1.google.com.,IN,A,331802,216.239.32.10 \ ns3.google.com.,IN,A,157800,216.239.36.10 \ ns4.google.com.,IN,A,157800,216.239.38.10 -[56] 2016-10-20 15:24:21.489468 [#36 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:21.489468 [#36 dns.pcap 4095] \ [172.17.0.10].37669 [8.8.8.8].53 \ dns QUERY,NOERROR,64358,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:21.490573 [#37 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:21.490573 [#37 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].37669 \ dns QUERY,NOERROR,64358,qr|rd|ra \ 1 google.com.,IN,A \ @@ -2777,11 +2777,11 @@ ns1.google.com.,IN,A,331801,216.239.32.10 \ ns3.google.com.,IN,A,157799,216.239.36.10 \ ns4.google.com.,IN,A,157799,216.239.38.10 -[56] 2016-10-20 15:24:22.502667 [#38 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:22.502667 [#38 dns.pcap 4095] \ [172.17.0.10].49829 [8.8.8.8].53 \ dns QUERY,NOERROR,54706,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:22.504738 [#39 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:22.504738 [#39 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].49829 \ dns QUERY,NOERROR,54706,qr|rd|ra \ 1 google.com.,IN,A \ @@ -2794,11 +2794,11 @@ ns1.google.com.,IN,A,331800,216.239.32.10 \ ns3.google.com.,IN,A,157798,216.239.36.10 \ ns4.google.com.,IN,A,157798,216.239.38.10 -[56] 2016-10-20 15:24:23.520203 [#40 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:23.520203 [#40 dns.pcap 4095] \ [172.17.0.10].44980 [8.8.8.8].53 \ dns QUERY,NOERROR,41808,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:23.521976 [#41 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:23.521976 [#41 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].44980 \ dns QUERY,NOERROR,41808,qr|rd|ra \ 1 google.com.,IN,A \ @@ -2811,11 +2811,11 @@ ns1.google.com.,IN,A,331799,216.239.32.10 \ ns3.google.com.,IN,A,157797,216.239.36.10 \ ns4.google.com.,IN,A,157797,216.239.38.10 -[56] 2016-10-20 15:24:24.537264 [#42 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:24.537264 [#42 dns.pcap 4095] \ [172.17.0.10].42042 [8.8.8.8].53 \ dns QUERY,NOERROR,10624,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:24.539398 [#43 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:24.539398 [#43 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].42042 \ dns QUERY,NOERROR,10624,qr|rd|ra \ 1 google.com.,IN,A \ @@ -2828,11 +2828,11 @@ ns1.google.com.,IN,A,331798,216.239.32.10 \ ns3.google.com.,IN,A,157796,216.239.36.10 \ ns4.google.com.,IN,A,157796,216.239.38.10 -[56] 2016-10-20 15:24:25.554744 [#44 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:25.554744 [#44 dns.pcap 4095] \ [172.17.0.10].45703 [8.8.8.8].53 \ dns QUERY,NOERROR,61415,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:25.556513 [#45 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:25.556513 [#45 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].45703 \ dns QUERY,NOERROR,61415,qr|rd|ra \ 1 google.com.,IN,A \ @@ -2845,11 +2845,11 @@ ns1.google.com.,IN,A,331797,216.239.32.10 \ ns3.google.com.,IN,A,157795,216.239.36.10 \ ns4.google.com.,IN,A,157795,216.239.38.10 -[56] 2016-10-20 15:24:26.572784 [#46 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:26.572784 [#46 dns.pcap 4095] \ [172.17.0.10].46798 [8.8.8.8].53 \ dns QUERY,NOERROR,17700,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:26.574350 [#47 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:26.574350 [#47 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].46798 \ dns QUERY,NOERROR,17700,qr|rd|ra \ 1 google.com.,IN,A \ diff --git a/src/test/test14.sh b/src/test/test14.sh index 1788f10..c420509 100755 --- a/src/test/test14.sh +++ b/src/test/test14.sh @@ -1,22 +1,24 @@ #!/bin/sh -xe +test -e dns.pcap || ln -s "$srcdir/dns.pcap" dns.pcap + echo "-- only 1" >test14.out -../dnscap -g -q 1 -r dns.pcap-dist 2>>test14.out +../dnscap -g -q 1 -r dns.pcap 2>>test14.out echo "-- not 1" >>test14.out -../dnscap -g -Q 1 -r dns.pcap-dist 2>>test14.out +../dnscap -g -Q 1 -r dns.pcap 2>>test14.out echo "-- only PTR" >>test14.out -../dnscap -g -q PTR -r dns.pcap-dist 2>>test14.out +../dnscap -g -q PTR -r dns.pcap 2>>test14.out echo "-- not PTR" >>test14.out -../dnscap -g -Q PTR -r dns.pcap-dist 2>>test14.out +../dnscap -g -Q PTR -r dns.pcap 2>>test14.out echo "-- only 1" >>test14.out -../dnscap -g -o use_layers=yes -q 1 -r dns.pcap-dist 2>>test14.out +../dnscap -g -o use_layers=yes -q 1 -r dns.pcap 2>>test14.out echo "-- not 1" >>test14.out -../dnscap -g -o use_layers=yes -Q 1 -r dns.pcap-dist 2>>test14.out +../dnscap -g -o use_layers=yes -Q 1 -r dns.pcap 2>>test14.out echo "-- only PTR" >>test14.out -../dnscap -g -o use_layers=yes -q PTR -r dns.pcap-dist 2>>test14.out +../dnscap -g -o use_layers=yes -q PTR -r dns.pcap 2>>test14.out echo "-- not PTR" >>test14.out -../dnscap -g -o use_layers=yes -Q PTR -r dns.pcap-dist 2>>test14.out +../dnscap -g -o use_layers=yes -Q PTR -r dns.pcap 2>>test14.out mv test14.out test14.out.old grep -v "^libgcov profiling error:" test14.out.old > test14.out diff --git a/src/test/test2.sh b/src/test/test2.sh index 83cc8c0..7a5d981 100755 --- a/src/test/test2.sh +++ b/src/test/test2.sh @@ -1,6 +1,8 @@ #!/bin/sh -xe -../dnscap -g -r dns.pcap-dist 2>no-layers.out -../dnscap -g -r dns.pcap-dist -o use_layers=yes 2>layers.out +test -e dns.pcap || ln -s "$srcdir/dns.pcap" dns.pcap + +../dnscap -g -r dns.pcap 2>no-layers.out +../dnscap -g -r dns.pcap -o use_layers=yes 2>layers.out diff no-layers.out layers.out diff --git a/src/test/test3.sh b/src/test/test3.sh index 4b65121..db521ad 100755 --- a/src/test/test3.sh +++ b/src/test/test3.sh @@ -1,6 +1,8 @@ #!/bin/sh -xe -../dnscap -g -f -r frags.pcap-dist -o use_layers=yes -o defrag_ipv4=yes -o max_ipv4_fragments_per_packet=64 2>frags.out +test -e frags.pcap || ln -s "$srcdir/frags.pcap" frags.pcap + +../dnscap -g -f -r frags.pcap -o use_layers=yes -o defrag_ipv4=yes -o max_ipv4_fragments_per_packet=64 2>frags.out # remove timestamp sed -i -e 's%^\(\[[0-9]*\]\)[^\[]*\[%\1 [%g' frags.out @@ -8,6 +10,6 @@ sed -i -e 's%^\(\[[0-9]*\]\)[^\[]*\[%\1 [%g' frags.out # create gold file cp "$srcdir/dns.gold" frags.gold sed -i -e 's%^\(\[[0-9]*\]\)[^\[]*\[%\1 [%g' frags.gold -sed -i -e 's%dns.pcap-dist%frags.pcap-dist%g' frags.gold +sed -i -e 's%dns.pcap%frags.pcap%g' frags.gold diff frags.out frags.gold diff --git a/src/test/test4.sh b/src/test/test4.sh index 7cdf34e..f599735 100755 --- a/src/test/test4.sh +++ b/src/test/test4.sh @@ -1,6 +1,8 @@ #!/bin/sh -xe -../dnscap -g -T -r 1qtcppadd.pcap-dist 2>padding-no-layers.out -../dnscap -g -T -r 1qtcppadd.pcap-dist -o use_layers=yes 2>padding-layers.out +test -e 1qtcppadd.pcap || ln -s "$srcdir/1qtcppadd.pcap" 1qtcppadd.pcap + +../dnscap -g -T -r 1qtcppadd.pcap 2>padding-no-layers.out +../dnscap -g -T -r 1qtcppadd.pcap -o use_layers=yes 2>padding-layers.out diff padding-no-layers.out padding-layers.out diff --git a/src/test/test5.sh b/src/test/test5.sh index a4789d7..e78d55b 100755 --- a/src/test/test5.sh +++ b/src/test/test5.sh @@ -1,20 +1,22 @@ #!/bin/sh -xe +test -e vlan11.pcap || ln -s "$srcdir/vlan11.pcap" vlan11.pcap + osrel=`uname -s` -../dnscap -g -r vlan11.pcap-dist 2>vlan11.out +../dnscap -g -r vlan11.pcap 2>vlan11.out test -f vlan11.out && ! test -s vlan11.out -../dnscap -g -r vlan11.pcap-dist -L 10 2>vlan11.out +../dnscap -g -r vlan11.pcap -L 10 2>vlan11.out test -f vlan11.out && ! test -s vlan11.out -../dnscap -g -r vlan11.pcap-dist -L 4095 2>vlan11.out +../dnscap -g -r vlan11.pcap -L 4095 2>vlan11.out diff vlan11.out "$srcdir/vlan11.gold" -../dnscap -g -r vlan11.pcap-dist -L 11 2>vlan11.out +../dnscap -g -r vlan11.pcap -L 11 2>vlan11.out diff vlan11.out "$srcdir/vlan11.gold" -../dnscap -g -r vlan11.pcap-dist -o use_layers=yes 2>vlan11.out +../dnscap -g -r vlan11.pcap -o use_layers=yes 2>vlan11.out test -f vlan11.out && ! test -s vlan11.out -../dnscap -g -r vlan11.pcap-dist -o use_layers=yes -L 10 2>vlan11.out +../dnscap -g -r vlan11.pcap -o use_layers=yes -L 10 2>vlan11.out test -f vlan11.out && ! test -s vlan11.out -../dnscap -g -r vlan11.pcap-dist -o use_layers=yes -L 4095 2>vlan11.out +../dnscap -g -r vlan11.pcap -o use_layers=yes -L 4095 2>vlan11.out diff vlan11.out "$srcdir/vlan11.gold" -../dnscap -g -r vlan11.pcap-dist -o use_layers=yes -L 11 2>vlan11.out +../dnscap -g -r vlan11.pcap -o use_layers=yes -L 11 2>vlan11.out diff vlan11.out "$srcdir/vlan11.gold" diff --git a/src/test/test6.sh b/src/test/test6.sh index f05713b..18a6887 100755 --- a/src/test/test6.sh +++ b/src/test/test6.sh @@ -1,6 +1,8 @@ #!/bin/sh -xe -../dnscap -g -r dnspad.pcap-dist 2>dnspad.out -../dnscap -o use_layers=yes -g -r dnspad.pcap-dist 2>>dnspad.out +test -e dnspad.pcap || ln -s "$srcdir/dnspad.pcap" dnspad.pcap + +../dnscap -g -r dnspad.pcap 2>dnspad.out +../dnscap -o use_layers=yes -g -r dnspad.pcap 2>>dnspad.out diff dnspad.out "$srcdir/dnspad.gold" diff --git a/src/test/test7.gold b/src/test/test7.gold index c3bb683..0c4c34c 100644 --- a/src/test/test7.gold +++ b/src/test/test7.gold @@ -1,25 +1,25 @@ -[60] 2018-01-10 11:22:41.543825 [#0 dnso1tcp.pcap-dist 4095] \ +[60] 2018-01-10 11:22:41.543825 [#0 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[60] 2018-01-10 11:22:41.548834 [#1 dnso1tcp.pcap-dist 4095] \ +[60] 2018-01-10 11:22:41.548834 [#1 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 -[54] 2018-01-10 11:22:41.548947 [#2 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:41.548947 [#2 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:41.552406 [#3 dnso1tcp.pcap-dist 4095] \ +[80] 2018-01-10 11:22:41.552406 [#3 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,59311,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:41.555912 [#4 dnso1tcp.pcap-dist 4095] \ +[98] 2018-01-10 11:22:41.555912 [#4 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,59311,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,58,216.58.211.142 0 0 -[54] 2018-01-10 11:22:41.556032 [#5 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:41.556032 [#5 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[97] 2018-01-10 11:22:41.600183 [#6 dnso1tcp.pcap-dist 4095] \ +[97] 2018-01-10 11:22:41.600183 [#6 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,35665,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[197] 2018-01-10 11:22:41.616460 [#7 dnso1tcp.pcap-dist 4095] \ +[197] 2018-01-10 11:22:41.616460 [#7 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,35665,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -27,35 +27,35 @@ 206.218.58.216.in-addr.arpa.,IN,PTR,21599,dfw06s47-in-f14.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21599,dfw06s47-in-f206.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21599,dfw06s47-in-f14.1e100.net. 0 0 -[54] 2018-01-10 11:22:41.616663 [#8 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:41.616663 [#8 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:41.659921 [#9 dnso1tcp.pcap-dist 4095] \ +[80] 2018-01-10 11:22:41.659921 [#9 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,5337,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:41.663576 [#10 dnso1tcp.pcap-dist 4095] \ +[98] 2018-01-10 11:22:41.663576 [#10 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,5337,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,58,216.58.211.142 0 0 -[54] 2018-01-10 11:22:41.663734 [#11 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:41.663734 [#11 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:41.706183 [#12 dnso1tcp.pcap-dist 4095] \ +[80] 2018-01-10 11:22:41.706183 [#12 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,22982,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:41.709680 [#13 dnso1tcp.pcap-dist 4095] \ +[98] 2018-01-10 11:22:41.709680 [#13 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,22982,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,58,216.58.211.142 0 0 -[54] 2018-01-10 11:22:41.709779 [#14 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:41.709779 [#14 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[97] 2018-01-10 11:22:41.754101 [#15 dnso1tcp.pcap-dist 4095] \ +[97] 2018-01-10 11:22:41.754101 [#15 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,18718,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[197] 2018-01-10 11:22:41.757876 [#16 dnso1tcp.pcap-dist 4095] \ +[197] 2018-01-10 11:22:41.757876 [#16 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,18718,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -63,35 +63,35 @@ 206.218.58.216.in-addr.arpa.,IN,PTR,21599,dfw06s47-in-f14.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21599,dfw06s47-in-f206.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21599,dfw06s47-in-f14.1e100.net. 0 0 -[54] 2018-01-10 11:22:41.758191 [#17 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:41.758191 [#17 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:41.804255 [#18 dnso1tcp.pcap-dist 4095] \ +[80] 2018-01-10 11:22:41.804255 [#18 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,22531,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:41.809483 [#19 dnso1tcp.pcap-dist 4095] \ +[98] 2018-01-10 11:22:41.809483 [#19 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,22531,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,58,216.58.211.142 0 0 -[54] 2018-01-10 11:22:41.809780 [#20 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:41.809780 [#20 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:41.854113 [#21 dnso1tcp.pcap-dist 4095] \ +[80] 2018-01-10 11:22:41.854113 [#21 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,58510,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:41.857788 [#22 dnso1tcp.pcap-dist 4095] \ +[98] 2018-01-10 11:22:41.857788 [#22 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,58510,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,58,216.58.211.142 0 0 -[54] 2018-01-10 11:22:41.858002 [#23 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:41.858002 [#23 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[97] 2018-01-10 11:22:41.902165 [#24 dnso1tcp.pcap-dist 4095] \ +[97] 2018-01-10 11:22:41.902165 [#24 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,45248,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[197] 2018-01-10 11:22:41.905802 [#25 dnso1tcp.pcap-dist 4095] \ +[197] 2018-01-10 11:22:41.905802 [#25 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,45248,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -99,35 +99,35 @@ 206.218.58.216.in-addr.arpa.,IN,PTR,21599,dfw06s47-in-f14.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21599,dfw06s47-in-f206.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21599,dfw06s47-in-f14.1e100.net. 0 0 -[54] 2018-01-10 11:22:41.905918 [#26 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:41.905918 [#26 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:41.950164 [#27 dnso1tcp.pcap-dist 4095] \ +[80] 2018-01-10 11:22:41.950164 [#27 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,49483,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:41.954138 [#28 dnso1tcp.pcap-dist 4095] \ +[98] 2018-01-10 11:22:41.954138 [#28 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,49483,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,57,216.58.211.142 0 0 -[54] 2018-01-10 11:22:41.954452 [#29 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:41.954452 [#29 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:41.999121 [#30 dnso1tcp.pcap-dist 4095] \ +[80] 2018-01-10 11:22:41.999121 [#30 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,31669,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:42.002657 [#31 dnso1tcp.pcap-dist 4095] \ +[98] 2018-01-10 11:22:42.002657 [#31 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,31669,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,57,216.58.211.142 0 0 -[54] 2018-01-10 11:22:42.002831 [#32 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:42.002831 [#32 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[97] 2018-01-10 11:22:42.047148 [#33 dnso1tcp.pcap-dist 4095] \ +[97] 2018-01-10 11:22:42.047148 [#33 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,25433,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[197] 2018-01-10 11:22:42.052425 [#34 dnso1tcp.pcap-dist 4095] \ +[197] 2018-01-10 11:22:42.052425 [#34 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,25433,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -135,24 +135,24 @@ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f14.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f206.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f14.1e100.net. 0 0 -[54] 2018-01-10 11:22:42.052901 [#35 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:42.052901 [#35 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:42.097899 [#36 dnso1tcp.pcap-dist 4095] \ +[80] 2018-01-10 11:22:42.097899 [#36 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,63798,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:42.101443 [#37 dnso1tcp.pcap-dist 4095] \ +[98] 2018-01-10 11:22:42.101443 [#37 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,63798,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,57,216.58.211.142 0 0 -[54] 2018-01-10 11:22:42.101553 [#38 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:42.101553 [#38 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[97] 2018-01-10 11:22:42.145005 [#39 dnso1tcp.pcap-dist 4095] \ +[97] 2018-01-10 11:22:42.145005 [#39 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,8470,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[197] 2018-01-10 11:22:42.148639 [#40 dnso1tcp.pcap-dist 4095] \ +[197] 2018-01-10 11:22:42.148639 [#40 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,8470,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -160,24 +160,24 @@ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f14.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f206.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f14.1e100.net. 0 0 -[54] 2018-01-10 11:22:42.148770 [#41 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:42.148770 [#41 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:42.192777 [#42 dnso1tcp.pcap-dist 4095] \ +[80] 2018-01-10 11:22:42.192777 [#42 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,60258,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:42.196256 [#43 dnso1tcp.pcap-dist 4095] \ +[98] 2018-01-10 11:22:42.196256 [#43 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,60258,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,57,216.58.211.142 0 0 -[54] 2018-01-10 11:22:42.196471 [#44 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:42.196471 [#44 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[97] 2018-01-10 11:22:42.240395 [#45 dnso1tcp.pcap-dist 4095] \ +[97] 2018-01-10 11:22:42.240395 [#45 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,44985,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[197] 2018-01-10 11:22:42.245103 [#46 dnso1tcp.pcap-dist 4095] \ +[197] 2018-01-10 11:22:42.245103 [#46 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,44985,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -185,24 +185,24 @@ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f14.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f206.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f14.1e100.net. 0 0 -[54] 2018-01-10 11:22:42.245585 [#47 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:42.245585 [#47 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:42.290257 [#48 dnso1tcp.pcap-dist 4095] \ +[80] 2018-01-10 11:22:42.290257 [#48 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,45512,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:42.293978 [#49 dnso1tcp.pcap-dist 4095] \ +[98] 2018-01-10 11:22:42.293978 [#49 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,45512,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,57,216.58.211.142 0 0 -[54] 2018-01-10 11:22:42.294300 [#50 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:42.294300 [#50 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[97] 2018-01-10 11:22:42.337985 [#51 dnso1tcp.pcap-dist 4095] \ +[97] 2018-01-10 11:22:42.337985 [#51 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,22980,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[197] 2018-01-10 11:22:42.341559 [#52 dnso1tcp.pcap-dist 4095] \ +[197] 2018-01-10 11:22:42.341559 [#52 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,22980,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -210,24 +210,24 @@ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f14.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f206.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f14.1e100.net. 0 0 -[54] 2018-01-10 11:22:42.341648 [#53 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:42.341648 [#53 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:42.385009 [#54 dnso1tcp.pcap-dist 4095] \ +[80] 2018-01-10 11:22:42.385009 [#54 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,1834,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:42.389082 [#55 dnso1tcp.pcap-dist 4095] \ +[98] 2018-01-10 11:22:42.389082 [#55 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,1834,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,57,216.58.211.142 0 0 -[54] 2018-01-10 11:22:42.389343 [#56 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:42.389343 [#56 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[97] 2018-01-10 11:22:42.433458 [#57 dnso1tcp.pcap-dist 4095] \ +[97] 2018-01-10 11:22:42.433458 [#57 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,25431,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[197] 2018-01-10 11:22:42.438748 [#58 dnso1tcp.pcap-dist 4095] \ +[197] 2018-01-10 11:22:42.438748 [#58 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,25431,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -235,24 +235,24 @@ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f14.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f206.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f14.1e100.net. 0 0 -[54] 2018-01-10 11:22:42.439060 [#59 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:42.439060 [#59 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:42.484005 [#60 dnso1tcp.pcap-dist 4095] \ +[80] 2018-01-10 11:22:42.484005 [#60 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,48432,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:42.487697 [#61 dnso1tcp.pcap-dist 4095] \ +[98] 2018-01-10 11:22:42.487697 [#61 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,48432,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,57,216.58.211.142 0 0 -[54] 2018-01-10 11:22:42.488035 [#62 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:42.488035 [#62 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[97] 2018-01-10 11:22:42.532414 [#63 dnso1tcp.pcap-dist 4095] \ +[97] 2018-01-10 11:22:42.532414 [#63 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,47411,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[197] 2018-01-10 11:22:42.537574 [#64 dnso1tcp.pcap-dist 4095] \ +[197] 2018-01-10 11:22:42.537574 [#64 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,47411,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -260,57 +260,57 @@ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f14.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f206.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f14.1e100.net. 0 0 -[54] 2018-01-10 11:22:42.537941 [#65 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:42.537941 [#65 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:42.583021 [#66 dnso1tcp.pcap-dist 4095] \ +[80] 2018-01-10 11:22:42.583021 [#66 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,12038,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:42.586898 [#67 dnso1tcp.pcap-dist 4095] \ +[98] 2018-01-10 11:22:42.586898 [#67 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,12038,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,57,216.58.211.142 0 0 -[54] 2018-01-10 11:22:42.587050 [#68 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:42.587050 [#68 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:42.630221 [#69 dnso1tcp.pcap-dist 4095] \ +[80] 2018-01-10 11:22:42.630221 [#69 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,11614,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:42.633808 [#70 dnso1tcp.pcap-dist 4095] \ +[98] 2018-01-10 11:22:42.633808 [#70 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,11614,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,57,216.58.211.142 0 0 -[54] 2018-01-10 11:22:42.634006 [#71 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:42.634006 [#71 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:42.679168 [#72 dnso1tcp.pcap-dist 4095] \ +[80] 2018-01-10 11:22:42.679168 [#72 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,59173,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:42.682888 [#73 dnso1tcp.pcap-dist 4095] \ +[98] 2018-01-10 11:22:42.682888 [#73 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,59173,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,57,216.58.211.142 0 0 -[54] 2018-01-10 11:22:42.683273 [#74 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:42.683273 [#74 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:42.727254 [#75 dnso1tcp.pcap-dist 4095] \ +[80] 2018-01-10 11:22:42.727254 [#75 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,45535,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:42.732703 [#76 dnso1tcp.pcap-dist 4095] \ +[98] 2018-01-10 11:22:42.732703 [#76 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,45535,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,57,216.58.211.142 0 0 -[54] 2018-01-10 11:22:42.733029 [#77 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:42.733029 [#77 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[97] 2018-01-10 11:22:42.777184 [#78 dnso1tcp.pcap-dist 4095] \ +[97] 2018-01-10 11:22:42.777184 [#78 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,60808,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[197] 2018-01-10 11:22:42.781053 [#79 dnso1tcp.pcap-dist 4095] \ +[197] 2018-01-10 11:22:42.781053 [#79 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,60808,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -318,24 +318,24 @@ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f14.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f206.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f14.1e100.net. 0 0 -[54] 2018-01-10 11:22:42.781416 [#80 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:42.781416 [#80 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:42.824222 [#81 dnso1tcp.pcap-dist 4095] \ +[80] 2018-01-10 11:22:42.824222 [#81 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,64325,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:42.828050 [#82 dnso1tcp.pcap-dist 4095] \ +[98] 2018-01-10 11:22:42.828050 [#82 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,64325,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,57,216.58.211.142 0 0 -[54] 2018-01-10 11:22:42.828346 [#83 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:42.828346 [#83 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[97] 2018-01-10 11:22:42.872186 [#84 dnso1tcp.pcap-dist 4095] \ +[97] 2018-01-10 11:22:42.872186 [#84 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,25543,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[197] 2018-01-10 11:22:42.875911 [#85 dnso1tcp.pcap-dist 4095] \ +[197] 2018-01-10 11:22:42.875911 [#85 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,25543,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -343,24 +343,24 @@ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f14.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f206.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f14.1e100.net. 0 0 -[54] 2018-01-10 11:22:42.876226 [#86 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:42.876226 [#86 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:42.920231 [#87 dnso1tcp.pcap-dist 4095] \ +[80] 2018-01-10 11:22:42.920231 [#87 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,20736,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:42.923917 [#88 dnso1tcp.pcap-dist 4095] \ +[98] 2018-01-10 11:22:42.923917 [#88 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,20736,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,57,216.58.211.142 0 0 -[54] 2018-01-10 11:22:42.924082 [#89 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:42.924082 [#89 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[97] 2018-01-10 11:22:42.968961 [#90 dnso1tcp.pcap-dist 4095] \ +[97] 2018-01-10 11:22:42.968961 [#90 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,25911,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[197] 2018-01-10 11:22:42.972662 [#91 dnso1tcp.pcap-dist 4095] \ +[197] 2018-01-10 11:22:42.972662 [#91 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,25911,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -368,24 +368,24 @@ 206.218.58.216.in-addr.arpa.,IN,PTR,21597,dfw06s47-in-f14.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21597,dfw06s47-in-f206.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21597,dfw06s47-in-f14.1e100.net. 0 0 -[54] 2018-01-10 11:22:42.972972 [#92 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:42.972972 [#92 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:43.017364 [#93 dnso1tcp.pcap-dist 4095] \ +[80] 2018-01-10 11:22:43.017364 [#93 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,64358,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:43.022591 [#94 dnso1tcp.pcap-dist 4095] \ +[98] 2018-01-10 11:22:43.022591 [#94 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,64358,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,56,216.58.211.142 0 0 -[54] 2018-01-10 11:22:43.022938 [#95 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:43.022938 [#95 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[97] 2018-01-10 11:22:43.066765 [#96 dnso1tcp.pcap-dist 4095] \ +[97] 2018-01-10 11:22:43.066765 [#96 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,37698,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[197] 2018-01-10 11:22:43.070349 [#97 dnso1tcp.pcap-dist 4095] \ +[197] 2018-01-10 11:22:43.070349 [#97 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,37698,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -393,24 +393,24 @@ 206.218.58.216.in-addr.arpa.,IN,PTR,21597,dfw06s47-in-f14.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21597,dfw06s47-in-f206.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21597,dfw06s47-in-f14.1e100.net. 0 0 -[54] 2018-01-10 11:22:43.070484 [#98 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:43.070484 [#98 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:43.114332 [#99 dnso1tcp.pcap-dist 4095] \ +[80] 2018-01-10 11:22:43.114332 [#99 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,54706,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:43.119538 [#100 dnso1tcp.pcap-dist 4095] \ +[98] 2018-01-10 11:22:43.119538 [#100 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,54706,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,56,216.58.211.142 0 0 -[54] 2018-01-10 11:22:43.119857 [#101 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:43.119857 [#101 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[97] 2018-01-10 11:22:43.163857 [#102 dnso1tcp.pcap-dist 4095] \ +[97] 2018-01-10 11:22:43.163857 [#102 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,32142,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[197] 2018-01-10 11:22:43.167576 [#103 dnso1tcp.pcap-dist 4095] \ +[197] 2018-01-10 11:22:43.167576 [#103 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,32142,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -418,24 +418,24 @@ 206.218.58.216.in-addr.arpa.,IN,PTR,21597,dfw06s47-in-f14.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21597,dfw06s47-in-f206.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21597,dfw06s47-in-f14.1e100.net. 0 0 -[54] 2018-01-10 11:22:43.167733 [#104 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:43.167733 [#104 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:43.211417 [#105 dnso1tcp.pcap-dist 4095] \ +[80] 2018-01-10 11:22:43.211417 [#105 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,41808,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:43.216686 [#106 dnso1tcp.pcap-dist 4095] \ +[98] 2018-01-10 11:22:43.216686 [#106 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,41808,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,56,216.58.211.142 0 0 -[54] 2018-01-10 11:22:43.217042 [#107 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:43.217042 [#107 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[97] 2018-01-10 11:22:43.260995 [#108 dnso1tcp.pcap-dist 4095] \ +[97] 2018-01-10 11:22:43.260995 [#108 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,18886,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[197] 2018-01-10 11:22:43.265047 [#109 dnso1tcp.pcap-dist 4095] \ +[197] 2018-01-10 11:22:43.265047 [#109 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,18886,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -443,24 +443,24 @@ 206.218.58.216.in-addr.arpa.,IN,PTR,21597,dfw06s47-in-f14.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21597,dfw06s47-in-f206.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21597,dfw06s47-in-f14.1e100.net. 0 0 -[54] 2018-01-10 11:22:43.265399 [#110 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:43.265399 [#110 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:43.310017 [#111 dnso1tcp.pcap-dist 4095] \ +[80] 2018-01-10 11:22:43.310017 [#111 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,10624,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:43.313596 [#112 dnso1tcp.pcap-dist 4095] \ +[98] 2018-01-10 11:22:43.313596 [#112 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,10624,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,56,216.58.211.142 0 0 -[54] 2018-01-10 11:22:43.313685 [#113 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:43.313685 [#113 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[97] 2018-01-10 11:22:43.356802 [#114 dnso1tcp.pcap-dist 4095] \ +[97] 2018-01-10 11:22:43.356802 [#114 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,33139,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[197] 2018-01-10 11:22:43.360685 [#115 dnso1tcp.pcap-dist 4095] \ +[197] 2018-01-10 11:22:43.360685 [#115 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,33139,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -468,24 +468,24 @@ 206.218.58.216.in-addr.arpa.,IN,PTR,21597,dfw06s47-in-f14.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21597,dfw06s47-in-f206.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21597,dfw06s47-in-f14.1e100.net. 0 0 -[54] 2018-01-10 11:22:43.360864 [#116 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:43.360864 [#116 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:43.406308 [#117 dnso1tcp.pcap-dist 4095] \ +[80] 2018-01-10 11:22:43.406308 [#117 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,61415,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:43.410191 [#118 dnso1tcp.pcap-dist 4095] \ +[98] 2018-01-10 11:22:43.410191 [#118 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,61415,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,56,216.58.211.142 0 0 -[54] 2018-01-10 11:22:43.410440 [#119 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:43.410440 [#119 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[97] 2018-01-10 11:22:43.454193 [#120 dnso1tcp.pcap-dist 4095] \ +[97] 2018-01-10 11:22:43.454193 [#120 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,59258,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[197] 2018-01-10 11:22:43.458191 [#121 dnso1tcp.pcap-dist 4095] \ +[197] 2018-01-10 11:22:43.458191 [#121 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,59258,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -493,20 +493,20 @@ 206.218.58.216.in-addr.arpa.,IN,PTR,21597,dfw06s47-in-f14.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21597,dfw06s47-in-f206.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21597,dfw06s47-in-f14.1e100.net. 0 0 -[54] 2018-01-10 11:22:43.458511 [#122 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:43.458511 [#122 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:43.503242 [#123 dnso1tcp.pcap-dist 4095] \ +[80] 2018-01-10 11:22:43.503242 [#123 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,17700,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:43.506884 [#124 dnso1tcp.pcap-dist 4095] \ +[98] 2018-01-10 11:22:43.506884 [#124 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,17700,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,56,216.58.211.142 0 0 -[52] 2018-01-10 11:22:43.507821 [#125 dnso1tcp.pcap-dist 4095] \ +[52] 2018-01-10 11:22:43.507821 [#125 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[52] 2018-01-10 11:22:43.511351 [#126 dnso1tcp.pcap-dist 4095] \ +[52] 2018-01-10 11:22:43.511351 [#126 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 1515583361.543825 172.17.0.8 51388 8.8.8.8 53 6 1515583361.548834 8.8.8.8 53 172.17.0.8 51388 6 @@ -635,40 +635,40 @@ 1515583363.506884 8.8.8.8 53 172.17.0.8 51388 6 17700 0 0 |QR|RD|RA| IN A google.com. 1515583363.507821 172.17.0.8 51388 8.8.8.8 53 6 1515583363.511351 8.8.8.8 53 172.17.0.8 51388 6 -[52] 2017-12-11 13:59:04.957247 [#0 1qtcpnosyn.pcap-dist 4095] \ +[52] 2017-12-11 13:59:04.957247 [#0 1qtcpnosyn.pcap 4095] \ [172.17.0.9].48613 [8.8.8.8].53 -[52] 2017-12-11 13:59:04.960230 [#1 1qtcpnosyn.pcap-dist 4095] \ +[52] 2017-12-11 13:59:04.960230 [#1 1qtcpnosyn.pcap 4095] \ [8.8.8.8].53 [172.17.0.9].48613 1513000744.957247 172.17.0.9 48613 8.8.8.8 53 6 1513000744.960230 8.8.8.8 53 172.17.0.9 48613 6 -[60] 2018-01-10 11:22:41.543825 [#0 dnso1tcp-midmiss.pcap-dist 4095] \ +[60] 2018-01-10 11:22:41.543825 [#0 dnso1tcp-midmiss.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[60] 2018-01-10 11:22:41.548834 [#1 dnso1tcp-midmiss.pcap-dist 4095] \ +[60] 2018-01-10 11:22:41.548834 [#1 dnso1tcp-midmiss.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 -[54] 2018-01-10 11:22:41.548947 [#2 dnso1tcp-midmiss.pcap-dist 4095] \ +[54] 2018-01-10 11:22:41.548947 [#2 dnso1tcp-midmiss.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:41.552406 [#3 dnso1tcp-midmiss.pcap-dist 4095] \ +[80] 2018-01-10 11:22:41.552406 [#3 dnso1tcp-midmiss.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,59311,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:41.555912 [#4 dnso1tcp-midmiss.pcap-dist 4095] \ +[98] 2018-01-10 11:22:41.555912 [#4 dnso1tcp-midmiss.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,59311,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,58,216.58.211.142 0 0 -[54] 2018-01-10 11:22:41.556032 [#5 dnso1tcp-midmiss.pcap-dist 4095] \ +[54] 2018-01-10 11:22:41.556032 [#5 dnso1tcp-midmiss.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[97] 2018-01-10 11:22:41.600183 [#6 dnso1tcp-midmiss.pcap-dist 4095] \ +[97] 2018-01-10 11:22:41.600183 [#6 dnso1tcp-midmiss.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,35665,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[98] 2018-01-10 11:22:41.663576 [#7 dnso1tcp-midmiss.pcap-dist 4095] \ +[98] 2018-01-10 11:22:41.663576 [#7 dnso1tcp-midmiss.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 -[54] 2018-01-10 11:22:41.663734 [#8 dnso1tcp-midmiss.pcap-dist 4095] \ +[54] 2018-01-10 11:22:41.663734 [#8 dnso1tcp-midmiss.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:41.706183 [#9 dnso1tcp-midmiss.pcap-dist 4095] \ +[80] 2018-01-10 11:22:41.706183 [#9 dnso1tcp-midmiss.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[98] 2018-01-10 11:22:41.709680 [#10 dnso1tcp-midmiss.pcap-dist 4095] \ +[98] 2018-01-10 11:22:41.709680 [#10 dnso1tcp-midmiss.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 1515583361.543825 172.17.0.8 51388 8.8.8.8 53 6 1515583361.548834 8.8.8.8 53 172.17.0.8 51388 6 @@ -684,28 +684,28 @@ Enabling parse_ongoing_tcp and allow_reset_tcpstate -[60] 2018-01-10 11:22:41.543825 [#0 dnso1tcp.pcap-dist 4095] \ +[60] 2018-01-10 11:22:41.543825 [#0 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[60] 2018-01-10 11:22:41.548834 [#1 dnso1tcp.pcap-dist 4095] \ +[60] 2018-01-10 11:22:41.548834 [#1 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 -[54] 2018-01-10 11:22:41.548947 [#2 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:41.548947 [#2 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:41.552406 [#3 dnso1tcp.pcap-dist 4095] \ +[80] 2018-01-10 11:22:41.552406 [#3 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,59311,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:41.555912 [#4 dnso1tcp.pcap-dist 4095] \ +[98] 2018-01-10 11:22:41.555912 [#4 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,59311,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,58,216.58.211.142 0 0 -[54] 2018-01-10 11:22:41.556032 [#5 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:41.556032 [#5 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[97] 2018-01-10 11:22:41.600183 [#6 dnso1tcp.pcap-dist 4095] \ +[97] 2018-01-10 11:22:41.600183 [#6 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,35665,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[197] 2018-01-10 11:22:41.616460 [#7 dnso1tcp.pcap-dist 4095] \ +[197] 2018-01-10 11:22:41.616460 [#7 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,35665,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -713,35 +713,35 @@ Enabling parse_ongoing_tcp and allow_reset_tcpstate 206.218.58.216.in-addr.arpa.,IN,PTR,21599,dfw06s47-in-f14.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21599,dfw06s47-in-f206.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21599,dfw06s47-in-f14.1e100.net. 0 0 -[54] 2018-01-10 11:22:41.616663 [#8 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:41.616663 [#8 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:41.659921 [#9 dnso1tcp.pcap-dist 4095] \ +[80] 2018-01-10 11:22:41.659921 [#9 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,5337,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:41.663576 [#10 dnso1tcp.pcap-dist 4095] \ +[98] 2018-01-10 11:22:41.663576 [#10 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,5337,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,58,216.58.211.142 0 0 -[54] 2018-01-10 11:22:41.663734 [#11 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:41.663734 [#11 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:41.706183 [#12 dnso1tcp.pcap-dist 4095] \ +[80] 2018-01-10 11:22:41.706183 [#12 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,22982,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:41.709680 [#13 dnso1tcp.pcap-dist 4095] \ +[98] 2018-01-10 11:22:41.709680 [#13 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,22982,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,58,216.58.211.142 0 0 -[54] 2018-01-10 11:22:41.709779 [#14 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:41.709779 [#14 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[97] 2018-01-10 11:22:41.754101 [#15 dnso1tcp.pcap-dist 4095] \ +[97] 2018-01-10 11:22:41.754101 [#15 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,18718,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[197] 2018-01-10 11:22:41.757876 [#16 dnso1tcp.pcap-dist 4095] \ +[197] 2018-01-10 11:22:41.757876 [#16 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,18718,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -749,35 +749,35 @@ Enabling parse_ongoing_tcp and allow_reset_tcpstate 206.218.58.216.in-addr.arpa.,IN,PTR,21599,dfw06s47-in-f14.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21599,dfw06s47-in-f206.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21599,dfw06s47-in-f14.1e100.net. 0 0 -[54] 2018-01-10 11:22:41.758191 [#17 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:41.758191 [#17 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:41.804255 [#18 dnso1tcp.pcap-dist 4095] \ +[80] 2018-01-10 11:22:41.804255 [#18 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,22531,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:41.809483 [#19 dnso1tcp.pcap-dist 4095] \ +[98] 2018-01-10 11:22:41.809483 [#19 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,22531,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,58,216.58.211.142 0 0 -[54] 2018-01-10 11:22:41.809780 [#20 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:41.809780 [#20 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:41.854113 [#21 dnso1tcp.pcap-dist 4095] \ +[80] 2018-01-10 11:22:41.854113 [#21 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,58510,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:41.857788 [#22 dnso1tcp.pcap-dist 4095] \ +[98] 2018-01-10 11:22:41.857788 [#22 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,58510,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,58,216.58.211.142 0 0 -[54] 2018-01-10 11:22:41.858002 [#23 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:41.858002 [#23 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[97] 2018-01-10 11:22:41.902165 [#24 dnso1tcp.pcap-dist 4095] \ +[97] 2018-01-10 11:22:41.902165 [#24 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,45248,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[197] 2018-01-10 11:22:41.905802 [#25 dnso1tcp.pcap-dist 4095] \ +[197] 2018-01-10 11:22:41.905802 [#25 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,45248,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -785,35 +785,35 @@ Enabling parse_ongoing_tcp and allow_reset_tcpstate 206.218.58.216.in-addr.arpa.,IN,PTR,21599,dfw06s47-in-f14.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21599,dfw06s47-in-f206.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21599,dfw06s47-in-f14.1e100.net. 0 0 -[54] 2018-01-10 11:22:41.905918 [#26 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:41.905918 [#26 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:41.950164 [#27 dnso1tcp.pcap-dist 4095] \ +[80] 2018-01-10 11:22:41.950164 [#27 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,49483,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:41.954138 [#28 dnso1tcp.pcap-dist 4095] \ +[98] 2018-01-10 11:22:41.954138 [#28 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,49483,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,57,216.58.211.142 0 0 -[54] 2018-01-10 11:22:41.954452 [#29 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:41.954452 [#29 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:41.999121 [#30 dnso1tcp.pcap-dist 4095] \ +[80] 2018-01-10 11:22:41.999121 [#30 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,31669,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:42.002657 [#31 dnso1tcp.pcap-dist 4095] \ +[98] 2018-01-10 11:22:42.002657 [#31 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,31669,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,57,216.58.211.142 0 0 -[54] 2018-01-10 11:22:42.002831 [#32 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:42.002831 [#32 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[97] 2018-01-10 11:22:42.047148 [#33 dnso1tcp.pcap-dist 4095] \ +[97] 2018-01-10 11:22:42.047148 [#33 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,25433,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[197] 2018-01-10 11:22:42.052425 [#34 dnso1tcp.pcap-dist 4095] \ +[197] 2018-01-10 11:22:42.052425 [#34 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,25433,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -821,24 +821,24 @@ Enabling parse_ongoing_tcp and allow_reset_tcpstate 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f14.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f206.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f14.1e100.net. 0 0 -[54] 2018-01-10 11:22:42.052901 [#35 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:42.052901 [#35 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:42.097899 [#36 dnso1tcp.pcap-dist 4095] \ +[80] 2018-01-10 11:22:42.097899 [#36 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,63798,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:42.101443 [#37 dnso1tcp.pcap-dist 4095] \ +[98] 2018-01-10 11:22:42.101443 [#37 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,63798,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,57,216.58.211.142 0 0 -[54] 2018-01-10 11:22:42.101553 [#38 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:42.101553 [#38 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[97] 2018-01-10 11:22:42.145005 [#39 dnso1tcp.pcap-dist 4095] \ +[97] 2018-01-10 11:22:42.145005 [#39 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,8470,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[197] 2018-01-10 11:22:42.148639 [#40 dnso1tcp.pcap-dist 4095] \ +[197] 2018-01-10 11:22:42.148639 [#40 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,8470,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -846,24 +846,24 @@ Enabling parse_ongoing_tcp and allow_reset_tcpstate 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f14.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f206.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f14.1e100.net. 0 0 -[54] 2018-01-10 11:22:42.148770 [#41 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:42.148770 [#41 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:42.192777 [#42 dnso1tcp.pcap-dist 4095] \ +[80] 2018-01-10 11:22:42.192777 [#42 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,60258,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:42.196256 [#43 dnso1tcp.pcap-dist 4095] \ +[98] 2018-01-10 11:22:42.196256 [#43 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,60258,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,57,216.58.211.142 0 0 -[54] 2018-01-10 11:22:42.196471 [#44 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:42.196471 [#44 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[97] 2018-01-10 11:22:42.240395 [#45 dnso1tcp.pcap-dist 4095] \ +[97] 2018-01-10 11:22:42.240395 [#45 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,44985,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[197] 2018-01-10 11:22:42.245103 [#46 dnso1tcp.pcap-dist 4095] \ +[197] 2018-01-10 11:22:42.245103 [#46 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,44985,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -871,24 +871,24 @@ Enabling parse_ongoing_tcp and allow_reset_tcpstate 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f14.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f206.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f14.1e100.net. 0 0 -[54] 2018-01-10 11:22:42.245585 [#47 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:42.245585 [#47 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:42.290257 [#48 dnso1tcp.pcap-dist 4095] \ +[80] 2018-01-10 11:22:42.290257 [#48 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,45512,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:42.293978 [#49 dnso1tcp.pcap-dist 4095] \ +[98] 2018-01-10 11:22:42.293978 [#49 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,45512,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,57,216.58.211.142 0 0 -[54] 2018-01-10 11:22:42.294300 [#50 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:42.294300 [#50 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[97] 2018-01-10 11:22:42.337985 [#51 dnso1tcp.pcap-dist 4095] \ +[97] 2018-01-10 11:22:42.337985 [#51 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,22980,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[197] 2018-01-10 11:22:42.341559 [#52 dnso1tcp.pcap-dist 4095] \ +[197] 2018-01-10 11:22:42.341559 [#52 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,22980,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -896,24 +896,24 @@ Enabling parse_ongoing_tcp and allow_reset_tcpstate 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f14.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f206.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f14.1e100.net. 0 0 -[54] 2018-01-10 11:22:42.341648 [#53 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:42.341648 [#53 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:42.385009 [#54 dnso1tcp.pcap-dist 4095] \ +[80] 2018-01-10 11:22:42.385009 [#54 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,1834,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:42.389082 [#55 dnso1tcp.pcap-dist 4095] \ +[98] 2018-01-10 11:22:42.389082 [#55 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,1834,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,57,216.58.211.142 0 0 -[54] 2018-01-10 11:22:42.389343 [#56 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:42.389343 [#56 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[97] 2018-01-10 11:22:42.433458 [#57 dnso1tcp.pcap-dist 4095] \ +[97] 2018-01-10 11:22:42.433458 [#57 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,25431,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[197] 2018-01-10 11:22:42.438748 [#58 dnso1tcp.pcap-dist 4095] \ +[197] 2018-01-10 11:22:42.438748 [#58 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,25431,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -921,24 +921,24 @@ Enabling parse_ongoing_tcp and allow_reset_tcpstate 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f14.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f206.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f14.1e100.net. 0 0 -[54] 2018-01-10 11:22:42.439060 [#59 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:42.439060 [#59 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:42.484005 [#60 dnso1tcp.pcap-dist 4095] \ +[80] 2018-01-10 11:22:42.484005 [#60 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,48432,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:42.487697 [#61 dnso1tcp.pcap-dist 4095] \ +[98] 2018-01-10 11:22:42.487697 [#61 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,48432,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,57,216.58.211.142 0 0 -[54] 2018-01-10 11:22:42.488035 [#62 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:42.488035 [#62 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[97] 2018-01-10 11:22:42.532414 [#63 dnso1tcp.pcap-dist 4095] \ +[97] 2018-01-10 11:22:42.532414 [#63 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,47411,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[197] 2018-01-10 11:22:42.537574 [#64 dnso1tcp.pcap-dist 4095] \ +[197] 2018-01-10 11:22:42.537574 [#64 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,47411,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -946,57 +946,57 @@ Enabling parse_ongoing_tcp and allow_reset_tcpstate 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f14.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f206.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f14.1e100.net. 0 0 -[54] 2018-01-10 11:22:42.537941 [#65 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:42.537941 [#65 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:42.583021 [#66 dnso1tcp.pcap-dist 4095] \ +[80] 2018-01-10 11:22:42.583021 [#66 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,12038,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:42.586898 [#67 dnso1tcp.pcap-dist 4095] \ +[98] 2018-01-10 11:22:42.586898 [#67 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,12038,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,57,216.58.211.142 0 0 -[54] 2018-01-10 11:22:42.587050 [#68 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:42.587050 [#68 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:42.630221 [#69 dnso1tcp.pcap-dist 4095] \ +[80] 2018-01-10 11:22:42.630221 [#69 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,11614,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:42.633808 [#70 dnso1tcp.pcap-dist 4095] \ +[98] 2018-01-10 11:22:42.633808 [#70 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,11614,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,57,216.58.211.142 0 0 -[54] 2018-01-10 11:22:42.634006 [#71 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:42.634006 [#71 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:42.679168 [#72 dnso1tcp.pcap-dist 4095] \ +[80] 2018-01-10 11:22:42.679168 [#72 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,59173,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:42.682888 [#73 dnso1tcp.pcap-dist 4095] \ +[98] 2018-01-10 11:22:42.682888 [#73 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,59173,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,57,216.58.211.142 0 0 -[54] 2018-01-10 11:22:42.683273 [#74 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:42.683273 [#74 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:42.727254 [#75 dnso1tcp.pcap-dist 4095] \ +[80] 2018-01-10 11:22:42.727254 [#75 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,45535,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:42.732703 [#76 dnso1tcp.pcap-dist 4095] \ +[98] 2018-01-10 11:22:42.732703 [#76 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,45535,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,57,216.58.211.142 0 0 -[54] 2018-01-10 11:22:42.733029 [#77 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:42.733029 [#77 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[97] 2018-01-10 11:22:42.777184 [#78 dnso1tcp.pcap-dist 4095] \ +[97] 2018-01-10 11:22:42.777184 [#78 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,60808,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[197] 2018-01-10 11:22:42.781053 [#79 dnso1tcp.pcap-dist 4095] \ +[197] 2018-01-10 11:22:42.781053 [#79 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,60808,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -1004,24 +1004,24 @@ Enabling parse_ongoing_tcp and allow_reset_tcpstate 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f14.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f206.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f14.1e100.net. 0 0 -[54] 2018-01-10 11:22:42.781416 [#80 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:42.781416 [#80 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:42.824222 [#81 dnso1tcp.pcap-dist 4095] \ +[80] 2018-01-10 11:22:42.824222 [#81 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,64325,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:42.828050 [#82 dnso1tcp.pcap-dist 4095] \ +[98] 2018-01-10 11:22:42.828050 [#82 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,64325,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,57,216.58.211.142 0 0 -[54] 2018-01-10 11:22:42.828346 [#83 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:42.828346 [#83 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[97] 2018-01-10 11:22:42.872186 [#84 dnso1tcp.pcap-dist 4095] \ +[97] 2018-01-10 11:22:42.872186 [#84 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,25543,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[197] 2018-01-10 11:22:42.875911 [#85 dnso1tcp.pcap-dist 4095] \ +[197] 2018-01-10 11:22:42.875911 [#85 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,25543,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -1029,24 +1029,24 @@ Enabling parse_ongoing_tcp and allow_reset_tcpstate 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f14.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f206.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f14.1e100.net. 0 0 -[54] 2018-01-10 11:22:42.876226 [#86 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:42.876226 [#86 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:42.920231 [#87 dnso1tcp.pcap-dist 4095] \ +[80] 2018-01-10 11:22:42.920231 [#87 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,20736,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:42.923917 [#88 dnso1tcp.pcap-dist 4095] \ +[98] 2018-01-10 11:22:42.923917 [#88 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,20736,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,57,216.58.211.142 0 0 -[54] 2018-01-10 11:22:42.924082 [#89 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:42.924082 [#89 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[97] 2018-01-10 11:22:42.968961 [#90 dnso1tcp.pcap-dist 4095] \ +[97] 2018-01-10 11:22:42.968961 [#90 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,25911,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[197] 2018-01-10 11:22:42.972662 [#91 dnso1tcp.pcap-dist 4095] \ +[197] 2018-01-10 11:22:42.972662 [#91 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,25911,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -1054,24 +1054,24 @@ Enabling parse_ongoing_tcp and allow_reset_tcpstate 206.218.58.216.in-addr.arpa.,IN,PTR,21597,dfw06s47-in-f14.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21597,dfw06s47-in-f206.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21597,dfw06s47-in-f14.1e100.net. 0 0 -[54] 2018-01-10 11:22:42.972972 [#92 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:42.972972 [#92 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:43.017364 [#93 dnso1tcp.pcap-dist 4095] \ +[80] 2018-01-10 11:22:43.017364 [#93 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,64358,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:43.022591 [#94 dnso1tcp.pcap-dist 4095] \ +[98] 2018-01-10 11:22:43.022591 [#94 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,64358,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,56,216.58.211.142 0 0 -[54] 2018-01-10 11:22:43.022938 [#95 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:43.022938 [#95 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[97] 2018-01-10 11:22:43.066765 [#96 dnso1tcp.pcap-dist 4095] \ +[97] 2018-01-10 11:22:43.066765 [#96 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,37698,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[197] 2018-01-10 11:22:43.070349 [#97 dnso1tcp.pcap-dist 4095] \ +[197] 2018-01-10 11:22:43.070349 [#97 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,37698,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -1079,24 +1079,24 @@ Enabling parse_ongoing_tcp and allow_reset_tcpstate 206.218.58.216.in-addr.arpa.,IN,PTR,21597,dfw06s47-in-f14.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21597,dfw06s47-in-f206.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21597,dfw06s47-in-f14.1e100.net. 0 0 -[54] 2018-01-10 11:22:43.070484 [#98 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:43.070484 [#98 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:43.114332 [#99 dnso1tcp.pcap-dist 4095] \ +[80] 2018-01-10 11:22:43.114332 [#99 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,54706,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:43.119538 [#100 dnso1tcp.pcap-dist 4095] \ +[98] 2018-01-10 11:22:43.119538 [#100 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,54706,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,56,216.58.211.142 0 0 -[54] 2018-01-10 11:22:43.119857 [#101 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:43.119857 [#101 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[97] 2018-01-10 11:22:43.163857 [#102 dnso1tcp.pcap-dist 4095] \ +[97] 2018-01-10 11:22:43.163857 [#102 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,32142,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[197] 2018-01-10 11:22:43.167576 [#103 dnso1tcp.pcap-dist 4095] \ +[197] 2018-01-10 11:22:43.167576 [#103 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,32142,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -1104,24 +1104,24 @@ Enabling parse_ongoing_tcp and allow_reset_tcpstate 206.218.58.216.in-addr.arpa.,IN,PTR,21597,dfw06s47-in-f14.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21597,dfw06s47-in-f206.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21597,dfw06s47-in-f14.1e100.net. 0 0 -[54] 2018-01-10 11:22:43.167733 [#104 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:43.167733 [#104 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:43.211417 [#105 dnso1tcp.pcap-dist 4095] \ +[80] 2018-01-10 11:22:43.211417 [#105 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,41808,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:43.216686 [#106 dnso1tcp.pcap-dist 4095] \ +[98] 2018-01-10 11:22:43.216686 [#106 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,41808,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,56,216.58.211.142 0 0 -[54] 2018-01-10 11:22:43.217042 [#107 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:43.217042 [#107 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[97] 2018-01-10 11:22:43.260995 [#108 dnso1tcp.pcap-dist 4095] \ +[97] 2018-01-10 11:22:43.260995 [#108 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,18886,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[197] 2018-01-10 11:22:43.265047 [#109 dnso1tcp.pcap-dist 4095] \ +[197] 2018-01-10 11:22:43.265047 [#109 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,18886,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -1129,24 +1129,24 @@ Enabling parse_ongoing_tcp and allow_reset_tcpstate 206.218.58.216.in-addr.arpa.,IN,PTR,21597,dfw06s47-in-f14.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21597,dfw06s47-in-f206.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21597,dfw06s47-in-f14.1e100.net. 0 0 -[54] 2018-01-10 11:22:43.265399 [#110 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:43.265399 [#110 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:43.310017 [#111 dnso1tcp.pcap-dist 4095] \ +[80] 2018-01-10 11:22:43.310017 [#111 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,10624,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:43.313596 [#112 dnso1tcp.pcap-dist 4095] \ +[98] 2018-01-10 11:22:43.313596 [#112 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,10624,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,56,216.58.211.142 0 0 -[54] 2018-01-10 11:22:43.313685 [#113 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:43.313685 [#113 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[97] 2018-01-10 11:22:43.356802 [#114 dnso1tcp.pcap-dist 4095] \ +[97] 2018-01-10 11:22:43.356802 [#114 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,33139,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[197] 2018-01-10 11:22:43.360685 [#115 dnso1tcp.pcap-dist 4095] \ +[197] 2018-01-10 11:22:43.360685 [#115 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,33139,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -1154,24 +1154,24 @@ Enabling parse_ongoing_tcp and allow_reset_tcpstate 206.218.58.216.in-addr.arpa.,IN,PTR,21597,dfw06s47-in-f14.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21597,dfw06s47-in-f206.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21597,dfw06s47-in-f14.1e100.net. 0 0 -[54] 2018-01-10 11:22:43.360864 [#116 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:43.360864 [#116 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:43.406308 [#117 dnso1tcp.pcap-dist 4095] \ +[80] 2018-01-10 11:22:43.406308 [#117 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,61415,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:43.410191 [#118 dnso1tcp.pcap-dist 4095] \ +[98] 2018-01-10 11:22:43.410191 [#118 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,61415,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,56,216.58.211.142 0 0 -[54] 2018-01-10 11:22:43.410440 [#119 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:43.410440 [#119 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[97] 2018-01-10 11:22:43.454193 [#120 dnso1tcp.pcap-dist 4095] \ +[97] 2018-01-10 11:22:43.454193 [#120 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,59258,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[197] 2018-01-10 11:22:43.458191 [#121 dnso1tcp.pcap-dist 4095] \ +[197] 2018-01-10 11:22:43.458191 [#121 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,59258,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -1179,20 +1179,20 @@ Enabling parse_ongoing_tcp and allow_reset_tcpstate 206.218.58.216.in-addr.arpa.,IN,PTR,21597,dfw06s47-in-f14.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21597,dfw06s47-in-f206.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21597,dfw06s47-in-f14.1e100.net. 0 0 -[54] 2018-01-10 11:22:43.458511 [#122 dnso1tcp.pcap-dist 4095] \ +[54] 2018-01-10 11:22:43.458511 [#122 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:43.503242 [#123 dnso1tcp.pcap-dist 4095] \ +[80] 2018-01-10 11:22:43.503242 [#123 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,17700,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:43.506884 [#124 dnso1tcp.pcap-dist 4095] \ +[98] 2018-01-10 11:22:43.506884 [#124 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,17700,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,56,216.58.211.142 0 0 -[52] 2018-01-10 11:22:43.507821 [#125 dnso1tcp.pcap-dist 4095] \ +[52] 2018-01-10 11:22:43.507821 [#125 dnso1tcp.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[52] 2018-01-10 11:22:43.511351 [#126 dnso1tcp.pcap-dist 4095] \ +[52] 2018-01-10 11:22:43.511351 [#126 dnso1tcp.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 1515583361.543825 172.17.0.8 51388 8.8.8.8 53 6 1515583361.548834 8.8.8.8 53 172.17.0.8 51388 6 @@ -1321,40 +1321,40 @@ Enabling parse_ongoing_tcp and allow_reset_tcpstate 1515583363.506884 8.8.8.8 53 172.17.0.8 51388 6 17700 0 0 |QR|RD|RA| IN A google.com. 1515583363.507821 172.17.0.8 51388 8.8.8.8 53 6 1515583363.511351 8.8.8.8 53 172.17.0.8 51388 6 -[93] 2017-12-11 13:59:04.953122 [#0 1qtcpnosyn.pcap-dist 4095] \ +[93] 2017-12-11 13:59:04.953122 [#0 1qtcpnosyn.pcap 4095] \ [172.17.0.9].48613 [8.8.8.8].53 \ dns QUERY,NOERROR,4815,rd|ad \ 1 google.com.,IN,A 0 0 \ 1 .,4096,4096,0,edns0[len=0,UDP=4096,ver=0,rcode=0,DO=0,z=0] -[109] 2017-12-11 13:59:04.956698 [#1 1qtcpnosyn.pcap-dist 4095] \ +[109] 2017-12-11 13:59:04.956698 [#1 1qtcpnosyn.pcap 4095] \ [8.8.8.8].53 [172.17.0.9].48613 \ dns QUERY,NOERROR,4815,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,47,172.217.22.174 0 \ 1 .,512,512,0,edns0[len=0,UDP=512,ver=0,rcode=0,DO=0,z=0] -[52] 2017-12-11 13:59:04.957247 [#2 1qtcpnosyn.pcap-dist 4095] \ +[52] 2017-12-11 13:59:04.957247 [#2 1qtcpnosyn.pcap 4095] \ [172.17.0.9].48613 [8.8.8.8].53 -[52] 2017-12-11 13:59:04.960230 [#3 1qtcpnosyn.pcap-dist 4095] \ +[52] 2017-12-11 13:59:04.960230 [#3 1qtcpnosyn.pcap 4095] \ [8.8.8.8].53 [172.17.0.9].48613 1513000744.953122 172.17.0.9 48613 8.8.8.8 53 6 4815 0 0 |RD|AD| IN A google.com. 1513000744.956698 8.8.8.8 53 172.17.0.9 48613 6 4815 0 0 |QR|RD|RA| IN A google.com. 1513000744.957247 172.17.0.9 48613 8.8.8.8 53 6 1513000744.960230 8.8.8.8 53 172.17.0.9 48613 6 -[80] 2018-01-10 11:22:41.552406 [#0 do1t-nosyn-1nolen.pcap-dist 4095] \ +[80] 2018-01-10 11:22:41.552406 [#0 do1t-nosyn-1nolen.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns Label length overflow -[98] 2018-01-10 11:22:41.555912 [#1 do1t-nosyn-1nolen.pcap-dist 4095] \ +[98] 2018-01-10 11:22:41.555912 [#1 do1t-nosyn-1nolen.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,59311,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,58,216.58.211.142 0 0 -[54] 2018-01-10 11:22:41.556032 [#2 do1t-nosyn-1nolen.pcap-dist 4095] \ +[54] 2018-01-10 11:22:41.556032 [#2 do1t-nosyn-1nolen.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[97] 2018-01-10 11:22:41.600183 [#3 do1t-nosyn-1nolen.pcap-dist 4095] \ +[97] 2018-01-10 11:22:41.600183 [#3 do1t-nosyn-1nolen.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,35665,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[197] 2018-01-10 11:22:41.616460 [#4 do1t-nosyn-1nolen.pcap-dist 4095] \ +[197] 2018-01-10 11:22:41.616460 [#4 do1t-nosyn-1nolen.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,35665,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -1367,39 +1367,39 @@ Enabling parse_ongoing_tcp and allow_reset_tcpstate 1515583361.556032 172.17.0.8 51388 8.8.8.8 53 6 1515583361.600183 172.17.0.8 51388 8.8.8.8 53 6 35665 0 0 |RD| IN PTR 206.218.58.216.in-addr.arpa. 1515583361.616460 8.8.8.8 53 172.17.0.8 51388 6 35665 0 0 |QR|RD|RA| IN PTR 206.218.58.216.in-addr.arpa. -[60] 2018-01-10 11:22:41.543825 [#0 dnso1tcp-midmiss.pcap-dist 4095] \ +[60] 2018-01-10 11:22:41.543825 [#0 dnso1tcp-midmiss.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[60] 2018-01-10 11:22:41.548834 [#1 dnso1tcp-midmiss.pcap-dist 4095] \ +[60] 2018-01-10 11:22:41.548834 [#1 dnso1tcp-midmiss.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 -[54] 2018-01-10 11:22:41.548947 [#2 dnso1tcp-midmiss.pcap-dist 4095] \ +[54] 2018-01-10 11:22:41.548947 [#2 dnso1tcp-midmiss.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:41.552406 [#3 dnso1tcp-midmiss.pcap-dist 4095] \ +[80] 2018-01-10 11:22:41.552406 [#3 dnso1tcp-midmiss.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,59311,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:41.555912 [#4 dnso1tcp-midmiss.pcap-dist 4095] \ +[98] 2018-01-10 11:22:41.555912 [#4 dnso1tcp-midmiss.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,59311,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,58,216.58.211.142 0 0 -[54] 2018-01-10 11:22:41.556032 [#5 dnso1tcp-midmiss.pcap-dist 4095] \ +[54] 2018-01-10 11:22:41.556032 [#5 dnso1tcp-midmiss.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[97] 2018-01-10 11:22:41.600183 [#6 dnso1tcp-midmiss.pcap-dist 4095] \ +[97] 2018-01-10 11:22:41.600183 [#6 dnso1tcp-midmiss.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,35665,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[98] 2018-01-10 11:22:41.663576 [#7 dnso1tcp-midmiss.pcap-dist 4095] \ +[98] 2018-01-10 11:22:41.663576 [#7 dnso1tcp-midmiss.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,5337,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,58,216.58.211.142 0 0 -[54] 2018-01-10 11:22:41.663734 [#8 dnso1tcp-midmiss.pcap-dist 4095] \ +[54] 2018-01-10 11:22:41.663734 [#8 dnso1tcp-midmiss.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:41.706183 [#9 dnso1tcp-midmiss.pcap-dist 4095] \ +[80] 2018-01-10 11:22:41.706183 [#9 dnso1tcp-midmiss.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,22982,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:41.709680 [#10 dnso1tcp-midmiss.pcap-dist 4095] \ +[98] 2018-01-10 11:22:41.709680 [#10 dnso1tcp-midmiss.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,22982,qr|rd|ra \ 1 google.com.,IN,A \ diff --git a/src/test/test7.sh b/src/test/test7.sh index 6c9a4ec..cdad698 100755 --- a/src/test/test7.sh +++ b/src/test/test7.sh @@ -4,7 +4,9 @@ txtout="../../plugins/txtout/.libs/txtout.so" rm -f test7.out test7.layer.out -for what in dnso1tcp.pcap-dist 1qtcpnosyn.pcap-dist do1t-nosyn-1nolen.pcap-dist dnso1tcp-midmiss.pcap-dist; do +for what in dnso1tcp.pcap 1qtcpnosyn.pcap do1t-nosyn-1nolen.pcap dnso1tcp-midmiss.pcap; do + test -e "$what" || ln -s "$srcdir/$what" "$what" + ../dnscap -r "$what" -g -T 2>>test7.out ../dnscap -r "$what" -g -T -o use_layers=yes 2>>test7.layer.out if [ -f "$txtout" ]; then @@ -20,7 +22,9 @@ echo "" >>test7.layer.out echo "Enabling parse_ongoing_tcp and allow_reset_tcpstate" >>test7.layer.out echo "" >>test7.layer.out -for what in dnso1tcp.pcap-dist 1qtcpnosyn.pcap-dist do1t-nosyn-1nolen.pcap-dist dnso1tcp-midmiss.pcap-dist; do +for what in dnso1tcp.pcap 1qtcpnosyn.pcap do1t-nosyn-1nolen.pcap dnso1tcp-midmiss.pcap; do + test -e "$what" || ln -s "$srcdir/$what" "$what" + ../dnscap -r "$what" -g -T -o parse_ongoing_tcp=yes -o allow_reset_tcpstate=yes 2>>test7.out ../dnscap -r "$what" -g -T -o parse_ongoing_tcp=yes -o allow_reset_tcpstate=yes -o use_layers=yes 2>>test7.layer.out if [ -f "$txtout" ]; then diff --git a/src/test/test8.gold b/src/test/test8.gold index a4196e4..bd116f6 100644 --- a/src/test/test8.gold +++ b/src/test/test8.gold @@ -1,69 +1,69 @@ -[60] 2017-12-11 13:59:04.949707 [#0 dnsotcp-many1pkt.pcap-dist 4095] \ +[60] 2017-12-11 13:59:04.949707 [#0 dnsotcp-many1pkt.pcap 4095] \ [172.17.0.9].48613 [8.8.8.8].53 -[60] 2017-12-11 13:59:04.953026 [#1 dnsotcp-many1pkt.pcap-dist 4095] \ +[60] 2017-12-11 13:59:04.953026 [#1 dnsotcp-many1pkt.pcap 4095] \ [8.8.8.8].53 [172.17.0.9].48613 -[142] 2017-12-11 13:59:04.953122 [#2 dnsotcp-many1pkt.pcap-dist 4095] \ +[142] 2017-12-11 13:59:04.953122 [#2 dnsotcp-many1pkt.pcap 4095] \ [172.17.0.9].48613 [8.8.8.8].53 \ dns QUERY,NOERROR,59311,rd \ 1 google.com.,IN,A 0 0 0 -[142] 2017-12-11 13:59:04.953122 [#2 dnsotcp-many1pkt.pcap-dist 4095] \ +[142] 2017-12-11 13:59:04.953122 [#2 dnsotcp-many1pkt.pcap 4095] \ [172.17.0.9].48613 [8.8.8.8].53 \ dns QUERY,NOERROR,59311,rd \ 1 google.com.,IN,A 0 0 0 -[142] 2017-12-11 13:59:04.953122 [#2 dnsotcp-many1pkt.pcap-dist 4095] \ +[142] 2017-12-11 13:59:04.953122 [#2 dnsotcp-many1pkt.pcap 4095] \ [172.17.0.9].48613 [8.8.8.8].53 \ dns QUERY,NOERROR,59311,rd \ 1 google.com.,IN,A 0 0 0 -[109] 2017-12-11 13:59:04.956698 [#5 dnsotcp-many1pkt.pcap-dist 4095] \ +[109] 2017-12-11 13:59:04.956698 [#5 dnsotcp-many1pkt.pcap 4095] \ [8.8.8.8].53 [172.17.0.9].48613 \ dns QUERY,NOERROR,4815,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,47,172.217.22.174 0 \ 1 .,512,512,0,edns0[len=0,UDP=512,ver=0,rcode=0,DO=0,z=0] -[52] 2017-12-11 13:59:04.957247 [#6 dnsotcp-many1pkt.pcap-dist 4095] \ +[52] 2017-12-11 13:59:04.957247 [#6 dnsotcp-many1pkt.pcap 4095] \ [172.17.0.9].48613 [8.8.8.8].53 -[52] 2017-12-11 13:59:04.960230 [#7 dnsotcp-many1pkt.pcap-dist 4095] \ +[52] 2017-12-11 13:59:04.960230 [#7 dnsotcp-many1pkt.pcap 4095] \ [8.8.8.8].53 [172.17.0.9].48613 -[60] 2018-01-10 11:22:41.543825 [#0 dnsotcp-manyopkts.pcap-dist 4095] \ +[60] 2018-01-10 11:22:41.543825 [#0 dnsotcp-manyopkts.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[60] 2018-01-10 11:22:41.548834 [#1 dnsotcp-manyopkts.pcap-dist 4095] \ +[60] 2018-01-10 11:22:41.548834 [#1 dnsotcp-manyopkts.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 -[97] 2018-01-10 11:22:41.548947 [#2 dnsotcp-manyopkts.pcap-dist 4095] \ +[97] 2018-01-10 11:22:41.548947 [#2 dnsotcp-manyopkts.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,59311,rd \ 1 google.com.,IN,A 0 0 0 -[97] 2018-01-10 11:22:41.552406 [#3 dnsotcp-manyopkts.pcap-dist 4095] \ +[97] 2018-01-10 11:22:41.552406 [#3 dnsotcp-manyopkts.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[97] 2018-01-10 11:22:41.552406 [#3 dnsotcp-manyopkts.pcap-dist 4095] \ +[97] 2018-01-10 11:22:41.552406 [#3 dnsotcp-manyopkts.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,59311,rd \ 1 google.com.,IN,A 0 0 0 -[97] 2018-01-10 11:22:41.552406 [#3 dnsotcp-manyopkts.pcap-dist 4095] \ +[97] 2018-01-10 11:22:41.552406 [#3 dnsotcp-manyopkts.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,59311,rd \ 1 google.com.,IN,A 0 0 0 -[60] 2018-01-10 11:22:41.543825 [#0 dnso1tcp-bighole.pcap-dist 4095] \ +[60] 2018-01-10 11:22:41.543825 [#0 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[60] 2018-01-10 11:22:41.548834 [#1 dnso1tcp-bighole.pcap-dist 4095] \ +[60] 2018-01-10 11:22:41.548834 [#1 dnso1tcp-bighole.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 -[80] 2018-01-10 11:22:41.552406 [#2 dnso1tcp-bighole.pcap-dist 4095] \ +[80] 2018-01-10 11:22:41.552406 [#2 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:41.552406 [#2 dnso1tcp-bighole.pcap-dist 4095] \ +[80] 2018-01-10 11:22:41.552406 [#2 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,59311,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:41.555912 [#4 dnso1tcp-bighole.pcap-dist 4095] \ +[98] 2018-01-10 11:22:41.555912 [#4 dnso1tcp-bighole.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,59311,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,58,216.58.211.142 0 0 -[97] 2018-01-10 11:22:41.600183 [#5 dnso1tcp-bighole.pcap-dist 4095] \ +[97] 2018-01-10 11:22:41.600183 [#5 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[97] 2018-01-10 11:22:41.600183 [#5 dnso1tcp-bighole.pcap-dist 4095] \ +[97] 2018-01-10 11:22:41.600183 [#5 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,35665,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[197] 2018-01-10 11:22:41.616460 [#7 dnso1tcp-bighole.pcap-dist 4095] \ +[197] 2018-01-10 11:22:41.616460 [#7 dnso1tcp-bighole.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,35665,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -71,43 +71,43 @@ 206.218.58.216.in-addr.arpa.,IN,PTR,21599,dfw06s47-in-f14.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21599,dfw06s47-in-f206.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21599,dfw06s47-in-f14.1e100.net. 0 0 -[80] 2018-01-10 11:22:41.659921 [#8 dnso1tcp-bighole.pcap-dist 4095] \ +[80] 2018-01-10 11:22:41.659921 [#8 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:41.659921 [#8 dnso1tcp-bighole.pcap-dist 4095] \ +[80] 2018-01-10 11:22:41.659921 [#8 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,5337,rd \ 1 google.com.,IN,A 0 0 0 -[97] 2018-01-10 11:22:42.047148 [#10 dnso1tcp-bighole.pcap-dist 4095] \ +[97] 2018-01-10 11:22:42.047148 [#10 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[97] 2018-01-10 11:22:42.047148 [#10 dnso1tcp-bighole.pcap-dist 4095] \ +[97] 2018-01-10 11:22:42.047148 [#10 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,25433,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[80] 2018-01-10 11:22:42.097899 [#12 dnso1tcp-bighole.pcap-dist 4095] \ +[80] 2018-01-10 11:22:42.097899 [#12 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:42.097899 [#12 dnso1tcp-bighole.pcap-dist 4095] \ +[80] 2018-01-10 11:22:42.097899 [#12 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,63798,rd \ 1 google.com.,IN,A 0 0 0 -[97] 2018-01-10 11:22:42.145005 [#14 dnso1tcp-bighole.pcap-dist 4095] \ +[97] 2018-01-10 11:22:42.145005 [#14 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[97] 2018-01-10 11:22:42.145005 [#14 dnso1tcp-bighole.pcap-dist 4095] \ +[97] 2018-01-10 11:22:42.145005 [#14 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,8470,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[80] 2018-01-10 11:22:42.192777 [#16 dnso1tcp-bighole.pcap-dist 4095] \ +[80] 2018-01-10 11:22:42.192777 [#16 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:42.192777 [#16 dnso1tcp-bighole.pcap-dist 4095] \ +[80] 2018-01-10 11:22:42.192777 [#16 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,60258,rd \ 1 google.com.,IN,A 0 0 0 -[97] 2018-01-10 11:22:42.240395 [#18 dnso1tcp-bighole.pcap-dist 4095] \ +[97] 2018-01-10 11:22:42.240395 [#18 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[97] 2018-01-10 11:22:42.240395 [#18 dnso1tcp-bighole.pcap-dist 4095] \ +[97] 2018-01-10 11:22:42.240395 [#18 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,44985,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[197] 2018-01-10 11:22:42.245103 [#20 dnso1tcp-bighole.pcap-dist 4095] \ +[197] 2018-01-10 11:22:42.245103 [#20 dnso1tcp-bighole.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,44985,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -115,24 +115,24 @@ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f14.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f206.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f14.1e100.net. 0 0 -[80] 2018-01-10 11:22:42.290257 [#21 dnso1tcp-bighole.pcap-dist 4095] \ +[80] 2018-01-10 11:22:42.290257 [#21 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:42.290257 [#21 dnso1tcp-bighole.pcap-dist 4095] \ +[80] 2018-01-10 11:22:42.290257 [#21 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,45512,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:42.293978 [#23 dnso1tcp-bighole.pcap-dist 4095] \ +[98] 2018-01-10 11:22:42.293978 [#23 dnso1tcp-bighole.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,45512,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,57,216.58.211.142 0 0 -[97] 2018-01-10 11:22:42.337985 [#24 dnso1tcp-bighole.pcap-dist 4095] \ +[97] 2018-01-10 11:22:42.337985 [#24 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[97] 2018-01-10 11:22:42.337985 [#24 dnso1tcp-bighole.pcap-dist 4095] \ +[97] 2018-01-10 11:22:42.337985 [#24 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,22980,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[197] 2018-01-10 11:22:42.341559 [#26 dnso1tcp-bighole.pcap-dist 4095] \ +[197] 2018-01-10 11:22:42.341559 [#26 dnso1tcp-bighole.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,22980,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -140,24 +140,24 @@ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f14.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f206.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f14.1e100.net. 0 0 -[80] 2018-01-10 11:22:42.385009 [#27 dnso1tcp-bighole.pcap-dist 4095] \ +[80] 2018-01-10 11:22:42.385009 [#27 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:42.385009 [#27 dnso1tcp-bighole.pcap-dist 4095] \ +[80] 2018-01-10 11:22:42.385009 [#27 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,1834,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:42.389082 [#29 dnso1tcp-bighole.pcap-dist 4095] \ +[98] 2018-01-10 11:22:42.389082 [#29 dnso1tcp-bighole.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,1834,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,57,216.58.211.142 0 0 -[97] 2018-01-10 11:22:42.433458 [#30 dnso1tcp-bighole.pcap-dist 4095] \ +[97] 2018-01-10 11:22:42.433458 [#30 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[97] 2018-01-10 11:22:42.433458 [#30 dnso1tcp-bighole.pcap-dist 4095] \ +[97] 2018-01-10 11:22:42.433458 [#30 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,25431,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[197] 2018-01-10 11:22:42.438748 [#32 dnso1tcp-bighole.pcap-dist 4095] \ +[197] 2018-01-10 11:22:42.438748 [#32 dnso1tcp-bighole.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,25431,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -165,24 +165,24 @@ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f14.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f206.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f14.1e100.net. 0 0 -[80] 2018-01-10 11:22:42.484005 [#33 dnso1tcp-bighole.pcap-dist 4095] \ +[80] 2018-01-10 11:22:42.484005 [#33 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:42.484005 [#33 dnso1tcp-bighole.pcap-dist 4095] \ +[80] 2018-01-10 11:22:42.484005 [#33 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,48432,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:42.487697 [#35 dnso1tcp-bighole.pcap-dist 4095] \ +[98] 2018-01-10 11:22:42.487697 [#35 dnso1tcp-bighole.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,48432,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,57,216.58.211.142 0 0 -[97] 2018-01-10 11:22:42.532414 [#36 dnso1tcp-bighole.pcap-dist 4095] \ +[97] 2018-01-10 11:22:42.532414 [#36 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[97] 2018-01-10 11:22:42.532414 [#36 dnso1tcp-bighole.pcap-dist 4095] \ +[97] 2018-01-10 11:22:42.532414 [#36 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,47411,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[197] 2018-01-10 11:22:42.537574 [#38 dnso1tcp-bighole.pcap-dist 4095] \ +[197] 2018-01-10 11:22:42.537574 [#38 dnso1tcp-bighole.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,47411,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -190,57 +190,57 @@ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f14.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f206.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f14.1e100.net. 0 0 -[80] 2018-01-10 11:22:42.583021 [#39 dnso1tcp-bighole.pcap-dist 4095] \ +[80] 2018-01-10 11:22:42.583021 [#39 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:42.583021 [#39 dnso1tcp-bighole.pcap-dist 4095] \ +[80] 2018-01-10 11:22:42.583021 [#39 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,12038,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:42.586898 [#41 dnso1tcp-bighole.pcap-dist 4095] \ +[98] 2018-01-10 11:22:42.586898 [#41 dnso1tcp-bighole.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,12038,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,57,216.58.211.142 0 0 -[80] 2018-01-10 11:22:42.630221 [#42 dnso1tcp-bighole.pcap-dist 4095] \ +[80] 2018-01-10 11:22:42.630221 [#42 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:42.630221 [#42 dnso1tcp-bighole.pcap-dist 4095] \ +[80] 2018-01-10 11:22:42.630221 [#42 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,11614,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:42.633808 [#44 dnso1tcp-bighole.pcap-dist 4095] \ +[98] 2018-01-10 11:22:42.633808 [#44 dnso1tcp-bighole.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,11614,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,57,216.58.211.142 0 0 -[80] 2018-01-10 11:22:42.679168 [#45 dnso1tcp-bighole.pcap-dist 4095] \ +[80] 2018-01-10 11:22:42.679168 [#45 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:42.679168 [#45 dnso1tcp-bighole.pcap-dist 4095] \ +[80] 2018-01-10 11:22:42.679168 [#45 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,59173,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:42.682888 [#47 dnso1tcp-bighole.pcap-dist 4095] \ +[98] 2018-01-10 11:22:42.682888 [#47 dnso1tcp-bighole.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,59173,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,57,216.58.211.142 0 0 -[80] 2018-01-10 11:22:42.727254 [#48 dnso1tcp-bighole.pcap-dist 4095] \ +[80] 2018-01-10 11:22:42.727254 [#48 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:42.727254 [#48 dnso1tcp-bighole.pcap-dist 4095] \ +[80] 2018-01-10 11:22:42.727254 [#48 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,45535,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:42.732703 [#50 dnso1tcp-bighole.pcap-dist 4095] \ +[98] 2018-01-10 11:22:42.732703 [#50 dnso1tcp-bighole.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,45535,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,57,216.58.211.142 0 0 -[97] 2018-01-10 11:22:42.777184 [#51 dnso1tcp-bighole.pcap-dist 4095] \ +[97] 2018-01-10 11:22:42.777184 [#51 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[97] 2018-01-10 11:22:42.777184 [#51 dnso1tcp-bighole.pcap-dist 4095] \ +[97] 2018-01-10 11:22:42.777184 [#51 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,60808,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[197] 2018-01-10 11:22:42.781053 [#53 dnso1tcp-bighole.pcap-dist 4095] \ +[197] 2018-01-10 11:22:42.781053 [#53 dnso1tcp-bighole.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,60808,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -248,24 +248,24 @@ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f14.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f206.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f14.1e100.net. 0 0 -[80] 2018-01-10 11:22:42.824222 [#54 dnso1tcp-bighole.pcap-dist 4095] \ +[80] 2018-01-10 11:22:42.824222 [#54 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:42.824222 [#54 dnso1tcp-bighole.pcap-dist 4095] \ +[80] 2018-01-10 11:22:42.824222 [#54 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,64325,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:42.828050 [#56 dnso1tcp-bighole.pcap-dist 4095] \ +[98] 2018-01-10 11:22:42.828050 [#56 dnso1tcp-bighole.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,64325,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,57,216.58.211.142 0 0 -[97] 2018-01-10 11:22:42.872186 [#57 dnso1tcp-bighole.pcap-dist 4095] \ +[97] 2018-01-10 11:22:42.872186 [#57 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[97] 2018-01-10 11:22:42.872186 [#57 dnso1tcp-bighole.pcap-dist 4095] \ +[97] 2018-01-10 11:22:42.872186 [#57 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,25543,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[197] 2018-01-10 11:22:42.875911 [#59 dnso1tcp-bighole.pcap-dist 4095] \ +[197] 2018-01-10 11:22:42.875911 [#59 dnso1tcp-bighole.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,25543,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -273,24 +273,24 @@ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f14.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f206.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21598,dfw06s47-in-f14.1e100.net. 0 0 -[80] 2018-01-10 11:22:42.920231 [#60 dnso1tcp-bighole.pcap-dist 4095] \ +[80] 2018-01-10 11:22:42.920231 [#60 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:42.920231 [#60 dnso1tcp-bighole.pcap-dist 4095] \ +[80] 2018-01-10 11:22:42.920231 [#60 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,20736,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:42.923917 [#62 dnso1tcp-bighole.pcap-dist 4095] \ +[98] 2018-01-10 11:22:42.923917 [#62 dnso1tcp-bighole.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,20736,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,57,216.58.211.142 0 0 -[97] 2018-01-10 11:22:42.968961 [#63 dnso1tcp-bighole.pcap-dist 4095] \ +[97] 2018-01-10 11:22:42.968961 [#63 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[97] 2018-01-10 11:22:42.968961 [#63 dnso1tcp-bighole.pcap-dist 4095] \ +[97] 2018-01-10 11:22:42.968961 [#63 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,25911,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[197] 2018-01-10 11:22:42.972662 [#65 dnso1tcp-bighole.pcap-dist 4095] \ +[197] 2018-01-10 11:22:42.972662 [#65 dnso1tcp-bighole.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,25911,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -298,24 +298,24 @@ 206.218.58.216.in-addr.arpa.,IN,PTR,21597,dfw06s47-in-f14.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21597,dfw06s47-in-f206.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21597,dfw06s47-in-f14.1e100.net. 0 0 -[80] 2018-01-10 11:22:43.017364 [#66 dnso1tcp-bighole.pcap-dist 4095] \ +[80] 2018-01-10 11:22:43.017364 [#66 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:43.017364 [#66 dnso1tcp-bighole.pcap-dist 4095] \ +[80] 2018-01-10 11:22:43.017364 [#66 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,64358,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:43.022591 [#68 dnso1tcp-bighole.pcap-dist 4095] \ +[98] 2018-01-10 11:22:43.022591 [#68 dnso1tcp-bighole.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,64358,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,56,216.58.211.142 0 0 -[97] 2018-01-10 11:22:43.066765 [#69 dnso1tcp-bighole.pcap-dist 4095] \ +[97] 2018-01-10 11:22:43.066765 [#69 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[97] 2018-01-10 11:22:43.066765 [#69 dnso1tcp-bighole.pcap-dist 4095] \ +[97] 2018-01-10 11:22:43.066765 [#69 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,37698,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[197] 2018-01-10 11:22:43.070349 [#71 dnso1tcp-bighole.pcap-dist 4095] \ +[197] 2018-01-10 11:22:43.070349 [#71 dnso1tcp-bighole.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,37698,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -323,24 +323,24 @@ 206.218.58.216.in-addr.arpa.,IN,PTR,21597,dfw06s47-in-f14.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21597,dfw06s47-in-f206.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21597,dfw06s47-in-f14.1e100.net. 0 0 -[80] 2018-01-10 11:22:43.114332 [#72 dnso1tcp-bighole.pcap-dist 4095] \ +[80] 2018-01-10 11:22:43.114332 [#72 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:43.114332 [#72 dnso1tcp-bighole.pcap-dist 4095] \ +[80] 2018-01-10 11:22:43.114332 [#72 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,54706,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:43.119538 [#74 dnso1tcp-bighole.pcap-dist 4095] \ +[98] 2018-01-10 11:22:43.119538 [#74 dnso1tcp-bighole.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,54706,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,56,216.58.211.142 0 0 -[97] 2018-01-10 11:22:43.163857 [#75 dnso1tcp-bighole.pcap-dist 4095] \ +[97] 2018-01-10 11:22:43.163857 [#75 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[97] 2018-01-10 11:22:43.163857 [#75 dnso1tcp-bighole.pcap-dist 4095] \ +[97] 2018-01-10 11:22:43.163857 [#75 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,32142,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[197] 2018-01-10 11:22:43.167576 [#77 dnso1tcp-bighole.pcap-dist 4095] \ +[197] 2018-01-10 11:22:43.167576 [#77 dnso1tcp-bighole.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,32142,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -348,24 +348,24 @@ 206.218.58.216.in-addr.arpa.,IN,PTR,21597,dfw06s47-in-f14.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21597,dfw06s47-in-f206.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21597,dfw06s47-in-f14.1e100.net. 0 0 -[80] 2018-01-10 11:22:43.211417 [#78 dnso1tcp-bighole.pcap-dist 4095] \ +[80] 2018-01-10 11:22:43.211417 [#78 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:43.211417 [#78 dnso1tcp-bighole.pcap-dist 4095] \ +[80] 2018-01-10 11:22:43.211417 [#78 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,41808,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:43.216686 [#80 dnso1tcp-bighole.pcap-dist 4095] \ +[98] 2018-01-10 11:22:43.216686 [#80 dnso1tcp-bighole.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,41808,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,56,216.58.211.142 0 0 -[97] 2018-01-10 11:22:43.260995 [#81 dnso1tcp-bighole.pcap-dist 4095] \ +[97] 2018-01-10 11:22:43.260995 [#81 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[97] 2018-01-10 11:22:43.260995 [#81 dnso1tcp-bighole.pcap-dist 4095] \ +[97] 2018-01-10 11:22:43.260995 [#81 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,18886,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[197] 2018-01-10 11:22:43.265047 [#83 dnso1tcp-bighole.pcap-dist 4095] \ +[197] 2018-01-10 11:22:43.265047 [#83 dnso1tcp-bighole.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,18886,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -373,24 +373,24 @@ 206.218.58.216.in-addr.arpa.,IN,PTR,21597,dfw06s47-in-f14.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21597,dfw06s47-in-f206.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21597,dfw06s47-in-f14.1e100.net. 0 0 -[80] 2018-01-10 11:22:43.310017 [#84 dnso1tcp-bighole.pcap-dist 4095] \ +[80] 2018-01-10 11:22:43.310017 [#84 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:43.310017 [#84 dnso1tcp-bighole.pcap-dist 4095] \ +[80] 2018-01-10 11:22:43.310017 [#84 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,10624,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:43.313596 [#86 dnso1tcp-bighole.pcap-dist 4095] \ +[98] 2018-01-10 11:22:43.313596 [#86 dnso1tcp-bighole.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,10624,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,56,216.58.211.142 0 0 -[97] 2018-01-10 11:22:43.356802 [#87 dnso1tcp-bighole.pcap-dist 4095] \ +[97] 2018-01-10 11:22:43.356802 [#87 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[97] 2018-01-10 11:22:43.356802 [#87 dnso1tcp-bighole.pcap-dist 4095] \ +[97] 2018-01-10 11:22:43.356802 [#87 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,33139,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[197] 2018-01-10 11:22:43.360685 [#89 dnso1tcp-bighole.pcap-dist 4095] \ +[197] 2018-01-10 11:22:43.360685 [#89 dnso1tcp-bighole.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,33139,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -398,24 +398,24 @@ 206.218.58.216.in-addr.arpa.,IN,PTR,21597,dfw06s47-in-f14.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21597,dfw06s47-in-f206.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21597,dfw06s47-in-f14.1e100.net. 0 0 -[80] 2018-01-10 11:22:43.406308 [#90 dnso1tcp-bighole.pcap-dist 4095] \ +[80] 2018-01-10 11:22:43.406308 [#90 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:43.406308 [#90 dnso1tcp-bighole.pcap-dist 4095] \ +[80] 2018-01-10 11:22:43.406308 [#90 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,61415,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:43.410191 [#92 dnso1tcp-bighole.pcap-dist 4095] \ +[98] 2018-01-10 11:22:43.410191 [#92 dnso1tcp-bighole.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,61415,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,56,216.58.211.142 0 0 -[97] 2018-01-10 11:22:43.454193 [#93 dnso1tcp-bighole.pcap-dist 4095] \ +[97] 2018-01-10 11:22:43.454193 [#93 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[97] 2018-01-10 11:22:43.454193 [#93 dnso1tcp-bighole.pcap-dist 4095] \ +[97] 2018-01-10 11:22:43.454193 [#93 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,59258,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[197] 2018-01-10 11:22:43.458191 [#95 dnso1tcp-bighole.pcap-dist 4095] \ +[197] 2018-01-10 11:22:43.458191 [#95 dnso1tcp-bighole.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,59258,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -423,18 +423,18 @@ 206.218.58.216.in-addr.arpa.,IN,PTR,21597,dfw06s47-in-f14.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21597,dfw06s47-in-f206.1e100.net. \ 206.218.58.216.in-addr.arpa.,IN,PTR,21597,dfw06s47-in-f14.1e100.net. 0 0 -[80] 2018-01-10 11:22:43.503242 [#96 dnso1tcp-bighole.pcap-dist 4095] \ +[80] 2018-01-10 11:22:43.503242 [#96 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[80] 2018-01-10 11:22:43.503242 [#96 dnso1tcp-bighole.pcap-dist 4095] \ +[80] 2018-01-10 11:22:43.503242 [#96 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 \ dns QUERY,NOERROR,17700,rd \ 1 google.com.,IN,A 0 0 0 -[98] 2018-01-10 11:22:43.506884 [#98 dnso1tcp-bighole.pcap-dist 4095] \ +[98] 2018-01-10 11:22:43.506884 [#98 dnso1tcp-bighole.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 \ dns QUERY,NOERROR,17700,qr|rd|ra \ 1 google.com.,IN,A \ 1 google.com.,IN,A,56,216.58.211.142 0 0 -[52] 2018-01-10 11:22:43.507821 [#99 dnso1tcp-bighole.pcap-dist 4095] \ +[52] 2018-01-10 11:22:43.507821 [#99 dnso1tcp-bighole.pcap 4095] \ [172.17.0.8].51388 [8.8.8.8].53 -[52] 2018-01-10 11:22:43.511351 [#100 dnso1tcp-bighole.pcap-dist 4095] \ +[52] 2018-01-10 11:22:43.511351 [#100 dnso1tcp-bighole.pcap 4095] \ [8.8.8.8].53 [172.17.0.8].51388 diff --git a/src/test/test8.sh b/src/test/test8.sh index e091ff6..99c726e 100755 --- a/src/test/test8.sh +++ b/src/test/test8.sh @@ -2,12 +2,16 @@ rm -f test8.out test8.layer.out -for what in dnsotcp-many1pkt.pcap-dist dnsotcp-manyopkts.pcap-dist; do +for what in dnsotcp-many1pkt.pcap dnsotcp-manyopkts.pcap; do + test -e "$what" || ln -s "$srcdir/$what" "$what" + ../dnscap -r "$what" -g -T -o reassemble_tcp=yes 2>>test8.out ../dnscap -r "$what" -g -T -o reassemble_tcp=yes -o use_layers=yes 2>>test8.layer.out done -for what in dnso1tcp-bighole.pcap-dist; do +for what in dnso1tcp-bighole.pcap; do + test -e "$what" || ln -s "$srcdir/$what" "$what" + ../dnscap -r "$what" -g -T -o reassemble_tcp=yes -o allow_reset_tcpstate=yes 2>>test8.out ../dnscap -r "$what" -g -T -o reassemble_tcp=yes -o allow_reset_tcpstate=yes -o use_layers=yes 2>>test8.layer.out done diff --git a/src/test/test9.gold b/src/test/test9.gold index 1c50c70..f3f69bf 100644 --- a/src/test/test9.gold +++ b/src/test/test9.gold @@ -1,8 +1,8 @@ -[56] 2016-10-20 15:23:52.860937 [#0 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:23:52.860937 [#0 dns.pcap 4095] \ [172.17.0.10].40953 [8.8.8.8].53 \ dns QUERY,NOERROR,22531,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:23:52.863771 [#1 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:23:52.863771 [#1 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].40953 \ dns QUERY,NOERROR,22531,qr|rd|ra \ 1 google.com.,IN,A \ @@ -15,11 +15,11 @@ ns1.google.com.,IN,A,331830,216.239.32.10 \ ns3.google.com.,IN,A,157828,216.239.36.10 \ ns4.google.com.,IN,A,157828,216.239.38.10 -[56] 2016-10-20 15:23:59.083869 [#2 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:23:59.083869 [#2 dns.pcap 4095] \ [172.17.0.10].45174 [8.8.8.8].53 \ dns QUERY,NOERROR,58510,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:23:59.086104 [#3 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:23:59.086104 [#3 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].45174 \ dns QUERY,NOERROR,58510,qr|rd|ra \ 1 google.com.,IN,A \ @@ -32,11 +32,11 @@ ns1.google.com.,IN,A,331824,216.239.32.10 \ ns3.google.com.,IN,A,157822,216.239.36.10 \ ns4.google.com.,IN,A,157822,216.239.38.10 -[73] 2016-10-20 15:23:59.090911 [#4 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:23:59.090911 [#4 dns.pcap 4095] \ [172.17.0.10].33916 [8.8.8.8].53 \ dns QUERY,NOERROR,45248,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:23:59.092204 [#5 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:23:59.092204 [#5 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].33916 \ dns QUERY,NOERROR,45248,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -50,11 +50,11 @@ ns3.google.com.,IN,A,157822,216.239.36.10 \ ns4.google.com.,IN,A,157822,216.239.38.10 \ ns2.google.com.,IN,A,157822,216.239.34.10 -[56] 2016-10-20 15:23:52.860937 [#0 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:23:52.860937 [#0 dns.pcap 4095] \ [172.17.0.10].40953 [8.8.8.8].53 \ dns QUERY,NOERROR,22531,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:23:52.863771 [#1 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:23:52.863771 [#1 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].40953 \ dns QUERY,NOERROR,22531,qr|rd|ra \ 1 google.com.,IN,A \ @@ -67,11 +67,11 @@ ns1.google.com.,IN,A,331830,216.239.32.10 \ ns3.google.com.,IN,A,157828,216.239.36.10 \ ns4.google.com.,IN,A,157828,216.239.38.10 -[56] 2016-10-20 15:23:59.083869 [#2 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:23:59.083869 [#2 dns.pcap 4095] \ [172.17.0.10].45174 [8.8.8.8].53 \ dns QUERY,NOERROR,58510,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:23:59.086104 [#3 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:23:59.086104 [#3 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].45174 \ dns QUERY,NOERROR,58510,qr|rd|ra \ 1 google.com.,IN,A \ @@ -84,11 +84,11 @@ ns1.google.com.,IN,A,331824,216.239.32.10 \ ns3.google.com.,IN,A,157822,216.239.36.10 \ ns4.google.com.,IN,A,157822,216.239.38.10 -[73] 2016-10-20 15:23:59.090911 [#4 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:23:59.090911 [#4 dns.pcap 4095] \ [172.17.0.10].33916 [8.8.8.8].53 \ dns QUERY,NOERROR,45248,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:23:59.092204 [#5 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:23:59.092204 [#5 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].33916 \ dns QUERY,NOERROR,45248,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ diff --git a/src/test/test9.sh b/src/test/test9.sh index aff7610..3478256 100755 --- a/src/test/test9.sh +++ b/src/test/test9.sh @@ -1,6 +1,8 @@ #!/bin/sh -xe -../dnscap -r dns.pcap-dist -g -B '2016-10-20 15:23:30' -E '2016-10-20 15:24:00' 2>test9.out -../dnscap -r dns.pcap-dist -o use_layers=yes -g -B '2016-10-20 15:23:30' -E '2016-10-20 15:24:00' 2>>test9.out +test -e dns.pcap || ln -s "$srcdir/dns.pcap" dns.pcap + +../dnscap -r dns.pcap -g -B '2016-10-20 15:23:30' -E '2016-10-20 15:24:00' 2>test9.out +../dnscap -r dns.pcap -o use_layers=yes -g -B '2016-10-20 15:23:30' -E '2016-10-20 15:24:00' 2>>test9.out diff test9.out "$srcdir/test9.gold" diff --git a/src/test/test_edns.sh b/src/test/test_edns.sh new file mode 100755 index 0000000..adb256a --- /dev/null +++ b/src/test/test_edns.sh @@ -0,0 +1,11 @@ +#!/bin/sh -xe + +test -e edns.pcap || ln -s "$srcdir/edns.pcap" edns.pcap + +../dnscap -g -r edns.pcap 2>edns.out + +mv edns.out edns.out.old +grep -v "^libgcov profiling error:" edns.out.old > edns.out +rm edns.out.old + +diff edns.out "$srcdir/edns.gold" diff --git a/src/test/test_regex_match.gold b/src/test/test_regex_match.gold index 891f731..7037e48 100644 --- a/src/test/test_regex_match.gold +++ b/src/test/test_regex_match.gold @@ -1,4 +1,4 @@ -[208] 2016-10-20 15:23:01.077982 [#0 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:23:01.077982 [#0 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].53199 \ dns QUERY,NOERROR,59311,qr|rd|ra \ 1 google.com.,IN,A \ @@ -11,7 +11,7 @@ ns1.google.com.,IN,A,331882,216.239.32.10 \ ns3.google.com.,IN,A,157880,216.239.36.10 \ ns4.google.com.,IN,A,157880,216.239.38.10 -[289] 2016-10-20 15:23:01.084107 [#1 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:23:01.084107 [#1 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].57822 \ dns QUERY,NOERROR,35665,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -25,7 +25,7 @@ ns3.google.com.,IN,A,157880,216.239.36.10 \ ns4.google.com.,IN,A,157880,216.239.38.10 \ ns2.google.com.,IN,A,157880,216.239.34.10 -[208] 2016-10-20 15:23:01.088733 [#2 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:23:01.088733 [#2 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].40043 \ dns QUERY,NOERROR,5337,qr|rd|ra \ 1 google.com.,IN,A \ @@ -38,7 +38,7 @@ ns1.google.com.,IN,A,331882,216.239.32.10 \ ns3.google.com.,IN,A,157880,216.239.36.10 \ ns4.google.com.,IN,A,157880,216.239.38.10 -[208] 2016-10-20 15:23:10.323399 [#3 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:23:10.323399 [#3 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].37953 \ dns QUERY,NOERROR,22982,qr|rd|ra \ 1 google.com.,IN,A \ @@ -51,7 +51,7 @@ ns1.google.com.,IN,A,331872,216.239.32.10 \ ns3.google.com.,IN,A,157870,216.239.36.10 \ ns4.google.com.,IN,A,157870,216.239.38.10 -[289] 2016-10-20 15:23:10.329572 [#4 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:23:10.329572 [#4 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].48658 \ dns QUERY,NOERROR,18718,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -65,7 +65,7 @@ ns3.google.com.,IN,A,157870,216.239.36.10 \ ns4.google.com.,IN,A,157870,216.239.38.10 \ ns2.google.com.,IN,A,157870,216.239.34.10 -[208] 2016-10-20 15:23:52.863771 [#5 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:23:52.863771 [#5 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].40953 \ dns QUERY,NOERROR,22531,qr|rd|ra \ 1 google.com.,IN,A \ @@ -78,7 +78,7 @@ ns1.google.com.,IN,A,331830,216.239.32.10 \ ns3.google.com.,IN,A,157828,216.239.36.10 \ ns4.google.com.,IN,A,157828,216.239.38.10 -[208] 2016-10-20 15:23:59.086104 [#6 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:23:59.086104 [#6 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].45174 \ dns QUERY,NOERROR,58510,qr|rd|ra \ 1 google.com.,IN,A \ @@ -91,7 +91,7 @@ ns1.google.com.,IN,A,331824,216.239.32.10 \ ns3.google.com.,IN,A,157822,216.239.36.10 \ ns4.google.com.,IN,A,157822,216.239.38.10 -[289] 2016-10-20 15:23:59.092204 [#7 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:23:59.092204 [#7 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].33916 \ dns QUERY,NOERROR,45248,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -105,7 +105,7 @@ ns3.google.com.,IN,A,157822,216.239.36.10 \ ns4.google.com.,IN,A,157822,216.239.38.10 \ ns2.google.com.,IN,A,157822,216.239.34.10 -[208] 2016-10-20 15:24:04.325597 [#8 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:04.325597 [#8 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].43559 \ dns QUERY,NOERROR,49483,qr|rd|ra \ 1 google.com.,IN,A \ @@ -118,7 +118,7 @@ ns1.google.com.,IN,A,331818,216.239.32.10 \ ns3.google.com.,IN,A,157816,216.239.36.10 \ ns4.google.com.,IN,A,157816,216.239.38.10 -[208] 2016-10-20 15:24:06.333743 [#9 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:06.333743 [#9 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].54859 \ dns QUERY,NOERROR,31669,qr|rd|ra \ 1 google.com.,IN,A \ @@ -131,7 +131,7 @@ ns1.google.com.,IN,A,331816,216.239.32.10 \ ns3.google.com.,IN,A,157814,216.239.36.10 \ ns4.google.com.,IN,A,157814,216.239.38.10 -[289] 2016-10-20 15:24:06.340820 [#10 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:06.340820 [#10 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].58176 \ dns QUERY,NOERROR,25433,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -145,7 +145,7 @@ ns3.google.com.,IN,A,157814,216.239.36.10 \ ns4.google.com.,IN,A,157814,216.239.38.10 \ ns2.google.com.,IN,A,157814,216.239.34.10 -[208] 2016-10-20 15:24:07.348160 [#11 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:07.348160 [#11 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].41266 \ dns QUERY,NOERROR,63798,qr|rd|ra \ 1 google.com.,IN,A \ @@ -158,7 +158,7 @@ ns1.google.com.,IN,A,331815,216.239.32.10 \ ns3.google.com.,IN,A,157813,216.239.36.10 \ ns4.google.com.,IN,A,157813,216.239.38.10 -[289] 2016-10-20 15:24:07.354682 [#12 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:07.354682 [#12 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].34607 \ dns QUERY,NOERROR,8470,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -172,7 +172,7 @@ ns3.google.com.,IN,A,157813,216.239.36.10 \ ns4.google.com.,IN,A,157813,216.239.38.10 \ ns2.google.com.,IN,A,157813,216.239.34.10 -[208] 2016-10-20 15:24:08.362206 [#13 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:08.362206 [#13 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].60437 \ dns QUERY,NOERROR,60258,qr|rd|ra \ 1 google.com.,IN,A \ @@ -185,7 +185,7 @@ ns1.google.com.,IN,A,331814,216.239.32.10 \ ns3.google.com.,IN,A,157812,216.239.36.10 \ ns4.google.com.,IN,A,157812,216.239.38.10 -[289] 2016-10-20 15:24:08.370119 [#14 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:08.370119 [#14 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].37149 \ dns QUERY,NOERROR,44985,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -199,7 +199,7 @@ ns3.google.com.,IN,A,157812,216.239.36.10 \ ns4.google.com.,IN,A,157812,216.239.38.10 \ ns2.google.com.,IN,A,157812,216.239.34.10 -[208] 2016-10-20 15:24:09.378425 [#15 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:09.378425 [#15 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].53820 \ dns QUERY,NOERROR,45512,qr|rd|ra \ 1 google.com.,IN,A \ @@ -212,7 +212,7 @@ ns1.google.com.,IN,A,331813,216.239.32.10 \ ns3.google.com.,IN,A,157811,216.239.36.10 \ ns4.google.com.,IN,A,157811,216.239.38.10 -[289] 2016-10-20 15:24:09.385463 [#16 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:09.385463 [#16 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].52368 \ dns QUERY,NOERROR,22980,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -226,7 +226,7 @@ ns3.google.com.,IN,A,157811,216.239.36.10 \ ns4.google.com.,IN,A,157811,216.239.38.10 \ ns2.google.com.,IN,A,157811,216.239.34.10 -[208] 2016-10-20 15:24:10.392886 [#17 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:10.392886 [#17 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].47637 \ dns QUERY,NOERROR,1834,qr|rd|ra \ 1 google.com.,IN,A \ @@ -239,7 +239,7 @@ ns1.google.com.,IN,A,331812,216.239.32.10 \ ns3.google.com.,IN,A,157810,216.239.36.10 \ ns4.google.com.,IN,A,157810,216.239.38.10 -[289] 2016-10-20 15:24:10.400317 [#18 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:10.400317 [#18 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].34426 \ dns QUERY,NOERROR,25431,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -253,7 +253,7 @@ ns3.google.com.,IN,A,157810,216.239.36.10 \ ns4.google.com.,IN,A,157810,216.239.38.10 \ ns2.google.com.,IN,A,157810,216.239.34.10 -[208] 2016-10-20 15:24:11.407460 [#19 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:11.407460 [#19 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].41059 \ dns QUERY,NOERROR,48432,qr|rd|ra \ 1 google.com.,IN,A \ @@ -266,7 +266,7 @@ ns1.google.com.,IN,A,331811,216.239.32.10 \ ns3.google.com.,IN,A,157809,216.239.36.10 \ ns4.google.com.,IN,A,157809,216.239.38.10 -[289] 2016-10-20 15:24:11.413370 [#20 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:11.413370 [#20 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].51181 \ dns QUERY,NOERROR,47411,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -280,7 +280,7 @@ ns3.google.com.,IN,A,157809,216.239.36.10 \ ns4.google.com.,IN,A,157809,216.239.38.10 \ ns2.google.com.,IN,A,157809,216.239.34.10 -[208] 2016-10-20 15:24:12.421228 [#21 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:12.421228 [#21 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].32976 \ dns QUERY,NOERROR,12038,qr|rd|ra \ 1 google.com.,IN,A \ @@ -293,7 +293,7 @@ ns1.google.com.,IN,A,331810,216.239.32.10 \ ns3.google.com.,IN,A,157808,216.239.36.10 \ ns4.google.com.,IN,A,157808,216.239.38.10 -[208] 2016-10-20 15:24:14.429863 [#22 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:14.429863 [#22 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].53467 \ dns QUERY,NOERROR,11614,qr|rd|ra \ 1 google.com.,IN,A \ @@ -306,7 +306,7 @@ ns1.google.com.,IN,A,331808,216.239.32.10 \ ns3.google.com.,IN,A,157806,216.239.36.10 \ ns4.google.com.,IN,A,157806,216.239.38.10 -[208] 2016-10-20 15:24:16.437471 [#23 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:16.437471 [#23 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].41532 \ dns QUERY,NOERROR,59173,qr|rd|ra \ 1 google.com.,IN,A \ @@ -319,7 +319,7 @@ ns1.google.com.,IN,A,331806,216.239.32.10 \ ns3.google.com.,IN,A,157804,216.239.36.10 \ ns4.google.com.,IN,A,157804,216.239.38.10 -[208] 2016-10-20 15:24:18.446775 [#24 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:18.446775 [#24 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].44982 \ dns QUERY,NOERROR,45535,qr|rd|ra \ 1 google.com.,IN,A \ @@ -332,7 +332,7 @@ ns1.google.com.,IN,A,331804,216.239.32.10 \ ns3.google.com.,IN,A,157802,216.239.36.10 \ ns4.google.com.,IN,A,157802,216.239.38.10 -[289] 2016-10-20 15:24:18.454030 [#25 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:18.454030 [#25 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].40224 \ dns QUERY,NOERROR,60808,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -346,7 +346,7 @@ ns3.google.com.,IN,A,157802,216.239.36.10 \ ns4.google.com.,IN,A,157802,216.239.38.10 \ ns2.google.com.,IN,A,157802,216.239.34.10 -[208] 2016-10-20 15:24:19.462224 [#26 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:19.462224 [#26 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].45658 \ dns QUERY,NOERROR,64325,qr|rd|ra \ 1 google.com.,IN,A \ @@ -359,7 +359,7 @@ ns1.google.com.,IN,A,331803,216.239.32.10 \ ns3.google.com.,IN,A,157801,216.239.36.10 \ ns4.google.com.,IN,A,157801,216.239.38.10 -[289] 2016-10-20 15:24:19.468895 [#27 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:19.468895 [#27 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].60457 \ dns QUERY,NOERROR,25543,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -373,7 +373,7 @@ ns3.google.com.,IN,A,157801,216.239.36.10 \ ns4.google.com.,IN,A,157801,216.239.38.10 \ ns2.google.com.,IN,A,157801,216.239.34.10 -[208] 2016-10-20 15:24:20.476841 [#28 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:20.476841 [#28 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].59762 \ dns QUERY,NOERROR,20736,qr|rd|ra \ 1 google.com.,IN,A \ @@ -386,7 +386,7 @@ ns1.google.com.,IN,A,331802,216.239.32.10 \ ns3.google.com.,IN,A,157800,216.239.36.10 \ ns4.google.com.,IN,A,157800,216.239.38.10 -[289] 2016-10-20 15:24:20.483927 [#29 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:20.483927 [#29 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].56022 \ dns QUERY,NOERROR,25911,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -400,7 +400,7 @@ ns3.google.com.,IN,A,157800,216.239.36.10 \ ns4.google.com.,IN,A,157800,216.239.38.10 \ ns2.google.com.,IN,A,157800,216.239.34.10 -[208] 2016-10-20 15:24:21.490573 [#30 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:21.490573 [#30 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].37669 \ dns QUERY,NOERROR,64358,qr|rd|ra \ 1 google.com.,IN,A \ @@ -413,7 +413,7 @@ ns1.google.com.,IN,A,331801,216.239.32.10 \ ns3.google.com.,IN,A,157799,216.239.36.10 \ ns4.google.com.,IN,A,157799,216.239.38.10 -[289] 2016-10-20 15:24:21.496815 [#31 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:21.496815 [#31 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].42978 \ dns QUERY,NOERROR,37698,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -427,7 +427,7 @@ ns3.google.com.,IN,A,157799,216.239.36.10 \ ns4.google.com.,IN,A,157799,216.239.38.10 \ ns2.google.com.,IN,A,157799,216.239.34.10 -[208] 2016-10-20 15:24:22.504738 [#32 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:22.504738 [#32 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].49829 \ dns QUERY,NOERROR,54706,qr|rd|ra \ 1 google.com.,IN,A \ @@ -440,7 +440,7 @@ ns1.google.com.,IN,A,331800,216.239.32.10 \ ns3.google.com.,IN,A,157798,216.239.36.10 \ ns4.google.com.,IN,A,157798,216.239.38.10 -[289] 2016-10-20 15:24:22.511746 [#33 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:22.511746 [#33 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].50599 \ dns QUERY,NOERROR,32142,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -454,7 +454,7 @@ ns3.google.com.,IN,A,157798,216.239.36.10 \ ns4.google.com.,IN,A,157798,216.239.38.10 \ ns2.google.com.,IN,A,157798,216.239.34.10 -[208] 2016-10-20 15:24:23.521976 [#34 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:23.521976 [#34 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].44980 \ dns QUERY,NOERROR,41808,qr|rd|ra \ 1 google.com.,IN,A \ @@ -467,7 +467,7 @@ ns1.google.com.,IN,A,331799,216.239.32.10 \ ns3.google.com.,IN,A,157797,216.239.36.10 \ ns4.google.com.,IN,A,157797,216.239.38.10 -[289] 2016-10-20 15:24:23.529385 [#35 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:23.529385 [#35 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].60063 \ dns QUERY,NOERROR,18886,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -481,7 +481,7 @@ ns3.google.com.,IN,A,157797,216.239.36.10 \ ns4.google.com.,IN,A,157797,216.239.38.10 \ ns2.google.com.,IN,A,157797,216.239.34.10 -[208] 2016-10-20 15:24:24.539398 [#36 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:24.539398 [#36 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].42042 \ dns QUERY,NOERROR,10624,qr|rd|ra \ 1 google.com.,IN,A \ @@ -494,7 +494,7 @@ ns1.google.com.,IN,A,331798,216.239.32.10 \ ns3.google.com.,IN,A,157796,216.239.36.10 \ ns4.google.com.,IN,A,157796,216.239.38.10 -[289] 2016-10-20 15:24:24.546172 [#37 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:24.546172 [#37 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].60469 \ dns QUERY,NOERROR,33139,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -508,7 +508,7 @@ ns3.google.com.,IN,A,157796,216.239.36.10 \ ns4.google.com.,IN,A,157796,216.239.38.10 \ ns2.google.com.,IN,A,157796,216.239.34.10 -[208] 2016-10-20 15:24:25.556513 [#38 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:25.556513 [#38 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].45703 \ dns QUERY,NOERROR,61415,qr|rd|ra \ 1 google.com.,IN,A \ @@ -521,7 +521,7 @@ ns1.google.com.,IN,A,331797,216.239.32.10 \ ns3.google.com.,IN,A,157795,216.239.36.10 \ ns4.google.com.,IN,A,157795,216.239.38.10 -[289] 2016-10-20 15:24:25.564509 [#39 dns.pcap-dist 4095] \ +[289] 2016-10-20 15:24:25.564509 [#39 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].33507 \ dns QUERY,NOERROR,59258,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -535,7 +535,7 @@ ns3.google.com.,IN,A,157795,216.239.36.10 \ ns4.google.com.,IN,A,157795,216.239.38.10 \ ns2.google.com.,IN,A,157795,216.239.34.10 -[208] 2016-10-20 15:24:26.574350 [#40 dns.pcap-dist 4095] \ +[208] 2016-10-20 15:24:26.574350 [#40 dns.pcap 4095] \ [8.8.8.8].53 [172.17.0.10].46798 \ dns QUERY,NOERROR,17700,qr|rd|ra \ 1 google.com.,IN,A \ @@ -548,167 +548,167 @@ ns1.google.com.,IN,A,331796,216.239.32.10 \ ns3.google.com.,IN,A,157794,216.239.36.10 \ ns4.google.com.,IN,A,157794,216.239.38.10 -[56] 2016-10-20 15:23:01.075993 [#0 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:23:01.075993 [#0 dns.pcap 4095] \ [172.17.0.10].53199 [8.8.8.8].53 \ dns QUERY,NOERROR,59311,rd \ 1 google.com.,IN,A 0 0 0 -[73] 2016-10-20 15:23:01.082865 [#1 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:23:01.082865 [#1 dns.pcap 4095] \ [172.17.0.10].57822 [8.8.8.8].53 \ dns QUERY,NOERROR,35665,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[56] 2016-10-20 15:23:01.087291 [#2 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:23:01.087291 [#2 dns.pcap 4095] \ [172.17.0.10].40043 [8.8.8.8].53 \ dns QUERY,NOERROR,5337,rd \ 1 google.com.,IN,A 0 0 0 -[56] 2016-10-20 15:23:10.322117 [#3 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:23:10.322117 [#3 dns.pcap 4095] \ [172.17.0.10].37953 [8.8.8.8].53 \ dns QUERY,NOERROR,22982,rd \ 1 google.com.,IN,A 0 0 0 -[73] 2016-10-20 15:23:10.328324 [#4 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:23:10.328324 [#4 dns.pcap 4095] \ [172.17.0.10].48658 [8.8.8.8].53 \ dns QUERY,NOERROR,18718,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[56] 2016-10-20 15:23:52.860937 [#5 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:23:52.860937 [#5 dns.pcap 4095] \ [172.17.0.10].40953 [8.8.8.8].53 \ dns QUERY,NOERROR,22531,rd \ 1 google.com.,IN,A 0 0 0 -[56] 2016-10-20 15:23:59.083869 [#6 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:23:59.083869 [#6 dns.pcap 4095] \ [172.17.0.10].45174 [8.8.8.8].53 \ dns QUERY,NOERROR,58510,rd \ 1 google.com.,IN,A 0 0 0 -[73] 2016-10-20 15:23:59.090911 [#7 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:23:59.090911 [#7 dns.pcap 4095] \ [172.17.0.10].33916 [8.8.8.8].53 \ dns QUERY,NOERROR,45248,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[56] 2016-10-20 15:24:04.323868 [#8 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:04.323868 [#8 dns.pcap 4095] \ [172.17.0.10].43559 [8.8.8.8].53 \ dns QUERY,NOERROR,49483,rd \ 1 google.com.,IN,A 0 0 0 -[56] 2016-10-20 15:24:06.332239 [#9 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:06.332239 [#9 dns.pcap 4095] \ [172.17.0.10].54859 [8.8.8.8].53 \ dns QUERY,NOERROR,31669,rd \ 1 google.com.,IN,A 0 0 0 -[73] 2016-10-20 15:24:06.339145 [#10 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:06.339145 [#10 dns.pcap 4095] \ [172.17.0.10].58176 [8.8.8.8].53 \ dns QUERY,NOERROR,25433,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[56] 2016-10-20 15:24:07.346429 [#11 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:07.346429 [#11 dns.pcap 4095] \ [172.17.0.10].41266 [8.8.8.8].53 \ dns QUERY,NOERROR,63798,rd \ 1 google.com.,IN,A 0 0 0 -[73] 2016-10-20 15:24:07.353123 [#12 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:07.353123 [#12 dns.pcap 4095] \ [172.17.0.10].34607 [8.8.8.8].53 \ dns QUERY,NOERROR,8470,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[56] 2016-10-20 15:24:08.360528 [#13 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:08.360528 [#13 dns.pcap 4095] \ [172.17.0.10].60437 [8.8.8.8].53 \ dns QUERY,NOERROR,60258,rd \ 1 google.com.,IN,A 0 0 0 -[73] 2016-10-20 15:24:08.368516 [#14 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:08.368516 [#14 dns.pcap 4095] \ [172.17.0.10].37149 [8.8.8.8].53 \ dns QUERY,NOERROR,44985,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[56] 2016-10-20 15:24:09.375942 [#15 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:09.375942 [#15 dns.pcap 4095] \ [172.17.0.10].53820 [8.8.8.8].53 \ dns QUERY,NOERROR,45512,rd \ 1 google.com.,IN,A 0 0 0 -[73] 2016-10-20 15:24:09.384057 [#16 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:09.384057 [#16 dns.pcap 4095] \ [172.17.0.10].52368 [8.8.8.8].53 \ dns QUERY,NOERROR,22980,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[56] 2016-10-20 15:24:10.391358 [#17 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:10.391358 [#17 dns.pcap 4095] \ [172.17.0.10].47637 [8.8.8.8].53 \ dns QUERY,NOERROR,1834,rd \ 1 google.com.,IN,A 0 0 0 -[73] 2016-10-20 15:24:10.398099 [#18 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:10.398099 [#18 dns.pcap 4095] \ [172.17.0.10].34426 [8.8.8.8].53 \ dns QUERY,NOERROR,25431,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[56] 2016-10-20 15:24:11.406297 [#19 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:11.406297 [#19 dns.pcap 4095] \ [172.17.0.10].41059 [8.8.8.8].53 \ dns QUERY,NOERROR,48432,rd \ 1 google.com.,IN,A 0 0 0 -[73] 2016-10-20 15:24:11.412133 [#20 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:11.412133 [#20 dns.pcap 4095] \ [172.17.0.10].51181 [8.8.8.8].53 \ dns QUERY,NOERROR,47411,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[56] 2016-10-20 15:24:12.419936 [#21 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:12.419936 [#21 dns.pcap 4095] \ [172.17.0.10].32976 [8.8.8.8].53 \ dns QUERY,NOERROR,12038,rd \ 1 google.com.,IN,A 0 0 0 -[56] 2016-10-20 15:24:14.428524 [#22 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:14.428524 [#22 dns.pcap 4095] \ [172.17.0.10].53467 [8.8.8.8].53 \ dns QUERY,NOERROR,11614,rd \ 1 google.com.,IN,A 0 0 0 -[56] 2016-10-20 15:24:16.435733 [#23 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:16.435733 [#23 dns.pcap 4095] \ [172.17.0.10].41532 [8.8.8.8].53 \ dns QUERY,NOERROR,59173,rd \ 1 google.com.,IN,A 0 0 0 -[56] 2016-10-20 15:24:18.445519 [#24 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:18.445519 [#24 dns.pcap 4095] \ [172.17.0.10].44982 [8.8.8.8].53 \ dns QUERY,NOERROR,45535,rd \ 1 google.com.,IN,A 0 0 0 -[73] 2016-10-20 15:24:18.452451 [#25 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:18.452451 [#25 dns.pcap 4095] \ [172.17.0.10].40224 [8.8.8.8].53 \ dns QUERY,NOERROR,60808,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[56] 2016-10-20 15:24:19.460087 [#26 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:19.460087 [#26 dns.pcap 4095] \ [172.17.0.10].45658 [8.8.8.8].53 \ dns QUERY,NOERROR,64325,rd \ 1 google.com.,IN,A 0 0 0 -[73] 2016-10-20 15:24:19.467324 [#27 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:19.467324 [#27 dns.pcap 4095] \ [172.17.0.10].60457 [8.8.8.8].53 \ dns QUERY,NOERROR,25543,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[56] 2016-10-20 15:24:20.475086 [#28 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:20.475086 [#28 dns.pcap 4095] \ [172.17.0.10].59762 [8.8.8.8].53 \ dns QUERY,NOERROR,20736,rd \ 1 google.com.,IN,A 0 0 0 -[73] 2016-10-20 15:24:20.482188 [#29 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:20.482188 [#29 dns.pcap 4095] \ [172.17.0.10].56022 [8.8.8.8].53 \ dns QUERY,NOERROR,25911,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[56] 2016-10-20 15:24:21.489468 [#30 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:21.489468 [#30 dns.pcap 4095] \ [172.17.0.10].37669 [8.8.8.8].53 \ dns QUERY,NOERROR,64358,rd \ 1 google.com.,IN,A 0 0 0 -[73] 2016-10-20 15:24:21.495324 [#31 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:21.495324 [#31 dns.pcap 4095] \ [172.17.0.10].42978 [8.8.8.8].53 \ dns QUERY,NOERROR,37698,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[56] 2016-10-20 15:24:22.502667 [#32 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:22.502667 [#32 dns.pcap 4095] \ [172.17.0.10].49829 [8.8.8.8].53 \ dns QUERY,NOERROR,54706,rd \ 1 google.com.,IN,A 0 0 0 -[73] 2016-10-20 15:24:22.510176 [#33 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:22.510176 [#33 dns.pcap 4095] \ [172.17.0.10].50599 [8.8.8.8].53 \ dns QUERY,NOERROR,32142,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[56] 2016-10-20 15:24:23.520203 [#34 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:23.520203 [#34 dns.pcap 4095] \ [172.17.0.10].44980 [8.8.8.8].53 \ dns QUERY,NOERROR,41808,rd \ 1 google.com.,IN,A 0 0 0 -[73] 2016-10-20 15:24:23.527449 [#35 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:23.527449 [#35 dns.pcap 4095] \ [172.17.0.10].60063 [8.8.8.8].53 \ dns QUERY,NOERROR,18886,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[56] 2016-10-20 15:24:24.537264 [#36 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:24.537264 [#36 dns.pcap 4095] \ [172.17.0.10].42042 [8.8.8.8].53 \ dns QUERY,NOERROR,10624,rd \ 1 google.com.,IN,A 0 0 0 -[73] 2016-10-20 15:24:24.544538 [#37 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:24.544538 [#37 dns.pcap 4095] \ [172.17.0.10].60469 [8.8.8.8].53 \ dns QUERY,NOERROR,33139,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[56] 2016-10-20 15:24:25.554744 [#38 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:25.554744 [#38 dns.pcap 4095] \ [172.17.0.10].45703 [8.8.8.8].53 \ dns QUERY,NOERROR,61415,rd \ 1 google.com.,IN,A 0 0 0 -[73] 2016-10-20 15:24:25.562608 [#39 dns.pcap-dist 4095] \ +[73] 2016-10-20 15:24:25.562608 [#39 dns.pcap 4095] \ [172.17.0.10].33507 [8.8.8.8].53 \ dns QUERY,NOERROR,59258,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[56] 2016-10-20 15:24:26.572784 [#40 dns.pcap-dist 4095] \ +[56] 2016-10-20 15:24:26.572784 [#40 dns.pcap 4095] \ [172.17.0.10].46798 [8.8.8.8].53 \ dns QUERY,NOERROR,17700,rd \ 1 google.com.,IN,A 0 0 0 diff --git a/src/test/test_regex_match.sh b/src/test/test_regex_match.sh index 184ca7b..3159b8c 100755 --- a/src/test/test_regex_match.sh +++ b/src/test/test_regex_match.sh @@ -1,8 +1,8 @@ #!/bin/sh -xe -../dnscap -g -r dns.pcap-dist -x 'ns1' 2>test_regex_match.out -../dnscap -g -r dns.pcap-dist -X 'ns1' 2>>test_regex_match.out -../dnscap -g -r dns.pcap-dist -x 'ns1' -X 'ns1' 2>>test_regex_match.out +../dnscap -g -r dns.pcap -x 'ns1' 2>test_regex_match.out +../dnscap -g -r dns.pcap -X 'ns1' 2>>test_regex_match.out +../dnscap -g -r dns.pcap -x 'ns1' -X 'ns1' 2>>test_regex_match.out mv test_regex_match.out test_regex_match.out.old grep -v "^libgcov profiling error:" test_regex_match.out.old > test_regex_match.out diff --git a/src/test/vlan11.gold b/src/test/vlan11.gold index 92f8d39..29991d4 100644 --- a/src/test/vlan11.gold +++ b/src/test/vlan11.gold @@ -1,8 +1,8 @@ -[56] 2016-10-20 15:23:01.075993 [#0 vlan11.pcap-dist (vlan 11) 11] \ +[56] 2016-10-20 15:23:01.075993 [#0 vlan11.pcap (vlan 11) 11] \ [172.17.0.10].53199 [8.8.8.8].53 \ dns QUERY,NOERROR,59311,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:23:01.077982 [#1 vlan11.pcap-dist (vlan 11) 11] \ +[208] 2016-10-20 15:23:01.077982 [#1 vlan11.pcap (vlan 11) 11] \ [8.8.8.8].53 [172.17.0.10].53199 \ dns QUERY,NOERROR,59311,qr|rd|ra \ 1 google.com.,IN,A \ @@ -15,11 +15,11 @@ ns1.google.com.,IN,A,331882,216.239.32.10 \ ns3.google.com.,IN,A,157880,216.239.36.10 \ ns4.google.com.,IN,A,157880,216.239.38.10 -[73] 2016-10-20 15:23:01.082865 [#2 vlan11.pcap-dist (vlan 11) 11] \ +[73] 2016-10-20 15:23:01.082865 [#2 vlan11.pcap (vlan 11) 11] \ [172.17.0.10].57822 [8.8.8.8].53 \ dns QUERY,NOERROR,35665,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:23:01.084107 [#3 vlan11.pcap-dist (vlan 11) 11] \ +[289] 2016-10-20 15:23:01.084107 [#3 vlan11.pcap (vlan 11) 11] \ [8.8.8.8].53 [172.17.0.10].57822 \ dns QUERY,NOERROR,35665,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -33,11 +33,11 @@ ns3.google.com.,IN,A,157880,216.239.36.10 \ ns4.google.com.,IN,A,157880,216.239.38.10 \ ns2.google.com.,IN,A,157880,216.239.34.10 -[56] 2016-10-20 15:23:01.087291 [#4 vlan11.pcap-dist (vlan 11) 11] \ +[56] 2016-10-20 15:23:01.087291 [#4 vlan11.pcap (vlan 11) 11] \ [172.17.0.10].40043 [8.8.8.8].53 \ dns QUERY,NOERROR,5337,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:23:01.088733 [#5 vlan11.pcap-dist (vlan 11) 11] \ +[208] 2016-10-20 15:23:01.088733 [#5 vlan11.pcap (vlan 11) 11] \ [8.8.8.8].53 [172.17.0.10].40043 \ dns QUERY,NOERROR,5337,qr|rd|ra \ 1 google.com.,IN,A \ @@ -50,11 +50,11 @@ ns1.google.com.,IN,A,331882,216.239.32.10 \ ns3.google.com.,IN,A,157880,216.239.36.10 \ ns4.google.com.,IN,A,157880,216.239.38.10 -[56] 2016-10-20 15:23:10.322117 [#6 vlan11.pcap-dist (vlan 11) 11] \ +[56] 2016-10-20 15:23:10.322117 [#6 vlan11.pcap (vlan 11) 11] \ [172.17.0.10].37953 [8.8.8.8].53 \ dns QUERY,NOERROR,22982,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:23:10.323399 [#7 vlan11.pcap-dist (vlan 11) 11] \ +[208] 2016-10-20 15:23:10.323399 [#7 vlan11.pcap (vlan 11) 11] \ [8.8.8.8].53 [172.17.0.10].37953 \ dns QUERY,NOERROR,22982,qr|rd|ra \ 1 google.com.,IN,A \ @@ -67,11 +67,11 @@ ns1.google.com.,IN,A,331872,216.239.32.10 \ ns3.google.com.,IN,A,157870,216.239.36.10 \ ns4.google.com.,IN,A,157870,216.239.38.10 -[73] 2016-10-20 15:23:10.328324 [#8 vlan11.pcap-dist (vlan 11) 11] \ +[73] 2016-10-20 15:23:10.328324 [#8 vlan11.pcap (vlan 11) 11] \ [172.17.0.10].48658 [8.8.8.8].53 \ dns QUERY,NOERROR,18718,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:23:10.329572 [#9 vlan11.pcap-dist (vlan 11) 11] \ +[289] 2016-10-20 15:23:10.329572 [#9 vlan11.pcap (vlan 11) 11] \ [8.8.8.8].53 [172.17.0.10].48658 \ dns QUERY,NOERROR,18718,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -85,11 +85,11 @@ ns3.google.com.,IN,A,157870,216.239.36.10 \ ns4.google.com.,IN,A,157870,216.239.38.10 \ ns2.google.com.,IN,A,157870,216.239.34.10 -[56] 2016-10-20 15:23:52.860937 [#10 vlan11.pcap-dist (vlan 11) 11] \ +[56] 2016-10-20 15:23:52.860937 [#10 vlan11.pcap (vlan 11) 11] \ [172.17.0.10].40953 [8.8.8.8].53 \ dns QUERY,NOERROR,22531,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:23:52.863771 [#11 vlan11.pcap-dist (vlan 11) 11] \ +[208] 2016-10-20 15:23:52.863771 [#11 vlan11.pcap (vlan 11) 11] \ [8.8.8.8].53 [172.17.0.10].40953 \ dns QUERY,NOERROR,22531,qr|rd|ra \ 1 google.com.,IN,A \ @@ -102,11 +102,11 @@ ns1.google.com.,IN,A,331830,216.239.32.10 \ ns3.google.com.,IN,A,157828,216.239.36.10 \ ns4.google.com.,IN,A,157828,216.239.38.10 -[56] 2016-10-20 15:23:59.083869 [#12 vlan11.pcap-dist (vlan 11) 11] \ +[56] 2016-10-20 15:23:59.083869 [#12 vlan11.pcap (vlan 11) 11] \ [172.17.0.10].45174 [8.8.8.8].53 \ dns QUERY,NOERROR,58510,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:23:59.086104 [#13 vlan11.pcap-dist (vlan 11) 11] \ +[208] 2016-10-20 15:23:59.086104 [#13 vlan11.pcap (vlan 11) 11] \ [8.8.8.8].53 [172.17.0.10].45174 \ dns QUERY,NOERROR,58510,qr|rd|ra \ 1 google.com.,IN,A \ @@ -119,11 +119,11 @@ ns1.google.com.,IN,A,331824,216.239.32.10 \ ns3.google.com.,IN,A,157822,216.239.36.10 \ ns4.google.com.,IN,A,157822,216.239.38.10 -[73] 2016-10-20 15:23:59.090911 [#14 vlan11.pcap-dist (vlan 11) 11] \ +[73] 2016-10-20 15:23:59.090911 [#14 vlan11.pcap (vlan 11) 11] \ [172.17.0.10].33916 [8.8.8.8].53 \ dns QUERY,NOERROR,45248,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:23:59.092204 [#15 vlan11.pcap-dist (vlan 11) 11] \ +[289] 2016-10-20 15:23:59.092204 [#15 vlan11.pcap (vlan 11) 11] \ [8.8.8.8].53 [172.17.0.10].33916 \ dns QUERY,NOERROR,45248,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -137,11 +137,11 @@ ns3.google.com.,IN,A,157822,216.239.36.10 \ ns4.google.com.,IN,A,157822,216.239.38.10 \ ns2.google.com.,IN,A,157822,216.239.34.10 -[56] 2016-10-20 15:24:04.323868 [#16 vlan11.pcap-dist (vlan 11) 11] \ +[56] 2016-10-20 15:24:04.323868 [#16 vlan11.pcap (vlan 11) 11] \ [172.17.0.10].43559 [8.8.8.8].53 \ dns QUERY,NOERROR,49483,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:04.325597 [#17 vlan11.pcap-dist (vlan 11) 11] \ +[208] 2016-10-20 15:24:04.325597 [#17 vlan11.pcap (vlan 11) 11] \ [8.8.8.8].53 [172.17.0.10].43559 \ dns QUERY,NOERROR,49483,qr|rd|ra \ 1 google.com.,IN,A \ @@ -154,11 +154,11 @@ ns1.google.com.,IN,A,331818,216.239.32.10 \ ns3.google.com.,IN,A,157816,216.239.36.10 \ ns4.google.com.,IN,A,157816,216.239.38.10 -[56] 2016-10-20 15:24:06.332239 [#18 vlan11.pcap-dist (vlan 11) 11] \ +[56] 2016-10-20 15:24:06.332239 [#18 vlan11.pcap (vlan 11) 11] \ [172.17.0.10].54859 [8.8.8.8].53 \ dns QUERY,NOERROR,31669,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:06.333743 [#19 vlan11.pcap-dist (vlan 11) 11] \ +[208] 2016-10-20 15:24:06.333743 [#19 vlan11.pcap (vlan 11) 11] \ [8.8.8.8].53 [172.17.0.10].54859 \ dns QUERY,NOERROR,31669,qr|rd|ra \ 1 google.com.,IN,A \ @@ -171,11 +171,11 @@ ns1.google.com.,IN,A,331816,216.239.32.10 \ ns3.google.com.,IN,A,157814,216.239.36.10 \ ns4.google.com.,IN,A,157814,216.239.38.10 -[73] 2016-10-20 15:24:06.339145 [#20 vlan11.pcap-dist (vlan 11) 11] \ +[73] 2016-10-20 15:24:06.339145 [#20 vlan11.pcap (vlan 11) 11] \ [172.17.0.10].58176 [8.8.8.8].53 \ dns QUERY,NOERROR,25433,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:06.340820 [#21 vlan11.pcap-dist (vlan 11) 11] \ +[289] 2016-10-20 15:24:06.340820 [#21 vlan11.pcap (vlan 11) 11] \ [8.8.8.8].53 [172.17.0.10].58176 \ dns QUERY,NOERROR,25433,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -189,11 +189,11 @@ ns3.google.com.,IN,A,157814,216.239.36.10 \ ns4.google.com.,IN,A,157814,216.239.38.10 \ ns2.google.com.,IN,A,157814,216.239.34.10 -[56] 2016-10-20 15:24:07.346429 [#22 vlan11.pcap-dist (vlan 11) 11] \ +[56] 2016-10-20 15:24:07.346429 [#22 vlan11.pcap (vlan 11) 11] \ [172.17.0.10].41266 [8.8.8.8].53 \ dns QUERY,NOERROR,63798,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:07.348160 [#23 vlan11.pcap-dist (vlan 11) 11] \ +[208] 2016-10-20 15:24:07.348160 [#23 vlan11.pcap (vlan 11) 11] \ [8.8.8.8].53 [172.17.0.10].41266 \ dns QUERY,NOERROR,63798,qr|rd|ra \ 1 google.com.,IN,A \ @@ -206,11 +206,11 @@ ns1.google.com.,IN,A,331815,216.239.32.10 \ ns3.google.com.,IN,A,157813,216.239.36.10 \ ns4.google.com.,IN,A,157813,216.239.38.10 -[73] 2016-10-20 15:24:07.353123 [#24 vlan11.pcap-dist (vlan 11) 11] \ +[73] 2016-10-20 15:24:07.353123 [#24 vlan11.pcap (vlan 11) 11] \ [172.17.0.10].34607 [8.8.8.8].53 \ dns QUERY,NOERROR,8470,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:07.354682 [#25 vlan11.pcap-dist (vlan 11) 11] \ +[289] 2016-10-20 15:24:07.354682 [#25 vlan11.pcap (vlan 11) 11] \ [8.8.8.8].53 [172.17.0.10].34607 \ dns QUERY,NOERROR,8470,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -224,11 +224,11 @@ ns3.google.com.,IN,A,157813,216.239.36.10 \ ns4.google.com.,IN,A,157813,216.239.38.10 \ ns2.google.com.,IN,A,157813,216.239.34.10 -[56] 2016-10-20 15:24:08.360528 [#26 vlan11.pcap-dist (vlan 11) 11] \ +[56] 2016-10-20 15:24:08.360528 [#26 vlan11.pcap (vlan 11) 11] \ [172.17.0.10].60437 [8.8.8.8].53 \ dns QUERY,NOERROR,60258,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:08.362206 [#27 vlan11.pcap-dist (vlan 11) 11] \ +[208] 2016-10-20 15:24:08.362206 [#27 vlan11.pcap (vlan 11) 11] \ [8.8.8.8].53 [172.17.0.10].60437 \ dns QUERY,NOERROR,60258,qr|rd|ra \ 1 google.com.,IN,A \ @@ -241,11 +241,11 @@ ns1.google.com.,IN,A,331814,216.239.32.10 \ ns3.google.com.,IN,A,157812,216.239.36.10 \ ns4.google.com.,IN,A,157812,216.239.38.10 -[73] 2016-10-20 15:24:08.368516 [#28 vlan11.pcap-dist (vlan 11) 11] \ +[73] 2016-10-20 15:24:08.368516 [#28 vlan11.pcap (vlan 11) 11] \ [172.17.0.10].37149 [8.8.8.8].53 \ dns QUERY,NOERROR,44985,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:08.370119 [#29 vlan11.pcap-dist (vlan 11) 11] \ +[289] 2016-10-20 15:24:08.370119 [#29 vlan11.pcap (vlan 11) 11] \ [8.8.8.8].53 [172.17.0.10].37149 \ dns QUERY,NOERROR,44985,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -259,11 +259,11 @@ ns3.google.com.,IN,A,157812,216.239.36.10 \ ns4.google.com.,IN,A,157812,216.239.38.10 \ ns2.google.com.,IN,A,157812,216.239.34.10 -[56] 2016-10-20 15:24:09.375942 [#30 vlan11.pcap-dist (vlan 11) 11] \ +[56] 2016-10-20 15:24:09.375942 [#30 vlan11.pcap (vlan 11) 11] \ [172.17.0.10].53820 [8.8.8.8].53 \ dns QUERY,NOERROR,45512,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:09.378425 [#31 vlan11.pcap-dist (vlan 11) 11] \ +[208] 2016-10-20 15:24:09.378425 [#31 vlan11.pcap (vlan 11) 11] \ [8.8.8.8].53 [172.17.0.10].53820 \ dns QUERY,NOERROR,45512,qr|rd|ra \ 1 google.com.,IN,A \ @@ -276,11 +276,11 @@ ns1.google.com.,IN,A,331813,216.239.32.10 \ ns3.google.com.,IN,A,157811,216.239.36.10 \ ns4.google.com.,IN,A,157811,216.239.38.10 -[73] 2016-10-20 15:24:09.384057 [#32 vlan11.pcap-dist (vlan 11) 11] \ +[73] 2016-10-20 15:24:09.384057 [#32 vlan11.pcap (vlan 11) 11] \ [172.17.0.10].52368 [8.8.8.8].53 \ dns QUERY,NOERROR,22980,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:09.385463 [#33 vlan11.pcap-dist (vlan 11) 11] \ +[289] 2016-10-20 15:24:09.385463 [#33 vlan11.pcap (vlan 11) 11] \ [8.8.8.8].53 [172.17.0.10].52368 \ dns QUERY,NOERROR,22980,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -294,11 +294,11 @@ ns3.google.com.,IN,A,157811,216.239.36.10 \ ns4.google.com.,IN,A,157811,216.239.38.10 \ ns2.google.com.,IN,A,157811,216.239.34.10 -[56] 2016-10-20 15:24:10.391358 [#34 vlan11.pcap-dist (vlan 11) 11] \ +[56] 2016-10-20 15:24:10.391358 [#34 vlan11.pcap (vlan 11) 11] \ [172.17.0.10].47637 [8.8.8.8].53 \ dns QUERY,NOERROR,1834,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:10.392886 [#35 vlan11.pcap-dist (vlan 11) 11] \ +[208] 2016-10-20 15:24:10.392886 [#35 vlan11.pcap (vlan 11) 11] \ [8.8.8.8].53 [172.17.0.10].47637 \ dns QUERY,NOERROR,1834,qr|rd|ra \ 1 google.com.,IN,A \ @@ -311,11 +311,11 @@ ns1.google.com.,IN,A,331812,216.239.32.10 \ ns3.google.com.,IN,A,157810,216.239.36.10 \ ns4.google.com.,IN,A,157810,216.239.38.10 -[73] 2016-10-20 15:24:10.398099 [#36 vlan11.pcap-dist (vlan 11) 11] \ +[73] 2016-10-20 15:24:10.398099 [#36 vlan11.pcap (vlan 11) 11] \ [172.17.0.10].34426 [8.8.8.8].53 \ dns QUERY,NOERROR,25431,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:10.400317 [#37 vlan11.pcap-dist (vlan 11) 11] \ +[289] 2016-10-20 15:24:10.400317 [#37 vlan11.pcap (vlan 11) 11] \ [8.8.8.8].53 [172.17.0.10].34426 \ dns QUERY,NOERROR,25431,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -329,11 +329,11 @@ ns3.google.com.,IN,A,157810,216.239.36.10 \ ns4.google.com.,IN,A,157810,216.239.38.10 \ ns2.google.com.,IN,A,157810,216.239.34.10 -[56] 2016-10-20 15:24:11.406297 [#38 vlan11.pcap-dist (vlan 11) 11] \ +[56] 2016-10-20 15:24:11.406297 [#38 vlan11.pcap (vlan 11) 11] \ [172.17.0.10].41059 [8.8.8.8].53 \ dns QUERY,NOERROR,48432,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:11.407460 [#39 vlan11.pcap-dist (vlan 11) 11] \ +[208] 2016-10-20 15:24:11.407460 [#39 vlan11.pcap (vlan 11) 11] \ [8.8.8.8].53 [172.17.0.10].41059 \ dns QUERY,NOERROR,48432,qr|rd|ra \ 1 google.com.,IN,A \ @@ -346,11 +346,11 @@ ns1.google.com.,IN,A,331811,216.239.32.10 \ ns3.google.com.,IN,A,157809,216.239.36.10 \ ns4.google.com.,IN,A,157809,216.239.38.10 -[73] 2016-10-20 15:24:11.412133 [#40 vlan11.pcap-dist (vlan 11) 11] \ +[73] 2016-10-20 15:24:11.412133 [#40 vlan11.pcap (vlan 11) 11] \ [172.17.0.10].51181 [8.8.8.8].53 \ dns QUERY,NOERROR,47411,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:11.413370 [#41 vlan11.pcap-dist (vlan 11) 11] \ +[289] 2016-10-20 15:24:11.413370 [#41 vlan11.pcap (vlan 11) 11] \ [8.8.8.8].53 [172.17.0.10].51181 \ dns QUERY,NOERROR,47411,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -364,11 +364,11 @@ ns3.google.com.,IN,A,157809,216.239.36.10 \ ns4.google.com.,IN,A,157809,216.239.38.10 \ ns2.google.com.,IN,A,157809,216.239.34.10 -[56] 2016-10-20 15:24:12.419936 [#42 vlan11.pcap-dist (vlan 11) 11] \ +[56] 2016-10-20 15:24:12.419936 [#42 vlan11.pcap (vlan 11) 11] \ [172.17.0.10].32976 [8.8.8.8].53 \ dns QUERY,NOERROR,12038,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:12.421228 [#43 vlan11.pcap-dist (vlan 11) 11] \ +[208] 2016-10-20 15:24:12.421228 [#43 vlan11.pcap (vlan 11) 11] \ [8.8.8.8].53 [172.17.0.10].32976 \ dns QUERY,NOERROR,12038,qr|rd|ra \ 1 google.com.,IN,A \ @@ -381,11 +381,11 @@ ns1.google.com.,IN,A,331810,216.239.32.10 \ ns3.google.com.,IN,A,157808,216.239.36.10 \ ns4.google.com.,IN,A,157808,216.239.38.10 -[56] 2016-10-20 15:24:14.428524 [#44 vlan11.pcap-dist (vlan 11) 11] \ +[56] 2016-10-20 15:24:14.428524 [#44 vlan11.pcap (vlan 11) 11] \ [172.17.0.10].53467 [8.8.8.8].53 \ dns QUERY,NOERROR,11614,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:14.429863 [#45 vlan11.pcap-dist (vlan 11) 11] \ +[208] 2016-10-20 15:24:14.429863 [#45 vlan11.pcap (vlan 11) 11] \ [8.8.8.8].53 [172.17.0.10].53467 \ dns QUERY,NOERROR,11614,qr|rd|ra \ 1 google.com.,IN,A \ @@ -398,11 +398,11 @@ ns1.google.com.,IN,A,331808,216.239.32.10 \ ns3.google.com.,IN,A,157806,216.239.36.10 \ ns4.google.com.,IN,A,157806,216.239.38.10 -[56] 2016-10-20 15:24:16.435733 [#46 vlan11.pcap-dist (vlan 11) 11] \ +[56] 2016-10-20 15:24:16.435733 [#46 vlan11.pcap (vlan 11) 11] \ [172.17.0.10].41532 [8.8.8.8].53 \ dns QUERY,NOERROR,59173,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:16.437471 [#47 vlan11.pcap-dist (vlan 11) 11] \ +[208] 2016-10-20 15:24:16.437471 [#47 vlan11.pcap (vlan 11) 11] \ [8.8.8.8].53 [172.17.0.10].41532 \ dns QUERY,NOERROR,59173,qr|rd|ra \ 1 google.com.,IN,A \ @@ -415,11 +415,11 @@ ns1.google.com.,IN,A,331806,216.239.32.10 \ ns3.google.com.,IN,A,157804,216.239.36.10 \ ns4.google.com.,IN,A,157804,216.239.38.10 -[56] 2016-10-20 15:24:18.445519 [#48 vlan11.pcap-dist (vlan 11) 11] \ +[56] 2016-10-20 15:24:18.445519 [#48 vlan11.pcap (vlan 11) 11] \ [172.17.0.10].44982 [8.8.8.8].53 \ dns QUERY,NOERROR,45535,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:18.446775 [#49 vlan11.pcap-dist (vlan 11) 11] \ +[208] 2016-10-20 15:24:18.446775 [#49 vlan11.pcap (vlan 11) 11] \ [8.8.8.8].53 [172.17.0.10].44982 \ dns QUERY,NOERROR,45535,qr|rd|ra \ 1 google.com.,IN,A \ @@ -432,11 +432,11 @@ ns1.google.com.,IN,A,331804,216.239.32.10 \ ns3.google.com.,IN,A,157802,216.239.36.10 \ ns4.google.com.,IN,A,157802,216.239.38.10 -[73] 2016-10-20 15:24:18.452451 [#50 vlan11.pcap-dist (vlan 11) 11] \ +[73] 2016-10-20 15:24:18.452451 [#50 vlan11.pcap (vlan 11) 11] \ [172.17.0.10].40224 [8.8.8.8].53 \ dns QUERY,NOERROR,60808,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:18.454030 [#51 vlan11.pcap-dist (vlan 11) 11] \ +[289] 2016-10-20 15:24:18.454030 [#51 vlan11.pcap (vlan 11) 11] \ [8.8.8.8].53 [172.17.0.10].40224 \ dns QUERY,NOERROR,60808,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -450,11 +450,11 @@ ns3.google.com.,IN,A,157802,216.239.36.10 \ ns4.google.com.,IN,A,157802,216.239.38.10 \ ns2.google.com.,IN,A,157802,216.239.34.10 -[56] 2016-10-20 15:24:19.460087 [#52 vlan11.pcap-dist (vlan 11) 11] \ +[56] 2016-10-20 15:24:19.460087 [#52 vlan11.pcap (vlan 11) 11] \ [172.17.0.10].45658 [8.8.8.8].53 \ dns QUERY,NOERROR,64325,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:19.462224 [#53 vlan11.pcap-dist (vlan 11) 11] \ +[208] 2016-10-20 15:24:19.462224 [#53 vlan11.pcap (vlan 11) 11] \ [8.8.8.8].53 [172.17.0.10].45658 \ dns QUERY,NOERROR,64325,qr|rd|ra \ 1 google.com.,IN,A \ @@ -467,11 +467,11 @@ ns1.google.com.,IN,A,331803,216.239.32.10 \ ns3.google.com.,IN,A,157801,216.239.36.10 \ ns4.google.com.,IN,A,157801,216.239.38.10 -[73] 2016-10-20 15:24:19.467324 [#54 vlan11.pcap-dist (vlan 11) 11] \ +[73] 2016-10-20 15:24:19.467324 [#54 vlan11.pcap (vlan 11) 11] \ [172.17.0.10].60457 [8.8.8.8].53 \ dns QUERY,NOERROR,25543,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:19.468895 [#55 vlan11.pcap-dist (vlan 11) 11] \ +[289] 2016-10-20 15:24:19.468895 [#55 vlan11.pcap (vlan 11) 11] \ [8.8.8.8].53 [172.17.0.10].60457 \ dns QUERY,NOERROR,25543,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -485,11 +485,11 @@ ns3.google.com.,IN,A,157801,216.239.36.10 \ ns4.google.com.,IN,A,157801,216.239.38.10 \ ns2.google.com.,IN,A,157801,216.239.34.10 -[56] 2016-10-20 15:24:20.475086 [#56 vlan11.pcap-dist (vlan 11) 11] \ +[56] 2016-10-20 15:24:20.475086 [#56 vlan11.pcap (vlan 11) 11] \ [172.17.0.10].59762 [8.8.8.8].53 \ dns QUERY,NOERROR,20736,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:20.476841 [#57 vlan11.pcap-dist (vlan 11) 11] \ +[208] 2016-10-20 15:24:20.476841 [#57 vlan11.pcap (vlan 11) 11] \ [8.8.8.8].53 [172.17.0.10].59762 \ dns QUERY,NOERROR,20736,qr|rd|ra \ 1 google.com.,IN,A \ @@ -502,11 +502,11 @@ ns1.google.com.,IN,A,331802,216.239.32.10 \ ns3.google.com.,IN,A,157800,216.239.36.10 \ ns4.google.com.,IN,A,157800,216.239.38.10 -[73] 2016-10-20 15:24:20.482188 [#58 vlan11.pcap-dist (vlan 11) 11] \ +[73] 2016-10-20 15:24:20.482188 [#58 vlan11.pcap (vlan 11) 11] \ [172.17.0.10].56022 [8.8.8.8].53 \ dns QUERY,NOERROR,25911,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:20.483927 [#59 vlan11.pcap-dist (vlan 11) 11] \ +[289] 2016-10-20 15:24:20.483927 [#59 vlan11.pcap (vlan 11) 11] \ [8.8.8.8].53 [172.17.0.10].56022 \ dns QUERY,NOERROR,25911,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -520,11 +520,11 @@ ns3.google.com.,IN,A,157800,216.239.36.10 \ ns4.google.com.,IN,A,157800,216.239.38.10 \ ns2.google.com.,IN,A,157800,216.239.34.10 -[56] 2016-10-20 15:24:21.489468 [#60 vlan11.pcap-dist (vlan 11) 11] \ +[56] 2016-10-20 15:24:21.489468 [#60 vlan11.pcap (vlan 11) 11] \ [172.17.0.10].37669 [8.8.8.8].53 \ dns QUERY,NOERROR,64358,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:21.490573 [#61 vlan11.pcap-dist (vlan 11) 11] \ +[208] 2016-10-20 15:24:21.490573 [#61 vlan11.pcap (vlan 11) 11] \ [8.8.8.8].53 [172.17.0.10].37669 \ dns QUERY,NOERROR,64358,qr|rd|ra \ 1 google.com.,IN,A \ @@ -537,11 +537,11 @@ ns1.google.com.,IN,A,331801,216.239.32.10 \ ns3.google.com.,IN,A,157799,216.239.36.10 \ ns4.google.com.,IN,A,157799,216.239.38.10 -[73] 2016-10-20 15:24:21.495324 [#62 vlan11.pcap-dist (vlan 11) 11] \ +[73] 2016-10-20 15:24:21.495324 [#62 vlan11.pcap (vlan 11) 11] \ [172.17.0.10].42978 [8.8.8.8].53 \ dns QUERY,NOERROR,37698,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:21.496815 [#63 vlan11.pcap-dist (vlan 11) 11] \ +[289] 2016-10-20 15:24:21.496815 [#63 vlan11.pcap (vlan 11) 11] \ [8.8.8.8].53 [172.17.0.10].42978 \ dns QUERY,NOERROR,37698,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -555,11 +555,11 @@ ns3.google.com.,IN,A,157799,216.239.36.10 \ ns4.google.com.,IN,A,157799,216.239.38.10 \ ns2.google.com.,IN,A,157799,216.239.34.10 -[56] 2016-10-20 15:24:22.502667 [#64 vlan11.pcap-dist (vlan 11) 11] \ +[56] 2016-10-20 15:24:22.502667 [#64 vlan11.pcap (vlan 11) 11] \ [172.17.0.10].49829 [8.8.8.8].53 \ dns QUERY,NOERROR,54706,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:22.504738 [#65 vlan11.pcap-dist (vlan 11) 11] \ +[208] 2016-10-20 15:24:22.504738 [#65 vlan11.pcap (vlan 11) 11] \ [8.8.8.8].53 [172.17.0.10].49829 \ dns QUERY,NOERROR,54706,qr|rd|ra \ 1 google.com.,IN,A \ @@ -572,11 +572,11 @@ ns1.google.com.,IN,A,331800,216.239.32.10 \ ns3.google.com.,IN,A,157798,216.239.36.10 \ ns4.google.com.,IN,A,157798,216.239.38.10 -[73] 2016-10-20 15:24:22.510176 [#66 vlan11.pcap-dist (vlan 11) 11] \ +[73] 2016-10-20 15:24:22.510176 [#66 vlan11.pcap (vlan 11) 11] \ [172.17.0.10].50599 [8.8.8.8].53 \ dns QUERY,NOERROR,32142,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:22.511746 [#67 vlan11.pcap-dist (vlan 11) 11] \ +[289] 2016-10-20 15:24:22.511746 [#67 vlan11.pcap (vlan 11) 11] \ [8.8.8.8].53 [172.17.0.10].50599 \ dns QUERY,NOERROR,32142,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -590,11 +590,11 @@ ns3.google.com.,IN,A,157798,216.239.36.10 \ ns4.google.com.,IN,A,157798,216.239.38.10 \ ns2.google.com.,IN,A,157798,216.239.34.10 -[56] 2016-10-20 15:24:23.520203 [#68 vlan11.pcap-dist (vlan 11) 11] \ +[56] 2016-10-20 15:24:23.520203 [#68 vlan11.pcap (vlan 11) 11] \ [172.17.0.10].44980 [8.8.8.8].53 \ dns QUERY,NOERROR,41808,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:23.521976 [#69 vlan11.pcap-dist (vlan 11) 11] \ +[208] 2016-10-20 15:24:23.521976 [#69 vlan11.pcap (vlan 11) 11] \ [8.8.8.8].53 [172.17.0.10].44980 \ dns QUERY,NOERROR,41808,qr|rd|ra \ 1 google.com.,IN,A \ @@ -607,11 +607,11 @@ ns1.google.com.,IN,A,331799,216.239.32.10 \ ns3.google.com.,IN,A,157797,216.239.36.10 \ ns4.google.com.,IN,A,157797,216.239.38.10 -[73] 2016-10-20 15:24:23.527449 [#70 vlan11.pcap-dist (vlan 11) 11] \ +[73] 2016-10-20 15:24:23.527449 [#70 vlan11.pcap (vlan 11) 11] \ [172.17.0.10].60063 [8.8.8.8].53 \ dns QUERY,NOERROR,18886,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:23.529385 [#71 vlan11.pcap-dist (vlan 11) 11] \ +[289] 2016-10-20 15:24:23.529385 [#71 vlan11.pcap (vlan 11) 11] \ [8.8.8.8].53 [172.17.0.10].60063 \ dns QUERY,NOERROR,18886,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -625,11 +625,11 @@ ns3.google.com.,IN,A,157797,216.239.36.10 \ ns4.google.com.,IN,A,157797,216.239.38.10 \ ns2.google.com.,IN,A,157797,216.239.34.10 -[56] 2016-10-20 15:24:24.537264 [#72 vlan11.pcap-dist (vlan 11) 11] \ +[56] 2016-10-20 15:24:24.537264 [#72 vlan11.pcap (vlan 11) 11] \ [172.17.0.10].42042 [8.8.8.8].53 \ dns QUERY,NOERROR,10624,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:24.539398 [#73 vlan11.pcap-dist (vlan 11) 11] \ +[208] 2016-10-20 15:24:24.539398 [#73 vlan11.pcap (vlan 11) 11] \ [8.8.8.8].53 [172.17.0.10].42042 \ dns QUERY,NOERROR,10624,qr|rd|ra \ 1 google.com.,IN,A \ @@ -642,11 +642,11 @@ ns1.google.com.,IN,A,331798,216.239.32.10 \ ns3.google.com.,IN,A,157796,216.239.36.10 \ ns4.google.com.,IN,A,157796,216.239.38.10 -[73] 2016-10-20 15:24:24.544538 [#74 vlan11.pcap-dist (vlan 11) 11] \ +[73] 2016-10-20 15:24:24.544538 [#74 vlan11.pcap (vlan 11) 11] \ [172.17.0.10].60469 [8.8.8.8].53 \ dns QUERY,NOERROR,33139,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:24.546172 [#75 vlan11.pcap-dist (vlan 11) 11] \ +[289] 2016-10-20 15:24:24.546172 [#75 vlan11.pcap (vlan 11) 11] \ [8.8.8.8].53 [172.17.0.10].60469 \ dns QUERY,NOERROR,33139,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -660,11 +660,11 @@ ns3.google.com.,IN,A,157796,216.239.36.10 \ ns4.google.com.,IN,A,157796,216.239.38.10 \ ns2.google.com.,IN,A,157796,216.239.34.10 -[56] 2016-10-20 15:24:25.554744 [#76 vlan11.pcap-dist (vlan 11) 11] \ +[56] 2016-10-20 15:24:25.554744 [#76 vlan11.pcap (vlan 11) 11] \ [172.17.0.10].45703 [8.8.8.8].53 \ dns QUERY,NOERROR,61415,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:25.556513 [#77 vlan11.pcap-dist (vlan 11) 11] \ +[208] 2016-10-20 15:24:25.556513 [#77 vlan11.pcap (vlan 11) 11] \ [8.8.8.8].53 [172.17.0.10].45703 \ dns QUERY,NOERROR,61415,qr|rd|ra \ 1 google.com.,IN,A \ @@ -677,11 +677,11 @@ ns1.google.com.,IN,A,331797,216.239.32.10 \ ns3.google.com.,IN,A,157795,216.239.36.10 \ ns4.google.com.,IN,A,157795,216.239.38.10 -[73] 2016-10-20 15:24:25.562608 [#78 vlan11.pcap-dist (vlan 11) 11] \ +[73] 2016-10-20 15:24:25.562608 [#78 vlan11.pcap (vlan 11) 11] \ [172.17.0.10].33507 [8.8.8.8].53 \ dns QUERY,NOERROR,59258,rd \ 1 206.218.58.216.in-addr.arpa.,IN,PTR 0 0 0 -[289] 2016-10-20 15:24:25.564509 [#79 vlan11.pcap-dist (vlan 11) 11] \ +[289] 2016-10-20 15:24:25.564509 [#79 vlan11.pcap (vlan 11) 11] \ [8.8.8.8].53 [172.17.0.10].33507 \ dns QUERY,NOERROR,59258,qr|rd|ra \ 1 206.218.58.216.in-addr.arpa.,IN,PTR \ @@ -695,11 +695,11 @@ ns3.google.com.,IN,A,157795,216.239.36.10 \ ns4.google.com.,IN,A,157795,216.239.38.10 \ ns2.google.com.,IN,A,157795,216.239.34.10 -[56] 2016-10-20 15:24:26.572784 [#80 vlan11.pcap-dist (vlan 11) 11] \ +[56] 2016-10-20 15:24:26.572784 [#80 vlan11.pcap (vlan 11) 11] \ [172.17.0.10].46798 [8.8.8.8].53 \ dns QUERY,NOERROR,17700,rd \ 1 google.com.,IN,A 0 0 0 -[208] 2016-10-20 15:24:26.574350 [#81 vlan11.pcap-dist (vlan 11) 11] \ +[208] 2016-10-20 15:24:26.574350 [#81 vlan11.pcap (vlan 11) 11] \ [8.8.8.8].53 [172.17.0.10].46798 \ dns QUERY,NOERROR,17700,qr|rd|ra \ 1 google.com.,IN,A \ diff --git a/test-driver b/test-driver index b8521a4..be73b80 100755 --- a/test-driver +++ b/test-driver @@ -3,7 +3,7 @@ scriptversion=2018-03-07.03; # UTC -# Copyright (C) 2011-2018 Free Software Foundation, Inc. +# Copyright (C) 2011-2021 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -42,11 +42,13 @@ print_usage () { cat <$log_file 2>&1 +# Test script is run here. We create the file first, then append to it, +# to ameliorate tests themselves also writing to the log file. Our tests +# don't, but others can (automake bug#35762). +: >"$log_file" +"$@" >>"$log_file" 2>&1 estatus=$? if test $enable_hard_errors = no && test $estatus -eq 99; then @@ -126,7 +131,7 @@ esac # know whether the test passed or failed simply by looking at the '.log' # file, without the need of also peaking into the corresponding '.trs' # file (automake bug#11814). -echo "$res $test_name (exit status: $estatus)" >>$log_file +echo "$res $test_name (exit status: $estatus)" >>"$log_file" # Report outcome to console. echo "${col}${res}${std}: $test_name" -- cgit v1.2.3