diff options
author | Justus Winter <justus@sequoia-pgp.org> | 2020-04-09 16:42:59 +0200 |
---|---|---|
committer | Justus Winter <justus@sequoia-pgp.org> | 2020-04-09 18:18:30 +0200 |
commit | 2e1eec5fe4157a391a13554ff7df3075cfe043cc (patch) | |
tree | 03ac579ba58d27c08a7ac16ca16f687d1a9456ed /autocrypt | |
parent | c1516c59709fa47d13100daddb57657008a793c3 (diff) |
openpgp: Make PacketParserResult a std::result::Result.
- This avoids the partial implementation imitating
std::option::Option, replacing it with std::result::Result.
- As a benefit, std::result::Result is in the prelude, simplifying a
lot of parsing loops.
Diffstat (limited to 'autocrypt')
-rw-r--r-- | autocrypt/src/lib.rs | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/autocrypt/src/lib.rs b/autocrypt/src/lib.rs index ca517cc0..66b7475f 100644 --- a/autocrypt/src/lib.rs +++ b/autocrypt/src/lib.rs @@ -29,7 +29,7 @@ use openpgp::packet::SKESK; use openpgp::cert::prelude::*; use openpgp::parse::{ Parse, - PacketParserResult, PacketParser, + PacketParser, }; use openpgp::serialize::Serialize; use openpgp::serialize::stream::{ @@ -568,7 +568,7 @@ impl AutocryptSetupMessage { // SK-ESK and a SEIP packet, which contains a Literal data // packet. - let pp = if let PacketParserResult::Some(pp) = ppr { + let pp = if let Ok(pp) = ppr { pp } else { return Err( @@ -590,12 +590,12 @@ impl AutocryptSetupMessage { }; let pp = match ppr { - PacketParserResult::EOF(_) => + Err(_) => return Err( Error::MalformedMessage( "Pre-mature EOF after reading SK-ESK packet".into()) .into()), - PacketParserResult::Some(pp) => { + Ok(pp) => { match pp.packet { Packet::SEIP(_) => (), ref p => return Err( @@ -683,7 +683,7 @@ impl<'a> AutocryptSetupMessageParser<'a> { // Recurse into the SEIP packet. let mut ppr = self.pp.recurse()?.1; - if ppr.as_ref().map(|pp| pp.recursion_depth()) != Some(1) { + if ppr.as_ref().ok().map(|pp| pp.recursion_depth()) != Some(1) { return Err( Error::MalformedMessage( "SEIP container empty, but expected a Literal Data packet" @@ -692,7 +692,7 @@ impl<'a> AutocryptSetupMessageParser<'a> { } // Get the literal data packet. - let (prefer_encrypt, cert) = if let PacketParserResult::Some(mut pp) = ppr { + let (prefer_encrypt, cert) = if let Ok(mut pp) = ppr { match pp.packet { Packet::Literal(_) => (), p => return Err(Error::MalformedMessage( @@ -746,7 +746,7 @@ impl<'a> AutocryptSetupMessageParser<'a> { }; // Get the MDC packet. - if let PacketParserResult::Some(pp) = ppr { + if let Ok(pp) = ppr { match pp.packet { Packet::MDC(_) => (), ref p => return @@ -762,7 +762,7 @@ impl<'a> AutocryptSetupMessageParser<'a> { // Make sure we reached the end of the outer message. match ppr { - PacketParserResult::EOF(pp) => { + Err(pp) => { // If we've gotten this far, then the outer message // has the right sequence of packets, but we haven't // carefully checked the nesting. We do that now. @@ -771,7 +771,7 @@ impl<'a> AutocryptSetupMessageParser<'a> { "Invalid OpenPGP Message").into()); } } - PacketParserResult::Some(pp) => + Ok(pp) => return Err(Error::MalformedMessage( format!("Extraneous packet: {}.", pp.packet.tag())) .into()), |