Put password callbacks behind a cargo feature
This commit is contained in:
parent
c1b7cd2420
commit
41b78547ad
|
|
@ -27,6 +27,7 @@ ecdh_auto = ["openssl-sys-extras/ecdh_auto"]
|
||||||
pkcs5_pbkdf2_hmac = ["openssl-sys/pkcs5_pbkdf2_hmac"]
|
pkcs5_pbkdf2_hmac = ["openssl-sys/pkcs5_pbkdf2_hmac"]
|
||||||
|
|
||||||
nightly = []
|
nightly = []
|
||||||
|
catch_unwind = []
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
bitflags = ">= 0.5.0, < 0.8.0"
|
bitflags = ">= 0.5.0, < 0.8.0"
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,7 @@ pub mod rand;
|
||||||
pub mod symm;
|
pub mod symm;
|
||||||
pub mod memcmp;
|
pub mod memcmp;
|
||||||
pub mod rsa;
|
pub mod rsa;
|
||||||
|
#[cfg(feature = "catch_unwind")]
|
||||||
mod util;
|
mod util;
|
||||||
|
|
||||||
mod symm_internal;
|
mod symm_internal;
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
use std::io::prelude::*;
|
use std::io::prelude::*;
|
||||||
use std::iter::repeat;
|
use std::iter::repeat;
|
||||||
|
|
@ -12,6 +12,10 @@ use crypto::hash::Type as HashType;
|
||||||
use ffi;
|
use ffi;
|
||||||
use ssl::error::{SslError, StreamError};
|
use ssl::error::{SslError, StreamError};
|
||||||
use crypto::rsa::RSA;
|
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};
|
use crypto::util::{CallbackState, invoke_passwd_cb};
|
||||||
|
|
||||||
#[derive(Copy, Clone)]
|
#[derive(Copy, Clone)]
|
||||||
|
|
@ -99,6 +103,7 @@ impl PKey {
|
||||||
///
|
///
|
||||||
/// The callback will be passed the password buffer and should return the number of characters
|
/// The callback will be passed the password buffer and should return the number of characters
|
||||||
/// placed into the buffer.
|
/// 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>
|
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
|
where R: Read, F: FnMut(&mut [c_char]) -> usize
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -3,12 +3,16 @@ use std::fmt;
|
||||||
use ssl::error::{SslError, StreamError};
|
use ssl::error::{SslError, StreamError};
|
||||||
use std::ptr;
|
use std::ptr;
|
||||||
use std::io::{self, Read, Write};
|
use std::io::{self, Read, Write};
|
||||||
use libc::{c_int, c_void, c_char};
|
use libc::c_int;
|
||||||
|
|
||||||
use bn::BigNum;
|
use bn::BigNum;
|
||||||
use bio::MemBio;
|
use bio::MemBio;
|
||||||
use crypto::HashTypeInternals;
|
use crypto::HashTypeInternals;
|
||||||
use crypto::hash;
|
use crypto::hash;
|
||||||
|
|
||||||
|
#[cfg(feature = "catch_unwind")]
|
||||||
|
use libc::{c_void, c_char};
|
||||||
|
#[cfg(feature = "catch_unwind")]
|
||||||
use crypto::util::{CallbackState, invoke_passwd_cb};
|
use crypto::util::{CallbackState, invoke_passwd_cb};
|
||||||
|
|
||||||
pub struct RSA(*mut ffi::RSA);
|
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.
|
/// 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>
|
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
|
where R: Read, F: FnMut(&mut [c_char]) -> usize
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue