Skip to content
Snippets Groups Projects
  1. Jul 29, 2021
  2. Jul 16, 2021
  3. May 25, 2021
    • Tomas Krizek's avatar
      daemon: allow kr_assume() configuration · 30472874
      Tomas Krizek authored
      - add lua options debugging.assumption_abort and
        debugging.assumption_fork to make the behaviour configurable
      - select default values based on meson buildtype:
        - debug/debugoptimized (default, e.g. used in CI) - abort and don't
          fork
        - plain/release - don't abort, but fork if abort is user-configured
      Verified
      30472874
  4. Nov 16, 2020
  5. 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
  6. 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
  7. Feb 25, 2020
  8. Jan 24, 2020
  9. Jun 13, 2019
  10. Apr 04, 2019
  11. Mar 12, 2019
  12. Jan 23, 2019
  13. Dec 11, 2018
  14. Aug 17, 2018
  15. Jul 16, 2018
  16. Jan 23, 2018
  17. Dec 21, 2017
    • Marek Vavruša's avatar
      modules/http: added /trace endpoint for request log tracing, added tests · 5e7e4c1e
      Marek Vavruša authored
      This leverages the HTTP interface to trace execution of individual
      requests. This is helpful for troubleshooting problems with a specific instance,
      or to generate test files (as it writes out answers received).
      
      Ideally it would also print a timeline of request processing broken down by
      function (or layer) and the amount of time spent, but there's no
      tracepoint for that yet.
      5e7e4c1e
  18. Nov 28, 2017
    • Marek Vavruša's avatar
      fixed issues with newer luacheck · 6c0b9868
      Marek Vavruša authored and Petr Špaček's avatar Petr Špaček committed
      Verified
      6c0b9868
    • Marek Vavruša's avatar
      tests/config: added a TAP-based test environment for modules/configs · f41676d2
      Marek Vavruša authored and Petr Špaček's avatar Petr Špaček committed
      I moved the test files to module directories because it allows
      vendoring of whole modules including tests etc.
      
      The test environment provides convenience functions and produces
      test output in TAP format. Ideally all tests should use a common
      format, so that CI can parse it provide better test output on PRs.
      It seems like Gitlab CI doesn't support anything yet, but there
      are two sort-of standards supported in CI tools - TAP and JUnit.
      I chose TAP because it's easier to read for humans, cmocka supports it,
      and it should be easier to adapt Deckard. There are also tools to
      convert TAP into JUnit XML file.
      
      Also added more tests for global functions and variables, and the
      test tool now also tracks coverage (if `luacov` is installed).
      Verified
      f41676d2
  19. Nov 24, 2017
    • Marek Vavruša's avatar
      daemon/lua: fixed unused variables, whitespace, cleanup · 3162da83
      Marek Vavruša authored
      Also fixed improper promotion of `ffi` to global variable.
      
      ```
      $ luacheck --codes daemon/lua/
      Checking daemon/lua/config.lua                    OK
      Checking daemon/lua/kres-gen.lua                  OK
      Checking daemon/lua/kres.lua                      OK
      Checking daemon/lua/sandbox.lua                   OK
      Checking daemon/lua/trust_anchors.lua             OK
      Checking daemon/lua/zonefile.lua                  OK
      
      Total: 0 warnings / 0 errors in 6 files
      ```
      3162da83
    • Marek Vavruša's avatar
      tests/config: added basic assert support (compatible with busted) · 14a0a181
      Marek Vavruša authored
      There is no dependency on a testing library yet, so I added a
      basic interface for mocking and asserting test values to get
      something to start with. I'll probably replace it with busted
      or telescope later on to get nicer testing output.
      14a0a181
  20. Nov 23, 2017
    • Marek Vavruša's avatar
      Added luacheck for linting Lua files and static analysis · 0e2ffb5d
      Marek Vavruša authored
      This is super useful for checking things like misusing undefined
      variables or modifying globals, especially in modules when it's
      not immediately visible which variables are in the global
      namespace and which are not.
      
      I added several exceptions for files in daemon/lua and tests,
      as for example sandbox module needs to legitimately modify
      global namespace.
      
      There's a lot of things failing, so I didn't make it part of the
      standard `make check`, but we should eventually enable it to
      improve code quality and spot problems with CI.
      0e2ffb5d