1. 06 Jul, 2016 13 commits
  2. 30 Jun, 2016 1 commit
  3. 21 Jun, 2016 1 commit
  4. 16 Jun, 2016 3 commits
  5. 29 May, 2016 1 commit
  6. 27 May, 2016 3 commits
  7. 23 May, 2016 1 commit
    • Marek Vavrusa's avatar
      daemon: support event.socket(fd, cb) for I/O events · c416877a
      Marek Vavrusa authored
      this allows embedding other event loops or just
      asynchronous events triggered by socket activity.
      this is required for things like cooperative
      HTTP server, monitoring endpoint or remote
      configuration daemon/controller
  8. 22 May, 2016 1 commit
    • Marek Vavrusa's avatar
      worker: fixed corruption when follower timeouts, early free · 22965f08
      Marek Vavrusa authored
      * when enqueued task terminated earlier than leader
        task because of timeout, it wasn't dequeued from
        the waitlist immediately, but it didn't have any
        outstanding outbound queries. when leader task
        terminated, it removed this task and updated its
        outbound query, which didn't exist. this triggered
        a 16B write in undefined location
      * fixed timeout timer being scheduled for closing
        without holding reference to parent task
  9. 20 May, 2016 1 commit
    • Marek Vavrusa's avatar
      lib: cache api v2, removed dep on libknot db.h · e68c3a0a
      Marek Vavrusa authored
      this change introduces new API for cache backends,
      that is a subset of knot_db_api_t from libknot
      with several cache-specific operations
      major changes are:
      * merged 'cachectl' module into 'cache' as it is
        99% default-on and it simplifies things
      * not transaction oriented, transactions may be
        reused and cached for higher performance
      * scatter/gather API, this is important for
        latency and performance of non-local backends
        like Redis
      * faster and reliable cache clearing
      * cache-specific operations (prefix scan, ...) in
        the API not hacked in
      * simpler code for both backends and caller
  10. 15 May, 2016 1 commit
  11. 12 May, 2016 1 commit
    • Marek Vavrusa's avatar
      daemon/worker: deduplicate inbound queries · e638f9fb
      Marek Vavrusa authored
      many clients do frequent retransmits of the query
      to avoid network losses and get better service,
      but then fail to work properly when a resolver
      answers SERVFAIL to some of them because of the
      time limit and some of them NOERROR. 
      it's also a good idea to avoid wasting time
      tracking pending tasks to solve the same thing.
  12. 11 May, 2016 3 commits
  13. 06 May, 2016 1 commit
  14. 03 May, 2016 1 commit
    • Marek Vavrusa's avatar
      daemon: out-of-order processing for TCP · c23edd06
      Marek Vavrusa authored
      * daemon now processes messages over TCP stream
      out-of-order and concurrently
      * support for TCP_DEFER_ACCEPT
      * support for TCP Fast-Open
      * there are now deadlines for TCP for idle/slow
      streams (to prevent slowloris; pruning)
      * there is now per-request limit on timeouts
      (each request is allowed 4 timeouts before bailing)
      * faster request closing, unified retry/timeout timers
      * rare race condition in timer closing fixed
  15. 18 Apr, 2016 3 commits
    • Marek Vavrusa's avatar
      daemon: mode(strict|normal|permissive) · e61c48ef
      Marek Vavrusa authored
      the daemon has now three modes of strictness
      checking from strict to permissive.
      it reflects the tradeoff between resolving the
      query in as few steps as possible and security
      for insecure zones
    • Marek Vavrusa's avatar
      engine: clear bad scorers from RTT every 5 minutes · b64d6ce7
      Marek Vavrusa authored
      an internal timer walks RTT timer periodically and
      clears entries with bad results every 5 minutes.
      this means that a timeouted entry penalty is 
      capped to that interval, making sure that the
      bad reputation doesn't last forever
    • Marek Vavrusa's avatar
      engine: throttle outbound queries only when busy · 0b02bf5f
      Marek Vavrusa authored
      resolver will always attempt to contact upstreams
      known to be bad if it's not busy.
      this fixes a problem on low-volume resolvers
      where a short connection outage could make
      resolvers deny resolving queries even after the
      connection is restored
  16. 14 Apr, 2016 1 commit
  17. 07 Apr, 2016 1 commit
  18. 06 Apr, 2016 1 commit
    • Marek Vavrusa's avatar
      trust_anchors: added custom timers, limit history · 5e7591f0
      Marek Vavrusa authored
      new trust anchors variables:
      * trust_anchors.hold_down_time = 30 * day
      * trust_anchors.refresh_time = nil
      * trust_anchors.keep_removed = 0
      these could be used to control how often should
      root trust anchors be checked and how many removed
      keys should be kept in log (0 by default)
  19. 04 Apr, 2016 1 commit
  20. 30 Mar, 2016 1 commit