Commit Graph

185 Commits (master)

Author SHA1 Message Date
Frank Denis c0faa11ac1 Return a HINFO record when a query is blocked
This is extremely useful to understand why a query doesn't return
e.g. IP addresses that resolve from other servers
5 years ago
Frank Denis ca35d6fdc8 Ensure that PK prefixes don't match the Anonymized DNSCrypt query magic 5 years ago
Frank Denis cf41840573 We can use Default::default() instead of tokio's Handle
What kind of magic is that?
5 years ago
Frank Denis 5afc1f1a6a Ignore casing for caching 5 years ago
Frank Denis fbf8a72d4f Remove CIR 5 years ago
Frank Denis 4c07e91b3f Limit the number of concurrent connections to the metrics 5 years ago
Frank Denis 8cbd5bb6b6 futres::prelude::* may not always be needed 5 years ago
Frank Denis 22d84a748c Add process feature to prometheus, and a timeout for clients 5 years ago
Frank Denis a67572f6f2 Add cache hit ratio 5 years ago
Frank Denis 1a53a1906b Silent warning 5 years ago
Frank Denis 86ab29c06a More Prometheus metrics 5 years ago
Frank Denis cd98c5627c More Prometheus metrics 5 years ago
Frank Denis 71699d8476 Some initial metrics 5 years ago
Frank Denis 27e6097dc9 Prometheus metrics 5 years ago
Frank Denis f77a5aed47 Add metrics 5 years ago
Frank Denis e5a42ebfa1 Do not forget to define rcode_refused 5 years ago
Frank Denis 4bc939977e Serve stale on REFUSED, too 5 years ago
Frank Denis 7ab967e163 Refactor the resolver part a little bit 5 years ago
Frank Denis 6fa13f825d Revert direct usage of FutureExt 5 years ago
Frank Denis 7ebcc7287e Tokio update, that makes things more complicated 5 years ago
Frank Denis 18fe23471d Nits 5 years ago
Frank Denis e4df83410f Keep DNS_FLAGS_CD and DNS_FLAGS_RD 5 years ago
Frank Denis 1e33f82887 Clear answer count on synthetic responses 5 years ago
Frank Denis 6f99d404d6 Typo 5 years ago
Frank Denis 518f0ce17d Implement support for server-side blacklists 5 years ago
Frank Denis cc53be8cf8 Better error messages 5 years ago
Frank Denis 3d07f98f90 Block on the updater 5 years ago
Frank Denis f343802fd0 Revert "Nits"
This reverts commit 0f63c5e594.
5 years ago
Frank Denis 0f63c5e594 Nits 5 years ago
Frank Denis 653c4e1de7 Better error handling 5 years ago
Frank Denis 41f4d77212 Update env_logger 5 years ago
Frank Denis 0b76ef2cce Change the format of how IP addresses are specified 5 years ago
Frank Denis c0c66e6254 We don't define any custom error types 5 years ago
Frank Denis 16b5db8c01 u8 vs i8 5 years ago
Frank Denis a5a84b5bdd Log to file 5 years ago
Frank Denis c60a1734eb Improved daemonization 5 years ago
Frank Denis 749ee9f7bf Serve stale if cached and a shorter timeout occurs 5 years ago
Frank Denis a9fe22fa7e Move the resolver to its own file 5 years ago
Frank Denis ba96f014ef Make DNS cache TTLs configurable 5 years ago
Frank Denis 267a260801 Only force a state update if necessary 5 years ago
Frank Denis 56a8e2eb6a Add TTL and serve-stale support to the DNS cache
Force certificate refresh on load
5 years ago
Frank Denis 2135af9610 up 5 years ago
Frank Denis c98a202f80 Add a simple built-in DNS cache
(TTL is not handled yet)
5 years ago
Frank Denis cf1cbdb51d Split the resolution part 5 years ago
Frank Denis 2366456eb0 up 5 years ago
Frank Denis 1dd5ed07c1 Import from dnscrypt-wrapper 5 years ago
Frank Denis e681e43070 ADd a key cache and improve logging 5 years ago
Frank Denis f0c6235d33 Save states asynchronously 5 years ago
Frank Denis 360172601f Nits 5 years ago
Frank Denis bc4b10f637 Save resolver keys and certificates in the state 5 years ago
Frank Denis 0592855b25 kaboom the compiler 5 years ago
Frank Denis 77a5878a52 Remove unused things 5 years ago
Frank Denis 97de11bb71 Only serve the freshest certificate 5 years ago
Frank Denis 8268f4d241 Better auto renewal 5 years ago
Frank Denis 6c10602af6 Automatic cert renewal 5 years ago
Frank Denis 93774a892f Set Unix permissions on the state file 5 years ago
Frank Denis 00cab788b8 Drop privileges 5 years ago
Frank Denis e31363e926 Move everything to a configuration file 5 years ago
Frank Denis 2c519a2b46 Move to TOML (1) 5 years ago
Frank Denis d8d8757c74 TLS proxy return code 5 years ago
Frank Denis a62b4a0cf7 Add TLS proxying 5 years ago
Frank Denis ec91355e74 Padding length tweak 5 years ago
Frank Denis a0454b8aff Detect TLS connections 5 years ago
Frank Denis 89704db220 Be less restrictive regarding packet sizes 5 years ago
Frank Denis 7c76ee9a13 Clean a few things 5 years ago
Frank Denis a135814891 Persist the provider key
Of course we also need to persist the resolver keys
5 years ago
Frank Denis 67a935f291 Padding 5 years ago
Frank Denis 0505f886e5 Handle truncated responses when len(query)<len(response) 5 years ago
Frank Denis 159cf743c2 Pre-reserve enough room for responses 5 years ago
Frank Denis 59ba64d946 Avoid useless allocation 5 years ago
Frank Denis eb1b857274 Send encrypted DNS responses 5 years ago
Frank Denis 65c2bba989 Keep the shared secret around 5 years ago
Frank Denis 337eb4924d Refactor a bit, remove question padding 5 years ago
Frank Denis 5f0bb6daf5 Start decrypting DNSCrypt queries 5 years ago
Frank Denis 58c5452084 Set TCP source address for outgoing connections 5 years ago
Frank Denis e1bd1f52dc Recycle old connections 5 years ago
Frank Denis 236b424fbe Keep track of the number of clients 5 years ago
Frank Denis 82924686d9 Check the peer address
Just for paranoia, as it is redundant with the connect() call, but
cheap enough and the connect() call may eventually be removed.
5 years ago
Frank Denis 0c1ba485f4 merge 5 years ago
Frank Denis 0b3eabb488 Retry truncated responses over TCP 5 years ago
Frank Denis 35819a2375 Proxying 5 years ago
Frank Denis f7b2a1777a up 5 years ago
Frank Denis 46c933e398 Print the DNS stamp at startup 5 years ago
Frank Denis 8689469722 up 5 years ago
Frank Denis 1dc7ce9a05 up 5 years ago