Commit Graph

2938 Commits

Author SHA1 Message Date
Saber Haj Rabiee
66dbc73d2b formatted just file 2024-06-23 11:37:07 +02:00
Saber Haj Rabiee
b9009e770c fixed just file to compile bind 2024-06-23 11:37:07 +02:00
Daniel McCarney
02a8668fd5 docs: add content from 2183 to changelog 2024-06-17 12:12:57 -07:00
Christian Poveda
1ebc11c1d9 Remove unnecessary derives 2024-06-17 12:06:37 -07:00
Christian Poveda
b7e4f9a984 Rename fqdns 2024-06-17 12:06:37 -07:00
Christian Poveda
9f8c19cb71 Factor NSEC3 records logic to its own module 2024-06-17 12:06:37 -07:00
Christian Poveda
5d078ab765 Remove bob 2024-06-17 12:06:37 -07:00
Christian Poveda
da5423cb06 Add conformance tests for NSEC3 2024-06-17 12:06:37 -07:00
Jorge Aparicio
198128ca48 DnsLru: cache RRSIG records together with the record they cover
this simplifies the DNSSEC_OK (DO) bit handling logic in `Recursor`

as a side effect `Recursor` will now cache queries that have the DO bit
set whereas before it wasn't
2024-06-17 12:23:00 +02:00
Benjamin Fry
3129a31386 update version for each package in workspace to 0.25... 2024-06-16 08:28:56 -07:00
Benjamin Fry
522220321f update changelog for 0.25-alpha 2024-06-16 08:28:56 -07:00
Dirkjan Ochtman
c505f84db8 Apply clippy suggestions for Rust 1.79 2024-06-14 16:45:26 -07:00
Jorge Aparicio
e585bf0a41 dns-test: make NameServer's FQDN more stable
previously, the FQDN of a NameServer was generated using a globally
shared, monotonically increasing counter. that resulted in a
unpredictable FQDN in the presence other tests running concurrently /
in parallel

with this change, the presence of other test threads does not affect the
FQDN automatically chosen for a NameServer. the FQDN becomes only a
function of the order in which the NameServers are created *within a
thread*
2024-06-14 06:45:40 -07:00
Jorge Aparicio
ed192864f3 refactor the Resource data structure
the `rr_type` field has been removed. this eliminates the possibility of
setting `rdata` to a type that does not match `rr_type`. as a
consequence, the `set_record_type` has also been removed

the `record_type` of the `Resource` is now derived from what's stored in
the `rdata` field

`rdata` is no longer an `Option`. `rdata = None` was being used to
represent update records. an `Update` variant has been added to the
`RData` enum. this variant is used to represent update records, which
have RDLENGTH set to 0.

the `Resource::{default,new}` constructors have been removed. they felt
error prone as in most cases one wants to set the `rdata` and `name`
fields since they have no sensible defaults. all uses of those
constructors now use the pre-existing `from_rdata` constructor

the `Resource::with` constructor has also been removed. it was pretty
similar to `from_rdata` but initialized `rr_type` and not `rdata`. all
uses of `Record::with` has been changed to `from_rdata`
2024-06-10 20:00:48 -07:00
Christian Poveda
76f717d10f Add just recipes to clean leftover containers and networks 2024-06-08 14:42:07 +02:00
Jorge Aparicio
383a4e72dd remove dnssec-tests' GHA workflow
it has been deprecated by the new `/.github/workflows/conformance.yml`
workflow
2024-06-07 11:04:53 +02:00
Jorge Aparicio
74a3d69eea add new CI workflow 2024-06-07 11:04:41 +02:00
Jorge Aparicio
f581eb0483 add conformance tasks to justfile 2024-06-07 11:04:34 +02:00
Jorge Aparicio
cd7e898ff3 add CODEOWNERS 2024-06-07 11:04:29 +02:00
Jorge Aparicio
4b6c032e17 remove redundant license files 2024-06-07 11:04:26 +02:00
Jorge Aparicio
2a04299fbc Add 'conformance/' from commit '2a86c07974b27af6de6cdb0cc87074aaf57b8c39'
git-subtree-dir: conformance
git-subtree-mainline: f1489da675
git-subtree-split: 2a86c07974
2024-06-07 11:03:57 +02:00
Jorge Aparicio
f1489da675 ci: pin nightly version
the past-future job fails with latest nightly toolchain:
1.80.0-nightly (da159eb33 2024-05-28)

this commit pins the nightly version to a known to work version

closes #2223
2024-05-30 12:05:04 +02:00
Christian Poveda Ruiz
2a86c07974
Merge pull request #67 from ferrous-systems/ja-bump-hickory
bump hickory-dns and unignore fixed tests
2024-05-29 10:17:31 -05:00
Jorge Aparicio
0d529d4f41 bump hickory-dns and unignore fixed tests
also build hickory-dns with dnssec support and enable security
awareness
2024-05-29 12:46:32 +02:00
Андрей Листочкин (Andrei Listochkin)
568c75ec6f
Merge pull request #65 from ferrous-systems/ja-graph-two-point-o
tweak `Graph::build` to support anydomain.com. as leaf zone
2024-05-23 12:22:37 +01:00
Jorge Aparicio
f87d98eaaf explore: use Graph API and use mydomain.com. as leaf zone 2024-05-23 13:11:04 +02:00
Jorge Aparicio
a0909f3c04 tweak Graph::build to support anydomain.com. as leaf zone 2024-05-23 13:10:53 +02:00
Jorge Aparicio
ab2aa39b06 NameServer: fix generation of SOA record
`unbound` requires that the MNAME lies underneath the zone. That is
`primaryNN.nameservers.com.` is not a valid MNAME for a nameserver
authoritative over `mydomain.com.`. For that zone,
`primaryNN.mydomain.com.` would be a valid MNAME.
2024-05-23 13:10:53 +02:00
Jorge Aparicio
0ba63a167d
Merge pull request #58 from ferrous-systems/refactor-test-helpers
Refactor test helpers
2024-05-22 19:07:58 +02:00
Sebastian Ziebell
0ea1397480 Add function to return root hint
This adds a function to `NameServer` to return root hints.
2024-05-22 19:00:55 +02:00
Sebastian Ziebell
0bcf749617 Add function to set referral via other nameserver
* fix clippy lints
2024-05-22 18:51:44 +02:00
Sebastian Ziebell
96b3b6650d Add function to return A record
A NameServer can now return the `Record::A` entry for itself.
2024-05-22 18:49:12 +02:00
Jorge Aparicio
14ee8fd6cc
Merge pull request #57 from ferrous-systems/ja-clear-ad-bit-on-queries
resolver: check that out queries don't have the AD bit
2024-05-22 18:06:26 +02:00
Jorge Aparicio
2de7139bc6 resolver: check that out queries don't have the AD bit 2024-05-22 17:56:57 +02:00
Jorge Aparicio
a58fb71eeb
Merge pull request #56 from ferrous-systems/ja-cd-bit-handling
resolver: add CD bit handling tests
2024-05-22 17:49:11 +02:00
Jorge Aparicio
b6e97bf3b6 move existing test into RFC4035 section 3.2.2 2024-05-22 17:44:08 +02:00
Jorge Aparicio
8f414879b8 test CD bit forwarding 2024-05-22 17:39:13 +02:00
Jorge Aparicio
c50b28262e
Merge pull request #53 from ferrous-systems/ja-do-bit-tests
resolver: test DO bit handling
2024-05-22 14:56:14 +02:00
Jorge Aparicio
8b582baffc resolver: test DO bit handling
this corresponds to section 3.2.1 of RFC4035
2024-05-22 14:47:06 +02:00
Jorge Aparicio
b3b214317a
Merge pull request #54 from ferrous-systems/ja-ds-query
resolver: test that DS query is sent to parent zone
2024-05-22 14:44:38 +02:00
Jorge Aparicio
261b9f4428 resolver: test that DS query is sent to parent zone 2024-05-22 14:38:50 +02:00
Jorge Aparicio
fef26b7139 dns-test: add getters & make some fields public 2024-05-22 14:32:02 +02:00
Jorge Aparicio
3a54e693fa
Merge pull request #31 from ferrous-systems/ja-explore-opt-in-dnssec
`explore`: make DNSSEC opt-in
2024-05-22 14:31:40 +02:00
Jorge Aparicio
5d15aa2228 explore: generate bind.keys w/o querying resolver
this avoids the resolver caching any query. that way `tshark` can
observe all the messages involved in DNSSEC validating a query "from
scratch"
2024-05-22 14:26:55 +02:00
Jorge Aparicio
1aab8812df explore: make DNSSEC opt-in 2024-05-22 14:26:55 +02:00
Jorge Aparicio
a9c6e42715
Merge pull request #52 from ferrous-systems/ja-use-default-cache-size
hickory/resolver: drop _cache_size settings
2024-05-22 14:26:23 +02:00
Jorge Aparicio
b840819998 hickory/resolver: drop _cache_size settings
they are not required as default values exist
2024-05-22 14:21:38 +02:00
Jorge Aparicio
e12a1f4d92
Merge pull request #44 from ferrous-systems/ja-clippier
CI: make clippy check cfg(test) code, tests & examples
2024-05-22 14:21:17 +02:00
Jorge Aparicio
49990d2530 fix previously undetected clippy warning 2024-05-22 14:16:53 +02:00
Jorge Aparicio
cd2895a168 CI: make clippy check cfg(test) code, tests & examples 2024-05-22 14:16:53 +02:00