Commit Graph

1337 Commits

Author SHA1 Message Date
Frank Denis 01d424a942 Use net.ParseIP() to add missing port numbers 2018-01-14 00:15:01 +01:00
Frank Denis 1b7b6418f1 Restrict the set of resolvers used from a remote source 2018-01-14 00:10:20 +01:00
Frank Denis 13e30ade2b Skip empty lines in the CSV file 2018-01-13 23:53:33 +01:00
Frank Denis a361aa52f3 Preliminary support for remote sources 2018-01-13 23:52:44 +01:00
Frank Denis e9faf4368c Load the toml file from the current directory by default 2018-01-13 00:14:12 +01:00
Frank Denis 9a3cd91cd7 Use dlog for everything 2018-01-11 11:50:54 +01:00
Frank Denis 735213f45a Use glog 2018-01-11 02:11:54 +01:00
Frank Denis 822ae27a46 Always use negative caching except on srvfail (and obviously on success) 2018-01-10 23:26:03 +01:00
Frank Denis 1527d6ed5e Improve caching 2018-01-10 22:47:29 +01:00
Frank Denis 3dd473910b Doc 2018-01-10 19:49:39 +01:00
Frank Denis 3fe60f64c4 So, daemonization only works on linux :/ 2018-01-10 19:49:02 +01:00
Frank Denis 99c5273e3a Add configuration cache size and other parameters 2018-01-10 19:32:56 +01:00
Frank Denis b60c728067 If computeCacheKey ever returns an error, bubble it up 2018-01-10 19:23:24 +01:00
Frank Denis 132add7955 Use a LRU for the cache 2018-01-10 19:02:43 +01:00
Frank Denis 8e73bb4a2c Working DNS cache 2018-01-10 18:53:09 +01:00
Frank Denis 77cdc1db78 Start implementing a basic cache 2018-01-10 18:32:05 +01:00
Frank Denis f283105866 Implement the IPv6 block plugin 2018-01-10 17:23:20 +01:00
Frank Denis fb16eadb24 Single entry for now 2018-01-10 16:43:11 +01:00
Frank Denis fa22cc32d7 Basic load balancing/failover
Try to send queries to one of the two fastest servers
2018-01-10 16:42:14 +01:00
Frank Denis 9eeb799d6e Many improvements 2018-01-10 16:01:29 +01:00
Frank Denis 32a8a3d3e2 Get the path to the config file from the command line 2018-01-10 13:40:50 +01:00
Frank Denis 6dfcb659d4 Handle daemonization 2018-01-10 13:33:06 +01:00
Frank Denis b86e7f268e Use more things from the config file 2018-01-10 12:09:59 +01:00
Frank Denis 2822a9781b Add a config file 2018-01-10 12:02:09 +01:00
Frank Denis 20e3182692 Improve the plugins interface 2018-01-10 10:11:59 +01:00
Frank Denis efd0477c2b Implement an actual estimator for the response size
Scale back the minimum question size when relevant.

Did I mention that this is yet another thing that was never properly
implemented in dnscrypt-proxy 1.x?
2018-01-10 09:46:27 +01:00
Frank Denis f4346691bc Transform queries via an initial edns mangling plugin
Yet another thing that was utterly broken in dnscrypt-proxy v1.x
2018-01-10 09:04:03 +01:00
Frank Denis 705cf440b1 Skip queries without a question 2018-01-10 03:04:13 +01:00
Frank Denis d8f8d561c8 Synthesize a truncated response if the response wouldn't fit the local MSS 2018-01-10 02:52:09 +01:00
Frank Denis ab9006e74c Be more tolerant with invalid/unsupported certificates 2018-01-10 00:38:37 +01:00
Frank Denis 3049f43bc7 Nits 2018-01-10 00:32:16 +01:00
Frank Denis 72a6963f2e Cleanups 2018-01-10 00:31:12 +01:00
Frank Denis 35ec5bd044 We can now receive queries on UDP and forward them on TCP
Something that had never been possible with the old implementation
2018-01-09 20:10:06 +01:00
Frank Denis 1a59d93192 Support TCP connection to the backend 2018-01-09 19:47:24 +01:00
Frank Denis 888db6a8fb The preferred protocol will be a global (for Tor users) 2018-01-09 18:42:24 +01:00
Frank Denis ce5e0c8031 Try to retrieve the certificates using UDP before TCP 2018-01-09 18:37:37 +01:00
Frank Denis 841bf65d61 Reorganize 2018-01-09 18:32:14 +01:00