Commit Graph

1235 Commits

Author SHA1 Message Date
Markus Linnala bc831816f5 feature: xtransport: Expire CachedIPs, split resolve function from Fetch
I selected default ttl when resolving using system to be 86400 / 24h.

As the program can run long time, I think it is relevant to honor TTL
when resolving and caching results.

Change cache internal format from string to net.IP. This should ensure
there is no need to further check validity of value later when using.

Resolve part was too big and had only one purpose. So it is fine
candidate to be own function.
2019-10-21 18:12:49 +02:00
Markus Linnala d14d78e648 fix: xtransport: Check 'fallback_resolver'
And also DefaultFallbackResolver.

As far a I could see, value needs to have port defined
too. dns.Exchange does seem to use address as such.
2019-10-21 18:12:49 +02:00
Markus Linnala 890dcca270 fix: xtransport: Ensure we strip [] from host/ip before net.ParseIP 2019-10-21 18:12:49 +02:00
Markus Linnala ac4843b460 cleanup: xtransport: group all consts and alike
This is mainly for case where more consts are added.

Also I think those vars were not variables but treated as
const.
2019-10-21 18:12:49 +02:00
Frank Denis 92e632daf1 Fail on failure :) 2019-10-20 23:07:36 +02:00
Markus Linnala 1cb9a360de fix: proxy: Add missing logging in a case where flow does not return 2019-10-20 22:27:30 +02:00
Frank Denis 74c1f4a00d Use the relay for cert retrieval over TCP, tooo
But don't use a relay if a proxy has been specified already
2019-10-20 21:45:19 +02:00
Markus Linnala fc9509a8c8 fix: proxy: Trigger query logging plugins using defer
This is more robust and uses lot less lines.
2019-10-20 21:30:24 +02:00
Markus Linnala 1b4f873026 fix: serversInfo: use lb strategy always even with estimator
I don't see why estimator should select which candidate to use.
2019-10-20 21:30:24 +02:00
Markus Linnala bc9a37e550 fix: serversInfo: Fix strategy ph to use half of values
Without this fix 'ph' is essentially the same sa 'p2'.
2019-10-20 21:30:24 +02:00
Markus Linnala 147078d588 cleanup: serversInfo: parse host from ServerAddrStr with ExtractHostAndPort
Use only one method to parse host from port.
2019-10-20 21:30:24 +02:00
Markus Linnala 659ff4b19d cleanup: plugins: rename error variable as err
Follow go naming tradition.
2019-10-20 21:30:24 +02:00
Markus Linnala 6ba2ff4fdc cleanup: config: rename static config as StaticsConfig
Naming similar as SourcesConfig.
2019-10-20 21:30:24 +02:00
Frank Denis 084896c3e1 Update changelog 2019-10-20 19:50:19 +02:00
Frank Denis c11723101a Bump 2019-10-20 19:46:25 +02:00
Frank Denis fccf0ba984 Improve logging 2019-10-20 19:40:03 +02:00
Frank Denis f565d3c7f5 Documentation 2019-10-20 19:30:33 +02:00
Frank Denis 5c28950578 Bump the default timeout up
Because, yes, some networks have a lot of latency
2019-10-20 19:22:02 +02:00
Frank Denis 551ddcf199 Improve logging 2019-10-20 19:11:54 +02:00
Frank Denis 2785cc579e Use bigger cert padding 2019-10-20 18:02:14 +02:00
Frank Denis 340a2ead9c Quick ChangeLog update 2019-10-20 15:12:04 +02:00
Frank Denis 0a4bd845df systemd keeps breaking things 2019-10-20 14:57:28 +02:00
Frank Denis 320197a00e Accept relay names in routes, improve documentation 2019-10-20 14:19:21 +02:00
Frank Denis 535bce308c Retry over a direct connection if we can't get a cert via a relay
This is temporary and only to provide compatibility with servers not
running the latest version of encrypted-dns-server.
2019-10-20 12:26:12 +02:00
Frank Denis f9c244db10 Fix typo
I'm quite surprised that it didn't break Android builds
2019-10-20 12:03:20 +02:00
Frank Denis 7fc7eb6f07 Bump 2019-10-20 02:15:06 +02:00
Frank Denis fbe9f225dd Reencrypt on TCP retries 2019-10-20 02:04:32 +02:00
Frank Denis 661477bf09 Note 2019-10-20 01:35:27 +02:00
Frank Denis ff13c813e4 Support relaying for certificates retrieval 2019-10-19 23:50:05 +02:00
Frank Denis d6b63aaf15 Pad certificate requests and add support for proxies 2019-10-19 22:08:02 +02:00
Alison Winters ac6fd3db39 differentiate between timeout and other error for dnscrypt servers 2019-10-19 10:36:26 +02:00
Markus Linnala 0058bc063e feature: service_linux: Support systemd watchdog 2019-10-19 09:36:39 +02:00
Frank Denis 18ba5fe528 Add a SERVFAIL comment because miekg/dns names are a bit unusual 2019-10-18 20:51:11 +02:00
Frank Denis 94cf37dacf Do the netprobe even in offline mode
This is likely to be required at least on Windows.
2019-10-18 20:34:26 +02:00
Frank Denis bcaf0bca96 proxy.certIgnoreTimestamp should only be downgradable 2019-10-18 20:30:41 +02:00
Markus Linnala e5221167e1 cleanup: serversInfo: refreshServer does not use previousIndex as index, use bool instead 2019-10-18 20:24:11 +02:00
Markus Linnala 2a51dca073 cleanup: serversInfo: fetchServerInfo does not use serversInfo 2019-10-18 20:24:11 +02:00
Markus Linnala 683b111bf9 cleanup: serversInfo: simplify handling onld/new servers 2019-10-18 20:24:11 +02:00
Markus Linnala 63520e494d fix: updateTTL guard against overflow 2019-10-18 20:24:11 +02:00
Markus Linnala 13e9c15212 cleanup: MinDNSPacketSize is checked next 2019-10-18 20:24:11 +02:00
Markus Linnala c699e7bec4 cleanup: estimators: simplify blindAdjust 2019-10-18 20:24:11 +02:00
Markus Linnala 111072dec5 change: systemd_linux: Fail if there is error to setup listeners 2019-10-18 20:24:11 +02:00
Markus Linnala acb4bbd002 fix: plugins: use deferred lock to catch all branches 2019-10-18 20:24:11 +02:00
Markus Linnala 5bf5fe6c1d cleanup: main: simplify proxy handling 2019-10-18 20:24:11 +02:00
Markus Linnala cab67ba5a9 cleanup: drop registerServer proxy as not used 2019-10-18 20:24:11 +02:00
Markus Linnala 21d71ac9be change: serversInfo: Use sort instead of own implementation 2019-10-18 20:24:11 +02:00
Markus Linnala 9b019574a0 cleanup: serversInfo : Simplify liveServers handling 2019-10-18 20:24:11 +02:00
Markus Linnala a941cbd893 cleanup: xtransport: simplify body creation 2019-10-18 20:24:11 +02:00
Markus Linnala 345ec56cab cleanup: xtransport: move onion check earlier to fail fast 2019-10-18 20:24:11 +02:00
Markus Linnala df03065eaf change: xtransport: Return http response status string as error, do name make own string
This gives much better possibilities to diagnose problems than error
message with only "informative" part being 500.
2019-10-18 20:24:11 +02:00