1. 19 Mar, 2019 2 commits
  2. 14 Mar, 2019 1 commit
  3. 08 Mar, 2019 1 commit
  4. 06 Mar, 2019 1 commit
    • Michał Kępień's avatar
      Add ns_plugin_expandpath() · d181c28c
      Michał Kępień authored
      Implement a helper function which, given an input string:
      
        - copies it verbatim if it contains at least one path separator,
        - prepends the named plugin installation directory to it otherwise.
      
      This function will allow configuration parsing code to conveniently
      determine the full path to a plugin module given either a path or a
      filename.
      
      While other, simpler ways exist for making sure filenames passed to
      dlopen() cause the latter to look for shared objects in a specific
      directory, they are very platform-specific.  Using full paths is thus
      likely the most portable and reliable solution.
      
      Also added unit tests for ns_plugin_expandpath() to ensure it behaves
      as expected for absolute paths, relative paths, and filenames, for
      various target buffer sizes.
      
      (Note: plugins share a directory with named on Windows; there is no
      default plugin path. Therefore the source path is copied to the
      destination path with no modification.)
      d181c28c
  5. 05 Mar, 2019 1 commit
  6. 04 Mar, 2019 2 commits
    • Matthijs Mekking's avatar
      Ensure all system tests run clean.sh from setup.sh · e4108039
      Matthijs Mekking authored
      For consistency between all system tests, add missing setup.sh scripts
      for tests which do not have one yet and ensure every setup.sh script
      calls its respective clean.sh script.
      e4108039
    • Matthijs Mekking's avatar
      Only perform test cleanups in clean.sh scripts · c64ed484
      Matthijs Mekking authored
      Temporary files created by a given system test should be removed by its
      clean.sh script, not its setup.sh script.  Remove redundant "rm"
      invocations from setup.sh scripts.  Move required "rm" invocations from
      setup.sh scripts to their corresponding clean.sh scripts.
      c64ed484
  7. 01 Mar, 2019 1 commit
  8. 22 Feb, 2019 1 commit
  9. 21 Feb, 2019 1 commit
  10. 20 Feb, 2019 1 commit
    • Evan Hunt's avatar
      remove contrib/sdb · c79e2f12
      Evan Hunt authored
      removed the SDB databases in contrib/sdb as they hadn't been
      maintained in some time, and were no longer able to link to named
      without modification.  also:
      
      - cleaned up contrib/README, which still referred to contrib
        subdirectores that were removed already, and linked to an obsolete URL.
      - removed references to sdb in doc/misc/roadmap and doc/misc/sdb.
      c79e2f12
  11. 11 Feb, 2019 1 commit
  12. 08 Feb, 2019 3 commits
  13. 07 Feb, 2019 2 commits
  14. 31 Jan, 2019 3 commits
    • Michał Kępień's avatar
      Add system tests for IXFR statistics · a9a47c79
      Michał Kępień authored
      Ensure IXFR statistics are calculated correctly by dig and named, both
      for incoming and outgoing transfers.  Disable EDNS when using dig to
      request an IXFR so that the same reference file can be used for testing
      statistics calculated by both dig and named (dig uses EDNS by default
      when sending transfer requests, which affects the number of bytes
      transferred).
      a9a47c79
    • Michał Kępień's avatar
      Add system tests for AXFR statistics · a22e24a4
      Michał Kępień authored
      Ensure AXFR statistics are calculated correctly by dig and named, both
      for incoming and outgoing transfers.  Rather than employing a zone which
      is already used in the "xfer" system test, create a new one whose AXFR
      form spans multiple TCP messages.  Disable EDNS when using dig to
      request an AXFR so that the same reference file can be used for testing
      statistics calculated by both dig and named (dig uses EDNS by default
      when sending transfer requests, which affects the number of bytes
      transferred).
      a22e24a4
    • Ondřej Surý's avatar
  15. 30 Jan, 2019 1 commit
  16. 25 Jan, 2019 2 commits
    • Evan Hunt's avatar
      complete the set of tools available in windows tests · 1bc0ab52
      Evan Hunt authored
      - dnssec-cds wasn't being built for windows
      - nsec3hash was available, but the NSEC3HASH variable wasn't
        set in conf.sh.win32
      1bc0ab52
    • Michał Kępień's avatar
      dig: return a non-zero exit code for failed TCP EOF retries · 0f168a4b
      Michał Kępień authored
      dig retries a TCP query when a server closes the connection prematurely.
      However, dig's exit code remains unaffected even if the second attempt
      to get a response also fails with the same error for the same lookup,
      which should not be the case.  Ensure the exit code is updated
      appropriately when a retry triggered by a TCP EOF condition fails.
      0f168a4b
  17. 22 Jan, 2019 1 commit
  18. 09 Jan, 2019 1 commit
  19. 08 Jan, 2019 1 commit
    • Michał Kępień's avatar
      Track forwarder timeouts in fetch contexts · 33350626
      Michał Kępień authored
      Since following a delegation resets most fetch context state, address
      marks (FCTX_ADDRINFO_MARK) set inside lib/dns/resolver.c are not
      preserved when a delegation is followed.  This is fine for full
      recursive resolution but when named is configured with "forward first;"
      and one of the specified forwarders times out, triggering a fallback to
      full recursive resolution, that forwarder should no longer be consulted
      at each delegation point subsequently reached within a given fetch
      context.
      
      Add a new badnstype_t enum value, badns_forwarder, and use it to mark a
      forwarder as bad when it times out in a "forward first;" configuration.
      Since the bad server list is not cleaned when a fetch context follows a
      delegation, this prevents a forwarder from being queried again after
      falling back to full recursive resolution.  Yet, as each fetch context
      maintains its own list of bad servers, this change does not cause a
      forwarder timeout to prevent that forwarder from being used by other
      fetch contexts.
      33350626
  20. 01 Jan, 2019 1 commit
  21. 19 Dec, 2018 3 commits
  22. 18 Dec, 2018 1 commit
  23. 11 Dec, 2018 3 commits
  24. 10 Dec, 2018 1 commit
  25. 06 Dec, 2018 3 commits
    • Evan Hunt's avatar
      add basic plugins documentation · c63ead9d
      Evan Hunt authored
      c63ead9d
    • Evan Hunt's avatar
      name change from "hook modules" to "plugins" · fd20f10d
      Evan Hunt authored
      - "hook" is now used only for hook points and hook actions
      - the "hook" statement in named.conf is now "plugin"
      - ns_module and ns_modlist are now ns_plugin and ns_plugins
      - ns_module_load is renamed ns_plugin_register
      - the mandatory functions in plugin modules (hook_register,
        hook_check, hook_version, hook_destroy) have been renamed
      fd20f10d
    • Evan Hunt's avatar
      set up hooks.c to enable setting hook points and loading modules · 70cc3f80
      Evan Hunt authored
      - move hooks.h to public include directory
      - ns_hooktable_init() initializes a hook table. if NULL is passed in, it
        initializes the global hook table
      - ns_hooktable_save() saves a pointer to the current global hook table.
      - ns_hooktable_reset() replaces the global hook table with different
        one
      - ns_hook_add() adds hooks at specified hook points in a hook table (or
        the global hook table if the specified table is NULL)
      - load and unload functions support dlopen() of hook modules (this is
        adapted from dyndb and not yet functional)
      - began adding new hook points to query.c
      70cc3f80
  26. 28 Nov, 2018 1 commit