Skip to content
Snippets Groups Projects
  1. Nov 02, 2016
    • Vladimír Čunát's avatar
      lru_get_new *can* return NULL · eeec66a1
      Vladimír Čunát authored
      ... and that doesn't necessarily mean that malloc() failed.
      We do *not* want to evict a heavy-hitter by an unfrequent element.
      
      Note: even the implementation currently in master *did* return NULL,
      so some parts of the code were just wrongly returning ENOMEM.
      eeec66a1
    • Vladimír Čunát's avatar
      lru: new implementation and also interface · 9d5beac5
      Vladimír Čunát authored
      The implementation is now similar to set-associative caches
      that x86 CPU use.  Also the API is changed a bit, leading to
      slight simplification of our use patterns.
      9d5beac5
  2. Sep 05, 2016
    • Marek Vavrusa's avatar
      lib/nsrep: respect -DFAVOUR_IPV6=X · 5013e18b
      Marek Vavrusa authored
      maintainer may wish to choose neutral or even
      more favoured server selection of IPv6 servers.
      
      -DFAVOUR_IPV6=0 makes neutral server selection
      -DFAVOUR_IPV6=40 gives IPv6 40ms better chance
      5013e18b
  3. Aug 25, 2016
  4. Aug 24, 2016
    • Marek Vavrusa's avatar
      lib/resolve: track rtt of all tried servers · d5f3f4e2
      Marek Vavrusa authored
      when doing fast retransmit, each address may be
      contacted 1-N times, but previously only cumulative
      RTT was tracked for the NS that sent the answer.
      
      now the approximate query start time is subtracted
      from cumulative RTT to give an idea how long it
      took since the query was actually sent, and all
      the NSs that didn't respond within their retransmit
      windows are penalised too
      d5f3f4e2
  5. Aug 23, 2016
  6. Jul 16, 2016
  7. May 06, 2016
  8. Dec 17, 2015
  9. Dec 03, 2015
    • Marek Vavruša's avatar
      lib/resolve: penalize failing NSs · 01ee9f37
      Marek Vavruša authored
      any answer that is considered as malformed/servfail/otherwise bad
      penalizes the NS for the next time like timeout, this doesn't apply for
      DNSSEC validation failures as it still may be okay for insecure
      resolution. EDNS failures are okay because the server is requeried in
      the most simple RFC1035 mode before flagging it as failed
      
      this avoids instant requeries for SERVFAILing resolutions
      01ee9f37
  10. Nov 24, 2015
  11. Nov 15, 2015
  12. Oct 28, 2015
  13. Oct 07, 2015
  14. Sep 29, 2015
  15. Jun 27, 2015
  16. Jun 22, 2015
  17. Jun 16, 2015
  18. Jun 07, 2015
    • Marek Vavruša's avatar
      lib/resolve: do not reelect NS after addr resolution · b2127d21
      Marek Vavruša authored
      previously if NS had no A/AAAA records, they we’re looked up in subrequests, after that a new NS was reelected (possibly preferring another unknown), now it stays true to the NS of choice and changes only if it is unuseable
      b2127d21
  19. Jun 06, 2015
  20. Jun 04, 2015
  21. Jun 03, 2015
    • Marek Vavruša's avatar
      lib/nsrep: probabilistic NS probing strategy · 2fff8c8c
      Marek Vavruša authored
      simplified bee foraging strategy, by default each query goes to the most rewarding NS
      however with a chance proportional to the NS RTT, a server may be probed even if it isn’t the most rewarding
      2fff8c8c
  22. Jun 01, 2015
    • Marek Vavruša's avatar
      lib/nsrep: persistent NS RTT/reputation tracking · e19396cc
      Marek Vavruša authored
      score has now meaning of ‘RTT’, maximum RTT is 10s
      which is also the penalty for timeout
      unknown servers are favorized as 10ms servers to
      encourage resolver to try them out, if they contain
      unknown glue they are most favourable
      e19396cc
  23. May 18, 2015
  24. Apr 22, 2015
  25. Apr 18, 2015
  26. Apr 10, 2015
  27. Feb 15, 2015