Commit Graph
198 Commits
Author SHA1 Message Date
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
Ximon Eighteen 0ad6505e36 Cargo fmt. 2024-12-02 10:51:36 +01:00
Ximon Eighteen 6064a19cde Build against temporary branch of domain that contains all latest changes. 2024-12-02 10:42:58 +01:00
Ximon Eighteen 9f127b7d45 FIX: In LDNS Mode ignore case of ZoneMD scheme name and algorithm mnemonic arguments to match LDNS behaviour. 2024-12-02 10:39:47 +01:00
Ximon Eighteen fd2f485c86 FIX: In LDNS mode treat 0 dates as not-set like LDNS. (fixes #45) 2024-12-02 10:19:31 +01:00
Ximon Eighteen 544cdd218c Merge branch 'main' into add-ldns-like-sign-zone-support 2024-11-29 21:11:03 +01:00