diff options
author | Justus Winter <justus@sequoia-pgp.org> | 2020-05-13 15:50:08 +0200 |
---|---|---|
committer | Justus Winter <justus@sequoia-pgp.org> | 2020-05-13 16:04:03 +0200 |
commit | 41f8260e0c8cd04a0d2e5ddce27a48522048385c (patch) | |
tree | b576b63af3d5d3e575f470e7dfb976fcfb650fbe /openpgp/src/serialize/stream.rs | |
parent | 408fb6fede41bd9ba4e773bbb4470fa0f4a53c58 (diff) |
openpgp: Make Encryptor::with_passwords polymorphic.
Diffstat (limited to 'openpgp/src/serialize/stream.rs')
-rw-r--r-- | openpgp/src/serialize/stream.rs | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/openpgp/src/serialize/stream.rs b/openpgp/src/serialize/stream.rs index 33fe4dc4..c68c2099 100644 --- a/openpgp/src/serialize/stream.rs +++ b/openpgp/src/serialize/stream.rs @@ -2174,18 +2174,20 @@ impl<'a> Encryptor<'a> { /// # let mut sink = vec![]; /// let message = Message::new(&mut sink); /// let message = Encryptor::with_passwords( - /// message, vec!["совершенно секретно".into()]).build()?; + /// message, Some("совершенно секретно")).build()?; /// let mut w = LiteralWriter::new(message).build()?; /// w.write_all(b"Hello world.")?; /// w.finalize()?; /// # Ok(()) } /// ``` - pub fn with_passwords(inner: Message<'a>, - passwords: Vec<Password>) -> Self { + pub fn with_passwords<P>(inner: Message<'a>, passwords: P) -> Self + where P: IntoIterator, + P::Item: Into<Password>, + { Self { inner: Some(inner.into()), recipients: Vec::new(), - passwords, + passwords: passwords.into_iter().map(|p| p.into()).collect(), sym_algo: Default::default(), aead_algo: Default::default(), hash: HashAlgorithm::SHA1.context().unwrap(), @@ -2261,8 +2263,7 @@ impl<'a> Encryptor<'a> { /// # let mut sink = vec![]; /// let message = Message::new(&mut sink); /// let message = - /// Encryptor::with_passwords(message, - /// vec!["совершенно секретно".into()]) + /// Encryptor::with_passwords(message, Some("совершенно секретно")) /// .add_recipients(recipients) /// .build()?; /// let mut message = LiteralWriter::new(message).build()?; @@ -2382,8 +2383,7 @@ impl<'a> Encryptor<'a> { /// # let mut sink = vec![]; /// let message = Message::new(&mut sink); /// let message = - /// Encryptor::with_passwords(message, - /// vec!["совершенно секретно".into()]) + /// Encryptor::with_passwords(message, Some("совершенно секретно")) /// .symmetric_algo(SymmetricAlgorithm::AES128) /// .build()?; /// let mut message = LiteralWriter::new(message).build()?; @@ -2414,8 +2414,7 @@ impl<'a> Encryptor<'a> { /// # let mut sink = vec![]; /// let message = Message::new(&mut sink); /// let message = - /// Encryptor::with_passwords(message, - /// vec!["совершенно секретно".into()]) + /// Encryptor::with_passwords(message, Some("совершенно секретно")) /// .aead_algo(AEADAlgorithm::EAX) /// .build()?; /// let mut message = LiteralWriter::new(message).build()?; @@ -2458,8 +2457,7 @@ impl<'a> Encryptor<'a> { /// # let mut sink = vec![]; /// let message = Message::new(&mut sink); /// let message = - /// Encryptor::with_passwords(message, - /// vec!["совершенно секретно".into()]) + /// Encryptor::with_passwords(message, Some("совершенно секретно")) /// // Customize the `Encryptor` here. /// .build()?; /// |