Commit Graph

1095 Commits

Author SHA1 Message Date
Frank Denis e5f3eff760 Add DNS stamps to JSON output 2019-10-23 23:28:46 +02:00
Frank Denis 560577af00 Correctly honor MaxTimeout on Windows, too 2019-10-22 11:53:59 +02:00
Frank Denis 32b691a5c7 Merge branch 'master' of github.com:jedisct1/dnscrypt-proxy
* 'master' of github.com:jedisct1/dnscrypt-proxy:
  Reduce contention
  Don't name different things "ttl" to avoid confusion
  Reduce lock contention
  Nits
  Rename negTTL to rejectTTL to avoid confusion with cacheNegTTL
  feature: Add neg_ttl for rejected entries and cloak_ttl for cloaking-rules entries
  feature: xtransport: Expire CachedIPs, split resolve function from Fetch
  fix: xtransport: Check 'fallback_resolver'
  fix: xtransport: Ensure we strip [] from host/ip before net.ParseIP
  cleanup: xtransport: group all consts and alike
2019-10-22 11:51:38 +02:00
Frank Denis 94c16c3167 MaxTimeout is the maximum timeout, not the minimum
Fixes #977
2019-10-22 11:51:22 +02:00
Frank Denis 3ddb134190 Reduce contention 2019-10-21 18:50:20 +02:00
Frank Denis a0614510e9 Don't name different things "ttl" to avoid confusion 2019-10-21 18:40:47 +02:00
Frank Denis ffd60d21db Reduce lock contention 2019-10-21 18:36:47 +02:00
Frank Denis 70970d2333 Nits 2019-10-21 18:31:06 +02:00
Frank Denis a26b2b42f0 Rename negTTL to rejectTTL to avoid confusion with cacheNegTTL 2019-10-21 18:26:49 +02:00
Markus Linnala bb01595320 feature: Add neg_ttl for rejected entries and cloak_ttl for cloaking-rules
entries

Previously cache_min_ttl was used. But one can certainly set
cache_min_ttl to 0, but still ensure synthetic values have ttl.
Hence new config file options.
2019-10-21 18:12:49 +02:00
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