mirror of
https://github.com/str4d/rage.git
synced 2025-04-03 02:47:42 +03:00
Move age crate into a workspace subdirectory
This commit is contained in:
parent
eee96f4c2f
commit
e4aca37bfc
31 changed files with 187 additions and 134 deletions
134
Cargo.toml
134
Cargo.toml
|
@ -1,132 +1,4 @@
|
|||
[package]
|
||||
name = "age"
|
||||
description = "[BETA] A simple, secure, and modern encryption tool."
|
||||
version = "0.2.0"
|
||||
authors = ["Jack Grigg <thestr4d@gmail.com>"]
|
||||
repository = "https://github.com/str4d/rage"
|
||||
readme = "README.md"
|
||||
keywords = ["rage", "cli", "encryption"]
|
||||
categories = ["command-line-utilities", "cryptography"]
|
||||
license = "MIT OR Apache-2.0"
|
||||
edition = "2018"
|
||||
default-run = "rage"
|
||||
|
||||
[package.metadata.deb]
|
||||
name = "rage"
|
||||
extended-description = """\
|
||||
age is a simple, secure and modern encryption format with small explicit keys, \
|
||||
no config options, and UNIX-style composability. rage is a Rust implementation \
|
||||
of the age specification."""
|
||||
section = "utils"
|
||||
assets = [
|
||||
["target/rage.1.gz", "usr/share/man/man1/", "644"],
|
||||
["target/rage-keygen.1.gz", "usr/share/man/man1/", "644"],
|
||||
["target/rage-mount.1.gz", "usr/share/man/man1/", "644"],
|
||||
["target/release/rage", "usr/bin/", "755"],
|
||||
["target/release/rage-keygen", "usr/bin/", "755"],
|
||||
["target/release/rage-mount", "usr/bin/", "755"],
|
||||
["README.md", "usr/share/doc/rage/README.md", "644"],
|
||||
[workspace]
|
||||
members = [
|
||||
"age",
|
||||
]
|
||||
features = ["mount"]
|
||||
|
||||
[badges]
|
||||
maintenance = { status = "experimental" }
|
||||
|
||||
[dependencies]
|
||||
#
|
||||
# Library dependencies
|
||||
#
|
||||
|
||||
# Dependencies required by the age specification:
|
||||
# - Base64 from RFC 4648
|
||||
base64 = "0.10"
|
||||
|
||||
# - ChaCha20-Poly1305 from RFC 7539
|
||||
chacha20poly1305 = "0.3"
|
||||
|
||||
# - X25519 from RFC 7748
|
||||
x25519-dalek = "0.6"
|
||||
|
||||
# - HKDF from RFC 5869 with SHA-256
|
||||
# - HMAC from RFC 2104 with SHA-256
|
||||
hkdf = "0.8"
|
||||
hmac = "0.7"
|
||||
sha2 = "0.8"
|
||||
|
||||
# - scrypt from RFC 7914
|
||||
scrypt = { version = "0.2", default-features = false }
|
||||
|
||||
# - CSPRNG
|
||||
rand = "0.7"
|
||||
|
||||
# - Key encoding
|
||||
bech32 = "0.7"
|
||||
|
||||
# OpenSSH-specific dependencies:
|
||||
# - RSAES-OAEP from RFC 8017 with SHA-256 and MGF1 (behind unstable feature flag)
|
||||
num-traits = { version = "0.2", optional = true }
|
||||
rsa = { version = "0.2", git = "https://github.com/str4d/RSA", branch = "oaep", optional = true }
|
||||
|
||||
# - Conversion of public keys from Ed25519 to X25519
|
||||
curve25519-dalek = "2"
|
||||
|
||||
# - Encrypted keys
|
||||
aes-ctr = "0.3"
|
||||
bcrypt-pbkdf = "0.1"
|
||||
|
||||
# Parsing
|
||||
cookie-factory = "0.3"
|
||||
nom = "5"
|
||||
|
||||
# Armor writing
|
||||
radix64 = "0.6"
|
||||
|
||||
# Secret management
|
||||
secrecy = "0.6"
|
||||
zeroize = "1"
|
||||
|
||||
#
|
||||
# Tool dependencies
|
||||
#
|
||||
|
||||
# Common CLI dependencies
|
||||
dialoguer = { version = "0.4", optional = true }
|
||||
dirs = { version = "2", optional = true }
|
||||
gumdrop = { version = "0.6", optional = true }
|
||||
log = { version = "0.4", optional = true }
|
||||
|
||||
# rage and rage-keygen dependencies
|
||||
chrono = { version = "0.4", optional = true }
|
||||
console = { version = "0.9", optional = true }
|
||||
minreq = { version = "1.4", features = ["https"], optional = true }
|
||||
|
||||
# rage-mount dependencies
|
||||
env_logger = { version = "0.7", optional = true }
|
||||
fuse_mt = { version = "0.5", optional = true }
|
||||
libc = { version = "0.2", optional = true }
|
||||
tar = { version = "0.4", optional = true }
|
||||
time = { version = "0.1", optional = true }
|
||||
zip = { version = "0.5", optional = true }
|
||||
|
||||
[dev-dependencies]
|
||||
criterion = "0.3"
|
||||
criterion-cycles-per-byte = "0.1"
|
||||
flate2 = "1"
|
||||
man = "0.3"
|
||||
quickcheck = "0.8"
|
||||
quickcheck_macros = "0.8"
|
||||
|
||||
[features]
|
||||
default = ["cli"]
|
||||
cli-common = ["dialoguer", "dirs", "gumdrop", "log"]
|
||||
cli = ["cli-common", "chrono", "console", "env_logger", "minreq"]
|
||||
mount = ["cli-common", "env_logger", "fuse_mt", "libc", "tar", "time", "zip"]
|
||||
unstable = ["num-traits", "rsa"]
|
||||
|
||||
[[bin]]
|
||||
name = "rage-mount"
|
||||
required-features = ["mount"]
|
||||
|
||||
[[bench]]
|
||||
name = "throughput"
|
||||
harness = false
|
||||
|
|
132
age/Cargo.toml
Normal file
132
age/Cargo.toml
Normal file
|
@ -0,0 +1,132 @@
|
|||
[package]
|
||||
name = "age"
|
||||
description = "[BETA] A simple, secure, and modern encryption tool."
|
||||
version = "0.2.0"
|
||||
authors = ["Jack Grigg <thestr4d@gmail.com>"]
|
||||
repository = "https://github.com/str4d/rage"
|
||||
readme = "README.md"
|
||||
keywords = ["rage", "cli", "encryption"]
|
||||
categories = ["command-line-utilities", "cryptography"]
|
||||
license = "MIT OR Apache-2.0"
|
||||
edition = "2018"
|
||||
default-run = "rage"
|
||||
|
||||
[package.metadata.deb]
|
||||
name = "rage"
|
||||
extended-description = """\
|
||||
age is a simple, secure and modern encryption format with small explicit keys, \
|
||||
no config options, and UNIX-style composability. rage is a Rust implementation \
|
||||
of the age specification."""
|
||||
section = "utils"
|
||||
assets = [
|
||||
["target/rage.1.gz", "usr/share/man/man1/", "644"],
|
||||
["target/rage-keygen.1.gz", "usr/share/man/man1/", "644"],
|
||||
["target/rage-mount.1.gz", "usr/share/man/man1/", "644"],
|
||||
["target/release/rage", "usr/bin/", "755"],
|
||||
["target/release/rage-keygen", "usr/bin/", "755"],
|
||||
["target/release/rage-mount", "usr/bin/", "755"],
|
||||
["README.md", "usr/share/doc/rage/README.md", "644"],
|
||||
]
|
||||
features = ["mount"]
|
||||
|
||||
[badges]
|
||||
maintenance = { status = "experimental" }
|
||||
|
||||
[dependencies]
|
||||
#
|
||||
# Library dependencies
|
||||
#
|
||||
|
||||
# Dependencies required by the age specification:
|
||||
# - Base64 from RFC 4648
|
||||
base64 = "0.10"
|
||||
|
||||
# - ChaCha20-Poly1305 from RFC 7539
|
||||
chacha20poly1305 = "0.3"
|
||||
|
||||
# - X25519 from RFC 7748
|
||||
x25519-dalek = "0.6"
|
||||
|
||||
# - HKDF from RFC 5869 with SHA-256
|
||||
# - HMAC from RFC 2104 with SHA-256
|
||||
hkdf = "0.8"
|
||||
hmac = "0.7"
|
||||
sha2 = "0.8"
|
||||
|
||||
# - scrypt from RFC 7914
|
||||
scrypt = { version = "0.2", default-features = false }
|
||||
|
||||
# - CSPRNG
|
||||
rand = "0.7"
|
||||
|
||||
# - Key encoding
|
||||
bech32 = "0.7"
|
||||
|
||||
# OpenSSH-specific dependencies:
|
||||
# - RSAES-OAEP from RFC 8017 with SHA-256 and MGF1 (behind unstable feature flag)
|
||||
num-traits = { version = "0.2", optional = true }
|
||||
rsa = { version = "0.2", git = "https://github.com/str4d/RSA", branch = "oaep", optional = true }
|
||||
|
||||
# - Conversion of public keys from Ed25519 to X25519
|
||||
curve25519-dalek = "2"
|
||||
|
||||
# - Encrypted keys
|
||||
aes-ctr = "0.3"
|
||||
bcrypt-pbkdf = "0.1"
|
||||
|
||||
# Parsing
|
||||
cookie-factory = "0.3"
|
||||
nom = "5"
|
||||
|
||||
# Armor writing
|
||||
radix64 = "0.6"
|
||||
|
||||
# Secret management
|
||||
secrecy = "0.6"
|
||||
zeroize = "1"
|
||||
|
||||
#
|
||||
# Tool dependencies
|
||||
#
|
||||
|
||||
# Common CLI dependencies
|
||||
dialoguer = { version = "0.4", optional = true }
|
||||
dirs = { version = "2", optional = true }
|
||||
gumdrop = { version = "0.6", optional = true }
|
||||
log = { version = "0.4", optional = true }
|
||||
|
||||
# rage and rage-keygen dependencies
|
||||
chrono = { version = "0.4", optional = true }
|
||||
console = { version = "0.9", optional = true }
|
||||
minreq = { version = "1.4", features = ["https"], optional = true }
|
||||
|
||||
# rage-mount dependencies
|
||||
env_logger = { version = "0.7", optional = true }
|
||||
fuse_mt = { version = "0.5", optional = true }
|
||||
libc = { version = "0.2", optional = true }
|
||||
tar = { version = "0.4", optional = true }
|
||||
time = { version = "0.1", optional = true }
|
||||
zip = { version = "0.5", optional = true }
|
||||
|
||||
[dev-dependencies]
|
||||
criterion = "0.3"
|
||||
criterion-cycles-per-byte = "0.1"
|
||||
flate2 = "1"
|
||||
man = "0.3"
|
||||
quickcheck = "0.8"
|
||||
quickcheck_macros = "0.8"
|
||||
|
||||
[features]
|
||||
default = ["cli"]
|
||||
cli-common = ["dialoguer", "dirs", "gumdrop", "log"]
|
||||
cli = ["cli-common", "chrono", "console", "env_logger", "minreq"]
|
||||
mount = ["cli-common", "env_logger", "fuse_mt", "libc", "tar", "time", "zip"]
|
||||
unstable = ["num-traits", "rsa"]
|
||||
|
||||
[[bin]]
|
||||
name = "rage-mount"
|
||||
required-features = ["mount"]
|
||||
|
||||
[[bench]]
|
||||
name = "throughput"
|
||||
harness = false
|
49
age/README.md
Normal file
49
age/README.md
Normal file
|
@ -0,0 +1,49 @@
|
|||
# age Rust library
|
||||
|
||||
age is a simple, secure and modern encryption tool with small explicit keys, no
|
||||
config options, and UNIX-style composability. The format specification is at
|
||||
[age-encryption.org/v1](https://age-encryption.org/v1).
|
||||
|
||||
To discuss the spec or other age related topics, please email
|
||||
[the mailing list](https://groups.google.com/d/forum/age-dev) at
|
||||
age-dev@googlegroups.com. age was designed by
|
||||
[@Benjojo12](https://twitter.com/Benjojo12) and
|
||||
[@FiloSottile](https://twitter.com/FiloSottile).
|
||||
|
||||
The reference interoperable Golang implementation is available at
|
||||
[filippo.io/age](https://filippo.io/age).
|
||||
|
||||
## Usage
|
||||
|
||||
Add this line to your `Cargo.toml`:
|
||||
|
||||
```
|
||||
age = "0.2"
|
||||
```
|
||||
|
||||
See the [documentation](https://docs.rs/age) for examples.
|
||||
|
||||
### Feature flags
|
||||
|
||||
- `cli-common` enables common helper functions for building age CLI tools.
|
||||
|
||||
- `unstable` enables in-development functionality. Anything behind this feature
|
||||
flag has no stability or interoperability guarantees.
|
||||
|
||||
## License
|
||||
|
||||
Licensed under either of
|
||||
|
||||
* Apache License, Version 2.0, ([LICENSE-APACHE](../LICENSE-APACHE) or
|
||||
http://www.apache.org/licenses/LICENSE-2.0)
|
||||
* MIT license ([LICENSE-MIT](../LICENSE-MIT) or http://opensource.org/licenses/MIT)
|
||||
|
||||
at your option.
|
||||
|
||||
### Contribution
|
||||
|
||||
Unless you explicitly state otherwise, any contribution intentionally
|
||||
submitted for inclusion in the work by you, as defined in the Apache-2.0
|
||||
license, shall be dual licensed as above, without any additional terms or
|
||||
conditions.
|
||||
|
4
fuzz/Cargo.lock
generated
4
fuzz/Cargo.lock
generated
|
@ -41,7 +41,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "age"
|
||||
version = "0.1.1"
|
||||
version = "0.2.0"
|
||||
dependencies = [
|
||||
"aes-ctr 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
|
@ -74,7 +74,7 @@ dependencies = [
|
|||
name = "age-fuzz"
|
||||
version = "0.0.0"
|
||||
dependencies = [
|
||||
"age 0.1.1",
|
||||
"age 0.2.0",
|
||||
"libfuzzer-sys 0.1.0 (git+https://github.com/rust-fuzz/libfuzzer-sys.git)",
|
||||
]
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ edition = "2018"
|
|||
cargo-fuzz = true
|
||||
|
||||
[dependencies.age]
|
||||
path = ".."
|
||||
path = "../age"
|
||||
[dependencies.libfuzzer-sys]
|
||||
git = "https://github.com/rust-fuzz/libfuzzer-sys.git"
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue