1. 17 Jun, 2020 1 commit
  2. 16 Jun, 2020 9 commits
  3. 11 Jun, 2020 6 commits
  4. 10 Jun, 2020 3 commits
    • Evan Hunt's avatar
      Merge branch '1930-tcp-race-quota' into 'master' · c24f4eb1
      Evan Hunt authored
      Fix a race in TCP accepting.
      Closes #1930
      See merge request !3683
    • Witold Krecicki's avatar
      Fix a race in TCP accepting. · 85d8e4bf
      Witold Krecicki authored and Evan Hunt's avatar Evan Hunt committed
      There's a possibility of a race in TCP accepting code:
      T1 accepts a connection C1
      T2 accepts a connection C2
      T1 tries to accept a connection C3, but we hit a quota,
         isc_quota_cb_init() sets quota_accept_cb for the socket,
         we return from accept_connection
      T2 drops C2, but we race in quota_release with accepting C3 so
         we don't see quota->waiting is > 0, we don't launch the callback
      T1 accepts a connection C4, we are able to get the quota we clear
         the quota_accept_cb from sock->quotacb
      T1 drops C1, tries to call the callback which is zeroed, sigsegv.
    • Witold Krecicki's avatar
  5. 09 Jun, 2020 9 commits
    • Michał Kępień's avatar
      Merge branch '1867-fix-system-tests-on-windows' into 'master' · cc2383e0
      Michał Kępień authored
      Fix system tests on Windows
      Closes #1867
      See merge request !3680
    • Michał Kępień's avatar
      Disable temporarily unsupported tests on Windows · fef15bc3
      Michał Kępień authored
      Due to the changes introduced by the Automake migration, system tests
      requiring Python (chain, pipelined, qmin, tcp), dynamic loading of
      shared objects (dlzexternal, dyndb, filter-aaaa), or LMDB (nzd2nzf)
      currently do not work on Windows.  Temporarily disable them on that
      platform by moving them from the PARALLEL_COMMON list to the
      PARALLEL_UNIX list until the situation is rectified.
    • Michał Kępień's avatar
      Fix SYSTEMTESTTOP on Windows · 1861866f
      Michał Kępień authored
      Without SYSTEMTESTTOP=.. lines in tests.sh scripts, SYSTEMTESTTOP is
      being set to an absolute path.  On Windows, this means that an absolute
      Cygwin path gets passed as a command line argument to native Windows
      binaries, which cannot work and causes system tests to break.  Fix by
      passing SYSTEMTESTTOP through cygpath on Windows, which causes that
      variable to be set to an absolute "mixed mode" path (Windows path with
      forward slashes).
    • Michał Kępień's avatar
      Merge branch '1921-gitlab-ci-release-process-fixes' into 'master' · 3437a78e
      Michał Kępień authored
      GitLab CI release process fixes
      Closes #1921
      See merge request !3670
    • Michał Kępień's avatar
      Restore GitLab CI job building release tarballs · 03c874c2
      Michał Kępień authored
      With "make dist" producing usable source tarballs and documentation
      building working again, restore the script which allows a release
      tarball to be built by a GitLab CI job, only making minimal adjustments
      required due to the changes in the documentation building process and
      due to dropping the "version" file.
    • Michał Kępień's avatar
      Make Sphinx output document naming consistent · 41188053
      Michał Kępień authored
      Ensure the name of the EPUB file produced by Sphinx is consistent with
      the name of its PDF counterpart by adjusting Sphinx configuration.
    • Michał Kępień's avatar
      Fix respdiff job in GitLab CI · b36b7e86
      Michał Kępień authored
      As the "configure" script is no longer stored in the Git repository, run
      "autoreconf -fi" at the beginning of the respdiff job in GitLab CI in
      order to enable that job to work properly.
    • Michał Kępień's avatar
      Fix source tarball creation job in GitLab CI · 03adbac3
      Michał Kępień authored
      For the time being, "make all" needs to be run before "make dist" can
      succeed as parts of the documentation are generated by programs compiled
      during the regular build process.
      As only one source tarball is published for each BIND release, make sure
      the tarball creation job in GitLab CI only contains one tarball in the
      desired format among its artifacts.
      Drop the TARBALL_COMPRESSOR .gitlab-ci.yml variable as it is no longer
      used in the source tarball creation process.
    • Michał Kępień's avatar
      Revise "srcid" file handling · ed212e9c
      Michał Kępień authored
      The "srcid" file present in each BIND source tarball contains a
      shortened hash of the Git commit corresponding to a given BIND release.
      This allows a Git reference to be included in an archive that otherwise
      lacks any Git information.
      Before the move to Automake, if an "srcid" file was present in the root
      source directory at the time ./configure was run, its contents were used
      as the value of a compile-time constant which was then baked into BIND
      binaries; otherwise, "git rev-parse" was used to determine the value of
      that constant.
      With Automake, a similar approach was attempted that required the
      "srcid" file to be present at autoreconf time in order for it to be
      used.  However, note that this means that even if that file is present
      in a source tarball created using "make dist", its contents are not
      going to influence the value of the aforementioned compile-time constant
      because autoreconf hardcodes the output of "git rev-parse" into the
      configure script at autoreconf time.
      To make things more clear, always use "git rev-parse" for determining
      the value of the PACKAGE_SRCID compile-time constant when running
      autoreconf.  This causes "srcid" to be an empty string in source
      tarballs built from other source tarballs, but that is not deemed to be
      much of an issue as "make dist" is expected to be run from Git
      repository clones.  Remove stderr redirections to /dev/null to ensure
      errors caused e.g. by running "make dist" from outside a Git repository
      clone are not hidden.  Trim the Git commit hash to 7 characters for
      consistency between Unix and Windows systems.
      Despite the above, ensure the "srcid" file is present in source tarballs
      created using "make dist" as that file is used by the build process on
  6. 06 Jun, 2020 2 commits
  7. 05 Jun, 2020 10 commits
    • Ondřej Surý's avatar
      Merge branch... · 1540e424
      Ondřej Surý authored
      Merge branch '1842-correct-the-bind-arm-to-say-that-the-default-session-key-for-use-with-update-policy-local-is' into 'master'
      Resolve "Correct the BIND ARM to say that the default session-key for use with 'update-policy local;' is generated at startup"
      Closes #1842
      See merge request !3664
    • Suzanne Goldlust's avatar
      Edit reference.rst to indicate that the TSIG · 79920cea
      Suzanne Goldlust authored and Ondřej Surý's avatar Ondřej Surý committed
      session key is automatically created on startup
    • Ondřej Surý's avatar
      Merge branch '1808-race-in-resolver-fetch' into 'master' · 60e95f3c
      Ondřej Surý authored
      Fix a data access race in resolver.
      Closes #1912 and #1808
      See merge request !3575
    • Ondřej Surý's avatar
      Add release note for #1808 · 5a9f5946
      Ondřej Surý authored and Ondřej Surý's avatar Ondřej Surý committed
    • Witold Krecicki's avatar
      Add CHANGES entry for #1808 · f0f85941
      Witold Krecicki authored and Ondřej Surý's avatar Ondřej Surý committed
    • Witold Krecicki's avatar
      Fix a data access race in resolver · 175c4d90
      Witold Krecicki authored and Ondřej Surý's avatar Ondřej Surý committed
      We were passing client address to dns_resolver_createfetch as a pointer
      and it was saved as a pointer. The client (with its address) could be
      gone before the fetch is finished, and in a very odd scenario
      log_formerr would call isc_sockaddr_format() which first checks if the
      address family is valid (and at this point it still is), then the
      sockaddr is cleared, and then isc_netaddr_fromsockaddr is called which
      fails an assertion as the address family is now invalid.
    • Michał Kępień's avatar
      Merge branch... · d494543d
      Michał Kępień authored
      Merge branch 'mnowak/1769-ensure-all-necessary-files-are-included-in-the-tarball-produced-by-make-dist' into 'master'
      Fix 'make dist'
      Closes #1769
      See merge request !3527
    • Michal Nowak's avatar
      Fix "make dist" · 5bbc6dd7
      Michal Nowak authored and Michał Kępień's avatar Michał Kępień committed
      Make various adjustments necessary to enable "make dist" to build a BIND
      source tarball whose contents are complete enough to build binaries, run
      unit & system tests, and generate documentation on Unix systems.
      Known outstanding issues:
        - "make distcheck" does not work yet.
        - Tests do not work for out-of-tree source-tarball-based builds.
        - Source tarballs are not complete enough for building on Windows.
      All of the above will be addressed in due course.
    • Michal Nowak's avatar
      Get rid of "helper" *.c files · eaebc264
      Michal Nowak authored and Michał Kępień's avatar Michał Kępień committed
      Merge lib/isc/unix/ifiter_getifaddrs.c into lib/isc/unix/interfaceiter.c
      and lib/isc/xoshiro128starstar.c into lib/isc/random.c.  This avoids the
      need for extra Automake directives required to process the "helper" *.c
      files properly and makes the code more localized.
    • Michał Kępień's avatar
      Refactor lib/isc/fsaccess.c · c3cfdb96
      Michał Kępień authored
      Turn the static check_bad_bits() function used by both Unix and Windows
      systems into a "private" function and extract the "private" parts of
      lib/isc/fsaccess.c to lib/isc/fsaccess_common_p.h.  Instead of including
      lib/isc/fsaccess.c from lib/isc/{unix,win32}/fsaccess.c, make the former
      an independent C source file.
      Rename lib/isc/fsaccess.c to lib/isc/fsaccess_common.c to prevent build
      issues on Windows caused by multiple source files (lib/isc/fsaccess.c,
      lib/isc/win32/fsaccess.c) being compiled into the same object file.
      These changes improve consistency with the way "private" functions and
      macros are treated elsewhere in the source tree.