1. 23 Jul, 2019 1 commit
    • Vladimír Čunát's avatar
      kr_request: remove ::additional · b902adaa
      Vladimír Čunát authored
      Somehow I didn't notice this field when adding ::add_selected.
      We probably never put anything into answer's ADDITIONAL,
      so noone's noticed a problem until now.
      b902adaa
  2. 25 Jun, 2019 1 commit
  3. 13 Jun, 2019 1 commit
    • Vladimír Čunát's avatar
      worker: convert to a proper singleton · a550a150
      Vladimír Čunát authored
      On many places we've been assuming that there's only a single worker,
      but we still often didn't utilize the property well.  To get the pointer
      we used various ways, all even untyped:
       - __worker global variable in lua
       - uv_default_loop()->data
       - kr_request::daemon_context
      
      Now we instead simply define a global typed pointer the_worker.
      
      Nitpick: also worker_{init,deinit}() are reordered to correspond
      to the order of the fields, etc.
      a550a150
  4. 11 Apr, 2019 1 commit
  5. 26 Nov, 2018 1 commit
  6. 12 Nov, 2018 3 commits
  7. 12 Oct, 2018 1 commit
  8. 25 Jun, 2018 1 commit
  9. 13 Jun, 2018 1 commit
  10. 11 Jun, 2018 1 commit
  11. 30 May, 2018 1 commit
    • Marek Vavruša's avatar
      daemon: allow per-request variables in Lua · 14de9110
      Marek Vavruša authored
      The handlers in Lua can now store per-request variables that are automatically
      GC'd when the request is finished. This is useful for stateful modules,
      such as DNS64 that uses internal option flags for state tracking.
      
      The layers can now get a variable table like so:
      
      ```
      local vars = kres.request_t(r):vars()
      vars.hello = true
      ```
      
      The variables are persisted between different layers for each request.
      14de9110
  12. 28 Mar, 2018 2 commits
  13. 19 Feb, 2018 1 commit
  14. 31 Jan, 2018 1 commit
  15. 30 Jan, 2018 1 commit
  16. 08 Jan, 2018 1 commit
  17. 04 Jan, 2018 1 commit
  18. 21 Dec, 2017 1 commit
    • Marek Vavruša's avatar
      lib/resolve: add support for per-request logging · 0a04428e
      Marek Vavruša authored
      This is useful in many troubleshooting scenarios when you want debug logs
      just for a single request. It's going to expand on TRACE flag functionality
      in the next PRs, so that special requests can be invoked with various tracers attached.
      
      Currently this is only available in the C modules that can set the callback,
      it's not called anywhere in the library yet.
      0a04428e
  19. 09 Nov, 2017 1 commit
  20. 02 Nov, 2017 1 commit
    • Vladimír Čunát's avatar
      add KR_RANK_TRY · 7a9e4fb5
      Vladimír Čunát authored
      attempt validation for more records but require it for fewer of them
      (e.g. avoids SERVFAIL when server adds extra records but omits RRSIGs)
      7a9e4fb5
  21. 26 Oct, 2017 1 commit
  22. 16 Oct, 2017 1 commit
  23. 01 Aug, 2017 1 commit
  24. 05 Jun, 2017 1 commit
  25. 01 May, 2017 1 commit
    • Daniel Kahn Gillmor's avatar
      Use default padding policy for responses. · e9a4d133
      Daniel Kahn Gillmor authored
      net.tls_padding() can now take a boolean in addition to a numeric
      value.  true means "use sensible default padding policy", false means
      "never pad".
      
      In the struct kr_context, we change tls_padding from a uint32_t to an
      int32_t so that we can explicitly represent the default value (-1).
      This should be a safe ABI/API change, since no one had ever set a
      padding > 4096 anyway.
      
      This depends on libknot having adopted the changes from
      2dd9f406e333a1cedfa2380ffad57913cecf8efb which is first included in
      2.4.3.  In the event that knot-resolver is compiled against an older
      version of libknot, it just uses a baked-in default of 468 as before.
      
      See https://gitlab.labs.nic.cz/knot/resolver/merge_requests/249 for
      further discussion.
      e9a4d133
  26. 07 Apr, 2017 2 commits
    • Vladimír Čunát's avatar
      validate: fix bad usage of KR_RANK_INSECURE · 444b2618
      Vladimír Čunát authored
      It's supposed to mean that we have a proof from configured TAs that
      the RR isn't secure (typically proof of missing DS at some point).
      This case was just failure to find a fitting RRSIG; new KR_RANK_MISSING
      is introduced for that purpose, for simplicity.
      
      Also, make the validator more thorough about what ranks are safe to skip.
      444b2618
    • Vladimír Čunát's avatar
      kr_rank: improve the API to manipulate ranks · 416aec46
      Vladimír Čunát authored
      _SECURE and _INSECURE weren't real flags, as their setting was
      logically exclusive of the "values".  That made changing ranks rather
      cumbersome.
      
      Tests: val_cname_to_unsigned_fake_rrsig gets broken, but I hope this
      change just uncovered a hidden bug.
      416aec46
  27. 05 Apr, 2017 2 commits
  28. 31 Mar, 2017 1 commit
  29. 29 Mar, 2017 2 commits
  30. 06 Mar, 2017 2 commits
  31. 25 Jan, 2017 1 commit
  32. 11 Jan, 2017 2 commits