1. 21 May, 2020 1 commit
    • Michał Kępień's avatar
      Add py.test-3 to the list of tested pytest names · d5562a3e
      Michał Kępień authored
      Some operating systems (e.g. CentOS, OpenBSD) install the main pytest
      script as "py.test-3".  Add that name to the list of names passed to
      AC_PATH_PROGS() in order for pytest to be properly detected on a broader
      range of operating systems.
      d5562a3e
  2. 07 May, 2020 2 commits
  3. 01 May, 2020 1 commit
  4. 29 Apr, 2020 2 commits
  5. 27 Apr, 2020 1 commit
  6. 24 Apr, 2020 2 commits
    • Ondřej Surý's avatar
      Improve the LOG_DRIVER and LOG_COMPILER for the system tests · 58138180
      Ondřej Surý authored
      There are several improvements over the default/previous behaviour of
      the test log driver and log compiler:
      
       * The system-test-driver.sh was dropped (it was used incorrectly)
       * The run.sh script is now both log compiler and cli script to run
         individual tests
       * The custom-test-driver was added as extended version of the automake
         test-driver with capability to tee the test output to stdout when
         `--verbose yes` is passed to it (you can use LOG_DRIVER_FLAGS to
         add the option by default)
       * Makefile.am has been extended to honor V=1 for the system tests
         test-driver (e.g. V=1 adds `--verbose yes` to AM_LOG_DRIVER_FLAGS)
      58138180
    • Michał Kępień's avatar
      Ensure fstrm_capture is looked for · 51188b33
      Michał Kępień authored
      fstrm_capture is not an essential utility, but its corresponding
      Makefile token needs to substituted even if it is not found in PATH or
      else the "dnstap" system test will consistently fail.
      51188b33
  7. 21 Apr, 2020 2 commits
    • Ondřej Surý's avatar
      Complete rewrite the BIND 9 build system · 978c7b2e
      Ondřej Surý authored
      The rewrite of BIND 9 build system is a large work and cannot be reasonable
      split into separate merge requests.  Addition of the automake has a positive
      effect on the readability and maintainability of the build system as it is more
      declarative, it allows conditional and we are able to drop all of the custom
      make code that BIND 9 developed over the years to overcome the deficiencies of
      autoconf + custom Makefile.in files.
      
      This squashed commit contains following changes:
      
      - conversion (or rather fresh rewrite) of all Makefile.in files to Makefile.am
        by using automake
      
      - the libtool is now properly integrated with automake (the way we used it
        was rather hackish as the only official way how to use libtool is via
        automake
      
      - the dynamic module loading was rewritten from a custom patchwork to libtool's
        libltdl (which includes the patchwork to support module loading on different
        systems internally)
      
      - conversion of the unit test executor from kyua to automake parallel driver
      
      - conversion of the system test executor from custom make/shell to automake
        parallel driver
      
      - The GSSAPI has been refactored, the custom SPNEGO on the basis that
        all major KRB5/GSSAPI (mit-krb5, heimdal and Windows) implementations
        support SPNEGO mechanism.
      
      - The various defunct tests from bin/tests have been removed:
        bin/tests/optional and bin/tests/pkcs11
      
      - The text files generated from the MD files have been removed, the
        MarkDown has been designed to be readable by both humans and computers
      
      - The xsl header is now generated by a simple sed command instead of
        perl helper
      
      - The <irs/platform.h> header has been removed
      
      - cleanups of configure.ac script to make it more simpler, addition of multiple
        macros (there's still work to be done though)
      
      - the tarball can now be prepared with `make dist`
      
      - the system tests are partially able to run in oot build
      
      Here's a list of unfinished work that needs to be completed in subsequent merge
      requests:
      
      - `make distcheck` doesn't yet work (because of system tests oot run is not yet
        finished)
      
      - documentation is not yet built, there's a different merge request with docbook
        to sphinx-build rst conversion that needs to be rebased and adapted on top of
        the automake
      
      - msvc build is non functional yet and we need to decide whether we will just
        cross-compile bind9 using mingw-w64 or fix the msvc build
      
      - contributed dlz modules are not included neither in the autoconf nor automake
      978c7b2e
    • Ondřej Surý's avatar
      Remove python based tools (dnssec-keymgr, dnssec-coverage, dnssec-checkds) · 98b3b937
      Ondřej Surý authored
      With the introduction of dnssec-policy, the aforementioned tools were
      either rendered obsolete, or they will be replaced with dnssec-policy
      based tools.  Remove the tools and the requirement to have Python
      installed.  Python 3 is still being used for tests, so keep the autoconf
      test, but make it much simpler.
      98b3b937
  8. 20 Apr, 2020 1 commit
  9. 17 Apr, 2020 1 commit
    • Michał Kępień's avatar
      Make ISC rwlock implementation the default again · 17101fd0
      Michał Kępień authored
      Revert the change from ad03c22e as
      further testing has shown that with hyper-threading disabled, named with
      ISC rwlocks outperforms named with pthread rwlocks in cold cache testing
      scenarios.  Since building named with pthread rwlocks might still be a
      better choice for some workloads, keep the compile-time option which
      enables that.
      17101fd0
  10. 16 Mar, 2020 1 commit
  11. 11 Mar, 2020 3 commits
    • Ondřej Surý's avatar
      Improve the backtrace to print symbols when backtrace_symbols() is available · e8475918
      Ondřej Surý authored
      The previous commit removed the code related to the internal symbol
      table.  On platforms where available, we can now use backtrace_symbols()
      to print more verbose symbols table to the output.
      
      As there's now general availability of backtrace() and
      backtrace_symbols() functions (see below), the commit also removes the
      usage of glibc internals and the custom stack tracing.
      
      * backtrace(), backtrace_symbols(), and backtrace_symbols_fd() are
        provided in glibc since version 2.1.
      * backtrace(), backtrace_symbols(), and backtrace_symbols_fd() first
        appeared in Mac OS X 10.5.
      * The backtrace() library of functions first appeared in NetBSD 7.0 and
        FreeBSD 10.0.
      e8475918
    • Ondřej Surý's avatar
      Remove configure option to compile without libtool · 1628f586
      Ondřej Surý authored
      libtool is a requirement to use automake (see GL #4), so this commit
      removes the ability to compile BIND 9 without libtool.
      1628f586
    • Ondřej Surý's avatar
      Remove the ability to generate internal symbol table · c4638089
      Ondřej Surý authored
      The internal symbol table cannot be generated when libtool is in use,
      which is going to be a mandatory in the next commit.
      c4638089
  12. 06 Mar, 2020 1 commit
  13. 05 Mar, 2020 1 commit
  14. 04 Mar, 2020 1 commit
  15. 25 Feb, 2020 1 commit
    • Evan Hunt's avatar
      minor cosmetic fixes · beda680f
      Evan Hunt authored
      - the configuration summary reported zlib compression was not
        supported even when it was.
      - when bind.keys.h was regenerated it violated clang-format style.
      beda680f
  16. 24 Feb, 2020 3 commits
  17. 21 Feb, 2020 1 commit
    • Michał Kępień's avatar
      Clean up --with-tuning=large remnants · a5fc3a63
      Michał Kępień authored
      The change introduced by commit be159f55
      was not fully complete.  Adjust ./configure summary so that it reflects
      the new way the --with-tuning switch works, fixing the Autoconf variable
      used for determining the value of that switch.  Fix win32utils/Configure
      so that it behaves the same way as its Unix counterpart.
      a5fc3a63
  18. 18 Feb, 2020 1 commit
  19. 07 Feb, 2020 2 commits
  20. 14 Jan, 2020 1 commit
  21. 09 Dec, 2019 1 commit
  22. 03 Dec, 2019 3 commits
  23. 25 Nov, 2019 1 commit
  24. 16 Nov, 2019 2 commits
  25. 07 Nov, 2019 2 commits
    • Witold Krecicki's avatar
      netmgr: libuv-based network manager · 70397f9d
      Witold Krecicki authored
      This is a replacement for the existing isc_socket and isc_socketmgr
      implementation. It uses libuv for asynchronous network communication;
      "networker" objects will be distributed across worker threads reading
      incoming packets and sending them for processing.
      
      UDP listener sockets automatically create an array of "child" sockets
      so each worker can listen separately.
      
      TCP sockets are shared amongst worker threads.
      
      A TCPDNS socket is a wrapper around a TCP socket, which handles the
      the two-byte length field at the beginning of DNS messages over TCP.
      
      (Other wrapper socket types can be implemented in the future to handle
      DNS over TLS, DNS over HTTPS, etc.)
      70397f9d
    • Witold Krecicki's avatar
      implement fetch-and-add array queue data structure · 402969bf
      Witold Krecicki authored
      this is a lockless queue based on hazard pointers.
      402969bf
  26. 05 Nov, 2019 1 commit
  27. 15 Oct, 2019 1 commit