summaryrefslogtreecommitdiffstats
path: root/openpgp-ffi/src/crypto.rs
diff options
context:
space:
mode:
Diffstat (limited to 'openpgp-ffi/src/crypto.rs')
-rw-r--r--openpgp-ffi/src/crypto.rs15
1 files changed, 8 insertions, 7 deletions
diff --git a/openpgp-ffi/src/crypto.rs b/openpgp-ffi/src/crypto.rs
index 0e3eff7b..5cd736b7 100644
--- a/openpgp-ffi/src/crypto.rs
+++ b/openpgp-ffi/src/crypto.rs
@@ -58,7 +58,8 @@ fn pgp_password_from_bytes(buf: *const u8, size: size_t) -> *mut Password {
/// Frees a signer.
#[::sequoia_ffi_macros::extern_fn] #[no_mangle]
pub extern "C" fn pgp_signer_free
- (s: Option<&mut &'static mut crypto::Signer>)
+ (s: Option<&mut &'static mut crypto::Signer<
+ openpgp::packet::key::UnspecifiedRole>>)
{
ffi_free!(s)
}
@@ -68,18 +69,18 @@ pub extern "C" fn pgp_signer_free
pub extern "C" fn pgp_key_pair_new
(errp: Option<&mut *mut crate::error::Error>, public: *mut Key,
secret: *mut openpgp::packet::key::Unencrypted)
- -> *mut crypto::KeyPair
+ -> *mut crypto::KeyPair<openpgp::packet::key::UnspecifiedRole>
{
ffi_make_fry_from_errp!(errp);
let public = public.move_from_raw();
let secret = ffi_param_move!(secret);
- ffi_try_box!(crypto::KeyPair::new(public, *secret))
+ ffi_try_box!(crypto::KeyPair::new(public.into(), *secret))
}
/// Frees a key pair.
#[::sequoia_ffi_macros::extern_fn] #[no_mangle]
pub extern "C" fn pgp_key_pair_free
- (kp: Option<&mut crypto::KeyPair>)
+ (kp: Option<&mut crypto::KeyPair<openpgp::packet::key::UnspecifiedRole>>)
{
ffi_free!(kp)
}
@@ -90,11 +91,11 @@ pub extern "C" fn pgp_key_pair_free
/// must not outlive the key pair.
#[::sequoia_ffi_macros::extern_fn] #[no_mangle]
pub extern "C" fn pgp_key_pair_as_signer
- (kp: *mut crypto::KeyPair)
- -> *mut &'static mut crypto::Signer
+ (kp: *mut crypto::KeyPair<openpgp::packet::key::UnspecifiedRole>)
+ -> *mut &'static mut crypto::Signer<openpgp::packet::key::UnspecifiedRole>
{
let kp = ffi_param_ref_mut!(kp);
- let signer: &mut crypto::Signer = kp;
+ let signer: &mut crypto::Signer<_> = kp;
box_raw!(signer)
//box_raw!(kp)
}