Skip to content
Snippets Groups Projects
  1. Dec 14, 2022
  2. Oct 26, 2020
    • Lukas Jezek's avatar
      map: use control sockets instead of pipe from parent process · 4d6bf767
      Lukas Jezek authored and Tomas Krizek's avatar Tomas Krizek committed
      This change allows map() to work with systemd integration.
      
      As a bonus the new client implementation is based on Lua cqueues
      allows caller to wrap map() in worker.corroutine() and get
      asynchronous execution/avoid blocking main loop.
      
      Currently socket communication does not employ timeouts so a hang
      instance will lead to hang map() call. This does not affect query
      processing _if_ map() is being run in worker.corroutine.
      
      Fixes: #554
      Fixes: #620
      Verified
      4d6bf767
  3. Aug 06, 2020
  4. Aug 05, 2020
    • Vladimír Čunát's avatar
      daemon/lua: get rid of __engine symbol in lua · b7629c55
      Vladimír Čunát authored
      In particular this gets rid of last light user data inside kresd.
      
      It was still causing problems on some systems, for example Debian Sid.
      The error was the same: "bad light userdata pointer" from luajit,
      but note that the problem can still be triggered by lua libraries,
      e.g. cqueues.
      Verified
      b7629c55
  5. Feb 25, 2020
  6. Jan 24, 2020
  7. Jan 17, 2020
  8. Dec 19, 2019
  9. Mar 12, 2019
  10. Feb 07, 2019
  11. Oct 12, 2018
  12. Mar 28, 2018
  13. Jan 23, 2018
    • Vitezslav Kriz's avatar
      keyfile argument distiguish managed and unmanaged mode · 6c2db2b5
      Vitezslav Kriz authored and Petr Špaček's avatar Petr Špaček committed
      Arguments --keyfile, -k for managed mode
      and
      --keyfile-ro, -K for unmanaged (readonly) mode.
      
      Automatic setting based on the file permission is removed because it was
      confusing and could easily lead to state where automatic update does not
      happen because of unexpected file permissions.
      
      Check if folder is writeable was moved into Lua code.
      
      Default unmanaged keyfile path can be specified at compile
      time with option KEYFILE_DEFAULT. This default
      configuration can be disabled in configuration file with
      trust_anchors.keyfile_default = nil.
      Verified
      6c2db2b5
    • Vladimír Čunát's avatar
      make: use -fvisibility=hidden by default · 08cbf79d
      Vladimír Čunát authored
      Symbols not marked by KR_EXPORT shouldn't be visible outside
      the same output binary (e.g. sbin/kresd or lib/kdns_modules/hints.so)
      Also mark `engine_hint_root_file`.
      Verified
      08cbf79d
  14. Jan 18, 2018
  15. Jan 12, 2018
  16. Sep 21, 2017
  17. Sep 11, 2017
  18. Jun 26, 2017
  19. May 26, 2017
  20. Feb 28, 2017
  21. Feb 13, 2017
  22. Jan 25, 2017
  23. Nov 12, 2016
  24. Aug 11, 2016
  25. Jul 16, 2016
  26. Jul 06, 2016
    • 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
  27. 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
  28. May 03, 2016
    • Marek Vavruša's avatar
      daemon: out-of-order processing for TCP · c23edd06
      Marek Vavruša 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
  29. Apr 18, 2016
    • Marek Vavruša's avatar
      engine: clear bad scorers from RTT every 5 minutes · b64d6ce7
      Marek Vavruša 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 Vavruša's avatar
      engine: throttle outbound queries only when busy · 0b02bf5f
      Marek Vavruša 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
  30. Jan 30, 2016
  31. Dec 17, 2015
  32. Dec 03, 2015
  33. Nov 27, 2015
  34. Oct 18, 2015