1. 29 May, 2016 1 commit
  2. 27 May, 2016 3 commits
  3. 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
      c416877a
  4. 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
      22965f08
  5. 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
      e68c3a0a
  6. 15 May, 2016 1 commit
  7. 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.
      e638f9fb
  8. 11 May, 2016 3 commits
  9. 06 May, 2016 1 commit
  10. 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
      c23edd06
  11. 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
      e61c48ef
    • 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
      b64d6ce7
    • 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
      0b02bf5f
  12. 14 Apr, 2016 1 commit
  13. 07 Apr, 2016 1 commit
  14. 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)
      5e7591f0
  15. 04 Apr, 2016 1 commit
  16. 30 Mar, 2016 1 commit
  17. 29 Mar, 2016 5 commits
  18. 08 Mar, 2016 1 commit
    • Marek Vavrusa's avatar
      daemon: track case when all upstreams fail · 8700f00d
      Marek Vavrusa authored
      previously full timeout led to reset of the evaluated
      address list and no upstream server was penalised
      for not answering the query, this penalises all of
      tried servers with TIMEOUT
      8700f00d
  19. 03 Feb, 2016 3 commits
  20. 30 Jan, 2016 3 commits
  21. 23 Jan, 2016 2 commits
  22. 22 Jan, 2016 4 commits