diff --git a/Cargo.lock b/Cargo.lock index 6efe653..b31fb88 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -12,26 +12,27 @@ dependencies = [ [[package]] name = "age-core" version = "0.5.0" -source = "git+https://github.com/str4d/rage.git?rev=d8fd951e059d9f7116b2b9dd0d176798a11b49f3#d8fd951e059d9f7116b2b9dd0d176798a11b49f3" +source = "git+https://github.com/str4d/rage.git?rev=a9b5e88aa5816b284ebea23fc84d0203a3c4fdbb#a9b5e88aa5816b284ebea23fc84d0203a3c4fdbb" dependencies = [ - "base64 0.12.3", + "base64", "c2-chacha", "chacha20poly1305", "cookie-factory", "hkdf", - "nom 5.1.2", - "rand", + "nom", + "rand 0.7.3", "secrecy", "sha2", + "tempfile", ] [[package]] name = "age-plugin" version = "0.0.0" -source = "git+https://github.com/str4d/rage.git?rev=d8fd951e059d9f7116b2b9dd0d176798a11b49f3#d8fd951e059d9f7116b2b9dd0d176798a11b49f3" +source = "git+https://github.com/str4d/rage.git?rev=a9b5e88aa5816b284ebea23fc84d0203a3c4fdbb#a9b5e88aa5816b284ebea23fc84d0203a3c4fdbb" dependencies = [ "age-core", - "bech32 0.7.3", + "bech32", "chrono", "secrecy", ] @@ -42,7 +43,7 @@ version = "0.0.0" dependencies = [ "age-core", "age-plugin", - "bech32 0.8.0", + "bech32", "console", "elliptic-curve", "gumdrop", @@ -70,24 +71,12 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" -[[package]] -name = "base64" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff" - [[package]] name = "base64" version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" -[[package]] -name = "bech32" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dabbe35f96fb9507f7330793dc490461b2962659ac5d427181e451a623751d1" - [[package]] name = "bech32" version = "0.8.0" @@ -258,7 +247,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4cccf60bb98c0fca115a581f894aed0e43fa55bf289fdac5599bec440bb4fd6" dependencies = [ - "nom 6.1.2", + "nom", "num-bigint 0.4.0", "num-traits", "syn", @@ -271,7 +260,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "120842c2385dea19347e2f6e31caa5dced5ba8afdfacaac16c59465fdd1168f2" dependencies = [ "der-oid-macro", - "nom 6.1.2", + "nom", "num-bigint 0.4.0", "num-traits", "rusticata-macros", @@ -319,7 +308,7 @@ dependencies = [ "generic-array", "group", "pkcs8", - "rand_core", + "rand_core 0.5.1", "subtle", "zeroize", ] @@ -337,7 +326,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "01646e077d4ebda82b73f1bca002ea1e91561a77df2431a9e79729bcc31950ef" dependencies = [ "bitvec 0.18.5", - "rand_core", + "rand_core 0.5.1", "subtle", ] @@ -368,6 +357,17 @@ dependencies = [ "wasi 0.9.0+wasi-snapshot-preview1", ] +[[package]] +name = "getrandom" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c9495705279e7140bf035dde1f6e750c162df8b625267cd52cc44e0b156732c8" +dependencies = [ + "cfg-if", + "libc", + "wasi 0.10.0+wasi-snapshot-preview1", +] + [[package]] name = "group" version = "0.8.0" @@ -375,7 +375,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cc11f9f5fbf1943b48ae7c2bf6846e7d827a512d1be4f23af708f5ca5d01dde1" dependencies = [ "ff", - "rand_core", + "rand_core 0.5.1", "subtle", ] @@ -468,17 +468,6 @@ version = "2.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ee1c47aaa256ecabcaea351eae4a9b01ef39ed810004e298d2511ed284b1525" -[[package]] -name = "nom" -version = "5.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffb4262d26ed83a1c0a33a38fe2bb15797329c85770da05e6b828ddb782627af" -dependencies = [ - "lexical-core", - "memchr", - "version_check", -] - [[package]] name = "nom" version = "6.1.2" @@ -527,7 +516,7 @@ dependencies = [ "num-integer", "num-iter", "num-traits", - "rand", + "rand 0.7.3", "serde", "smallvec", "zeroize", @@ -637,7 +626,7 @@ version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fd56cbd21fea48d0c440b41cd69c589faacade08c992d9a54e471b79d0fd13eb" dependencies = [ - "base64 0.13.0", + "base64", "once_cell", "regex", ] @@ -709,11 +698,23 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" dependencies = [ - "getrandom", + "getrandom 0.1.16", "libc", - "rand_chacha", - "rand_core", - "rand_hc", + "rand_chacha 0.2.2", + "rand_core 0.5.1", + "rand_hc 0.2.0", +] + +[[package]] +name = "rand" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ef9e7e66b4468674bfcb0c81af8b7fa0bb154fa9f28eb840da5c447baeb8d7e" +dependencies = [ + "libc", + "rand_chacha 0.3.0", + "rand_core 0.6.2", + "rand_hc 0.3.0", ] [[package]] @@ -723,7 +724,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" dependencies = [ "ppv-lite86", - "rand_core", + "rand_core 0.5.1", +] + +[[package]] +name = "rand_chacha" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e12735cf05c9e10bf21534da50a147b924d555dc7a547c42e6bb2d5b6017ae0d" +dependencies = [ + "ppv-lite86", + "rand_core 0.6.2", ] [[package]] @@ -732,7 +743,16 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" dependencies = [ - "getrandom", + "getrandom 0.1.16", +] + +[[package]] +name = "rand_core" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34cf66eb183df1c5876e2dcf6b13d57340741e8dc255b48e40a26de954d06ae7" +dependencies = [ + "getrandom 0.2.2", ] [[package]] @@ -741,7 +761,25 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" dependencies = [ - "rand_core", + "rand_core 0.5.1", +] + +[[package]] +name = "rand_hc" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3190ef7066a446f2e7f42e239d161e905420ccab01eb967c9eb27d21b2322a73" +dependencies = [ + "rand_core 0.6.2", +] + +[[package]] +name = "redox_syscall" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94341e4e44e24f6b591b59e47a8a027df12e008d73fd5672dbea9cc22f4507d9" +dependencies = [ + "bitflags", ] [[package]] @@ -759,6 +797,15 @@ version = "0.6.23" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24d5f089152e60f62d28b835fbff2cd2e8dc0baf1ac13343bef92ab7eed84548" +[[package]] +name = "remove_dir_all" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7" +dependencies = [ + "winapi", +] + [[package]] name = "rsa" version = "0.3.0" @@ -773,7 +820,7 @@ dependencies = [ "num-iter", "num-traits", "pem", - "rand", + "rand 0.7.3", "sha2", "simple_asn1", "subtle", @@ -787,7 +834,7 @@ version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7390af60e66c44130b4c5ea85f2555b7ace835d73b4b889c704dc3cb4c0468c8" dependencies = [ - "nom 6.1.2", + "nom", ] [[package]] @@ -849,7 +896,7 @@ version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "29f060a7d147e33490ec10da418795238fd7545bba241504d6b31a409f2e6210" dependencies = [ - "rand_core", + "rand_core 0.5.1", ] [[package]] @@ -925,6 +972,20 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" +[[package]] +name = "tempfile" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dac1c663cfc93810f88aed9b8941d48cabf856a1b111c29a40439018d870eb22" +dependencies = [ + "cfg-if", + "libc", + "rand 0.8.3", + "redox_syscall", + "remove_dir_all", + "winapi", +] + [[package]] name = "terminal_size" version = "0.1.16" @@ -1056,12 +1117,12 @@ version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "64abca276c58f8341ddc13fd4bd6ae75993cc669043f5b34813c90f7dff04771" dependencies = [ - "base64 0.13.0", + "base64", "chrono", "data-encoding", "der-parser", "lazy_static", - "nom 6.1.2", + "nom", "oid-registry", "rusticata-macros", "rustversion", @@ -1079,10 +1140,10 @@ dependencies = [ "der-parser", "des", "elliptic-curve", - "getrandom", + "getrandom 0.1.16", "hmac", "log", - "nom 6.1.2", + "nom", "num-bigint-dig", "num-integer", "num-traits", diff --git a/Cargo.toml b/Cargo.toml index b9dec84..ce73ec2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -23,5 +23,5 @@ x509-parser = "0.9" yubikey-piv = { version = "0.3", features = ["untested"] } [patch.crates-io] -age-core = { git = "https://github.com/str4d/rage.git", rev = "d8fd951e059d9f7116b2b9dd0d176798a11b49f3" } -age-plugin = { git = "https://github.com/str4d/rage.git", rev = "d8fd951e059d9f7116b2b9dd0d176798a11b49f3" } +age-core = { git = "https://github.com/str4d/rage.git", rev = "a9b5e88aa5816b284ebea23fc84d0203a3c4fdbb" } +age-plugin = { git = "https://github.com/str4d/rage.git", rev = "a9b5e88aa5816b284ebea23fc84d0203a3c4fdbb" } diff --git a/src/plugin.rs b/src/plugin.rs index bb79c79..6938311 100644 --- a/src/plugin.rs +++ b/src/plugin.rs @@ -1,7 +1,8 @@ use age_core::format::{FileKey, Stanza}; use age_plugin::{ - identity::{self, Callbacks, IdentityPluginV1}, + identity::{self, IdentityPluginV1}, recipient::{self, RecipientPluginV1}, + Callbacks, }; use std::collections::HashMap; use std::io; @@ -17,7 +18,18 @@ impl RecipientPluginV1 for RecipientPlugin { todo!() } - fn wrap_file_key(&mut self, file_key: &FileKey) -> Result, Vec> { + fn add_identities<'a, I: Iterator>( + &mut self, + identities: I, + ) -> Result<(), Vec> { + todo!() + } + + fn wrap_file_keys( + &mut self, + file_keys: Vec, + callbacks: impl Callbacks, + ) -> io::Result>, Vec>> { todo!() } } @@ -36,7 +48,7 @@ impl IdentityPluginV1 for IdentityPlugin { fn unwrap_file_keys( &mut self, files: Vec>, - mut callbacks: impl Callbacks, + mut callbacks: impl Callbacks, ) -> io::Result>>> { todo!() }