1. 19 Mar, 2019 1 commit
  2. 13 Mar, 2019 3 commits
  3. 12 Mar, 2019 3 commits
    • Evan Hunt's avatar
      Merge branch '834-fix-race-in-fctx-cancel-v9_14_0_patch' into 'v9_14_0_patch' · d218f0b2
      Evan Hunt authored
      fix race in socket code
      
      See merge request isc-projects/bind9!1673
      d218f0b2
    • Witold Kręcicki's avatar
      CHANGES · 95a86c12
      Witold Kręcicki authored
      (cherry picked from commit 50f60542)
      95a86c12
    • Witold Kręcicki's avatar
      Fix a race in fctx_cancelquery. · 9cb526c5
      Witold Kręcicki authored
      When sending an udp query (resquery_send) we first issue an asynchronous
      isc_socket_connect and increment query->connects, then isc_socket_sendto2
      and increment query->sends.
      If we happen to cancel this query (fctx_cancelquery) we need to cancel
      all operations we might have issued on this socket. If we are under very high
      load the callback from isc_socket_connect (resquery_udpconnected) might have
      not yet been fired. In this case we only cancel the CONNECT event on socket,
      and ignore the SEND that's waiting there (as there is an `else if`).
      Then we call dns_dispatch_removeresponse which kills the dispatcher socket
      and calls isc_socket_close - but if system is under very high load, the send
      we issued earlier might still not be complete - which triggers an assertion
      because we're trying to close a socket that's still in use.
      
      The fix is to always check if we have incomplete sends on the socket and cancel
      them if we do.
      
      (cherry picked from commit 56183a39)
      9cb526c5
  4. 11 Mar, 2019 2 commits
  5. 09 Mar, 2019 2 commits
  6. 07 Mar, 2019 9 commits
  7. 06 Mar, 2019 16 commits
    • Mark Andrews's avatar
      add CHANGES · ef46f750
      Mark Andrews authored
      (cherry picked from commit 5bc06a0a)
      ef46f750
    • Mark Andrews's avatar
      remove dependancy on libxml · 98fd8135
      Mark Andrews authored
      (cherry picked from commit a9c47414)
      98fd8135
    • Evan Hunt's avatar
      Merge branch '874-fix-race-in-socket-code-v9_14' into 'v9_14' · be60fedc
      Evan Hunt authored
      Fix a race in socket code
      
      See merge request isc-projects/bind9!1613
      be60fedc
    • Evan Hunt's avatar
      CHANGES · 71adab3f
      Evan Hunt authored
      (cherry picked from commit 6d242928)
      71adab3f
    • Witold Kręcicki's avatar
      Fix a race in socket code when internal_{accept, send, receive} is called · 54f9c1d3
      Witold Kręcicki authored
      from event loop on an socket and, in the meantime, someone has closed this
      socket.
      
      (cherry picked from commit b57a38ae)
      54f9c1d3
    • Evan Hunt's avatar
      Merge branch 'michal/log-plugin-unloading-at-debug-level-v9_14' into 'v9_14' · c2fb1f88
      Evan Hunt authored
      Log plugin unloading at debug level
      
      See merge request isc-projects/bind9!1612
      c2fb1f88
    • Michał Kępień's avatar
      Log plugin unloading at debug level · 9036952f
      Michał Kępień authored
      During server reconfiguration, plugin instances set up for the old views
      are unloaded very close to the end of the whole process, after new
      plugin instances are set up.  As the log message announcing plugin
      unloading is emitted at the default "info" level, the user might be
      misled into thinking that it is the new plugin instances that are being
      unloaded for some reason, particularly because all other messages logged
      at the "info" level around the same time inform about setting things up
      rather than tearing them down.  Since no distinction is currently made
      between destroying a view due to reconfiguration and due to a shutdown
      in progress, there is no easy way to vary the contents of the log
      message depending on circumstances.  Since this message is not a
      particularly critical one, demote it to debug level to prevent
      confusion.
      
      (cherry picked from commit af4b81f9)
      9036952f
    • Michał Kępień's avatar
      Merge branch '905-make-nsupdate-use-os-supplied-ephemeral-port-range-v9_14' into 'v9_14' · 3e676b0d
      Michał Kępień authored
      [v9_14] Make nsupdate use OS-supplied ephemeral port range
      
      See merge request isc-projects/bind9!1609
      3e676b0d
    • Michał Kępień's avatar
      Add CHANGES entry · 0a5a0a5e
      Michał Kępień authored
      5172.	[bug]		nsupdate now honors the operating system's preferred
      			ephemeral port range. [GL #905]
      
      (cherry picked from commit 0e649482)
      0a5a0a5e
    • Michał Kępień's avatar
      Make nsupdate use OS-supplied ephemeral port range · a5531687
      Michał Kępień authored
      Make nsupdate honor the operating system's preferred ephemeral port
      range instead of always using the default 1024-65535 range for outgoing
      messages.
      
      (cherry picked from commit 06f582f2)
      a5531687
    • Evan Hunt's avatar
      Merge branch '878-install-named-plugins-into-a-separate-directory-v9_14' into 'v9_14' · d4d89a18
      Evan Hunt authored
      Install named plugins into a separate directory
      
      See merge request isc-projects/bind9!1605
      d4d89a18
    • Michał Kępień's avatar
      Add CHANGES entry · f1f695ef
      Michał Kępień authored
      5161.	[func]		named plugins are now installed into a separate
      			directory.  Supplying a filename (a string without path
      			separators) in a "plugin" configuration stanza now
      			causes named to look for that plugin in that directory.
      			[GL #878]
      
      (cherry picked from commit d2c960cf)
      f1f695ef
    • Michał Kępień's avatar
      Add -c to usage message for named-checkconf · 18652644
      Michał Kępień authored
      Add the -c command line option to the usage message for named-checkconf
      as it is not present there despite being documented.
      
      (cherry picked from commit cba15515)
      18652644
    • Michał Kępień's avatar
      Look for named plugins in ${libdir}/named · 9b72458b
      Michał Kępień authored
      When the "library" part of a "plugin" configuration stanza does not
      contain at least one path separator, treat it as a filename and assume
      it is a name of a shared object present in the named plugin installation
      directory.  Absolute and relative paths can still be used and will be
      used verbatim.  Get the full path to a plugin before attempting to
      check/register it so that all relevant log messages include the same
      plugin path (apart from the one logged when the full path cannot be
      determined).
      
      (cherry picked from commit 1a9fc624)
      9b72458b
    • Michał Kępień's avatar
      Add ns_plugin_expandpath() · 3883acc5
      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.)
      
      (cherry picked from commit d181c28c)
      3883acc5
    • Michał Kępień's avatar
      Install named plugins into a separate directory · 4ddfaeea
      Michał Kępień authored
      Installing named plugins into ${libdir} clutters the latter and is not
      in line with common filesystem conventions.  Instead, install named
      plugins into a separate directory, ${libdir}/named.
      
      (cherry picked from commit c527b7fd)
      4ddfaeea
  8. 05 Mar, 2019 4 commits