Removed ece dev dependency

This commit is contained in:
mdecimus 2024-06-22 10:22:09 +02:00
parent a9a3925e88
commit b357bbcba8
5 changed files with 2340 additions and 87 deletions

128
Cargo.lock generated
View file

@ -278,7 +278,7 @@ checksum = "7378575ff571966e99a744addeff0bff98b8ada0dedf1956d59e634db95eaac1"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.66",
"syn 2.0.67",
"synstructure 0.13.1",
]
@ -301,7 +301,7 @@ checksum = "7b18050c2cd6fe86c3a76584ef5e0baf286d038cda203eb6223df2cc413565f7"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.66",
"syn 2.0.67",
]
[[package]]
@ -325,7 +325,7 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.66",
"syn 2.0.67",
]
[[package]]
@ -347,7 +347,7 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.66",
"syn 2.0.67",
]
[[package]]
@ -358,7 +358,7 @@ checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.66",
"syn 2.0.67",
]
[[package]]
@ -551,7 +551,7 @@ dependencies = [
"regex",
"rustc-hash",
"shlex",
"syn 2.0.66",
"syn 2.0.67",
"which",
]
@ -703,7 +703,7 @@ dependencies = [
"proc-macro-crate",
"proc-macro2",
"quote",
"syn 2.0.66",
"syn 2.0.67",
"syn_derive",
]
@ -959,7 +959,7 @@ dependencies = [
"heck 0.5.0",
"proc-macro2",
"quote",
"syn 2.0.66",
"syn 2.0.67",
]
[[package]]
@ -1325,7 +1325,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.66",
"syn 2.0.67",
]
[[package]]
@ -1373,7 +1373,7 @@ dependencies = [
"proc-macro2",
"quote",
"strsim 0.11.1",
"syn 2.0.66",
"syn 2.0.67",
]
[[package]]
@ -1395,7 +1395,7 @@ checksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178"
dependencies = [
"darling_core 0.20.9",
"quote",
"syn 2.0.66",
"syn 2.0.67",
]
[[package]]
@ -1546,7 +1546,7 @@ checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.66",
"syn 2.0.67",
]
[[package]]
@ -1567,7 +1567,7 @@ dependencies = [
"darling 0.20.9",
"proc-macro2",
"quote",
"syn 2.0.66",
"syn 2.0.67",
]
[[package]]
@ -1577,7 +1577,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "206868b8242f27cecce124c19fd88157fbd0dd334df2587f36417bafbc85097b"
dependencies = [
"derive_builder_core",
"syn 2.0.66",
"syn 2.0.67",
]
[[package]]
@ -1668,13 +1668,13 @@ dependencies = [
[[package]]
name = "displaydoc"
version = "0.2.4"
version = "0.2.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d"
checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.66",
"syn 2.0.67",
]
[[package]]
@ -1764,24 +1764,6 @@ dependencies = [
"spki",
]
[[package]]
name = "ece"
version = "2.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c2ea1d2f2cc974957a4e2575d8e5bb494549bab66338d6320c2789abcfff5746"
dependencies = [
"base64 0.21.7",
"byteorder",
"hex",
"hkdf",
"lazy_static",
"once_cell",
"openssl",
"serde",
"sha2 0.10.8",
"thiserror",
]
[[package]]
name = "ed25519"
version = "2.2.3"
@ -1899,7 +1881,7 @@ dependencies = [
"heck 0.4.1",
"proc-macro2",
"quote",
"syn 2.0.66",
"syn 2.0.67",
]
[[package]]
@ -2082,7 +2064,7 @@ checksum = "f8db6653cbc621a3810d95d55bd342be3e71181d6df21a4eb29ef986202d3f9c"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.66",
"syn 2.0.67",
"try_map",
]
@ -2121,7 +2103,7 @@ checksum = "b0fa992f1656e1707946bbba340ad244f0814009ef8c0118eb7b658395f19a2e"
dependencies = [
"frunk_proc_macro_helpers",
"quote",
"syn 2.0.66",
"syn 2.0.67",
]
[[package]]
@ -2133,7 +2115,7 @@ dependencies = [
"frunk_core",
"proc-macro2",
"quote",
"syn 2.0.66",
"syn 2.0.67",
]
[[package]]
@ -2145,7 +2127,7 @@ dependencies = [
"frunk_core",
"frunk_proc_macro_helpers",
"quote",
"syn 2.0.66",
"syn 2.0.67",
]
[[package]]
@ -2210,7 +2192,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.66",
"syn 2.0.67",
]
[[package]]
@ -2891,7 +2873,7 @@ checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.66",
"syn 2.0.67",
]
[[package]]
@ -3165,7 +3147,6 @@ dependencies = [
"common",
"dashmap",
"directory",
"ece",
"form-data",
"form_urlencoded",
"futures-util",
@ -3324,11 +3305,11 @@ dependencies = [
[[package]]
name = "lazy_static"
version = "1.4.0"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
dependencies = [
"spin 0.5.2",
"spin 0.9.8",
]
[[package]]
@ -3667,7 +3648,7 @@ checksum = "5cf92c10c7e361d6b99666ec1c6f9805b0bea2c3bd8c78dc6fe98ac5bd78db11"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.66",
"syn 2.0.67",
]
[[package]]
@ -3774,7 +3755,7 @@ dependencies = [
"proc-macro-error",
"proc-macro2",
"quote",
"syn 2.0.66",
"syn 2.0.67",
"termcolor",
"thiserror",
]
@ -4090,7 +4071,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.66",
"syn 2.0.67",
]
[[package]]
@ -4364,7 +4345,7 @@ dependencies = [
"phf_shared 0.11.2",
"proc-macro2",
"quote",
"syn 2.0.66",
"syn 2.0.67",
]
[[package]]
@ -4402,7 +4383,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.66",
"syn 2.0.67",
]
[[package]]
@ -4534,7 +4515,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e"
dependencies = [
"proc-macro2",
"syn 2.0.66",
"syn 2.0.67",
]
[[package]]
@ -4605,9 +4586,9 @@ dependencies = [
[[package]]
name = "proc-macro2"
version = "1.0.85"
version = "1.0.86"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "22244ce15aa966053a896d1accb3a6e68469b97c7f33f284b99f0d576879fc23"
checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77"
dependencies = [
"unicode-ident",
]
@ -4632,7 +4613,7 @@ dependencies = [
"itertools 0.12.1",
"proc-macro2",
"quote",
"syn 2.0.66",
"syn 2.0.67",
]
[[package]]
@ -5778,7 +5759,7 @@ checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.66",
"syn 2.0.67",
]
[[package]]
@ -5848,7 +5829,7 @@ checksum = "82fe9db325bcef1fbcde82e078a5cc4efdf787e96b3b9cf45b50b529f2083d67"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.66",
"syn 2.0.67",
]
[[package]]
@ -6247,9 +6228,9 @@ dependencies = [
[[package]]
name = "subtle"
version = "2.5.0"
version = "2.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc"
checksum = "0d0208408ba0c3df17ed26eb06992cb1a1268d41b2c0e12e65203fbe3972cee5"
[[package]]
name = "syn"
@ -6264,9 +6245,9 @@ dependencies = [
[[package]]
name = "syn"
version = "2.0.66"
version = "2.0.67"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5"
checksum = "ff8655ed1d86f3af4ee3fd3263786bc14245ad17c4c7e85ba7187fb3ae028c90"
dependencies = [
"proc-macro2",
"quote",
@ -6282,7 +6263,7 @@ dependencies = [
"proc-macro-error",
"proc-macro2",
"quote",
"syn 2.0.66",
"syn 2.0.67",
]
[[package]]
@ -6317,7 +6298,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.66",
"syn 2.0.67",
]
[[package]]
@ -6392,7 +6373,6 @@ dependencies = [
"csv",
"dashmap",
"directory",
"ece",
"flate2",
"futures",
"http-body-util",
@ -6448,7 +6428,7 @@ checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.66",
"syn 2.0.67",
]
[[package]]
@ -6573,7 +6553,7 @@ checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.66",
"syn 2.0.67",
]
[[package]]
@ -6791,7 +6771,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.66",
"syn 2.0.67",
]
[[package]]
@ -7185,7 +7165,7 @@ dependencies = [
"once_cell",
"proc-macro2",
"quote",
"syn 2.0.66",
"syn 2.0.67",
"wasm-bindgen-shared",
]
@ -7219,7 +7199,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.66",
"syn 2.0.67",
"wasm-bindgen-backend",
"wasm-bindgen-shared",
]
@ -7652,7 +7632,7 @@ checksum = "28cc31741b18cb6f1d5ff12f5b7523e3d6eb0852bbbad19d73905511d9849b95"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.66",
"syn 2.0.67",
"synstructure 0.13.1",
]
@ -7673,7 +7653,7 @@ checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.66",
"syn 2.0.67",
]
[[package]]
@ -7693,7 +7673,7 @@ checksum = "0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.66",
"syn 2.0.67",
"synstructure 0.13.1",
]
@ -7714,7 +7694,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.66",
"syn 2.0.67",
]
[[package]]
@ -7736,7 +7716,7 @@ checksum = "97cf56601ee5052b4417d90c8755c6683473c926039908196cf35d99f893ebe7"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.66",
"syn 2.0.67",
]
[[package]]

View file

@ -58,8 +58,5 @@ rev_lines = "0.3.0"
x509-parser = "0.16.0"
quick-xml = "0.31"
[dev-dependencies]
ece = "2.2"
[features]
test_mode = []

2257
pepe.txt Normal file

File diff suppressed because it is too large Load diff

View file

@ -50,7 +50,6 @@ tracing-subscriber = { version = "0.3", features = ["env-filter"] }
reqwest = { version = "0.12", default-features = false, features = ["rustls-tls-webpki-roots", "multipart", "http2"]}
bytes = "1.4.0"
futures = "0.3"
ece = "2.2"
hyper = { version = "1.0.1", features = ["server", "http1", "http2"] }
hyper-util = { version = "0.1.1", features = ["tokio"] }
http-body-util = "0.1.0"

View file

@ -29,20 +29,25 @@ use std::{
time::Duration,
};
#[cfg(feature = "test_push_encryption")]
use base64::{engine::general_purpose, Engine};
use common::{config::server::Servers, listener::SessionData, Core};
use directory::backend::internal::manage::ManageDirectory;
#[cfg(feature = "test_push_encryption")]
use ece::EcKeyComponents;
use hyper::{body, header::CONTENT_ENCODING, server::conn::http1, service::service_fn, StatusCode};
#[cfg(feature = "test_push_encryption")]
use hyper::header::CONTENT_ENCODING;
use hyper::{body, server::conn::http1, service::service_fn, StatusCode};
use hyper_util::rt::TokioIo;
use jmap::{
api::{
http::{fetch_body, ToHttpResponse},
HtmlResponse, StateChangeResponse,
},
push::ece::ece_encrypt,
use jmap::api::{
http::{fetch_body, ToHttpResponse},
HtmlResponse, StateChangeResponse,
};
use jmap_client::{mailbox::Role, push_subscription::Keys};
#[cfg(feature = "test_push_encryption")]
use jmap_client::push_subscription::Keys;
use jmap_client::mailbox::Role;
use jmap_proto::types::{id::Id, type_state::DataType};
use store::ahash::AHashSet;
@ -101,12 +106,17 @@ pub async fn test(params: &mut JMAPTest) {
let (event_tx, mut event_rx) = mpsc::channel::<PushMessage>(100);
// Create subscription keys
#[cfg(feature = "test_push_encryption")]
let (keypair, auth_secret) = ece::generate_keypair_and_auth_secret().unwrap();
#[cfg(feature = "test_push_encryption")]
let pubkey = keypair.pub_as_raw().unwrap();
#[cfg(feature = "test_push_encryption")]
let keys = Keys::new(&pubkey, &auth_secret);
let push_server = Arc::new(PushServer {
#[cfg(feature = "test_push_encryption")]
keypair: keypair.raw_components().unwrap(),
#[cfg(feature = "test_push_encryption")]
auth_secret: auth_secret.to_vec(),
tx: event_tx,
fail_requests: false.into(),
@ -185,7 +195,10 @@ pub async fn test(params: &mut JMAPTest) {
.push_subscription_create(
"123",
"https://127.0.0.1:9000/push?skip_checks=true", // skip_checks only works in cfg(test)
#[cfg(feature = "test_push_encryption")]
keys.into(),
#[cfg(not(feature = "test_push_encryption"))]
None,
)
.await
.unwrap()
@ -249,7 +262,9 @@ impl From<Arc<PushServer>> for SessionManager {
}
}
pub struct PushServer {
#[cfg(feature = "test_push_encryption")]
keypair: EcKeyComponents,
#[cfg(feature = "test_push_encryption")]
auth_secret: Vec<u8>,
tx: mpsc::Sender<PushMessage>,
fail_requests: AtomicBool,
@ -316,6 +331,7 @@ impl common::listener::SessionManager for SessionManager {
)
.into_http_response());
}
#[cfg(feature = "test_push_encryption")]
let is_encrypted = req
.headers()
.get(CONTENT_ENCODING)
@ -323,6 +339,7 @@ impl common::listener::SessionManager for SessionManager {
encoding.to_str().unwrap() == "aes128gcm"
});
let body = fetch_body(&mut req, 1024 * 1024).await.unwrap();
#[cfg(feature = "test_push_encryption")]
let message = serde_json::from_slice::<PushMessage>(&if is_encrypted {
ece::decrypt(
&push.keypair,
@ -334,6 +351,8 @@ impl common::listener::SessionManager for SessionManager {
body
})
.unwrap();
#[cfg(not(feature = "test_push_encryption"))]
let message = serde_json::from_slice::<PushMessage>(&body).unwrap();
//println!("Push received ({}): {:?}", is_encrypted, message);
@ -391,6 +410,7 @@ async fn assert_state(event_rx: &mut mpsc::Receiver<PushMessage>, id: &Id, state
);
}
#[cfg(feature = "test_push_encryption")]
#[test]
fn ece_roundtrip() {
for len in [1, 2, 5, 16, 256, 1024, 2048, 4096, 1024 * 1024] {
@ -399,7 +419,7 @@ fn ece_roundtrip() {
let bytes: Vec<u8> = (0..len).map(|_| store::rand::random::<u8>()).collect();
let encrypted_bytes =
ece_encrypt(&keypair.pub_as_raw().unwrap(), &auth_secret, &bytes).unwrap();
push::ece::ece_encrypt(&keypair.pub_as_raw().unwrap(), &auth_secret, &bytes).unwrap();
let decrypted_bytes = ece::decrypt(
&keypair.raw_components().unwrap(),