summaryrefslogtreecommitdiffstats
path: root/openpgp-ffi
diff options
context:
space:
mode:
authorJustus Winter <justus@sequoia-pgp.org>2019-04-02 16:46:21 +0200
committerJustus Winter <justus@sequoia-pgp.org>2019-04-02 17:04:04 +0200
commit717fbd73b9086beec7c9ed30926c604612f067a3 (patch)
tree8acebbaef9de25ed4ecfbb7944885657fd5ae7e5 /openpgp-ffi
parent4e6d4a045af89567b8ff84c830775649d09900b0 (diff)
openpgp: Improve the VerificationHelper protocol.
- Change VerificationResult::GoodChecksum to include references to the TPK that contained the signing key, the key itself, a binding signature (if any), and any revocation information. - Fixes #140.
Diffstat (limited to 'openpgp-ffi')
-rw-r--r--openpgp-ffi/src/parse/stream.rs8
1 files changed, 4 insertions, 4 deletions
diff --git a/openpgp-ffi/src/parse/stream.rs b/openpgp-ffi/src/parse/stream.rs
index 63db33a6..baf0ae05 100644
--- a/openpgp-ffi/src/parse/stream.rs
+++ b/openpgp-ffi/src/parse/stream.rs
@@ -91,7 +91,7 @@ pub extern "system" fn pgp_revocation_status_free(
///
/// Within each level, there can be one or more signatures.
pub struct VerificationResults<'a> {
- results: Vec<Vec<&'a VerificationResult>>,
+ results: Vec<Vec<&'a VerificationResult<'a>>>,
}
/// Returns the `VerificationResult`s at level `level.
@@ -109,7 +109,7 @@ pub struct VerificationResults<'a> {
#[::sequoia_ffi_macros::extern_fn] #[no_mangle] pub extern "system"
fn pgp_verification_results_at_level<'a>(results: *const VerificationResults<'a>,
level: size_t,
- r: *mut *const &'a VerificationResult,
+ r: *mut *const &'a VerificationResult<'a>,
r_count: *mut size_t) {
let results = ffi_param_ref!(results);
let r = ffi_param_ref_mut!(r);
@@ -131,7 +131,7 @@ fn pgp_verification_result_code(result: *const VerificationResult)
{
let result = ffi_param_ref!(result);
match result {
- VerificationResult::GoodChecksum(_) => 1,
+ VerificationResult::GoodChecksum(..) => 1,
VerificationResult::MissingKey(_) => 2,
VerificationResult::BadChecksum(_) => 3,
}
@@ -144,7 +144,7 @@ fn pgp_verification_result_signature(result: *const VerificationResult)
{
let result = ffi_param_ref!(result);
let sig = match result {
- VerificationResult::GoodChecksum(ref sig) => sig,
+ VerificationResult::GoodChecksum(ref sig, ..) => sig,
VerificationResult::MissingKey(ref sig) => sig,
VerificationResult::BadChecksum(ref sig) => sig,
};