Commit Graph
203 Commits
Author SHA1 Message Date
Ximon Eighteen 8331b5cc4b Bump domain to latest. 2024-12-09 12:28:06 +01:00
Jannik Peters 1c647c8345 Check signing mode for when using ZONEMD 2024-12-09 12:22:33 +01:00
Ximon Eighteen ba0d67afcb Re-order dev dependencies alphabetically and use the pretty_assertions crate to get more readable assert_eq() diff output. 2024-12-09 11:55:04 +01:00
Ximon Eighteen 6498e30f1d Document differences in output ordering compared to the original LDNS. 2024-12-09 11:52:02 +01:00
Ximon Eighteen ee3b37ecb6 Document the difference in RRSIG timestamp output format. 2024-12-09 11:49:32 +01:00
Ximon Eighteen ee5e86a45d Strip ZONEMD RRs on load so that signing without ZONEMD doesn't leave an incorrect ZONEMD RR in the output. 2024-12-09 10:30:11 +01:00
Ximon EighteenandGitHub 43c6f7caee Remove temporary local diagnostics. 2024-12-08 00:48:41 +01:00
Ximon Eighteen bdb4f6e766 Ignore NSEC3PARAM RRs on loading the zone as a new one should be generated, otherwise a duplicate RR error can occur.
Note an incompatiblity with RFC 5155 advice on transitioning a zone from NSEC3 to NSEC.
2024-12-08 00:38:51 +01:00
Ximon Eighteen f56eb7b472 Rename and fix the signing key fallback usage strategy. 2024-12-08 00:34:05 +01:00
Ximon Eighteen b52846f64a Update to match changes in SigningKeyUsageStrategy in latest domain. 2024-12-06 13:05:11 +01:00
Ximon Eighteen bf46691474 Output the test line that failed, not a line in a helper fn. 2024-12-05 15:03:40 +01:00
Ximon Eighteen 02276ea255 Fix nsec3 tests to match updated default iteration count. 2024-12-05 13:59:51 +01:00
Ximon Eighteen 7a361ca4ca FIX: Don't print RRSIGs twice. 2024-12-05 13:58:31 +01:00
Ximon Eighteen 3f655654a1 Update to latest domain to use new tabbed zonefile formatting to match LDNS. 2024-12-05 13:28:09 +01:00
Ximon Eighteen e403d24bee Use updated strategy fn naming. 2024-12-05 13:00:02 +01:00
Ximon Eighteen d355527834 Fix behaviour with only KSKs to match LDNS: treat them as ZSKs. Add a test to verify it against actual LDNS behaviour. 2024-12-05 12:38:09 +01:00
Ximon Eighteen f90c096b91 Cargo fmt. 2024-12-05 11:31:16 +01:00
Ximon Eighteen 5fbfd6183c Fix broken nsec3-hash integration test, and update ldns=nsec3-hash to also use 0 iterations by default (which makes it now inconsistent with main so this may be revisited later). 2024-12-05 11:28:50 +01:00
Ximon Eighteen 16a9f5aa98 Output the test line that failed, not a line in a helper fn. 2024-12-05 11:27:58 +01:00
Ximon Eighteen 121505f7d3 Clippy. 2024-12-05 11:08:30 +01:00
Ximon Eighteen e2810b218d Add an integration test based on an existing LDNS test. 2024-12-05 10:59:56 +01:00
Ximon Eighteen 09e0732065 FIX: Incorrect error message from test ldns binary if the given command lacks the ldns- prefix. 2024-12-05 10:57:17 +01:00
Ximon Eighteen f81d10447d - FIX: Default LDNS KSK selection strategy is NOT to honour the key purpose but instead to fallback to using ZSKs as KSKs if there are no KSKs.
- FIX: Don't output ENT comments if `-b` is not in use.
- ENH: Only order RRSIGs after covered RRSETs if `-b` is in use.
- ENH: In DNST mode, don't output any RR comments unless `-b` is in use, unlike LDNS which still outputs DNSKEY key tag comments when `-b` is not in use.
2024-12-05 10:56:50 +01:00
Ximon Eighteen f041882c65 Minor man page tweak. 2024-12-05 09:39:45 +01:00
Ximon Eighteen 1db62afc16 Make it clear that in the LDNS emulation case the stripping of NSEC(3) and RRSIG RRs is a deviation from the original ldns-signzone behaviour. 2024-12-05 09:39:06 +01:00
Ximon Eighteen c76928709a Update man pages to match NSEC(3) and RRSIG stripping behaviour. 2024-12-05 09:31:42 +01:00
Ximon Eighteen f0d77d653a Strip NSEC(3) and RRSIG RRs from the loaded zone so that we always only sign an unsigned zone, as it's unclear what the actual / intended original ldns-signzone behaviour when processing an already signed zone is supposed to be. 2024-12-05 09:30:04 +01:00
Ximon Eighteen c5450e228f Update the ldns-signzone manual page to more closely reflect the implemented behaviour. 2024-12-05 09:17:46 +01:00
Jannik Peters 76e255a20c Simplify line filter functions 2024-12-04 13:25:33 +01:00
Jannik Peters 5a57b66723 Fix extra newline in line filter 2024-12-04 12:37:41 +01:00
Ximon Eighteen ff32c80c53 Remove commented line. 2024-12-03 23:55:00 +01:00
Ximon Eighteen 924f32a497 Remove wrongly committed files. 2024-12-03 23:53:57 +01:00
Ximon Eighteen 5c97fc4e5b Revert tabbed output changes in preparation to use the PR #446 approach instead. 2024-12-03 23:49:02 +01:00
Ximon Eighteen 2c1dfeb523 Merge branch 'main' into add-ldns-like-sign-zone-support 2024-12-03 23:47:39 +01:00
Ximon Eighteen 4ed6478798 Clippy. 2024-12-03 23:19:19 +01:00
Ximon Eighteen 489d762444 - Upgrade to latest domain changes.
- Add support for `-A`.
- Add support for `-U`.
- Fix failure to print additional RRSIGs when signing with more than one key.
2024-12-03 21:25:52 +01:00
Jannik Peters dafbd86938 Add more tests 2024-12-03 17:56:17 +01:00
Jannik Peters a246d557ec Use LdnsCommand::report_version 2024-12-03 17:56:17 +01:00
Jannik Peters 7b2e67afc2 Add more dnst argument parsing tests 2024-12-03 17:56:17 +01:00
Jannik Peters 91531c4f0e Clarify test keys names 2024-12-03 17:56:17 +01:00
Jannik Peters b634acd15b Add test helper functions to filter lines for multiple patterns 2024-12-03 17:56:17 +01:00
Jannik Peters 0c8a95643d Update zonemd and sign expected output 2024-12-02 17:48:01 +01:00
Jannik Peters c23b78f9e6 Extract test file creation boilerplate into function 2024-12-02 17:36:32 +01:00
Jannik Peters 66fce99b18 Add NSEC3 optout behaviour test 2024-12-02 15:11:03 +01:00
6f0e27d3e1 Implement ldns-update and dnst update (#10)
* implement ldns-update and dnst update

* implement TSIG support for dnst update

* update: imports compliant with domain's CONTRIBUTING.md

* Use RequestMessage instead of RequestMessageMulti as we're expecting to receive multiple responses because we don't expect to send XFR requests.

* Clippy.

* update: fix parsing of optional IP addr

* WIP

* update: make it compile after rebase

* start testing update

* update: stelline test

* update: fix some comments and strings

* update: improve TSIG error message

* update: use lookup_host instead of manual A query

* notify & update: merge the separate TSigInfo instances

* update: look in both answer and authority sections

* fix duplicate clippy attribute

---------

Co-authored-by: Ximon Eighteen <3304436+ximon18@users.noreply.github.com>
2024-12-02 14:33:03 +01:00
9432f4897d Notify (#7)
* start work on notify

* continue on notify

* various fixes to notify

* notify: incorporate feedback from @mozzieongit

* notify: update outdated terminology

* notify: fix up comment

* update: fix up error message

Co-authored-by: Jannik <jannik@nlnetlabs.nl>

* notify: temporarily remove -I because it's not supported

* notify: imports compliant with domain's CONTRIBUTING.md

* notify: improve error message for TSIG parsing

* start testing notify!

* stelline tests for notify

* notify: implement ldns argument parsing

* fix CI

* cargo fmt

* update last occurrence of rust 1.78

* fix lazy_static to 1.0.2 for minimal-versions

* bring up to date with initial-nsec3-hash

* imports more in domain style

* notify (and other ldns utils): add support for printing version to env

* notify: simplify with Box<dyn SendRequest<_>>

* notify: improve help and error messages

---------

Co-authored-by: Jannik <jannik@nlnetlabs.nl>
2024-12-02 14:21:59 +01:00
Ximon Eighteen 295727db2c Remove testing code left behind accidentally. 2024-12-02 11:58:21 +01:00
Ximon Eighteen 81bbffe9f6 FIX: ZONEMD scheme and algorithm name matching should not be case sensitive (as they are not case sensitive in the original LDNS code). 2024-12-02 11:45:46 +01:00
Ximon Eighteen 9b3e7e2d63 Update ZONEMD argument parsing based on the update to use iana macro based parsing in domain. 2024-12-02 11:44:17 +01:00
617b623ba3 Add keygen command. (#9)
* Keygen skeleton.

* [keygen] Implement the basic features

* [keygen] synchronize files before exiting

* [keygen] Add help documentation

* [keygen] Generate '.ds' files for KSKs

* [keygen] Use 'display_as_bind()'

* [keygen] Add support for symlinks (Unix only)

* [keygen] Improve errors and support '.ds' symlinks

* Implement ldns-specific parsing for 'keygen'

* [keygen] Implement '-v' with version info

* [keygen] Add 'cfg(unix)' in ldns-parsing

* [keygen] Correctly handle duplicate options in ldns parsing

* Revert "[keygen] Implement '-v' with version info"

This reverts commit 643ab86bd4.

See: <https://github.com/NLnetLabs/dnst/pull/9#discussion_r1843460496>

* [keygen] Integrate the use of 'Env'

* [workflows/ci] Add OpenSSL installation steps

* [workflows/ci] Integrate OpenSSL for 'minimal_versions'

* [keygen] Improve the 'dnst' interface

* [keygen] Satisfy clippy

* [keygen] Simplify symlink CLI

* Add basic filesystem operations to 'Env'

* [keygen] Use symlink ops provided by 'Env'

* [keygen] Add basic tests for argument parsing

* [keygen] Add tests

* [keygen] Satisfy 'minimal-versions'

* [keygen] Satisfy clippy

* [keygen] Add Windows-specific missing branch

* [keygen] Document parsing for 'symlink'

* [keygen] Report error on '-r'

* [env] Refactor util fns into a 'util' module

* [keygen::symlink] Mark params as used, for Windows

* [keygen] Fix double error message

See: <https://github.com/NLnetLabs/dnst/pull/9#discussion_r1862213985>

* [keygen] Use 'Args::Report'

* [keygen] Allow invalid HTML in docs for Clap

* Use 'domain'-style imports

* [keygen] Use uppercase for expected clap values

* [keygen] use lowercase value names in Clap

---------

Co-authored-by: arya dradjica <arya@nlnetlabs.nl>
2024-12-02 11:20:21 +01:00