Skip to content
Snippets Groups Projects
  1. Dec 07, 2016
  2. Nov 08, 2016
    • 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
    • Vladimír Čunát's avatar
      layer: rename knot_ identifiers that are private now · 4ad98bff
      Vladimír Čunát authored
      It causes lots of line changes, but it would be confusing to keep the
      current state over long term.
      4ad98bff
  3. Oct 11, 2016
  4. Aug 25, 2016
  5. Aug 23, 2016
  6. Aug 11, 2016
  7. Jul 18, 2016
    • Marek Vavruša's avatar
      daemon: always refetch CNAME target in 'strict' mode · 4e766ef0
      Marek Vavruša authored
      in normal mode, only final CNAME target is refetched, but
      not intermediate CNAMEs. intermediate CNAMEs are *never* cached,
      but they are used to get final name for requery. in strict mode now,
      every CNAME target is explicitly fetched even if it's a chained CNAME.
      4e766ef0
  8. Jul 16, 2016
  9. Jun 17, 2016
  10. May 23, 2016
  11. May 17, 2016
  12. May 06, 2016
  13. 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
  14. Apr 15, 2016
    • Marek Vavruša's avatar
      lib/iterate: QUERY_PERMISSIVE mode · dc300136
      Marek Vavruša authored
      in permissive mode, resolver is free to use
      (but not cache) non-mandatory glue records even
      if they're not resolvable. this is great as a 
      workaround for broken child-side zones, but
      not great for security of, well, insecure
      delegations. it's off by default.
      dc300136
  15. Apr 14, 2016
  16. Jan 20, 2016
    • Marek Vavruša's avatar
      lib/iterate: ignore out-of-bailiwick NSs for positive answers · 18e2771b
      Marek Vavruša authored and Grigorii Demidov's avatar Grigorii Demidov committed
      there are broken resolution chains where a zone cut is advertised,
      but it doesn't exist and the final NS answers from its parent's
      zone cut, which is an attempt to escape bailiwick
      
      example:
      
      resolving A ab.cd.ef
      NS ef responds:
       - ab.cd.ef NS X ; adverises ab.cd.ef zone cut
      X responds:
       - A ab.cd.ef A 1.2.3.4
       - cd.ef NS X ; escapes previously advertised cut
      
      on the other hand, it is important to fail early for referrals as
      it signifies a lame answer
      18e2771b
  17. Jan 19, 2016
    • Marek Vavruša's avatar
      lib/iterate: ignore out-of-bailiwick NSs for positive answers · 2800e375
      Marek Vavruša authored
      there are broken resolution chains where a zone cut is advertised,
      but it doesn't exist and the final NS answers from its parent's
      zone cut, which is an attempt to escape bailiwick
      
      example:
      
      resolving A ab.cd.ef
      NS ef responds:
       - ab.cd.ef NS X ; adverises ab.cd.ef zone cut
      X responds:
       - A ab.cd.ef A 1.2.3.4
       - cd.ef NS X ; escapes previously advertised cut
      
      on the other hand, it is important to fail early for referrals as
      it signifies a lame answer
      2800e375
  18. Dec 17, 2015
  19. Dec 11, 2015
  20. Nov 25, 2015
    • Marek Vavruša's avatar
      build: amalgamated build support with AMALG=1 · af4254d1
      Marek Vavruša authored
      amalgamated build concatenates all files into a single .c file to
      allow compiler see all symbols and produce possibly smaller code.
      for binary distributions this is what you want, as it's faster but
      may consume more memory during compilation.
      it however cannot do incremental builds.
      af4254d1
  21. Nov 19, 2015
  22. Nov 13, 2015
  23. Nov 03, 2015
  24. Oct 28, 2015
  25. Oct 27, 2015
  26. Oct 22, 2015
  27. Oct 14, 2015
  28. Oct 13, 2015
  29. Oct 11, 2015