Yorgos Thessalonikefs
73e408f1d0
A few changes for TTL processing:
...
- Cached messages that reach 0 TTL are considered expired. This prevents
Unbound itself from issuing replies with TTL 0 and possibly causing a
thundering herd at the last second. Upstream replies of TTL 0 still
get the usual pass-through but they are not considered for caching
from Unbound or any of its caching modules.
- 'serve-expired-reply-ttl' is changed and is now capped by the original
TTL value of the record to try and make some sense when replying
with expired records.
- TTL decoding was updated to adhere to RFC8767 section 4 where a set
high-order bit means the value is positive instead of 0.
2025-09-15 10:03:35 +02:00
Yorgos Thessalonikefs
d521135f66
Merge branch 'master' into features/no-ttl-zero-cacherep
2025-09-12 15:24:06 +02:00
Yorgos Thessalonikefs
c5c5486261
- Fix hash calculation for cachedb to ignore case. Previously, cached
...
records there were only relevant for same case queries (if not
already in Unbound's internal cache).
2025-02-24 14:47:13 +01:00
W.C.A. Wijngaards
50fcf71f04
- ttl-zero-cacherep, Responses in the last second of their cache TTL,
...
get an extra second. That makes the TTL not 0, since they are from
cache and can be cached by the client.
2024-11-11 15:43:10 +01:00
W.C.A. Wijngaards
d5e91d181b
- Fix for the serve expired DNSSEC information fix, it would not allow
...
current delegation information be updated in cache. The fix allows
current delegation and validation recursion information to be
updated, but as a consequence no longer has certain expired
information around for later dnssec valid expired responses.
2024-11-05 10:39:27 +01:00
W.C.A. Wijngaards
5679c8b1df
- Fix to limit NSEC TTL for messages from cachedb. Fix to limit the
...
prefetch ttl for messages after a CNAME with short TTL.
2024-10-09 15:28:55 +02:00
Yorgos Thessalonikefs
2e398d51ba
Fix cache update when serve expired is used ( #1143 )
...
- Fix cache update when serve expired is used in order to not evict
still usable expired records. Modules are forbidden to update the
cache if their answer is DNSSEC unchecked or bogus and a valid
(expired) entry already exists. Bogus replies from the validator are
also discarded in favor of existing (expired) valid replies.
- serve-expired-ttl-reset should try to keep expired records in the
cache in case they are reset.
2024-09-24 16:47:04 +02:00
W.C.A. Wijngaards
a335e601e4
ipset-pf-support, move startup and destartup to the front of the module
...
func block functions, modstack call deinit function names, and detect
module change when no startup functions are needed.
2024-07-03 13:53:44 +02:00
W.C.A. Wijngaards
ff653a7ef8
Call module init init again, and new function startup and destartup.
...
NULL can be used if the function is not used. Open shared ports during
reload. Deinit is called during reload.
2024-07-01 16:10:07 +02:00
W.C.A. Wijngaards
3953f827fb
Merge branch 'master' of https://github.com/madroach/unbound into ipset-pf-support
2024-07-01 14:36:33 +02:00
W.C.A. Wijngaards
fbdc06ebc4
- Fix for #1064 : Fix that cachedb expired messages are considered
...
insecure, and thus can be served to clients when dnssec is enabled.
2024-05-21 17:06:18 +02:00
W.C.A. Wijngaards
da2b307aa3
- Fix #1071 : [FR] Clear both in-memory and cachedb module cache with
...
`unbound-control flush*` commands.
2024-05-16 16:56:58 +02:00
W.C.A. Wijngaards
7c5e765b3b
- Fix cachedb with serve-expired-client-timeout disabled. The edns
...
subnet module deletes global cache and cachedb cache when it
stores a result, and serve-expired is enabled, so that the global
reply, that is older than the ecs reply, does not return after
the ecs reply expires.
2024-04-26 13:32:15 +02:00
Wouter Wijngaards
ced9762b14
Merge pull request #1041 from NLnetLabs/stubfwd-unshare
...
Stub and Forward unshare
2024-04-25 11:11:00 +02:00
W.C.A. Wijngaards
491b56d051
- Fixup cachedb to not refetch when serve-expired-client-timeout is
...
used.
2024-04-12 14:22:18 +02:00
W.C.A. Wijngaards
08fb9a9209
- Fix cachedb for serve-expired with serve-expired-client-timeout.
2024-04-12 11:26:53 +02:00
W.C.A. Wijngaards
04ff2672b5
- Fix to not reply serve expired unless enabled for cachedb.
2024-04-10 17:06:01 +02:00
W.C.A. Wijngaards
d47849a26e
- Fix cachedb for serve-expired with serve-expired-reply-ttl.
2024-04-10 17:01:57 +02:00
W.C.A. Wijngaards
d98c7b9ae3
- Implement cachedb-check-when-serve-expired: yes option, default
...
is enabled. When serve expired is enabled with cachedb, it first
checks cachedb before serving the expired response.
2024-04-10 11:21:28 +02:00
W.C.A. Wijngaards
f2fb498c69
- fast-reload, unshare forwards, making the structure locked, with an rwlock.
2024-04-03 13:55:54 +02:00
W.C.A. Wijngaards
47094fd83f
Merge branch 'master' into cachedb-no-store
2023-10-11 13:51:34 +02:00
W.C.A. Wijngaards
f2528dc3ac
- Fix that cachedb does not warn when serve-expired is disabled about
...
use of serve-expired-reply-ttl and serve-expired-client-timeout.
2023-10-11 13:29:56 +02:00
W.C.A. Wijngaards
ae96aa0a6d
- cachedb-no-store, implement cachedb-no-store: yes configuration option.
2023-10-06 13:22:10 +02:00
W.C.A. Wijngaards
3160d6ac08
- Fix for #925 : unbound.service: Main process exited, code=killed,
...
status=11/SEGV. Fixes cachedb configuration handling.
2023-08-21 11:28:49 +02:00
Yorgos Thessalonikefs
5f76e201f0
- For #790 : Update formatting in cachedb/cachedb.c
...
Co-authored-by: Wouter Wijngaards <wcawijngaards@users.noreply.github.com>
2023-07-31 10:13:01 +02:00
George Thessalonikefs
f97927a47e
Merge branch 'master' into features/ede-caching-cachedb
2023-07-30 14:17:52 +02:00
George Thessalonikefs
c15cfb4bd9
- Review for #790 : Address Wouter's comments.
2023-07-28 16:55:51 +02:00
George Thessalonikefs
3c3fd7a795
- More predictable testing for cachedb.
2023-05-30 23:33:48 +02:00
George Thessalonikefs
4f52be4db9
- Introduce num.query.cachedb to track cache hits for the external cache.
2023-05-30 17:49:50 +02:00
George Thessalonikefs
896f7a8306
- Ignore expired error responses.
2022-11-22 17:44:55 +01:00
TCY16
6dcba49ff1
add cachedb support
2022-11-21 13:23:00 +01:00
W.C.A. Wijngaards
17e5dd6131
- Fix that cachedb does not store failures in the external cache.
2022-10-21 10:11:47 +02:00
W.C.A. Wijngaards
f6753a0f10
- Fix the novel ghost domain issues CVE-2022-30698 and CVE-2022-30699.
2022-08-01 13:24:40 +02:00
Tom Carpay
e899b4cefe
Make explicit whether edns options are parsed from queries or responses
2021-11-15 13:40:51 +00:00
W.C.A. Wijngaards
55ba863440
- Fix that nxdomain synthesis does not happen above the stub or
...
forward definition.
2021-04-13 13:52:57 +02:00
Christopher Zimmermann
1d23e0c920
Merge remote-tracking branch 'upstream/master'
2021-02-03 13:19:19 +01:00
Ubuntu
21f175b1ac
Adjust semantics of TTL adjustment after feedback from @wcawijngaards
2020-07-29 15:27:15 +00:00
Ubuntu
b5b79e3a36
Add feature to serve original TTLs rather than decrementing ones
2020-07-15 15:15:45 +00:00
Christopher Zimmermann
c96e4ca121
allow privileged initialisation of modules
2020-05-10 22:30:25 +02:00
Talkabout
b130a8b459
added option 'redis-set-ttl' to define whether ttl should be added to redis records
...
added check for redis command 'setex' when initializing redis connection
updated documentation
minor improvements to previous changes
2020-03-31 12:47:13 +02:00
Talkabout
1ec02f7229
added logic for redis to honor ttl when serve_expired is not enabled
2020-03-29 15:22:10 +02:00
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