Commit Graph

123 Commits

Author SHA1 Message Date
Frank Denis dac52ab42a Completely remove support for the DNSCrypt protocol 2018-04-01 04:04:12 +02:00
Frank Denis 2eac8d52d5 Revert the cache clear
Implementing this is going to be more complicated
2018-03-21 10:17:13 +01:00
Frank Denis d2805a19e4 DoH: only use the optional IP to bootstrap resolution
Fixes #100
2018-03-21 09:32:35 +01:00
Frank Denis 817f2ff560 Don't pause the cert refresh timers if the host goes to hibernation 2018-03-07 18:29:58 +01:00
Frank Denis b643a816cc Add automatic log files rotation
Fixes #172
2018-03-02 10:34:00 +01:00
Frank Denis 97156c3ad3 Use atomic loads for the clients counter 2018-03-02 09:41:12 +01:00
Frank Denis 519af2e532 Revert "Allow -test 0"
This reverts commit 1e2c175e19.

Revert "Don't bind any sockets when using -test"

This reverts commit 982f341de8.

Revert "Implement -test to check certificates expiration"

This reverts commit 2158674d17.
2018-02-27 07:55:10 +01:00
Frank Denis 2158674d17 Implement -test to check certificates expiration 2018-02-27 02:52:45 +01:00
Frank Denis eac8732b2b Log servers returning SERVFAIL 2018-02-22 14:48:08 +01:00
Frank Denis 4ec5461b2f Mark servers as failing more aggressively 2018-02-22 14:20:59 +01:00
Frank Denis e1e283ac23 Better (and, for DoH, fixed) RTT estimation 2018-02-19 18:30:26 +01:00
Frank Denis af0833387a Close idle connections after an error; reduce idle connections timeout 2018-02-05 19:03:04 +01:00
Frank Denis 43f3e64bd9 DoH: fallback to GET on servers that don't support POST 2018-02-05 11:30:10 +01:00
Frank Denis 88434fc39f Prepare support for multiple load balancing strategies 2018-02-04 21:13:54 +01:00
Frank Denis 6f546b4c21 Use Cache-Control 2018-02-04 13:48:51 +01:00
Frank Denis ed60976dd2 Infer TTL from Date: and Expire: headers
Unfortunately, Google DNS sets Expire: to the same value as Date:

So we may want to use Cache-Control instead.
2018-02-04 13:35:40 +01:00
Frank Denis 458da8fa77 DoH: use 0 as a transaction ID
Reject short TCP queries early by the way
2018-02-04 12:57:54 +01:00
Frank Denis 9d69811de9 Add limits to HTTP requests 2018-02-04 11:33:04 +01:00
Frank Denis 033931a13a Add a new powerful plugin: DNS cloaking 2018-02-04 01:43:37 +01:00
Frank Denis 41a73ccb03 Time access restrictions [WIP]
Because my daughter spends way too much time on Youtube
Because people have been asking OpenDNS to implement this for the past 10 years
Because existing tools suck
Because I want something flexible, where every rule can be assigned a schedule
2018-01-31 23:08:38 +01:00
Frank Denis ecaf18f614 Use a fallback resolver if the local DNS configuration doesn't work
This should fix all chicken-and-egg issues
2018-01-30 15:47:39 +01:00
Frank Denis 24c21d5eb2 Start moving things to a custom transport 2018-01-30 13:29:47 +01:00
Frank Denis b6e5f55870 Move the proxy struct to its own file 2018-01-29 23:47:04 +01:00