mirror of
https://github.com/chatmail/core.git
synced 2026-05-15 12:56:30 +03:00
cargo fmt
This commit is contained in:
188
tests/stress.rs
188
tests/stress.rs
@@ -461,129 +461,129 @@ unsafe fn stress_functions(context: &Context) {
|
|||||||
#[test]
|
#[test]
|
||||||
#[ignore] // is too expensive
|
#[ignore] // is too expensive
|
||||||
fn test_encryption_decryption() {
|
fn test_encryption_decryption() {
|
||||||
let mut bad_data: [u8; 4096] = [0; 4096];
|
let mut bad_data: [u8; 4096] = [0; 4096];
|
||||||
|
|
||||||
for i in 0..4096 {
|
for i in 0..4096 {
|
||||||
bad_data[i] = (i & 0xff) as u8;
|
bad_data[i] = (i & 0xff) as u8;
|
||||||
}
|
}
|
||||||
|
|
||||||
for j in 0..(4096 / 40) {
|
for j in 0..(4096 / 40) {
|
||||||
let bad_key = Key::from_slice(
|
let bad_key = Key::from_slice(
|
||||||
&bad_data[j..j + 4096 / 2 + j],
|
&bad_data[j..j + 4096 / 2 + j],
|
||||||
if 0 != j & 1 {
|
if 0 != j & 1 {
|
||||||
KeyType::Public
|
KeyType::Public
|
||||||
} else {
|
} else {
|
||||||
KeyType::Private
|
KeyType::Private
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
assert!(bad_key.is_none());
|
assert!(bad_key.is_none());
|
||||||
}
|
}
|
||||||
|
|
||||||
let (public_key, private_key) = dc_pgp_create_keypair("foo@bar.de").unwrap();
|
let (public_key, private_key) = dc_pgp_create_keypair("foo@bar.de").unwrap();
|
||||||
|
|
||||||
private_key.split_key().unwrap();
|
private_key.split_key().unwrap();
|
||||||
|
|
||||||
let (public_key2, private_key2) = dc_pgp_create_keypair("two@zwo.de").unwrap();
|
let (public_key2, private_key2) = dc_pgp_create_keypair("two@zwo.de").unwrap();
|
||||||
|
|
||||||
assert_ne!(public_key, public_key2);
|
assert_ne!(public_key, public_key2);
|
||||||
|
|
||||||
let original_text = b"This is a test";
|
let original_text = b"This is a test";
|
||||||
let mut keyring = Keyring::default();
|
let mut keyring = Keyring::default();
|
||||||
keyring.add_owned(public_key.clone());
|
keyring.add_owned(public_key.clone());
|
||||||
keyring.add_ref(&public_key2);
|
keyring.add_ref(&public_key2);
|
||||||
|
|
||||||
let ctext_signed = dc_pgp_pk_encrypt(original_text, &keyring, Some(&private_key)).unwrap();
|
let ctext_signed = dc_pgp_pk_encrypt(original_text, &keyring, Some(&private_key)).unwrap();
|
||||||
assert!(!ctext_signed.is_empty());
|
assert!(!ctext_signed.is_empty());
|
||||||
assert!(ctext_signed.starts_with("-----BEGIN PGP MESSAGE-----"));
|
assert!(ctext_signed.starts_with("-----BEGIN PGP MESSAGE-----"));
|
||||||
|
|
||||||
let ctext_unsigned = dc_pgp_pk_encrypt(original_text, &keyring, None).unwrap();
|
let ctext_unsigned = dc_pgp_pk_encrypt(original_text, &keyring, None).unwrap();
|
||||||
assert!(!ctext_unsigned.is_empty());
|
assert!(!ctext_unsigned.is_empty());
|
||||||
assert!(ctext_unsigned.starts_with("-----BEGIN PGP MESSAGE-----"));
|
assert!(ctext_unsigned.starts_with("-----BEGIN PGP MESSAGE-----"));
|
||||||
|
|
||||||
let mut keyring = Keyring::default();
|
let mut keyring = Keyring::default();
|
||||||
keyring.add_owned(private_key);
|
keyring.add_owned(private_key);
|
||||||
|
|
||||||
let mut public_keyring = Keyring::default();
|
let mut public_keyring = Keyring::default();
|
||||||
public_keyring.add_ref(&public_key);
|
public_keyring.add_ref(&public_key);
|
||||||
|
|
||||||
let mut public_keyring2 = Keyring::default();
|
let mut public_keyring2 = Keyring::default();
|
||||||
public_keyring2.add_owned(public_key2.clone());
|
public_keyring2.add_owned(public_key2.clone());
|
||||||
|
|
||||||
let mut valid_signatures: HashSet<String> = Default::default();
|
let mut valid_signatures: HashSet<String> = Default::default();
|
||||||
|
|
||||||
let plain = dc_pgp_pk_decrypt(
|
let plain = dc_pgp_pk_decrypt(
|
||||||
ctext_signed.as_bytes(),
|
ctext_signed.as_bytes(),
|
||||||
&keyring,
|
&keyring,
|
||||||
&public_keyring,
|
&public_keyring,
|
||||||
Some(&mut valid_signatures),
|
Some(&mut valid_signatures),
|
||||||
)
|
)
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
|
||||||
assert_eq!(plain, original_text,);
|
assert_eq!(plain, original_text,);
|
||||||
assert_eq!(valid_signatures.len(), 1);
|
assert_eq!(valid_signatures.len(), 1);
|
||||||
|
|
||||||
valid_signatures.clear();
|
valid_signatures.clear();
|
||||||
|
|
||||||
let empty_keyring = Keyring::default();
|
let empty_keyring = Keyring::default();
|
||||||
let plain = dc_pgp_pk_decrypt(
|
let plain = dc_pgp_pk_decrypt(
|
||||||
ctext_signed.as_bytes(),
|
ctext_signed.as_bytes(),
|
||||||
&keyring,
|
&keyring,
|
||||||
&empty_keyring,
|
&empty_keyring,
|
||||||
Some(&mut valid_signatures),
|
Some(&mut valid_signatures),
|
||||||
)
|
)
|
||||||
.unwrap();
|
.unwrap();
|
||||||
assert_eq!(plain, original_text);
|
assert_eq!(plain, original_text);
|
||||||
assert_eq!(valid_signatures.len(), 0);
|
assert_eq!(valid_signatures.len(), 0);
|
||||||
|
|
||||||
valid_signatures.clear();
|
valid_signatures.clear();
|
||||||
|
|
||||||
let plain = dc_pgp_pk_decrypt(
|
let plain = dc_pgp_pk_decrypt(
|
||||||
ctext_signed.as_bytes(),
|
ctext_signed.as_bytes(),
|
||||||
&keyring,
|
&keyring,
|
||||||
&public_keyring2,
|
&public_keyring2,
|
||||||
Some(&mut valid_signatures),
|
Some(&mut valid_signatures),
|
||||||
)
|
)
|
||||||
.unwrap();
|
.unwrap();
|
||||||
assert_eq!(plain, original_text);
|
assert_eq!(plain, original_text);
|
||||||
assert_eq!(valid_signatures.len(), 0);
|
assert_eq!(valid_signatures.len(), 0);
|
||||||
|
|
||||||
valid_signatures.clear();
|
valid_signatures.clear();
|
||||||
|
|
||||||
public_keyring2.add_ref(&public_key);
|
public_keyring2.add_ref(&public_key);
|
||||||
|
|
||||||
let plain = dc_pgp_pk_decrypt(
|
let plain = dc_pgp_pk_decrypt(
|
||||||
ctext_signed.as_bytes(),
|
ctext_signed.as_bytes(),
|
||||||
&keyring,
|
&keyring,
|
||||||
&public_keyring2,
|
&public_keyring2,
|
||||||
Some(&mut valid_signatures),
|
Some(&mut valid_signatures),
|
||||||
)
|
)
|
||||||
.unwrap();
|
.unwrap();
|
||||||
assert_eq!(plain, original_text);
|
assert_eq!(plain, original_text);
|
||||||
assert_eq!(valid_signatures.len(), 1);
|
assert_eq!(valid_signatures.len(), 1);
|
||||||
|
|
||||||
valid_signatures.clear();
|
valid_signatures.clear();
|
||||||
|
|
||||||
let plain = dc_pgp_pk_decrypt(
|
let plain = dc_pgp_pk_decrypt(
|
||||||
ctext_unsigned.as_bytes(),
|
ctext_unsigned.as_bytes(),
|
||||||
&keyring,
|
&keyring,
|
||||||
&public_keyring,
|
&public_keyring,
|
||||||
Some(&mut valid_signatures),
|
Some(&mut valid_signatures),
|
||||||
)
|
)
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
|
||||||
assert_eq!(plain, original_text);
|
assert_eq!(plain, original_text);
|
||||||
|
|
||||||
valid_signatures.clear();
|
valid_signatures.clear();
|
||||||
|
|
||||||
let mut keyring = Keyring::default();
|
let mut keyring = Keyring::default();
|
||||||
keyring.add_ref(&private_key2);
|
keyring.add_ref(&private_key2);
|
||||||
let mut public_keyring = Keyring::default();
|
let mut public_keyring = Keyring::default();
|
||||||
public_keyring.add_ref(&public_key);
|
public_keyring.add_ref(&public_key);
|
||||||
|
|
||||||
let plain =
|
let plain =
|
||||||
dc_pgp_pk_decrypt(ctext_signed.as_bytes(), &keyring, &public_keyring, None).unwrap();
|
dc_pgp_pk_decrypt(ctext_signed.as_bytes(), &keyring, &public_keyring, None).unwrap();
|
||||||
|
|
||||||
assert_eq!(plain, original_text);
|
assert_eq!(plain, original_text);
|
||||||
}
|
}
|
||||||
|
|
||||||
unsafe extern "C" fn cb(
|
unsafe extern "C" fn cb(
|
||||||
|
|||||||
Reference in New Issue
Block a user