Skip to content
Snippets Groups Projects
  1. Jan 23, 2017
  2. Jan 20, 2017
  3. Jan 18, 2017
  4. Jan 16, 2017
  5. Jan 11, 2017
  6. Dec 19, 2016
  7. Dec 02, 2016
  8. Nov 28, 2016
  9. Nov 14, 2016
  10. Nov 13, 2016
  11. Nov 08, 2016
    • Vladimír Čunát's avatar
      lua ffi bindings: fix incorrect structs · 36ca5eed
      Vladimír Čunát authored
      Some structures have changed but lua was still using the old ABI.
      I think no our lua code used the fields misplaced due to this,
      except an example in documentation.
      
      I didn't check much of the ABI in there.  I wish I knew some
      (half-)automatic way how to do that.
      36ca5eed
    • Vladimír Čunát's avatar
      layer: refactor and better describe the API · cc47973e
      Vladimír Čunát authored
      - The API and ABI for modules changes slightly (details below).
        KR_MODULE_API is bumped to avoid loading incompatible code.
        We have bumped libkres ABIVER since the last release 1.1.1,
        so leaving that one intact.
      
      - Make KR_STATE_YIELD not reuse 0 value anymore.
        It's easy to e.g. return kr_ok() by mistake.
      - struct kr_layer_t:
        * ::mm was unused, uninitialized, etc.
        * Make ::state an int, as it was everywhere else.
        * void *data was ugly and always containing struct kr_request *
      - struct kr_layer_api:
        * Drop the void* parameter from ::begin, as it was only used
          for the request which is available as ctx->req anyway
          (formerly ctx->data).
        * Drop ::fail.  It wasn't even called.  Modules can watch for
          KR_STATE_FAIL in ::finish.
      - Document the apparent meaning of the layer interface, deduced mainly
        from the way it's used in the code.  Caveats:
        * enum knot_layer_state handling seems to assume that it holds exactly
          one of the possibilities at a time.  The cookie module does NOT
          follow that (intentionally), apparently depending on the exact
          implementation of the handling at that moment.  It feels fragile.
        * I was unable to deduce a plausible description of when ::reset is
          called.  It's practically unused in modules, too.
      cc47973e
  12. Oct 24, 2016
  13. Oct 20, 2016
  14. Aug 25, 2016
  15. Aug 23, 2016
  16. Aug 11, 2016
  17. Aug 10, 2016
  18. Jul 16, 2016
  19. Jul 06, 2016
    • Marek Vavruša's avatar
      93303da5
    • Marek Vavruša's avatar
      daemon: workers are interconnected with IPC pipes · de7b3862
      Marek Vavruša authored
      forks are connected with IPC pipes to process
      group leader and can execute expressions on its
      behalf. so running commands over all workers
      is easy now:
      
      > hostname() -- single
      localhost
      
      > map 'hostname()' -- all
      localhost
      localhost
      localhost
      de7b3862
    • Marek Vavruša's avatar
      daemon/worker: track query in BEGIN and dst addr · e4747066
      Marek Vavruša authored
      * in the begin() layer, the incoming query is
        exposed as req->qsource.packet, it is invalidated
        after begin() and should not be modified
      * the destination address (local interface) is
        also tracked for filtering purposes
      e4747066
    • Marek Vavruša's avatar
      lib/resolve: store auth addr/rtt in consume() layer · e9ffeb1a
      Marek Vavruša authored
      during the consume step, the information about
      upstream authoritative (address and current rtt)
      is exposed in the request structure, just like
      information about current query
      e9ffeb1a
    • Marek Vavruša's avatar
      modules/http: graphs, prometheus metrics, websocks · cf2a18b0
      Marek Vavruša authored
      * http embeds modified lua-http server code that
        reuses single cqueue for all h2 client sockets,
        this is also because the API in upstream is unstable
      * http embeds rickshaw for real-time graphs over
        websockets, it displays latency heatmap by default
        and can show several other metrics
      * http shows a world map with pinned recently contacted
        authoritatives, where diameter represents number
        of queries sent and colour its average RTT, so
        you can see where the queries are going
      * http now exports several endpoints and websockets:
        /stats for statistics in JSON, and /metrics for
        metrics in Prometheus text format
      cf2a18b0
  20. May 20, 2016
    • Marek Vavruša's avatar
      lib: cache api v2, removed dep on libknot db.h · e68c3a0a
      Marek Vavruša 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
  21. Apr 18, 2016
    • Marek Vavruša's avatar
      daemon: mode(strict|normal|permissive) · e61c48ef
      Marek Vavruša 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
  22. Apr 07, 2016
  23. Apr 06, 2016
    • Marek Vavruša's avatar
      trust_anchors: added custom timers, limit history · 5e7591f0
      Marek Vavruša 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
  24. Feb 03, 2016