1. 14 Mar, 2018 1 commit
  2. 10 Mar, 2018 2 commits
  3. 09 Mar, 2018 14 commits
  4. 08 Mar, 2018 1 commit
  5. 06 Mar, 2018 2 commits
    • Michał Kępień's avatar
      Remove duplicate irs_resconf_load() unit test · 8f07fb47
      Michał Kępień authored
      The "sortlist-v4.conf" unit test for irs_resconf_load() is always run
      twice due to a duplicate entry in the "tests" table.  Remove one of them
      to prevent this.
      
      (cherry picked from commit 6c09f305)
      8f07fb47
    • Michał Kępień's avatar
      Do not ignore resolv.conf syntax errors · b4a10e77
      Michał Kępień authored
      irs_resconf_load() stores the value returned by add_search() into ret
      without consulting its current value first.  This causes any previous
      errors raised while parsing resolv.conf to be ignored as long as any
      "domain" or "search" statement is present in the file.
      
      Prevent this by returning early in case an error is detected while
      parsing resolv.conf.  Ensure that "searchlist" and "magic" members of
      the created irs_resconf_t structure are always initialized before
      isc_resconf_destroy() is called.
      
      (cherry picked from commit 1f400b68)
      b4a10e77
  6. 02 Mar, 2018 3 commits
  7. 25 Feb, 2018 9 commits
  8. 23 Feb, 2018 2 commits
  9. 16 Feb, 2018 6 commits
    • Michał Kępień's avatar
      Do not recheck DNS_ZONEFLG_LOADPENDING in zone_asyncload() · 5c080dfe
      Michał Kępień authored
      Remove a block of code which dates back to commit 8a2ab2b9, when
      dns_zone_asyncload() did not yet check DNS_ZONEFLG_LOADPENDING.
      Currently, no race in accessing DNS_ZONEFLG_LOADPENDING is possible any
      more, because:
      
        - dns_zone_asyncload() is still the only function which may queue
          zone_asyncload(),
      
        - dns_zone_asyncload() accesses DNS_ZONEFLG_LOADPENDING under a lock
          (and potentially queues an event under the same lock),
      
        - DNS_ZONEFLG_LOADPENDING is not cleared until the load actually
          completes.
      
      Thus, the rechecking code can be safely removed from zone_asyncload().
      
      Note that this also brings zone_asyncload() to a state in which the
      completion callback is always invoked.  This is required to prevent
      leaking memory in case something goes wrong in zone_asyncload() and a
      zone table the zone belongs to is indefinitely left with a positive
      reference count.
      5c080dfe
    • Michał Kępień's avatar
      Asynchronous zone load events have no way of getting canceled · 4d391101
      Michał Kępień authored
      Code handling cancellation of asynchronous zone load events was likely
      copied over from other functions when asynchronous zone loading was
      first implemented in commit 8a2ab2b9.  However, unlike those other
      functions, asynchronous zone loading events currently have no way of
      getting canceled once they get posted, which means the aforementioned
      code is effectively dead.  Remove it to prevent confusion.
      4d391101
    • Michał Kępień's avatar
      Only clear DNS_ZONEFLG_LOADPENDING in zone_asyncload() if zone loading is completed immediately · 749b3cac
      Michał Kępień authored
      zone_load() is not always synchronous, it may only initiate an
      asynchronous load and return DNS_R_CONTINUE, which means zone loading
      has not yet been completed.  In such a case, zone_asyncload() must not
      clear DNS_ZONEFLG_LOADPENDING immediately and leave that up to
      zone_postload().
      749b3cac
    • Michał Kępień's avatar
      Lock zone before checking whether its asynchronous load is already pending · e0205aac
      Michał Kępień authored
      While this is not an issue in named, which only calls
      dns_zone_asyncload() from task-exclusive mode, this function is exported
      by libdns and thus may in theory be concurrently called for the same
      zone by multiple threads.  It also does not hurt to be consistent
      locking-wise with other DNS_ZONEFLG_LOADPENDING accesses.
      e0205aac
    • Mark Andrews's avatar
      add POST(len); · ad5550c0
      Mark Andrews authored
      ad5550c0
    • Mark Andrews's avatar
      conditionally declare stacksize · 65cfe7e1
      Mark Andrews authored
      65cfe7e1