Commit Graph

81 Commits

Author SHA1 Message Date
corsmith d1a337f64b logging enhancement CLOAK (#742) 2019-03-02 18:01:21 +01:00
Frank Denis a726a40dc5 Add refused_code_in_responses
Fixes #737
2019-02-23 00:58:25 +01:00
Frank Denis 977dcad826 Improved return codes 2018-06-04 23:18:28 +02:00
Frank Denis 3bbdf93095 Log return codes in LTSV qeruylog files
DNS return codes are not enough; we need to change this to something
more expressive.

In particular, we can't use them to distinguish between a server block,
a blacklist block, and a plugin block such as the IPv6 blocker.
2018-06-04 21:35:07 +02:00
Frank Denis b6e6a19b50 Make logging plugins independent from query/response plugins 2018-06-04 20:52:16 +02:00
Frank Denis b1447160a0 Add cache_neg_min_ttl and cache_neg_max_ttl 2018-04-17 00:24:49 +02:00
Frank Denis 65e6b8569e Implement whitelists
Fixes #293
2018-04-07 23:02:40 +02:00
Frank Denis 636f92bae0 Truncated packets cannot be parsed by miekg/dns; clear the error flag when it happens
Fixes #177
2018-02-23 17:05:58 +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 033931a13a Add a new powerful plugin: DNS cloaking 2018-02-04 01:43:37 +01:00
Frank Denis d9b5625226 IP blocking 2018-01-21 16:07:44 +01:00
Frank Denis 1e0e01e8e1 NXLOG: a new output plugin to log suspicious queries 2018-01-20 16:59:40 +01:00
Frank Denis 96dadc7aca Forwarding plugin 2018-01-17 09:44:03 +01:00
Frank Denis 170e2e816e Implement blocking, fully compatible with rules from version 1 2018-01-17 02:40:47 +01:00
Frank Denis 0dcf2c9e06 Split plugins into individual files 2018-01-16 18:21:17 +01:00
Frank Denis 796186a078 Add support for LTSV query logging 2018-01-16 18:10:04 +01:00
Frank Denis 004fbef395 Fix source cache 2018-01-16 00:37:04 +01:00
Frank Denis 5685844f43 Implement query logging 2018-01-16 00:23:16 +01:00
Frank Denis 3ffad7be44 Add Init/Drop/Update methods to plugins
Eventually, we may want to provide a specific structure for plugin
initialization. Sending the whole Proxy structure doesn't scale well.
2018-01-15 23:07:41 +01:00
Frank Denis fee0a42dec Plugins can now access the client IP. Useful for logging and ACLs. 2018-01-14 23:47:49 +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 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 b86e7f268e Use more things from the config file 2018-01-10 12:09:59 +01:00
Frank Denis 20e3182692 Improve the plugins interface 2018-01-10 10:11:59 +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