aboutsummaryrefslogtreecommitdiff
path: root/openssl/src
diff options
context:
space:
mode:
authorJonas Schievink <[email protected]>2016-06-22 22:05:03 +0200
committerJonas Schievink <[email protected]>2016-06-26 18:25:54 +0200
commit41b78547ad0357d3e86462f72c0cff333096d59f (patch)
treebefb46c6e264cdf48d88caf38940a27c8b0fef87 /openssl/src
parentMake the callback take a `&mut [c_char]` (diff)
downloadrust-openssl-41b78547ad0357d3e86462f72c0cff333096d59f.tar.xz
rust-openssl-41b78547ad0357d3e86462f72c0cff333096d59f.zip
Put password callbacks behind a cargo feature
Diffstat (limited to 'openssl/src')
-rw-r--r--openssl/src/crypto/mod.rs1
-rw-r--r--openssl/src/crypto/pkey.rs7
-rw-r--r--openssl/src/crypto/rsa.rs7
3 files changed, 13 insertions, 2 deletions
diff --git a/openssl/src/crypto/mod.rs b/openssl/src/crypto/mod.rs
index 9d79b8b0..481eb05c 100644
--- a/openssl/src/crypto/mod.rs
+++ b/openssl/src/crypto/mod.rs
@@ -24,6 +24,7 @@ pub mod rand;
pub mod symm;
pub mod memcmp;
pub mod rsa;
+#[cfg(feature = "catch_unwind")]
mod util;
mod symm_internal;
diff --git a/openssl/src/crypto/pkey.rs b/openssl/src/crypto/pkey.rs
index 238c1b9e..bbb8427d 100644
--- a/openssl/src/crypto/pkey.rs
+++ b/openssl/src/crypto/pkey.rs
@@ -1,4 +1,4 @@
-use libc::{c_int, c_uint, c_ulong, c_void, c_char};
+use libc::{c_int, c_uint, c_ulong};
use std::io;
use std::io::prelude::*;
use std::iter::repeat;
@@ -12,6 +12,10 @@ use crypto::hash::Type as HashType;
use ffi;
use ssl::error::{SslError, StreamError};
use crypto::rsa::RSA;
+
+#[cfg(feature = "catch_unwind")]
+use libc::{c_void, c_char};
+#[cfg(feature = "catch_unwind")]
use crypto::util::{CallbackState, invoke_passwd_cb};
#[derive(Copy, Clone)]
@@ -99,6 +103,7 @@ impl PKey {
///
/// The callback will be passed the password buffer and should return the number of characters
/// placed into the buffer.
+ #[cfg(feature = "catch_unwind")]
pub fn private_key_from_pem_cb<R, F>(reader: &mut R, pass_cb: F) -> Result<PKey, SslError>
where R: Read, F: FnMut(&mut [c_char]) -> usize
{
diff --git a/openssl/src/crypto/rsa.rs b/openssl/src/crypto/rsa.rs
index c7f5cfaf..a67fe38e 100644
--- a/openssl/src/crypto/rsa.rs
+++ b/openssl/src/crypto/rsa.rs
@@ -3,12 +3,16 @@ use std::fmt;
use ssl::error::{SslError, StreamError};
use std::ptr;
use std::io::{self, Read, Write};
-use libc::{c_int, c_void, c_char};
+use libc::c_int;
use bn::BigNum;
use bio::MemBio;
use crypto::HashTypeInternals;
use crypto::hash;
+
+#[cfg(feature = "catch_unwind")]
+use libc::{c_void, c_char};
+#[cfg(feature = "catch_unwind")]
use crypto::util::{CallbackState, invoke_passwd_cb};
pub struct RSA(*mut ffi::RSA);
@@ -78,6 +82,7 @@ impl RSA {
}
/// Reads an RSA private key from PEM formatted data and supplies a password callback.
+ #[cfg(feature = "catch_unwind")]
pub fn private_key_from_pem_cb<R, F>(reader: &mut R, pass_cb: F) -> Result<RSA, SslError>
where R: Read, F: FnMut(&mut [c_char]) -> usize
{