summaryrefslogtreecommitdiffstats
path: root/lib/libcbor/src
diff options
context:
space:
mode:
authorflorian <florian@openbsd.org>2019-11-27 17:12:31 +0000
committerflorian <florian@openbsd.org>2019-11-27 17:12:31 +0000
commitc9bbc175f3a62b6670bde85a6e64a8c4193651cc (patch)
tree04b45e0ebed1de555c7f3b1d736f488b78e99ba8 /lib/libcbor/src
parentMove resolver preference storage to a struct which makes it easier to (diff)
downloadwireguard-openbsd-c9bbc175f3a62b6670bde85a6e64a8c4193651cc.tar.xz
wireguard-openbsd-c9bbc175f3a62b6670bde85a6e64a8c4193651cc.zip
Instead of only considering if a resolving strategy is dead, works or
validates, measure how well it is doing. We keep track of the round trip median time of past queries and sort strategies according to this in addition to the more basic qualities of does it resolve and does it validate. If a query is not answered within the median time the next best strategy gets a chance. The most prefered strategy (either from the config file or defaults) gets an additional head start of 200ms. A response of SERVFAIL also advances to the next best strategy. This is helpful when the picked strategy can only see parts of the internet but another strategy can reach more. This alone gets us past quite a few captive portals already. Additionally we doubt NXDOMAIN from anything but the stub resolver for the first 5 minutes after a network change. This is probably as good as the http check we had previously but more tests are needed. This was inspired by RFC 8305, "Happy Eyeballs". OK otto
Diffstat (limited to 'lib/libcbor/src')
0 files changed, 0 insertions, 0 deletions