1. 29 Oct, 2018 2 commits
  2. 20 Sep, 2018 1 commit
  3. 05 Sep, 2018 1 commit
  4. 17 Aug, 2018 8 commits
  5. 14 Aug, 2018 2 commits
    • Petr Špaček's avatar
      rebrand to "Knot Resolver" · 42123aad
      Petr Špaček authored
      Previously we were using names "Knot DNS Resolver" and "Knot Resolver"
      interchangibly and the prefix "Knot DNS" was somehow confusing users.
      Let's see if this rebranding actually helps or not.
    • Vladimír Čunát's avatar
      reorder_RR(): implement again and better · 1ab5d201
      Vladimír Čunát authored
      ... thanks to new API in libknot-2.7.
      Apart from being simpler, it now rotates even uncached answers.
  6. 16 Jul, 2018 1 commit
  7. 25 Jun, 2018 1 commit
  8. 13 Jun, 2018 3 commits
  9. 28 May, 2018 1 commit
    • Vladimír Čunát's avatar
      other docs nitpicks · 52a25b76
      Vladimír Čunát authored
      I don't think it's good to write that we "provide a library",
      as it currently doesn't seem suitable for usage outside kresd.
  10. 09 May, 2018 2 commits
  11. 18 Apr, 2018 1 commit
  12. 07 Apr, 2018 1 commit
  13. 04 Apr, 2018 2 commits
  14. 05 Feb, 2018 1 commit
    • Daniel Kahn Gillmor's avatar
      doc: kresd.systemd belongs in section 7 of the manual · 23c8ffbf
      Daniel Kahn Gillmor authored
      "man man" says that the sections are:
             1   Executable programs or shell commands
             2   System calls (functions provided by the kernel)
             3   Library calls (functions within program libraries)
             4   Special files (usually found in /dev)
             5   File formats and conventions eg /etc/passwd
             6   Games
             7   Miscellaneous  (including  macro  packages  and  conventions), e.g.
                 man(7), groff(7)
             8   System administration commands (usually only for root)
             9   Kernel routines [Non standard]
      Since there is no command named kresd.system it does not belong in
      section 8.
      Section 7 includes conventions and useful patterns like gitcli(7),
      which seems more similar to the documentation that is supplied in
  15. 30 Jan, 2018 2 commits
    • Tomas Krizek's avatar
      systemd: enable multiple processes with socket activation · 4905226d
      Tomas Krizek authored
      In order to be able to spawn multiple processes with socket activation,
      systemd template (see systemd.unit(5)) is used. This allows the user to
      create any amount of instances by simply providing a unique name for
      each of them. The most sensible instance identifiers are natural
      numbers, but any convention could be used.
      The default recommended service name becomes kresd@1.service, replacing
      the older kresd.service. Sockets are renamed in a similar way. Users are
      able to take advantage of bash expansion to spawn/control multiple
      processes, e.g. "systemctl start kresd@{1..16}.service"
      The socket-activated service can now be launched directly with
      "systemctl start kresd@1.service", which will request the associated
      sockets without the need for any extra priviledges or capabilities.
      Stopping the kresd service now also stops the associated sockets.
      Stopping any individual socket is an isolated opration now (stopping
      kresd@1.socket no longer stop kresd-tls@1.socket and
      Users and packagers are also encouraged to use drop-in files for extra
      configuration or modifications to ensure compatibility with their
    • Tomas Krizek's avatar
      documentation: reorganize chapters · 3635da41
      Tomas Krizek authored
      The manual page discusses basic usage of kresd, but completely lacks
      configuration description. Users are pointed to
      https://knot-resolver.readthedocs.io for reference. When visiting this
      page, the most important information they don't have yet, is how to
      configure kresd. This should be the first chapter in the documentation
      to make it easier to find.
  16. 24 Jan, 2018 1 commit
  17. 23 Jan, 2018 4 commits
    • Vladimír Čunát's avatar
      nitpicks from review of !405: query-trace · f705c82a
      Vladimír Čunát authored
      The deckard change was probably unintentional, so I reverted that.
      The only real mistake I found was `sizeof(128)`, though the effect was
      just unnecessary reallocations.
      On the whole I really like it.  Verbose logging might get slightly
      slower, due to increased amount of string allocation and copying,
      but it does seem worth it, at least until we can prove otherwise.
      I didn't look much into http module changes, etc.
    • Petr Špaček's avatar
    • Petr Špaček's avatar
      TA bootstrap: print obtained values · 06fd748d
      Petr Špaček authored
    • Vitezslav Kriz's avatar
      keyfile argument distiguish managed and unmanaged mode · 6c2db2b5
      Vitezslav Kriz authored
      Arguments --keyfile, -k for managed mode
      --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.
  18. 18 Jan, 2018 2 commits
  19. 11 Jan, 2018 2 commits
  20. 08 Jan, 2018 2 commits
    • Marek Vavruša's avatar
      daemon: unified query completion callback with trace callback in resolve · 7afffaa9
      Marek Vavruša authored
      This is a followup on addition of trace callbacks in the resolver library,
      to get rid of the Lua/C interfacing in daemon and unify it with the log tracing.
      All modules can now install completion callback on the kr_request object that
      will be called after the resolution is done.
    • Marek Vavruša's avatar
      Implement worker coroutines for asynchronous background processing · 8fa95978
      Marek Vavruša authored
      This implements worker coroutines in Lua to perform non-blocking I/O and do many things concurrently.
      For example a file watcher can be now implemented as:
        local watcher = notify.opendir('/etc')
        -- Watch changes to /etc/hosts
        worker.coroutine(function ()
          for flags, name in watcher:changes() do
            for flag in notify.flags(flags) do
              print(name, notify[flag])
      In order to make this work, the runtime uses the cqueues library which
      can run coroutines concurrently, and return a file descriptor to poll on
      if it's blocked. The worker takes that file descriptor and calls
      `event.socket(pollfd, resume_callback)` so that libuv can wake up
      the worker when its ready again.
      The cqueues library is still optional, but if it's not present following stuff
      won't work:
      * worker.coroutine()
      * worker.sleep()