Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
737 commits
Select commit Hold shift + click to select a range
b4b7e91
Clippy.
ximon18 Jan 20, 2025
9c6f866
Fix broken/missing RustDoc links.
ximon18 Jan 20, 2025
6321f73
Minor test name corrections.
ximon18 Jan 20, 2025
edc513b
- Make generate_rrsigs() take a config object instead of multiple con…
ximon18 Jan 20, 2025
3fc07c4
Minor cleanup of the way test keys are generated and used by generate…
ximon18 Jan 20, 2025
5fc894e
Require a version of Bytes that supports From<Box<[u8]>> (as Dnskey u…
ximon18 Jan 21, 2025
801fd2d
FIX: Don't sign the apex twice.
ximon18 Jan 21, 2025
671da3b
FIX: Don't skip signing when the apex isn't matched.
ximon18 Jan 21, 2025
48ec284
- Move test helper functions to a shared module.
ximon18 Jan 21, 2025
391d7dc
Use SmallVec instead of Vec, to avoid allocation for a small temporar…
ximon18 Jan 21, 2025
406818f
And missing line break.
ximon18 Jan 21, 2025
b281261
Fix compilation error.
ximon18 Jan 21, 2025
fdb5c66
FIX: At least one key for both roles is needed for signing.
ximon18 Jan 21, 2025
e701add
Additional RustDoc comments.
ximon18 Jan 21, 2025
c5cdf3c
FIX: Doc tests broken by recent logic fix.
ximon18 Jan 21, 2025
5b4c4fe
Default to adding missing DNSKEY RRs, as RFC 4035 section 2.1 require…
ximon18 Jan 21, 2025
294770d
FIX: Adding records to SortedRecords via iterator should also use ext…
ximon18 Jan 21, 2025
614d815
Better parameter name.
ximon18 Jan 21, 2025
f6c2ce5
Minor improvements.
ximon18 Jan 21, 2025
94cf97d
Extend testing of generate_rrsigs() with a full zone to cover various…
ximon18 Jan 21, 2025
8984921
Clippy.
ximon18 Jan 21, 2025
019934c
FIX: Inverted flag.
ximon18 Jan 21, 2025
ab40d90
Organize imports.
ximon18 Jan 22, 2025
0f7ca2b
Add test for generating RRSIGs without adding DNSKEYs.
ximon18 Jan 22, 2025
e7d2460
Rename parameter.
ximon18 Jan 22, 2025
976b83e
Use existing helper fns to simplify test code.
ximon18 Jan 22, 2025
26911fd
Add missing [must_use] attributes.
ximon18 Jan 22, 2025
0bd93ec
Correct / generalize old comments.
ximon18 Jan 22, 2025
ffa16b3
Ah, the [must_use] are already inffered and duplicate and annoy Clipp…
ximon18 Jan 22, 2025
3717c66
Corrections and additions to the RustDoc for generate_rrsigs().
ximon18 Jan 22, 2025
1887d7e
Add a test of calling generate_rrsigs() on an already signed zone.
ximon18 Jan 22, 2025
7764e6b
- Remove the DNSKEY RRs from the input test zonefile as it is assumed…
ximon18 Jan 22, 2025
d807d4b
- Also use SmallVec here.
ximon18 Jan 22, 2025
2f39e2f
Merge branch 'main' into initial-nsec3-generation
ximon18 Jan 22, 2025
56ce3b0
Normalize the generate_xxx interfaces to take config objects and retu…
ximon18 Jan 23, 2025
0680c1f
Fix broken doc test, restore flexible signature for Default impl for …
ximon18 Jan 23, 2025
14cd78f
More normalization of the generate_xxx interfaces to take config obje…
ximon18 Jan 23, 2025
5efcccf
Initial NSEC3 unit tests based on existing NSEC tests.
ximon18 Jan 23, 2025
1660cba
Fix missing feature dependency.
ximon18 Jan 27, 2025
45ade90
- Remove defaults from trait generic type parameters (i.e. TraitName<…
ximon18 Jan 28, 2025
904dc9a
Fix most but not all doc test failures.
ximon18 Jan 28, 2025
c5a0d5b
ZoneUpdater currently only supports ParsedRecord which is quite hard …
ximon18 Jan 29, 2025
13f8e51
Take validity time for a signature as input to signing, not from a ke…
ximon18 Jan 30, 2025
e49c9af
Merge branch 'initial-nsec3-generation' into server-trait-usability-f…
ximon18 Jan 30, 2025
f914c6d
Merge branch 'server-trait-usability-fixes' into zone-updater-should-…
ximon18 Jan 30, 2025
4910b9b
Impl Display for IntendedKeyPurpose.
ximon18 Jan 30, 2025
8ba4d53
Merge branch 'initial-nsec3-generation' into server-trait-usability-f…
ximon18 Jan 30, 2025
f73ca5b
Merge branch 'server-trait-usability-fixes' into zone-updater-should-…
ximon18 Jan 30, 2025
f785c51
Fix failing doc tests.
ximon18 Jan 30, 2025
aab0d9c
Cargo fmt.
ximon18 Jan 30, 2025
6b6588c
Review feedback: Remove From<Dnskey> as it is not needed.
ximon18 Jan 31, 2025
1d950ae
Remove unnecessary Send bounds.
ximon18 Jan 31, 2025
01f542b
Add setter for RRSIg validity period to SigningConfig.
ximon18 Jan 31, 2025
306fb4d
Merge branch 'initial-nsec3-generation' into server-trait-usability-f…
ximon18 Jan 31, 2025
1c61901
Merge branch 'server-trait-usability-fixes' into zone-updater-should-…
ximon18 Jan 31, 2025
13d94a1
Simplify NSEC unit test code.
ximon18 Feb 2, 2025
37f71b2
Simplify NSEC3 unit test code and fix up the occluded test copied fro…
ximon18 Feb 2, 2025
d311371
Simplify NSEC unit test code.
ximon18 Feb 2, 2025
2d33877
Simplify NSEC3 unit test code and fix up the occluded test copied fro…
ximon18 Feb 2, 2025
3086e85
- Added a unit test verifying that existing NSEC RRs are ignored by g…
ximon18 Feb 3, 2025
4d74842
Merge branch 'initial-nsec3-generation' into server-trait-usability-f…
ximon18 Feb 3, 2025
2f921bd
Merge branch 'server-trait-usability-fixes' into zone-updater-should-…
ximon18 Feb 3, 2025
ae36053
FIX: Inverted flag.
ximon18 Feb 4, 2025
1904364
Review feedback: Wrong comment.
ximon18 Feb 4, 2025
3c0746a
FIX: Use the supplied sorter.
ximon18 Feb 4, 2025
72b7785
- Remove NSEC3 type bit map merging as it is not necessary due to the…
ximon18 Feb 4, 2025
daa6159
Clippy.
ximon18 Feb 4, 2025
f372c91
Remove temporary init_logging() helper fn.
ximon18 Feb 4, 2025
fcc94d2
Add a test for hashing not producing the expected result.
ximon18 Feb 4, 2025
a197804
Merge branch 'main' into initial-nsec3-generation
Philip-NLnetLabs Feb 26, 2025
0d4cc74
Make GenerateRrsigConfig take the zone apex name by value instead of …
ximon18 Mar 17, 2025
f37b4d9
Add OwnerRrs::into_inner().
ximon18 Mar 17, 2025
9eedd88
Make diff creation by ZoneUpdater configurable (as a diff due to appl…
ximon18 Mar 17, 2025
a14d7da
Add From<&SigningConfig> for GenerateRrsigConfig.
ximon18 Mar 19, 2025
2a37a91
Fix wrongly changed default value, appears to be correct in the origi…
ximon18 Mar 19, 2025
875afa8
Add a test for hashing not producing the expected result.
ximon18 Mar 19, 2025
b7a4731
Add fix from PR #499.
ximon18 Mar 19, 2025
ac5a59b
RustDoc code fixes.
ximon18 Mar 19, 2025
3d13a1d
Merge branch 'initial-nsec3-generation' into server-trait-usability-f…
ximon18 Mar 20, 2025
6fd7279
Merge branch 'server-trait-usability-fixes' into zone-updater-should-…
ximon18 Mar 20, 2025
68051bb
Merge branch 'zone-updater-should-work-with-any-record-type' into pat…
ximon18 Mar 20, 2025
afcd7d8
FIX: Handle the AXFR -> IXFR fallback case properly.
ximon18 Mar 29, 2025
74e098d
WIP: Initial skeleton for KMIP based crypto operations.
ximon18 Apr 17, 2025
e659f9b
Support generating RSASHA512 keys.
Philip-NLnetLabs Apr 17, 2025
2c0438f
Remove unneeded mut in actions. Remove debug output. Add Clone, Eq, a…
Philip-NLnetLabs Apr 17, 2025
3687103
Merge branch 'main' into crypto-and-keyset-fixes
Philip-NLnetLabs Apr 23, 2025
6844f2d
Add more features to UnixTime.
Philip-NLnetLabs May 22, 2025
35a17a1
- Remove defaults from trait generic type parameters (i.e. TraitName<…
ximon18 May 30, 2025
e4e8d8b
Generalize `ZoneUpdater` to support any `Record` type, not just `Pars…
ximon18 Jun 2, 2025
b420277
Remove duplicate fn.
ximon18 Jun 2, 2025
cc3f8ae
Merge branch 'main' into patches-for-nameshed-prototype
ximon18 Jun 2, 2025
16b8860
Add missing into_inner() fn used by the nameshed poc.
ximon18 Jun 2, 2025
b320a00
Merge branch 'zone-updater-should-work-with-any-record-type-new' into…
ximon18 Jun 2, 2025
028ddc8
Store algorithms and key tags. Prevent duplicate key tags and accidental
Philip-NLnetLabs Jun 2, 2025
8b025f3
Merge remote-tracking branch 'origin/new-zonefile' into patches-for-n…
ximon18 Jun 4, 2025
0c76827
Add algorithm roll.
Philip-NLnetLabs Jun 4, 2025
7504216
Merge branch 'main' into poc-kmip-crypto-impl
ximon18 Jun 4, 2025
1ccb990
WIP.
ximon18 Jun 6, 2025
0f49710
Delete trial creds.
ximon18 Jun 6, 2025
bbd555f
WIP.
ximon18 Jun 10, 2025
ab57d41
Merge branch 'main' into poc-kmip-crypto-impl
ximon18 Jun 10, 2025
612a125
WIP.
ximon18 Jun 10, 2025
76e1072
Decode the public key material as an ASN1. SubjectPublicKeyInfo data …
ximon18 Jun 10, 2025
e60197c
Add note about self hashing.
ximon18 Jun 11, 2025
cb08c4c
Merge branch 'main' into crypto-and-keyset-fixes
Philip-NLnetLabs Jun 12, 2025
661e899
Fix incorrect fn arg name.
ximon18 Jun 19, 2025
5f26ed6
Add a comment about how to enable more logging.
ximon18 Jun 20, 2025
b7ed2b4
Incorporate pending PR #541.
ximon18 Jun 20, 2025
67aad1e
WIP: More KMIP support.
ximon18 Jun 20, 2025
759c7a6
Merge branch 'poc-kmip-crypto-impl' into patches-for-nameshed-prototy…
ximon18 Jun 20, 2025
1b0f674
Merge remote-tracking branch 'origin/crypto-and-keyset-fixes' into pa…
ximon18 Jun 22, 2025
422be4c
Add to_system_time.
Philip-NLnetLabs Jun 23, 2025
e2540cd
Add a KMIP PublicKey type ala how it is done for OpenSSL and Ring.
ximon18 Jun 23, 2025
8d28ca5
Bump kmip dependency.
ximon18 Jun 23, 2025
ea219f6
Retry KMIP operations on data not found errors, in case the HSM is no…
ximon18 Jun 24, 2025
04318ad
Add available flag.
Philip-NLnetLabs Jun 25, 2025
831d983
Improvements to error reporting.
ximon18 Jun 25, 2025
2f619ec
Revert "Retry KMIP operations on data not found errors, in case the H…
ximon18 Jun 25, 2025
08914c0
Cargo fmt.
ximon18 Jun 25, 2025
d0e8548
Add changes from the crypto-and-keyset-fixes-plus-patches-for-nameshe…
ximon18 Jun 25, 2025
a145689
Add Double-DS KSK Roll
Philip-NLnetLabs Jun 25, 2025
27fadbc
Add Double-Signature ZSK Roll.
Philip-NLnetLabs Jun 25, 2025
8529cd8
Add some notes about CSK and algorithm rolls.
Philip-NLnetLabs Jun 25, 2025
ceb7751
Merge branch 'main' into crypto-and-keyset-fixes
Philip-NLnetLabs Jun 27, 2025
708d5b4
A bit of cleanup.
Philip-NLnetLabs Jun 27, 2025
0fa094b
A bit more cleanup.
Philip-NLnetLabs Jun 27, 2025
0c81a15
KMIP HSMs do the hashing and OID prefixing themselves.
ximon18 Jul 1, 2025
be1ce23
Added some comments.
ximon18 Jul 1, 2025
012f243
Cargo fmt.
ximon18 Jul 1, 2025
4e35125
Bump dependencies.
ximon18 Jul 1, 2025
91f260e
Remove dbg and fix typo in comment.
ximon18 Jul 1, 2025
ee793ca
Handle conversion of RSA public key raw bytes to DNSKEY RDATA format.
ximon18 Jul 1, 2025
b7b9e6e
Upgrade to latest kmip-protocol.
ximon18 Jul 1, 2025
fd69604
Make 'ring' keypairs thread-safe
bal-e Jun 30, 2025
e3d600c
Re-export ClientCertificate from the kmip-protocol crate to prevent c…
ximon18 Jul 2, 2025
becc840
FIX: Make logs appear in dnst.
ximon18 Jul 2, 2025
951890e
FIX: Make logs appear in dnst.
ximon18 Jul 2, 2025
8638ac4
Fix KMIP ECDSA support. Tested with Fortanix DSM.
ximon18 Jul 3, 2025
b236ccc
Remove dependence on the rpki crate.
ximon18 Jul 3, 2025
53fd6ca
Add missing import.
ximon18 Jul 3, 2025
aec3c79
- Make the trim_leading_zeroes() fn more widely usable.
ximon18 Jul 4, 2025
2fde2cf
Lower level of log statement.
ximon18 Jul 4, 2025
b508a4a
Determine the DNSKEY RR once, not every time that dnskey() is invoked.
ximon18 Jul 7, 2025
5913003
Better error reporting.
ximon18 Jul 7, 2025
10c936e
Trim leading zeros and then pad with leading zeros.
ximon18 Jul 7, 2025
3d01aaf
Note a possible performance improvement idea for later if needed.
ximon18 Jul 7, 2025
7cfc954
Bump kmip-protocol.
ximon18 Jul 7, 2025
f817628
FIX ECDSAP256SHA256 signing issue with larger zones having invalid si…
ximon18 Jul 8, 2025
b6751b4
Bump KMIP dependencies.
ximon18 Jul 11, 2025
1fc6a8c
- Add support for KMIP key URL construction and parsing.
ximon18 Jul 14, 2025
83de250
Cargo fmt.
ximon18 Jul 14, 2025
b0e970f
Clippy.
ximon18 Jul 14, 2025
847e2e1
Minor correct to error message.
ximon18 Jul 15, 2025
7e28e85
Merge latest changes from domain branch keyset-improvements.
ximon18 Jul 15, 2025
e1aa2d4
Move some log statements from debug level to trace level.
ximon18 Jul 23, 2025
5a644e3
Fix test that fails to compile.
ximon18 Jul 23, 2025
f549b77
Rename KmipConnPool to remove redundant Kmip and to make it clear thi…
ximon18 Jul 23, 2025
578129a
Add KMIP batching support.
ximon18 Jul 25, 2025
c6aeafd
Undo accidental re-ordering of sign_rrset() generics.
ximon18 Jul 25, 2025
b500eeb
Derive clone for KeySet, add 'Z' to UnixTime display, derive Copy for…
Philip-NLnetLabs Jul 29, 2025
89cd257
Add WaitDnskeyPropagated to CskRoll.
Philip-NLnetLabs Jul 30, 2025
ab3017c
Add stale function. Fix tests (WaitDnskeyPropagated) was missing.
Philip-NLnetLabs Jul 31, 2025
0302857
Use stale() and small fixes.
Philip-NLnetLabs Aug 1, 2025
77a5cf8
Add missing dependending on OpenSSL currently needed by the KMIP supp…
ximon18 Aug 6, 2025
48b9b6b
Review feedback: Move public key lookup into crypto::kmip::PublicKey:…
ximon18 Aug 6, 2025
8c58b36
Fix regression in examples/serve-zone.rs where the TSIG middleware wa…
ximon18 Aug 11, 2025
96426e6
Apply fixes from PR #564.
ximon18 Aug 11, 2025
a593451
Upgrade to latest kmip crate version.
ximon18 Aug 12, 2025
c1124de
Re-export kmip dependency.
ximon18 Aug 12, 2025
b9a89f3
Remove own KMIP connection pool, use the one from the kmip crate inst…
ximon18 Aug 12, 2025
01aa449
Remove no-longer needed direct dependency on the r2d2 crate.
ximon18 Aug 12, 2025
5ca3022
Bump kmip-protocol crate.
ximon18 Aug 12, 2025
9d95a72
Rename of signature_to_record() to sign_sorted_rrset_in_post().
ximon18 Aug 12, 2025
61aef92
Sync with changes made to branch poc-kmip-crypto-impl.
ximon18 Aug 15, 2025
c792eaf
Add kmip::destroy().
ximon18 Aug 19, 2025
ae2bdd0
Merge branch 'patches-for-nameshed-prototype' of github.com:NLnetLabs…
ximon18 Aug 19, 2025
418e787
Added impl Display for kmip::KeyUrl.
ximon18 Aug 19, 2025
afec5d2
Don't generate private and public KMIP names as that prevents final l…
ximon18 Aug 22, 2025
17d9f57
Use RustLS for TLS >= 1.2 with secure ciphers.
ximon18 Aug 25, 2025
ab61e4c
Fix broken tests.
ximon18 Aug 25, 2025
7087277
Add missing WaitDnskeyPropagated.
Philip-NLnetLabs Aug 27, 2025
0a619f1
Merge branch 'main' into crypto-and-keyset-fixes
Philip-NLnetLabs Aug 27, 2025
187e304
Merge branch 'crypto-and-keyset-fixes' into patches-for-nameshed-prot…
Philip-NLnetLabs Aug 27, 2025
7268eb3
Don't discard the NOTIFY SOA serial, if one is received. (#562)
ximon18 Aug 29, 2025
3c6b7f7
Add add_public_key, set_present, set_signer, set_at_parent, set_visib…
Philip-NLnetLabs Sep 1, 2025
c4dc41d
Add decoupled flag.
Philip-NLnetLabs Sep 3, 2025
e1f74da
Add set_stale.
Philip-NLnetLabs Sep 3, 2025
3ee93e7
Implement support for SSHFP records
mozzieongit Sep 4, 2025
4f9f54c
Implement support for OPENPGPKEY records
mozzieongit Sep 4, 2025
f3ab607
Implement support for TLSA records
mozzieongit Sep 4, 2025
e4329f1
Clippy
mozzieongit Sep 5, 2025
99a0a73
Fix test.
Philip-NLnetLabs Sep 5, 2025
007ccc7
Resolve FIXME for SSHFP
mozzieongit Sep 9, 2025
64e673b
Implement support for IPSECKEY records
mozzieongit Sep 10, 2025
96d1b7c
Cargo clippy and fmt
mozzieongit Sep 10, 2025
7bc8d9a
Add tests for IPSECKEY
mozzieongit Sep 10, 2025
d3f66e2
Add key length checks for IPSECKEY
mozzieongit Sep 10, 2025
1404cd6
Update comments and clippy
mozzieongit Sep 10, 2025
2b1d961
Minor code re-ordering to make TCP and UDP handling the same.
ximon18 Sep 10, 2025
8c0198a
Add equivalent logging in the Dgram server as in the Stream server co…
ximon18 Sep 10, 2025
acf3936
Remove left behind diagnostic logging.
ximon18 Sep 10, 2025
0887c20
More clippy
mozzieongit Sep 10, 2025
3998272
Fix Debug of base64 key without std feature
mozzieongit Sep 10, 2025
e9b086b
FIX: XfrMiddlewareService should always support at least one concurre…
ximon18 Sep 10, 2025
289f2c1
More trace level logging.
ximon18 Sep 10, 2025
3e132d1
Allow an optional TTL in public key files.
Philip-NLnetLabs Sep 8, 2025
0c9a95a
Merge branch 'crypto-and-keyset-fixes' into patches-for-nameshed-prot…
Philip-NLnetLabs Sep 11, 2025
ce5501f
Merge branch 'main' into crypto-and-keyset-fixes
Philip-NLnetLabs Sep 15, 2025
4f2e0ce
Merge branch 'crypto-and-keyset-fixes' into patches-for-nameshed-prot…
Philip-NLnetLabs Sep 15, 2025
ece5029
Implement support for SVCB and HTTPS records in zonefiles
mozzieongit Sep 17, 2025
8d47354
Cargo clippy
mozzieongit Sep 17, 2025
d940042
Fix reading SvcParamKey without value
mozzieongit Sep 18, 2025
3bde369
Merge branch 'main' into patches-for-nameshed-prototype
mozzieongit Sep 30, 2025
1753a62
Merge branch 'add-rrtypes' into patches-for-nameshed-prototype
mozzieongit Oct 2, 2025
d2536c6
Merge branch 'main' into crypto-and-keyset-fixes
Philip-NLnetLabs Oct 30, 2025
ad4ab9a
Merge branch 'main' into server-trait-usability-fixes
ximon18 Oct 31, 2025
263183c
Merge branch 'server-trait-usability-fixes' into patches-for-nameshed…
ximon18 Oct 31, 2025
bbb0a4c
Fix test compilation failure.
ximon18 Oct 31, 2025
b0e140c
Remove unnecessary type specifications in example.
ximon18 Oct 31, 2025
6f1232a
Remove unnecessary type specifications in example.
ximon18 Oct 31, 2025
6f4739f
Remove unnecessary type specifications in example.
ximon18 Oct 31, 2025
0868aa4
Remove duplicate import of Duration, SystemTime, and UNIX_EPOCH.
Philip-NLnetLabs Nov 5, 2025
443e7c5
Merge branch 'crypto-and-keyset-fixes' into patches-for-nameshed-prot…
Philip-NLnetLabs Nov 5, 2025
aca9f1d
Remove fall-out from merging.
Philip-NLnetLabs Nov 5, 2025
5325c29
Fmt.
Philip-NLnetLabs Nov 5, 2025
a0e9d3c
Merge branch 'main' into crypto-and-keyset-fixes
Philip-NLnetLabs Nov 10, 2025
f72c1fd
Fix merge issues.
Philip-NLnetLabs Nov 10, 2025
42d1bed
Merge branch 'crypto-and-keyset-fixes' into patches-for-nameshed-prot…
Philip-NLnetLabs Nov 10, 2025
da567b1
Merge branch 'main' into server-trait-usability-fixes
ximon18 Nov 21, 2025
c02ad28
Merge branch 'server-trait-usability-fixes' into patches-for-nameshed…
ximon18 Nov 21, 2025
5ad4486
Cargo fmt.
ximon18 Nov 21, 2025
5be58ea
Remove unnecessary default type specifications.
ximon18 Nov 21, 2025
ad00ee1
Fix compilation failure with --no-default-features.
ximon18 Nov 21, 2025
0159a6a
Clippy and cargo fmt.
ximon18 Nov 21, 2025
6a94e5b
Add run: cargo test --doc to test doc explicitly.
Philip-NLnetLabs Nov 21, 2025
7913fd3
Try to fix doc test.
Philip-NLnetLabs Nov 21, 2025
87770b5
Remove unnecessary extra import.
ximon18 Nov 21, 2025
42cd5a0
Remove unnecessary extra import.
ximon18 Nov 21, 2025
55fc89f
Merge branch 'server-trait-usability-fixes' into patches-for-nameshed…
ximon18 Nov 21, 2025
756a9bc
Fix failing doc test.
ximon18 Nov 21, 2025
2769c40
Merge branch 'server-trait-usability-fixes' into patches-for-nameshed…
ximon18 Nov 21, 2025
7304cc0
Merge branch 'main' into patches-for-nameshed-prototype
ximon18 Nov 24, 2025
8489655
Merge branch 'main' into patches-for-nameshed-prototype
Philip-NLnetLabs Nov 24, 2025
14f57d7
Allow Clippy false positive. (#602)
partim Dec 4, 2025
0b78cec
Implement `FreezeBuilder` for compressor targets (#601)
rossmacarthur Dec 8, 2025
5ca89e7
Update changelog.
partim Dec 8, 2025
0ad143b
Update tokio-stream to 0.1.17 because 0.1.1 results in an error in CI…
Philip-NLnetLabs Dec 15, 2025
1e1d3fb
make tsig::RequestMessage implement Clone (#603)
tertsdiepraam Dec 15, 2025
118bd7c
Merge branch 'main' into patches-for-nameshed-prototype
tertsdiepraam Dec 15, 2025
8239c9e
Merge branch 'main' into patches-for-nameshed-prototype
tertsdiepraam Dec 15, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
455 changes: 439 additions & 16 deletions Cargo.lock

Large diffs are not rendered by default.

11 changes: 8 additions & 3 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -34,23 +34,27 @@ chrono = { version = "0.4.35", optional = true, default-features = false
futures-util = { version = "0.3", optional = true }
hashbrown = { version = "0.16.0", optional = true, default-features = false, features = ["allocator-api2", "inline-more"] } # 0.14.2 introduces explicit hashing
heapless = { version = "0.8", optional = true }
kmip = { git = "https://github.com/NLnetLabs/kmip-protocol", branch = "next", package = "kmip-protocol", version = "0.5.0", optional = true, features = ["tls-with-rustls"] }
libc = { version = "0.2.153", default-features = false, optional = true } # 0.2.79 is the first version that has IP_PMTUDISC_OMIT
log = { version = "0.4.22", optional = true }
parking_lot = { version = "0.12", optional = true }
moka = { version = "0.12.3", optional = true, features = ["future"] }
openssl = { version = "0.10.72", optional = true } # 0.10.70 upgrades to 'bitflags' 2.x
proc-macro2 = { version = "1.0.69", optional = true } # Force proc-macro2 to at least 1.0.69 for minimal-version build
ring = { version = "0.17.2", optional = true }
bcder = { version = "0.7", optional = true }
rustversion = { version = "1", optional = true }
secrecy = { version = "0.10", optional = true }
serde = { version = "1.0.130", optional = true, features = ["derive"] }
siphasher = { version = "1", optional = true }
smallvec = { version = "1.3", optional = true }
tokio = { version = "1.33", optional = true, features = ["io-util", "macros", "net", "time", "sync", "rt-multi-thread" ] }
tokio-rustls = { version = "0.26", optional = true, default-features = false }
tokio-stream = { version = "0.1.1", optional = true }
tokio-stream = { version = "0.1.17", optional = true }
tracing = { version = "0.1.40", optional = true, features = ["log"] }
tracing-subscriber = { version = "0.3.18", optional = true, features = ["env-filter"] }
url = { version = "2.5.4", optional = true }
uuid = { version = "1.17.0", optional = true, features = ["v4"] }

[features]
default = ["std", "rand"]
Expand All @@ -66,8 +70,9 @@ std = ["alloc", "dep:hashbrown", "bumpalo?/std", "bytes?/std", "octseq/s
tracing = ["dep:log", "dep:tracing"]

# Cryptographic backends
ring = ["dep:ring"]
openssl = ["dep:openssl"]
ring = ["dep:ring"]
openssl = ["dep:openssl"]
kmip = ["dep:kmip", "dep:bcder", "dep:url", "dep:uuid", "dep:openssl"]

# Crate features
net = ["bytes", "futures-util", "rand", "std", "tokio"]
Expand Down
4 changes: 4 additions & 0 deletions Changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ New
record types and added presentation format support for the `SVCB`/`HTTPS`
record types. ([#569])
* Add support for the `CAA` record type. ([#434] by [@weilence])
* Added `FreezeBuilder` to the message compressors. ([#601] by
[@rossmacarthur])

Improvements

Expand Down Expand Up @@ -76,9 +78,11 @@ Other changes
[#570]: https://github.com/NLnetLabs/domain/pull/570
[#593]: https://github.com/NLnetLabs/domain/pull/593
[#594]: https://github.com/NLnetLabs/domain/pull/594
[#601]: https://github.com/NLnetLabs/domain/pull/601
[@rossmacarthur]: https://github.com/rossmacarthur
[@weilence]: https://github.com/weilence
[@WhyNotHugo]: https://github.com/WhyNotHugo
[@rossmacarthur]: https://github.com/rossmacarthur


## 0.11.1
Expand Down
34 changes: 34 additions & 0 deletions src/base/message_builder.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2373,6 +2373,15 @@ impl<Target: Composer> Truncate for TreeCompressor<Target> {
}
}

#[cfg(feature = "std")]
impl<Target: FreezeBuilder> FreezeBuilder for TreeCompressor<Target> {
type Octets = Target::Octets;

fn freeze(self) -> Self::Octets {
self.target.freeze()
}
}

//------------ HashCompressor ------------------------------------------------

/// A domain name compressor that uses a hash table.
Expand Down Expand Up @@ -2639,6 +2648,15 @@ impl<Target: Composer> Truncate for HashCompressor<Target> {
}
}

#[cfg(feature = "std")]
impl<Target: FreezeBuilder> FreezeBuilder for HashCompressor<Target> {
type Octets = Target::Octets;

fn freeze(self) -> Self::Octets {
self.target.freeze()
}
}

//============ Errors ========================================================

/// An error occurred when attempting to add data to a message.
Expand Down Expand Up @@ -2880,6 +2898,22 @@ mod test {
assert_eq!(&expect[..], msg.as_ref());
}

// just check into_message compiles for all compressors
#[test]
fn compressor_into_message() {
let target = StaticCompressor::new(Vec::new());
let _msg =
MessageBuilder::from_target(target).unwrap().into_message();

let target = TreeCompressor::new(Vec::new());
let _msg =
MessageBuilder::from_target(target).unwrap().into_message();

let target = HashCompressor::new(Vec::new());
let _msg =
MessageBuilder::from_target(target).unwrap().into_message();
}

#[test]
fn compress_positive_response() {
// An example positive response to `A example.com.` that is compressed
Expand Down
Loading
Loading