1. 28 Jul, 2016 1 commit
  2. 20 Jul, 2016 2 commits
  3. 16 Jul, 2016 2 commits
  4. 11 Jul, 2016 1 commit
  5. 06 Jul, 2016 14 commits
  6. 30 Jun, 2016 1 commit
  7. 21 Jun, 2016 1 commit
  8. 16 Jun, 2016 3 commits
  9. 29 May, 2016 1 commit
  10. 27 May, 2016 3 commits
  11. 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
  12. 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
  13. 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
  14. 15 May, 2016 1 commit
  15. 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
  16. 11 May, 2016 3 commits
  17. 06 May, 2016 1 commit
  18. 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
  19. 18 Apr, 2016 1 commit
    • 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