Vadim Fedorenko
a197aac2f6
timeval_func: move all timeval manipulation to separate file
...
There are several definitions of the same functions manipulating timeval
structures. Let's move them to separate file and arrange the code
preperly.
Signed-off-by: Vadim Fedorenko <vadfed@meta.com>
2023-04-26 03:23:41 -07:00
Vadim Fedorenko
648ad4db6f
Linting change.
...
Remove config parser/lexer code as it's rebuilded every time but can
break adding new config options.
Also clean up the code base to avoid mixing actual code changes and lint
issues.
Signed-off-by: Vadim Fedorenko <vadfed@meta.com>
2023-04-25 17:05:00 -07:00
Philip Homburg
fb06364014
Fix issue #825 : interaction between ECS and serve-expired.
2023-02-21 09:20:28 +01:00
TCY16
dd3984eae9
add validation EDEs to CD bit queries
2022-12-05 11:41:17 +01:00
Yorgos Thessalonikefs
c4e51a4cfe
PROXYv2 downstream support ( #760 )
2022-10-03 15:29:47 +02:00
W.C.A. Wijngaards
137719522a
- Patch for CVE-2022-3204 Non-Responsive Delegation Attack.
2022-09-21 11:10:38 +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
Philip Homburg
3bade62c8a
Fix use after free issue with edns options ( https://github.com/NLnetLabs/unbound/issues/663 )
2022-06-22 15:00:28 +02:00
George Thessalonikefs
91c298c901
Merge branch 'subnet_cache_prefetch' of https://github.com/tilan7663/unbound into tilan7663-subnet_cache_prefetch
2022-05-17 16:16:09 +03:00
George Thessalonikefs
daf316ea1b
- Fix #417 : prefetch and ECS causing cache corruption when used
...
together.
2022-05-12 00:56:01 +02:00
tcarpay
0ce36e8289
Add the basic EDE (RFC8914) cases ( #604 )
2022-05-06 12:48:53 +02:00
Tian Lan
8afbc0944f
Add prefetch support for subnet cache entries
...
- Entries in the subnet cache should now be prefetched.
- Rename testdata subnet_*.crpl to subnet_*.rpl so they are visible to
make test
Signed-off-by: Tian Lan <tian.lan@twosigma.com>
2022-04-29 11:46:05 -04:00
W.C.A. Wijngaards
2b90181d3a
- Fix #628 : A rpz-passthru action is not ending RPZ zone processing.
2022-02-15 16:20:12 +01:00
Wouter Wijngaards
9645228f03
Merge pull request #570 from rex4539/typos
...
Fix typos
2021-11-29 11:39:48 +01:00
Dimitris Apostolou
c21d6af617
Fix typos
2021-11-13 16:56:15 +02:00
TCY16
8205c87a96
complete renaming of the modules edns list
2021-11-08 11:50:29 +01:00
Tom Carpay
5f8447830a
Move option handling to parse-time
2021-11-01 13:48:31 +00:00
Tom Carpay
89d7476539
split edns_data.opt_list in opt_list_in and opt_list_out
...
opt_list_in for parsed (incoming) edns options, and
opt_list_out for outgoing (to be encoded) edns options
2021-11-01 12:48:40 +00:00
Tom Carpay
3925297d07
Remove apply_edns_options from worker and mesh...
...
to be returned in message encoding later...
2021-11-01 10:44:55 +00:00
Tom Carpay
3ebfa9fc97
Outgoing module options go to opt_list_modules_out
...
And opt_list_modules_out is reset in case of failure
BEWARE! No options from modules will be encoded in the responses now!
2021-10-27 14:01:56 +00:00
W.C.A. Wijngaards
f232562430
Merge branch 'master' into rpz-triggers
2021-08-05 13:37:22 +02:00
W.C.A. Wijngaards
d300bc8eee
- Fix for older parsers for function call in serve expired get cached.
2021-07-16 17:55:10 +02:00
W.C.A. Wijngaards
355526da7d
- rpz-triggers, the added soa for client ip modified answers is affected
...
by the minimal-responses config option.
2021-05-14 16:34:38 +02:00
W.C.A. Wijngaards
50dcadd495
- rpz-triggers, for clientip modified answers the rpz SOA is added to the
...
additional section with the serial number and name of the rpz zone that
was applied.
2021-05-14 15:34:48 +02:00
W.C.A. Wijngaards
32d82fac9b
Merge branch 'master' into rpz-triggers
2021-05-14 08:47:56 +02:00
W.C.A. Wijngaards
07fda669e4
- Fix #485 : Unbound occasionally reports broken stats.
2021-05-07 11:13:44 +02:00
W.C.A. Wijngaards
6f507eb036
Merge branch 'master' into rpz-triggers
2021-03-12 09:04:54 +01:00
W.C.A. Wijngaards
6e4ecf7bc1
- Fix spurious errors about "Could not generate request: out of
...
memory". The mesh detect cycle routine no longer wrongly stops
the check when the calling mesh state is unique.
2021-03-04 14:13:44 +01:00
George Thessalonikefs
3124eb052d
- Ignore cache blacklisting when trying to reply with expired data from
...
cache. (#394 )
2021-01-26 15:32:50 +01:00
W.C.A. Wijngaards
cdb60adcdc
Merge branch 'rpz' of https://github.com/magenbluten/unbound into magenbluten-rpz
...
Conflict fixed for rpz.disabled check added.
2021-01-14 12:11:29 +01:00
W.C.A. Wijngaards
64f508fa00
- Fix clang analysis warning.
2021-01-08 11:10:05 +01:00
W.C.A. Wijngaards
d9dd7bc36f
- Add comment documentation.
2021-01-08 11:01:06 +01:00
W.C.A. Wijngaards
ee2545d939
- For #391 : fix indentation.
2021-01-08 09:53:52 +01:00
W.C.A. Wijngaards
3e03e2c26d
- For #391 : use struct timeval* start_time for callback information.
2021-01-08 09:47:46 +01:00
Frank Riley
e3abd772f7
Add start_time to reply callbacks so modules can compute the response time.
2021-01-01 15:44:21 -07:00
mb
eba7e1a7c7
rpz: nsdname actions
2020-11-27 10:09:54 +01:00
mb
fc4de71fe0
RPZ: fix for c89
2020-11-03 15:45:26 +01:00
mb
fb8c5a764d
RPZ: provide tcp-only triggers for respip actions
2020-11-03 11:02:36 +01:00
George Thessalonikefs
d55084ea9e
- Fix that if there are reply callbacks for the given rcode, those
...
are called per reply and a new message created if that was modified
by the call.
- Pass the comm_reply information to the inplace_cb_reply* functions
during the mesh state and update the documentation on that.
2020-10-15 17:17:59 +02:00
W.C.A. Wijngaards
f0c19be06f
- Fix that if there are on reply callbacks, those are called per
...
reply and a new message created if that was modified by the call.
2020-10-14 14:03:04 +02:00
W.C.A. Wijngaards
a9e13f3590
- Fix that if there are on reply callbacks, those are called per
...
reply and a new message created if that was modified by the call.
2020-10-14 14:01:47 +02:00
W.C.A. Wijngaards
72032a95bb
- Fix for python reply callback to see mesh state reply_list member,
...
it only removes it briefly for the commpoint call so that it does
not drop it and attempt to modify the reply list during reply.
2020-10-14 10:06:28 +02:00
Ralph Dolmans
4ae823fbc2
Merge branch 'master' into doh
2020-09-16 18:38:51 +02:00
Ralph Dolmans
42a35ac26e
- Final round of DoH review feedback processing.
2020-09-16 18:25:02 +02:00
W.C.A. Wijngaards
06d33f61c1
- Fix tcp req info drop due to size call into mesh accounting
...
removal of mesh state during mesh send reply.
2020-06-30 17:22:43 +02:00
W.C.A. Wijngaards
52774b6b20
- Review fix for number of detached states due to use of variable
...
after end of loop.
2020-06-30 16:35:48 +02:00
W.C.A. Wijngaards
84b0207956
- Fix for mesh accounting when rpz decides to drop a reply with a
...
tcp stream waiting for it.
2020-06-30 16:20:09 +02:00
W.C.A. Wijngaards
6f0c2956ac
- Also move reply list clean for mesh callbacks to the scrip callback
...
can see the reply_info.
- Fix for mesh accounting if the reply list already empty to begin
with.
2020-06-30 15:48:11 +02:00
W.C.A. Wijngaards
8ac054733b
- Move reply list clean for serve expired mesh callback to after
...
the reply is sent, so that script callbacks have reply_info.
2020-06-30 13:41:26 +02:00
Ralph Dolmans
0fbfce4c99
- Add DoH tests
2020-06-24 14:04:34 +02:00
Ralph Dolmans
e7601870cc
Merge branch 'master' into doh
2020-05-07 17:12:26 +02:00
Ralph Dolmans
8dae5d9f81
- Add DNS-over-HTTPS support
2020-05-07 16:36:26 +02:00
W.C.A. Wijngaards
cee3098e87
- Remove unneeded was_mesh_reply check.
2020-04-20 15:35:45 +02:00
W.C.A. Wijngaards
00323b71d7
- Fix for count of reply states in the mesh.
2020-04-20 14:24:05 +02:00
W.C.A. Wijngaards
6f4818ebcb
- Fix more undefined sanitizer issues, in respip copy_rrset null
...
dname, and in the client_info_compare routine for null memcmp.
2020-02-27 15:43:27 +01:00
George Thessalonikefs
5d6358b66d
- Cleaner code for mesh_serve_expired_lookup.
2020-02-06 14:38:01 +01:00
W.C.A. Wijngaards
4089147351
- Fix to lock and release once in mesh_serve_expired_lookup.
2020-02-06 14:01:45 +01:00
George Thessalonikefs
0758d29324
- Fix num_reply_states and num_detached_states counting with
...
serve_expired_callback.
2020-02-06 11:44:48 +01:00
W.C.A. Wijngaards
af7abd4dfd
- Fix num_reply_addr counting in mesh and tcp drop due to size
...
after serve_stale commit.
2020-02-06 11:09:30 +01: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
Ralph Dolmans
4fc622031d
- Reformat rpz disabled stats counter
2020-02-03 16:52:25 +01:00
Ralph Dolmans
9877e52161
Merge branch 'master' of github.com:NLnetLabs/unbound into rpz
2020-01-15 23:44:10 +01:00
Ralph Dolmans
ae4f6a259b
Proccess more review feedback
2019-12-23 16:02:43 +01:00
W.C.A. Wijngaards
3a49e683ed
- Fix Enum Name not Used, reported by X41 D-Sec.
2019-11-20 14:22:06 +01:00
Ralph Dolmans
2b5cd8e9b4
Merge remote-tracking branch 'ralph/feature/rpz' into rpz
2019-09-09 17:11:26 +02:00
Ralph Dolmans
0987a82877
Add statistics support for disabled (action override) response IP RPZ
...
triggers.
2019-08-07 14:09:48 +02:00
W.C.A. Wijngaards
df0c844eed
- Fix to timeval_add for remaining second in microseconds.
2019-08-01 16:48:41 +02:00
Ralph Dolmans
1c5d081853
- Add RPZ response IP override option, logging, and statistics
2019-08-01 14:31:37 +02:00
W.C.A. Wijngaards
5f5c00203e
- Fix question section mismatch in local zone redirect.
2019-07-23 14:01:59 +02:00
W.C.A. Wijngaards
6067ce6d2b
- Fix that fixes the Fix that spoolbuf is not used to store tcp
...
pipelined response between mesh send and callback end, this fixes
error cases that did not use the correct spoolbuf.
2019-06-11 12:15:43 +02:00
W.C.A. Wijngaards
a08fe8ca60
- Attempt to fix malformed tcp response.
2019-05-13 15:39:59 +02:00
Wouter Wijngaards
2a78803049
- Fix wrong query name in local zone redirect answers with a CNAME,
...
the copy of the local alias is in unpacked form.
git-svn-id: file:///svn/unbound/trunk@5175 be551aaa-1e26-0410-a405-d3ace91eadb9
2019-04-25 14:07:42 +00:00
Wouter Wijngaards
ec6f4bab46
comment fixes after review.
...
git-svn-id: file:///svn/unbound/trunk@5036 be551aaa-1e26-0410-a405-d3ace91eadb9
2019-01-15 13:42:22 +00:00
Wouter Wijngaards
ae9fe1a10e
- streamtcp option -a send queries consecutively and prints answers
...
as they arrive.
- Fix for out of order processing administration quit cleanup.
- unit test for tcp out of order processing.
git-svn-id: file:///svn/unbound/trunk@5033 be551aaa-1e26-0410-a405-d3ace91eadb9
2019-01-14 15:52:50 +00:00
Wouter Wijngaards
dd19026e91
- Initial commit for out-of-order processing for TCP and TLS.
...
git-svn-id: file:///svn/unbound/trunk@5032 be551aaa-1e26-0410-a405-d3ace91eadb9
2019-01-11 14:12:27 +00:00
Wouter Wijngaards
42d2c04ae1
- Log query name for looping module errors.
...
git-svn-id: file:///svn/unbound/trunk@5031 be551aaa-1e26-0410-a405-d3ace91eadb9
2019-01-09 13:57:14 +00:00
George Thessalonikefs
0171d06aa2
- #4140 : Expose repinfo (comm_reply) to the inplace_callbacks. This
...
gives access to reply information for the client's communication
point when the callback is called before the mesh state (modules).
Changes to C and Python's inplace_callback signatures were also
necessary.
git-svn-id: file:///svn/unbound/trunk@4870 be551aaa-1e26-0410-a405-d3ace91eadb9
2018-08-22 10:51:13 +00:00
Wouter Wijngaards
4fe427ded2
- log-servfail: yes prints log lines that say why queries are
...
returning SERVFAIL to clients.
git-svn-id: file:///svn/unbound/trunk@4863 be551aaa-1e26-0410-a405-d3ace91eadb9
2018-08-17 15:22:05 +00:00
Wouter Wijngaards
b0daf867c2
and the error looks good.
...
git-svn-id: file:///svn/unbound/trunk@4860 be551aaa-1e26-0410-a405-d3ace91eadb9
2018-08-17 14:17:48 +00:00
Wouter Wijngaards
8385c462ed
- print servfail info to log as error.
...
git-svn-id: file:///svn/unbound/trunk@4859 be551aaa-1e26-0410-a405-d3ace91eadb9
2018-08-17 13:29:27 +00:00
George Thessalonikefs
749d1b9ebc
- Expose if a query (or a subquery) was ratelimited (not src IP
...
ratelimiting) to libunbound under 'ub_result.was_ratelimited'.
This also introduces a change to 'ub_event_callback_type' in
libunbound/unbound-event.h.
- Tidy pylib tests.
git-svn-id: file:///svn/unbound/trunk@4828 be551aaa-1e26-0410-a405-d3ace91eadb9
2018-08-03 14:00:46 +00:00
Wouter Wijngaards
b7abbd1d72
- Fix mesh.c incompatible pointer pass.
...
- yacc and lex.
git-svn-id: file:///svn/unbound/trunk@4808 be551aaa-1e26-0410-a405-d3ace91eadb9
2018-07-31 07:23:58 +00:00
Wouter Wijngaards
3dbdde7fed
- Add edns-tcp-keepalive and edns-tcp-keepalive timeout options
...
and implement option in client responses.
git-svn-id: file:///svn/unbound/trunk@4804 be551aaa-1e26-0410-a405-d3ace91eadb9
2018-07-31 07:18:34 +00:00
Wouter Wijngaards
8b209f8f68
- Fix mesh state assertion failure due to callback removal.
...
git-svn-id: file:///svn/unbound/trunk@4681 be551aaa-1e26-0410-a405-d3ace91eadb9
2018-05-07 11:29:12 +00:00
Ralph Dolmans
4d06c36342
- Added root-key-sentinel support
...
git-svn-id: file:///svn/unbound/trunk@4652 be551aaa-1e26-0410-a405-d3ace91eadb9
2018-04-24 09:03:49 +00:00
Wouter Wijngaards
deea985a20
- Attempt for auth zone fix; add of callback in mesh gets from
...
callback does not skip callback of result.
git-svn-id: file:///svn/unbound/trunk@4647 be551aaa-1e26-0410-a405-d3ace91eadb9
2018-04-23 12:51:00 +00:00
Ralph Dolmans
207beff489
- Log name of looping module
...
git-svn-id: file:///svn/unbound/trunk@4357 be551aaa-1e26-0410-a405-d3ace91eadb9
2017-09-21 08:19:47 +00:00
Wouter Wijngaards
3264fa8a6f
assert and lint.
...
git-svn-id: file:///svn/unbound/trunk@4354 be551aaa-1e26-0410-a405-d3ace91eadb9
2017-09-19 09:15:59 +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
3ede03449c
- Fix that looping modules always stop the query, and don't pass
...
control.
git-svn-id: file:///svn/unbound/trunk@4348 be551aaa-1e26-0410-a405-d3ace91eadb9
2017-09-18 07:54:24 +00:00
Wouter Wijngaards
7d17a926ac
- Spelling fixes, from Phil Porada.
...
git-svn-id: file:///svn/unbound/trunk@4344 be551aaa-1e26-0410-a405-d3ace91eadb9
2017-09-15 14:29:28 +00:00
Ralph Dolmans
657948dd0c
- Added mesh_add_sub to add detached mesh entries.
...
- Use mesh_add_sub for key tag signaling queries.
git-svn-id: file:///svn/unbound/trunk@4144 be551aaa-1e26-0410-a405-d3ace91eadb9
2017-05-02 13:17:56 +00:00
Ralph Dolmans
89c2383c71
- Fix #1252 : more indentation inconsistencies.
...
git-svn-id: file:///svn/unbound/trunk@4125 be551aaa-1e26-0410-a405-d3ace91eadb9
2017-04-18 09:00:52 +00:00
Ralph Dolmans
a2bc93547f
- Generalise inplace callback (de)registration
...
- (de)register inplace callbacks for module id
- No unbound-control set_option for ECS options
- Deprecated client-subnet-opcode config option
- Introduced client-subnet-always-forward config option
- Changed max-client-subnet-ipv6 default to 56 (as in RFC)
- Removed extern ECS config options
- module_restart_next now calls clear on all following modules
- Also create ECS module qstate on module_event_pass event
git-svn-id: file:///svn/unbound/trunk@4092 be551aaa-1e26-0410-a405-d3ace91eadb9
2017-04-06 13:13:06 +00:00
Ralph Dolmans
b0fd814975
- Merge EDNS Client subnet implementation from feature branch into main branch,
...
using new EDNS processing framework.
git-svn-id: file:///svn/unbound/trunk@4074 be551aaa-1e26-0410-a405-d3ace91eadb9
2017-03-21 12:08:17 +00:00
Wouter Wijngaards
cae9809e11
- Response actions based on IP address from Jinmei Tatuya (Infoblox).
...
git-svn-id: file:///svn/unbound/trunk@4035 be551aaa-1e26-0410-a405-d3ace91eadb9
2017-03-07 14:58:51 +00:00
Wouter Wijngaards
c010e93d4a
- Fix to rename internally used types from _t to _type, because _t
...
type names are reserved by POSIX.
- iana portlist update
git-svn-id: file:///svn/unbound/trunk@3989 be551aaa-1e26-0410-a405-d3ace91eadb9
2017-01-19 10:25:41 +00:00
Wouter Wijngaards
9b4b0de746
- Fix #1184 : Log DNS replies. This includes the same logging
...
information that DNS queries and response code and response size,
patch from Larissa Feng.
git-svn-id: file:///svn/unbound/trunk@3980 be551aaa-1e26-0410-a405-d3ace91eadb9
2017-01-05 11:39:54 +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
Ralph Dolmans
3044b805b3
Remove bugzila reference
...
git-svn-id: file:///svn/unbound/trunk@3943 be551aaa-1e26-0410-a405-d3ace91eadb9
2016-12-01 14:49:54 +00:00