1. 23 Oct, 2020 4 commits
  2. 22 Oct, 2020 25 commits
  3. 21 Oct, 2020 7 commits
    • Diego dos Santos Fronza's avatar
      Merge branch '1736-stub-zone-foiled-by-minimal-responses-v9_16' into 'v9_16' · 72803620
      Diego dos Santos Fronza authored
      Resolve "stub zone foiled by minimal-responses"
      
      See merge request !4282
      72803620
    • Diego dos Santos Fronza's avatar
      Add CHANGES entry · 34f1196f
      Diego dos Santos Fronza authored
      34f1196f
    • Diego dos Santos Fronza's avatar
      Adjusted additional system test (NS, non-root zone) · be98c788
      Diego dos Santos Fronza authored
      After the updates from this branch, BIND now sends glue records for
      NS queries even when configured with minimal-responses yes.
      be98c788
    • Diego dos Santos Fronza's avatar
      Added test for the proposed fix · 69e6bea8
      Diego dos Santos Fronza authored
      This test is very simple, two nameserver instances are created:
          - ns4: master, with 'minimal-responses yes', authoritative
              for example. zone
          - ns5: slave, stub zone
      
      The first thing verified is the transfer of zone data from master
      to slave, which should be saved in ns5/example.db.
      
      After that, a query is issued to ns5 asking for target.example.
      TXT, a record present in the master database with the "test" string
      as content.
      
      If that query works, it means stub zone successfully request
      nameserver addresses from master, ns4.example. A/AAAA
      
      The presence of both A/AAAA records for ns4 is also verified in the
      stub zone local file, ns5/example.db.
      69e6bea8
    • Diego dos Santos Fronza's avatar
    • Diego dos Santos Fronza's avatar
      Fix transfer of glue records in stub zones if master has minimal-responses set · 7a3dbbc3
      Diego dos Santos Fronza authored
      Stub zones don't make use of AXFR/IXFR for the transfering of zone
      data, instead, a single query is issued to the master asking for
      their nameserver records (NS).
      
      That works fine unless master is configured with 'minimal-responses'
      set to yes, in which case glue records are not provided by master
      in the answer with nameservers authoritative for the zone, leaving
      stub zones with incomplete databases.
      
      This commit fix this problem in a simple way, when the answer with
      the authoritative nameservers is received from master (stub_callback),
      for each nameserver listed (save_nsrrset), a A and AAAA records for
      the name is verified in the additional section, and if not present
      a query is created to resolve the corresponsing missing glue.
      
      A struct 'stub_cb_args' was added to keep relevant information for
      performing a query, like TSIG key, udp size, dscp value, etc, this
      information is borrowed from, and created within function 'ns_query',
      where the resolving of nameserver from master starts.
      
      A new field was added to the struct 'dns_stub', an atomic integer,
      namely pending_requests, which is used to keep how many queries are
      created when resolving nameserver addresses that were missing in
      the glue.
      
      When the value of pending_requests is zero we know we can release
      resources, adjust zone timers, dump to zone file, etc.
      7a3dbbc3
    • Matthijs Mekking's avatar
      Merge branch '2208-tcp4recverr-stat-miscount-v9_16' into 'v9_16' · aff8cb33
      Matthijs Mekking authored
      Don't increment network error stats on UV_EOF
      
      See merge request !4277
      aff8cb33
  4. 20 Oct, 2020 3 commits
    • Matthijs Mekking's avatar
      Don't increment network error stats on UV_EOF · 5c0b5b64
      Matthijs Mekking authored
      When networking statistics was added to the netmgr (in commit
      5234a8e0), two lines were added that
      increment the 'STATID_RECVFAIL' statistic: One if 'uv_read_start'
      fails and one at the end of the 'read_cb'.  The latter happens
      if 'nread < 0'.
      
      According to the libuv documentation, I/O read callbacks (such as for
      files and sockets) are passed a parameter 'nread'. If 'nread' is less
      than 0, there was an error and 'UV_EOF' is the end of file error, which
      you may want to handle differently.
      
      In other words, we should not treat EOF as a RECVFAIL error.
      
      (cherry picked from commit 6c5ff942)
      5c0b5b64
    • Diego dos Santos Fronza's avatar
      Merge branch '2195-freebsd-dnstap-system-test-failure-v9_16' into 'v9_16' · b4ad8cb9
      Diego dos Santos Fronza authored
      Fix dnstap system test on FreeBSD
      
      See merge request !4275
      b4ad8cb9
    • Diego dos Santos Fronza's avatar
      Fix dnstap system test on FreeBSD · 64ae91c6
      Diego dos Santos Fronza authored
      This commit ensures that dnstap output files captured
      by fstrm_capture are properly flushed before any attempt
      on reading them with dnstap-read is done.
      
      By reading fstrm-capture source code it was noticed that
      signal SIGHUP is used to flush the capture file.
      64ae91c6
  5. 15 Oct, 2020 1 commit