Commit Graph

2938 Commits

Author SHA1 Message Date
Benjamin Fry
c15b91abdf remove unnecessary clones of rrsig in dnssec 2024-03-02 11:43:52 -05:00
Benjamin Fry
8538d68f8d Notes on changes to dnssec proof, and unwrap RRSIG from Record 2024-03-02 11:43:52 -05:00
Benjamin Fry
1723a15260 remove with deprecation 2024-03-02 11:43:52 -05:00
Benjamin Fry
e2c82f6991 change internal usage from set_rr_type to set_record_type 2024-03-02 11:43:52 -05:00
Benjamin Fry
c0c2b2fa89 make dnssec methods more type safe 2024-03-02 11:43:52 -05:00
Benjamin Fry
bc044e89f3 Add Proof to NSEC results 2024-03-02 11:43:52 -05:00
Benjamin Fry
552fa36dc3 Add Proof type for DNSSEC 2024-03-02 11:43:52 -05:00
Андрей Листочкин (Andrei Listochkin)
6e303831a2
Merge pull request #32 from ferrous-systems/ja-readme-up
README: add some tips on writing tests
2024-03-01 21:31:12 +00:00
Jorge Aparicio
30ffd3882b README: add some tips on writing tests 2024-03-01 19:49:15 +01:00
Ensar Sarajčić
0a2ee2c655 Add test case with multiple options with same code 2024-02-29 09:45:14 -05:00
Ensar Sarajčić
e9eeb6533d Fix clippy errors 2024-02-29 09:45:14 -05:00
Ensar Sarajčić
9a209530f4 Add a note about multiple options with same code 2024-02-29 09:45:14 -05:00
Ensar Sarajčić
8b556a4ff1 Resolve PR comments 2024-02-29 09:45:14 -05:00
Ensar Sarajčić
8b802049d7 Remove println from equality check 2024-02-29 09:45:14 -05:00
Ensar Sarajčić
73fbbf8a15 fix(proto): fix internal representation of OPT
Current implementation of OPT represents options as hash map, which
prevents same `EdnsCode` from appearing more than once. There are
options that may appear more than once
(e.g. EDE https://www.rfc-editor.org/rfc/rfc8914.html).

Unfortunately, this is a breaking change. I haven't figured out a
solution that would not break the API and would not introduce some kind
of overhead.

BREAKING CHANGE: Changes representation of OPT from `HashMap` to a
`Vec`, which means that `as_ref` and `as_mut` also now return `&Vec`
rather than `&HashMap`.
2024-02-29 09:45:14 -05:00
Jorge Aparicio
49c89f764e
Merge pull request #25 from japaric/ja-impl-by-ref
take `Implementation` by reference
2024-02-26 14:53:39 +01:00
Jorge Aparicio
ab9b1e68cc also take Impl by ref in Resolver::new
mainly for symmetry. the existing tests don't clone the subject so the
code does not become any shorter
2024-02-26 14:48:48 +01:00
Jorge Aparicio
49b2abc6be take Impl by ref in NameServer::new
this eliminates the need for cloning in tests that use more than one
name server, making the code more succint / less noisy
2024-02-26 14:48:48 +01:00
Jorge Aparicio
19ae3d9083
Merge pull request #24 from japaric/ja-authority-section
parse authority section from dig's output
2024-02-26 14:44:44 +01:00
Jorge Aparicio
6fda01af00 parse authority section from dig's output 2024-02-26 14:40:33 +01:00
Андрей Листочкин (Andrei Listochkin)
72683a969d
Merge pull request #26 from japaric/ja-explicit-license
make license more visible
2024-02-26 13:27:12 +00:00
Андрей Листочкин (Andrei Listochkin)
eda8fd6ec3
Merge branch 'main' into ja-explicit-license 2024-02-26 13:13:45 +00:00
Андрей Листочкин (Andrei Listochkin)
a182db1a09
Merge pull request #16 from japaric/ja-signed-zone-mutation
allow signed zone file mutation
2024-02-26 11:58:58 +00:00
Jorge Aparicio
5f26698a51 make license more visible
it was already in the Cargo.toml metadata but add the files and mention
it in the README
2024-02-26 12:28:42 +01:00
Jorge Aparicio
a39afe6412 test a bogus DNSSEC scenario 2024-02-26 11:50:48 +01:00
Jorge Aparicio
b87ae21d2a make dig queries more configurable
switch from enum arguments like `Recurse` and `Dnssec` to a
build-pattern-based `Settings` struct
2024-02-26 11:50:48 +01:00
Jorge Aparicio
df344e57b1 fix integer types in RRSIG 2024-02-26 11:50:48 +01:00
Jorge Aparicio
16e83b1d6b move secure DNSSEC scenarios into a module 2024-02-26 11:50:48 +01:00
Jorge Aparicio
1592454395 allow mutation of signed zone file 2024-02-26 11:50:48 +01:00
Jorge Aparicio
57a1fc9231 parse more record types 2024-02-26 11:50:48 +01:00
Jorge Aparicio
66d6061ffc drop most zone_file entry types
instead use the record types in zone files

the main difference between e.g. zone_file::A and record::A was that the
latter had a TTL filed and the former didn't

to eliminate code duplication we make the `ZoneFile` API use the
`record` types and discard the zone_file entry types
2024-02-26 11:50:43 +01:00
Jorge Aparicio
a83b6629a3 drop generic lifetime parameters from types
none of the parsing we are doing requires a non-static lifetime
2024-02-26 11:43:25 +01:00
Jorge Aparicio
795adc32c2
Merge pull request #21 from japaric/ja-fix-ci
fix the explore example
2024-02-23 15:42:55 +01:00
Jorge Aparicio
56a9613615 fix the explore example 2024-02-23 15:35:51 +01:00
Андрей Листочкин (Andrei Listochkin)
9f03274589
Merge pull request #19 from japaric/ja-dns-test-peer
add `dns_test::peer` and use it to initialize `NameServer`
2024-02-23 13:59:25 +00:00
Андрей Листочкин (Andrei Listochkin)
ace04090ef
Merge pull request #18 from japaric/readme-up
add `explore` example and update the README
2024-02-23 13:56:15 +00:00
Jorge Aparicio
98cb9ddaae add a Client image 2024-02-23 13:21:07 +01:00
Jorge Aparicio
c0b681e0a3 add an Implementation parameter to NameServer::new
use `dns_test::peer` for name servers in conformance tests
2024-02-23 12:48:34 +01:00
Jorge Aparicio
acca2d4f0f update README 2024-02-20 17:00:30 +01:00
Jorge Aparicio
59dc60c5c4 enable verbose docker build with any value of DNS_TEST_VERBOSE_DOCKER_BUILD 2024-02-20 16:36:52 +01:00
Jorge Aparicio
86284cce4b add explore example 2024-02-20 16:30:41 +01:00
Jorge Aparicio
9d3d405af5
Merge pull request #14 from japaric/ja-hickory-source
support building hickory from a local/remote git source
2024-02-20 10:34:03 +01:00
Jorge Aparicio
709a8406b1 document what ./src refers to in hickory.Dockerfile 2024-02-20 10:28:13 +01:00
Jorge Aparicio
1cb7ee40fe perform some validation of the repository argument 2024-02-20 10:28:11 +01:00
Jorge Aparicio
1429b6bedf ci: fix syntax of DNS_TEST_SUBJECT 2024-02-20 10:26:33 +01:00
Jorge Aparicio
0afae4f042 don't include the .git directory in the context send to docker build
without this `DNS_TEST_SUBJECT="hickory $URL" cargo t` was re-building
hickory from scratch even when its source had not change

not including the `.git` directory in the hickory repository lets Docker
see that the source code has not changed
2024-02-20 10:26:33 +01:00
Jorge Aparicio
9bfa4c5c71 ci: make docker build verbose 2024-02-20 10:26:33 +01:00
Jorge Aparicio
10351a7021 ci: build hickory from a pinned git commit 2024-02-20 10:26:33 +01:00
Jorge Aparicio
55184172e3 build hickory from a local/remote git source
DNS_TEST_SUBJECT now needs to contain the URL to the hickory source code
2024-02-20 10:26:33 +01:00
Jorge Aparicio
0e2b35699c add mechanism to make docker build visible
set the DNS_TEST_VERBOSE_DOCKER_BUILD env var to 1 to make the `docker
build` command print its output to the console
2024-02-20 10:26:33 +01:00