Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add keygen command. #9

Merged
merged 42 commits into from
Dec 2, 2024
Merged
Show file tree
Hide file tree
Changes from 32 commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
fdb4cb1
Keygen skeleton.
ximon18 Oct 17, 2024
c914a7c
[keygen] Implement the basic features
bal-e Oct 29, 2024
7dc6b82
[keygen] synchronize files before exiting
bal-e Oct 29, 2024
5746c3b
[keygen] Add help documentation
bal-e Oct 29, 2024
0333288
[keygen] Generate '.ds' files for KSKs
bal-e Oct 29, 2024
b313809
[keygen] Use 'display_as_bind()'
bal-e Oct 30, 2024
4f2fd8e
[keygen] Add support for symlinks (Unix only)
bal-e Oct 30, 2024
51cdb1c
Merge branch 'main' into keygen
bal-e Nov 11, 2024
73550b4
[keygen] Improve errors and support '.ds' symlinks
bal-e Nov 13, 2024
086246b
Implement ldns-specific parsing for 'keygen'
bal-e Nov 15, 2024
0ef9f0a
Merge branch 'main' into keygen
bal-e Nov 15, 2024
643ab86
[keygen] Implement '-v' with version info
bal-e Nov 15, 2024
a062704
[keygen] Add 'cfg(unix)' in ldns-parsing
bal-e Nov 15, 2024
d450192
[keygen] Correctly handle duplicate options in ldns parsing
bal-e Nov 15, 2024
f503fc8
Revert "[keygen] Implement '-v' with version info"
bal-e Nov 15, 2024
a5052ac
Merge branch 'main' into keygen
bal-e Nov 19, 2024
76d604a
[keygen] Integrate the use of 'Env'
bal-e Nov 19, 2024
bf09e96
[workflows/ci] Add OpenSSL installation steps
bal-e Nov 19, 2024
532a399
[workflows/ci] Integrate OpenSSL for 'minimal_versions'
bal-e Nov 19, 2024
eb171c4
Merge branch 'main' into keygen
bal-e Nov 19, 2024
f524f89
[keygen] Improve the 'dnst' interface
bal-e Nov 21, 2024
84977fb
[keygen] Satisfy clippy
bal-e Nov 21, 2024
a2224e6
[keygen] Simplify symlink CLI
bal-e Nov 25, 2024
9772177
Merge branch 'main' into keygen
bal-e Nov 25, 2024
4158fb8
Add basic filesystem operations to 'Env'
bal-e Nov 25, 2024
cf85404
[keygen] Use symlink ops provided by 'Env'
bal-e Nov 25, 2024
114b931
[keygen] Add basic tests for argument parsing
bal-e Nov 25, 2024
4a3fb18
[keygen] Add tests
bal-e Nov 26, 2024
1a0aa79
[keygen] Satisfy 'minimal-versions'
bal-e Nov 26, 2024
c531ec7
[keygen] Satisfy clippy
bal-e Nov 26, 2024
dbaf113
[keygen] Add Windows-specific missing branch
bal-e Nov 27, 2024
8bbd0f9
[keygen] Document parsing for 'symlink'
bal-e Nov 27, 2024
9752b69
[keygen] Report error on '-r'
bal-e Nov 28, 2024
59ca8d2
[env] Refactor util fns into a 'util' module
bal-e Nov 28, 2024
fae388e
[keygen::symlink] Mark params as used, for Windows
bal-e Nov 28, 2024
f8a545a
[keygen] Fix double error message
bal-e Nov 29, 2024
639a835
Merge branch 'main' into keygen
bal-e Nov 29, 2024
9e9aec2
[keygen] Use 'Args::Report'
bal-e Nov 29, 2024
6a4646a
[keygen] Allow invalid HTML in docs for Clap
bal-e Nov 29, 2024
2ce049d
Use 'domain'-style imports
bal-e Nov 29, 2024
f5aba21
[keygen] Use uppercase for expected clap values
bal-e Nov 29, 2024
faffc71
[keygen] use lowercase value names in Clap
bal-e Dec 2, 2024
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
19 changes: 19 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,30 @@ jobs:
matrix:
os: [ubuntu-latest, windows-latest, macOS-latest]
rust: [1.78.0, stable, beta, nightly]
env:
RUSTFLAGS: "-D warnings"
# We use 'vcpkg' to install OpenSSL on Windows.
VCPKG_ROOT: "${{ github.workspace }}\\vcpkg"
VCPKGRS_TRIPLET: x64-windows-release
# Ensure that OpenSSL is dynamically linked.
VCPKGRS_DYNAMIC: 1
steps:
- name: Checkout repository
uses: actions/checkout@v1
- name: Install Rust
uses: hecrj/setup-rust-action@v2
with:
rust-version: ${{ matrix.rust }}
- if: matrix.os == 'ubuntu-latest'
run: sudo apt-get install -y libssl-dev
- if: matrix.os == 'windows-latest'
id: vcpkg
uses: johnwason/vcpkg-action@v6
with:
pkgs: openssl
triplet: ${{ env.VCPKGRS_TRIPLET }}
token: ${{ github.token }}
github-binarycache: true
- if: matrix.rust == 'stable'
run: rustup component add clippy
- if: matrix.rust == 'stable'
Expand All @@ -36,6 +53,8 @@ jobs:
uses: hecrj/setup-rust-action@v2
with:
rust-version: "1.78.0"
- name: Install OpenSSL
run: sudo apt-get install -y libssl-dev
- name: Install nightly Rust
run: rustup install nightly
- name: Check with minimal-versions
Expand Down
135 changes: 128 additions & 7 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 15 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,25 @@ default-run = "dnst"
name = "ldns"
path = "src/bin/ldns.rs"

[features]
default = ["openssl", "ring"]

# Cryptographic backends
openssl = ["domain/openssl"]
ring = ["domain/ring"]

[dependencies]
clap = { version = "4.3.4", features = ["derive"] }
domain = { version = "0.10.3", git = "https://github.com/NLnetLabs/domain.git", branch = "initial-nsec3-generation", features = ["unstable-validator", "zonefile"] }
domain = { git = "https://github.com/NLnetLabs/domain.git", branch = "initial-nsec3-generation", features = [
"bytes",
"zonefile",
"unstable-sign",
"unstable-validate",
"unstable-validator",
] }
lexopt = "0.3.0"

[dev-dependencies]
test_bin = "0.4.0"
tempfile = "3.14.0"
regex = "1.11.1"
Loading
Loading