Commit Graph

28 Commits

Author SHA1 Message Date
gthess
f7fe95ad7b
Serve stale (#159)
- Added serve-stale functionality as described in
  draft-ietf-dnsop-serve-stale-10. `serve-expired-*` options can be used
  to configure the behavior.
- Updated cachedb to honor `serve-expired-ttl`; Fixes #107.
- Renamed statistic `num.zero_ttl` to `num.expired` as expired replies
  come with a configurable TTL value (`serve-expired-reply-ttl`).
- Fixed stats when replying with cached, cname-aliased records.
- Added missing default values for redis cachedb backend.
2020-02-05 14:20:27 +01:00
W.C.A. Wijngaards
079de39b46 - Fix #157: undefined reference to `htobe64'. 2020-01-29 11:56:29 +01:00
W.C.A. Wijngaards
2dcc7016ac - Fix Local Memory Leak in cachedb_init(),
reported by X41 D-Sec.
2019-11-20 12:56:39 +01:00
W.C.A. Wijngaards
13d96540de - Use explicit bzero for wiping clear buffer of hash in cachedb,
reported by Eric Sesterhenn from X41 D-Sec.
2019-09-11 15:31:03 +02:00
W.C.A. Wijngaards
9b7843f879 - Fix #29: Solaris 11.3 and missing symbols be64toh, htobe64. 2019-05-06 09:26:23 +02:00
Ralph Dolmans
2e5e31e8ac - Added serve-expired-ttl and serve-expired-ttl-reset options.
git-svn-id: file:///svn/unbound/trunk@4876 be551aaa-1e26-0410-a405-d3ace91eadb9
2018-08-28 14:21:56 +00:00
Wouter Wijngaards
170c03f7db fix compile.
git-svn-id: file:///svn/unbound/trunk@4596 be551aaa-1e26-0410-a405-d3ace91eadb9
2018-03-22 09:39:26 +00:00
Ralph Dolmans
9f0d521b88 - Do use cached NSEC records to generate negative answers for domains under
DNSSEC Negative Trust Anchors.


git-svn-id: file:///svn/unbound/trunk@4593 be551aaa-1e26-0410-a405-d3ace91eadb9
2018-03-21 14:34:17 +00:00
Wouter Wijngaards
e1e629e592 - corrected a minor typo in the changelog.
- move htobe64/be64toh portability code to cachedb.c.


git-svn-id: file:///svn/unbound/trunk@4591 be551aaa-1e26-0410-a405-d3ace91eadb9
2018-03-16 06:46:56 +00:00
Wouter Wijngaards
e784758a21 - Add --with-libhiredis, unbound support for a new cached backend
that uses a Redis server as the storage.  This implementation
  depends on the hiredis client library (https://redislabs.com/lp/hiredis/).
  And unbound should be built with both --enable-cachedb and
  --with-libhiredis[=PATH] (where $PATH/include/hiredis/hiredis.h
  should exist).  Patch from Jinmei Tatuya (Infoblox).


git-svn-id: file:///svn/unbound/trunk@4586 be551aaa-1e26-0410-a405-d3ace91eadb9
2018-03-15 12:33:51 +00:00
Ralph Dolmans
77f78152ee - Aggressive use of NSEC implementation. Use cached NSEC records to generate
NXDOMAIN, NODATA and positive wildcard answers.


git-svn-id: file:///svn/unbound/trunk@4522 be551aaa-1e26-0410-a405-d3ace91eadb9
2018-02-08 13:16:36 +00:00
Wouter Wijngaards
df6fbb82be - Fix #3397: Fix that cachedb could return a partial CNAME chain.
git-svn-id: file:///svn/unbound/trunk@4445 be551aaa-1e26-0410-a405-d3ace91eadb9
2018-01-22 13:54:20 +00:00
Wouter Wijngaards
55d8fe2837 - use a cachedb answer even if it's "expired" when serve-expired is yes
(patch from Jinmei Tatuya).
- trigger refetching of the answer in that case (this will bypass
  cachedb lookup)
- allow storing a 0-TTL answer from cachedb in the in-memory message
  cache when serve-expired is yes


git-svn-id: file:///svn/unbound/trunk@4353 be551aaa-1e26-0410-a405-d3ace91eadb9
2017-09-19 09:08:29 +00:00
Wouter Wijngaards
4194c613bf lock_protect mutex in cachedb.
git-svn-id: file:///svn/unbound/trunk@4331 be551aaa-1e26-0410-a405-d3ace91eadb9
2017-08-31 14:16:07 +00:00
Wouter Wijngaards
79c45131d1 - Fix #1424: cachedb:testframe is not thread safe.
git-svn-id: file:///svn/unbound/trunk@4323 be551aaa-1e26-0410-a405-d3ace91eadb9
2017-08-31 07:35:08 +00:00
Wouter Wijngaards
ae67923bab - Fix #1398: make cachedb secret configurable.
git-svn-id: file:///svn/unbound/trunk@4295 be551aaa-1e26-0410-a405-d3ace91eadb9
2017-08-08 09:04:51 +00:00
Wouter Wijngaards
c52c07c086 - Fix #1350: make cachedb backend configurable (from JINMEI Tatuya).
git-svn-id: file:///svn/unbound/trunk@4275 be551aaa-1e26-0410-a405-d3ace91eadb9
2017-07-17 08:21:19 +00:00
Wouter Wijngaards
75cb40edd1 - Fix #1275: cached data in cachedb is never used.
git-svn-id: file:///svn/unbound/trunk@4207 be551aaa-1e26-0410-a405-d3ace91eadb9
2017-06-06 12:08:14 +00:00
Wouter Wijngaards
e4c60435d2 - Fix #1273: cachedb.c doesn't compile with -Wextra.
git-svn-id: file:///svn/unbound/trunk@4200 be551aaa-1e26-0410-a405-d3ace91eadb9
2017-05-31 05:42:23 +00:00
Wouter Wijngaards
c5cfa6c09c remove warning.
git-svn-id: file:///svn/unbound/trunk@4156 be551aaa-1e26-0410-a405-d3ace91eadb9
2017-05-16 07:30:44 +00:00
George Thessalonikefs
7b948b0647 - Added generic EDNS code for registering known EDNS option codes,
bypassing the cache response stage and uniquifying mesh states. Four EDNS
  option lists were added to module_qstate (module_qstate.edns_opts_*) to
  store EDNS options from/to front/back side.
- Added two flags to module_qstate (no_cache_lookup, no_cache_store) that
  control the modules' cache interactions.
- Added code for registering inplace callback functions. The registered
  functions can be called just before replying with local data or Chaos,
  replying from cache, replying with SERVFAIL, replying with a resolved
  query, sending a query to a nameserver. The functions can inspect the
  available data and maybe change response/query related data (i.e. append
  EDNS options).
- Updated Python module for the above.
- Updated Python documentation.



git-svn-id: file:///svn/unbound/trunk@3947 be551aaa-1e26-0410-a405-d3ace91eadb9
2016-12-06 13:42:51 +00:00
Wouter Wijngaards
58cb15c52a Fixup cachedb for root prime module return.
git-svn-id: file:///svn/unbound/trunk@3905 be551aaa-1e26-0410-a405-d3ace91eadb9
2016-10-24 13:01:19 +00:00
Wouter Wijngaards
f22a9f2762 Fixup chachedb printout.
git-svn-id: file:///svn/unbound/trunk@3900 be551aaa-1e26-0410-a405-d3ace91eadb9
2016-10-20 14:56:08 +00:00
Wouter Wijngaards
40dd2acfd9 - generic edns option parse and store code.
git-svn-id: file:///svn/unbound/trunk@3740 be551aaa-1e26-0410-a405-d3ace91eadb9
2016-05-31 15:08:05 +00:00
Wouter Wijngaards
dcc41cc8e1 comment notes.
git-svn-id: file:///svn/unbound/trunk@3707 be551aaa-1e26-0410-a405-d3ace91eadb9
2016-04-19 15:10:20 +00:00
Wouter Wijngaards
990c3eef48 More cachedb work.
git-svn-id: file:///svn/unbound/trunk@3705 be551aaa-1e26-0410-a405-d3ace91eadb9
2016-04-18 14:59:31 +00:00
Wouter Wijngaards
7fdde81b8f - cachedb module event handling design.
git-svn-id: file:///svn/unbound/trunk@3700 be551aaa-1e26-0410-a405-d3ace91eadb9
2016-04-15 14:19:00 +00:00
Wouter Wijngaards
f103787644 - cachedb module framework (empty).
git-svn-id: file:///svn/unbound/trunk@3698 be551aaa-1e26-0410-a405-d3ace91eadb9
2016-04-14 14:50:18 +00:00