diff options
author | Azul <azul@riseup.net> | 2020-12-09 20:26:52 +0100 |
---|---|---|
committer | Azul <azul@riseup.net> | 2020-12-10 13:57:19 +0100 |
commit | 227db80b9d40526387f1e4a64f90464618fb885b (patch) | |
tree | bcf1ab1ed4d61fffea8d382872262650c5f49d86 /openpgp/src/crypto | |
parent | 80b59ecf7b33dcd2392eee8b4e2def4101410749 (diff) |
buffered-reader: Require Cookies to be Send and Sync.
- This way the entire `BufferedReader<C>` will be `Send` and `Sync`.
- Modify all other crates accordingly.
- See #615.
Diffstat (limited to 'openpgp/src/crypto')
-rw-r--r-- | openpgp/src/crypto/aead.rs | 2 | ||||
-rw-r--r-- | openpgp/src/crypto/symmetric.rs | 12 |
2 files changed, 7 insertions, 7 deletions
diff --git a/openpgp/src/crypto/aead.rs b/openpgp/src/crypto/aead.rs index fb95b087..5e9b5eeb 100644 --- a/openpgp/src/crypto/aead.rs +++ b/openpgp/src/crypto/aead.rs @@ -121,7 +121,7 @@ impl<'a> Decryptor<'a> { /// Instantiate a new AEAD decryptor. /// /// `source` is the source to wrap. - pub fn new<R: io::Read>(version: u8, sym_algo: SymmetricAlgorithm, + pub fn new<R: io::Read + Send + Sync>(version: u8, sym_algo: SymmetricAlgorithm, aead: AEADAlgorithm, chunk_size: usize, iv: &[u8], key: &SessionKey, source: R) -> Result<Self> diff --git a/openpgp/src/crypto/symmetric.rs b/openpgp/src/crypto/symmetric.rs index 0a022cc3..381cbe95 100644 --- a/openpgp/src/crypto/symmetric.rs +++ b/openpgp/src/crypto/symmetric.rs @@ -194,11 +194,11 @@ impl<R: io::Read> io::Read for Decryptor<R> { /// A `BufferedReader` that decrypts symmetrically-encrypted data as /// it is read. -pub(crate) struct BufferedReaderDecryptor<R: BufferedReader<C>, C: fmt::Debug> { +pub(crate) struct BufferedReaderDecryptor<R: BufferedReader<C>, C: fmt::Debug + Send + Sync> { reader: buffered_reader::Generic<Decryptor<R>, C>, } -impl <R: BufferedReader<C>, C: fmt::Debug> BufferedReaderDecryptor<R, C> { +impl <R: BufferedReader<C>, C: fmt::Debug + Send + Sync> BufferedReaderDecryptor<R, C> { /// Like `new()`, but sets a cookie, which can be retrieved using /// the `cookie_ref` and `cookie_mut` methods, and set using /// the `cookie_set` method. @@ -213,19 +213,19 @@ impl <R: BufferedReader<C>, C: fmt::Debug> BufferedReaderDecryptor<R, C> { } } -impl<R: BufferedReader<C>, C: fmt::Debug> io::Read for BufferedReaderDecryptor<R, C> { +impl<R: BufferedReader<C>, C: fmt::Debug + Send + Sync> io::Read for BufferedReaderDecryptor<R, C> { fn read(&mut self, buf: &mut [u8]) -> io::Result<usize> { self.reader.read(buf) } } -impl<R: BufferedReader<C>, C: fmt::Debug> fmt::Display for BufferedReaderDecryptor<R, C> { +impl<R: BufferedReader<C>, C: fmt::Debug + Send + Sync> fmt::Display for BufferedReaderDecryptor<R, C> { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { write!(f, "BufferedReaderDecryptor") } } -impl<R: BufferedReader<C>, C: fmt::Debug> fmt::Debug for BufferedReaderDecryptor<R, C> { +impl<R: BufferedReader<C>, C: fmt::Debug + Send + Sync> fmt::Debug for BufferedReaderDecryptor<R, C> { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { f.debug_struct("BufferedReaderDecryptor") .field("reader", &self.get_ref().unwrap()) @@ -233,7 +233,7 @@ impl<R: BufferedReader<C>, C: fmt::Debug> fmt::Debug for BufferedReaderDecryptor } } -impl<R: BufferedReader<C>, C: fmt::Debug> BufferedReader<C> +impl<R: BufferedReader<C>, C: fmt::Debug + Send + Sync> BufferedReader<C> for BufferedReaderDecryptor<R, C> { fn buffer(&self) -> &[u8] { return self.reader.buffer(); |