Commit Graph

116 Commits

Author SHA1 Message Date
Jorge Aparicio
75de211a06
Merge pull request #49 from ferrous-systems/ja-resolver-builder-take-2
refactor: use builder pattern in Resolver ctor
2024-04-22 16:22:38 +02:00
Jorge Aparicio
70245e7ff8 refactor: use builder pattern in Resolver ctor
the `start` constructor's parameter list was getting long and we want to
add even more configuration options, like EDE, in the future.

using the builder pattern lets us introduce new settings without
breaking changes
2024-04-22 16:18:47 +02:00
Jorge Aparicio
63c95fd0db
Merge pull request #48 from ferrous-systems/ja-refactor-impl-take-2
refactor Implementation branching into its own module
2024-04-22 16:18:24 +02:00
Jorge Aparicio
9689568974 refactor Implementation branching into its own module 2024-04-22 16:07:36 +02:00
Jorge Aparicio
4f024887e0 CI: test unbound (subject) against BIND (peers) 2024-03-28 21:41:31 +00:00
Jorge Aparicio
7aa9d543b4 support BIND in the NameServer role 2024-03-28 21:41:31 +00:00
Jorge Aparicio
d25cc923ec
Merge pull request #27 from ferrous-systems/ja-bind-impl
support using BIND in the Resolver role
2024-03-11 12:04:58 +01:00
Jorge Aparicio
90ee7b30f6 CI: run conformance tests against BIND 2024-03-11 11:59:56 +01:00
Jorge Aparicio
2c4ef88a98 support using BIND in the Resolver role 2024-03-11 11:59:56 +01:00
Jorge Aparicio
b8605f7944
Merge pull request #36 from ferrous-systems/ja-contraindications
README: cover dns-test automatic clean-up
2024-03-11 11:58:34 +01:00
Jorge Aparicio
f3bd5a1c55 README: cover dns-test automatic clean-up
and advise against running tests with cargo-watch
2024-03-07 16:04:18 +01: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
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
Jorge Aparicio
3707bdfd3f
Merge pull request #11 from japaric/dns-shark
add eavesdrop API & test a RFC requirement with it
2024-02-20 10:23:32 +01:00
Jorge Aparicio
156e005ff2 RFC4035: test EDNS support 2024-02-19 13:22:15 +01:00