Merge branch 'release-v0.7.1' into release

This commit is contained in:
Steven Fackler 2015-11-28 16:15:16 -08:00
commit badec803cb
9 changed files with 30 additions and 17 deletions

View File

@ -2,7 +2,7 @@
[![Build Status](https://travis-ci.org/sfackler/rust-openssl.svg?branch=master)](https://travis-ci.org/sfackler/rust-openssl)
[Documentation](https://sfackler.github.io/rust-openssl/doc/v0.7.0/openssl).
[Documentation](https://sfackler.github.io/rust-openssl/doc/v0.7.1/openssl).
## Building

View File

@ -1,11 +1,11 @@
[package]
name = "openssl-sys-extras"
version = "0.7.0"
version = "0.7.1"
authors = ["Steven Fackler <sfackler@gmail.com>"]
license = "MIT"
description = "Extra FFI bindings to OpenSSL that require a C shim"
repository = "https://github.com/sfackler/rust-openssl"
documentation = "https://sfackler.github.io/rust-openssl/doc/v0.7.0/openssl_sys_extras"
documentation = "https://sfackler.github.io/rust-openssl/doc/v0.7.1/openssl_sys_extras"
links = "openssl_shim"
build = "build.rs"
@ -15,7 +15,7 @@ ecdh_auto = []
[dependencies]
libc = "0.2"
openssl-sys = { version = "0.7", path = "../openssl-sys" }
openssl-sys = { version = "0.7.1", path = "../openssl-sys" }
[build-dependencies]
gcc = "0.3"

View File

@ -1,12 +1,12 @@
[package]
name = "openssl-sys"
version = "0.7.0"
version = "0.7.1"
authors = ["Alex Crichton <alex@alexcrichton.com>",
"Steven Fackler <sfackler@gmail.com>"]
license = "MIT"
description = "FFI bindings to OpenSSL"
repository = "https://github.com/sfackler/rust-openssl"
documentation = "https://sfackler.github.io/rust-openssl/doc/v0.7.0/openssl_sys"
documentation = "https://sfackler.github.io/rust-openssl/doc/v0.7.1/openssl_sys"
links = "openssl"
build = "build.rs"
@ -29,7 +29,6 @@ libc = "0.2"
[build-dependencies]
pkg-config = "0.3"
gcc = "0.3"
[target.le32-unknown-nacl.dependencies]
libressl-pnacl-sys = "2.1.0"

View File

@ -1,5 +1,4 @@
extern crate pkg_config;
extern crate gcc;
use std::env;
@ -16,8 +15,11 @@ fn main() {
// rustc doesn't seem to work with pkg-config's output in mingw64
if !target.contains("windows") {
if let Ok(info) = pkg_config::find_library("openssl") {
let paths = env::join_paths(info.include_paths).unwrap();
println!("cargo:include={}", paths.to_str().unwrap());
// avoid empty include paths as they are not supported by GCC
if info.include_paths.len() > 0 {
let paths = env::join_paths(info.include_paths).unwrap();
println!("cargo:include={}", paths.to_str().unwrap());
}
return;
}
}

View File

@ -1,6 +1,6 @@
#![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)]
#![allow(dead_code)]
#![doc(html_root_url="https://sfackler.github.io/rust-openssl/doc/v0.7.0")]
#![doc(html_root_url="https://sfackler.github.io/rust-openssl/doc/v0.7.1")]
extern crate libc;
@ -482,6 +482,7 @@ extern "C" {
pub fn RAND_bytes(buf: *mut u8, num: c_int) -> c_int;
pub fn RSA_free(rsa: *mut RSA);
pub fn RSA_generate_key(modsz: c_int, e: c_ulong, cb: *const c_void, cbarg: *const c_void) -> *mut RSA;
pub fn RSA_generate_key_ex(rsa: *mut RSA, bits: c_int, e: *mut BIGNUM, cb: *const c_void) -> c_int;
pub fn RSA_private_decrypt(flen: c_int, from: *const u8, to: *mut u8, k: *mut RSA,

View File

@ -1,11 +1,11 @@
[package]
name = "openssl"
version = "0.7.0"
version = "0.7.1"
authors = ["Steven Fackler <sfackler@gmail.com>"]
license = "Apache-2.0"
description = "OpenSSL bindings"
repository = "https://github.com/sfackler/rust-openssl"
documentation = "https://sfackler.github.io/rust-openssl/doc/v0.7.0/openssl"
documentation = "https://sfackler.github.io/rust-openssl/doc/v0.7.1/openssl"
readme = "../README.md"
keywords = ["crypto", "tls", "ssl", "dtls"]
@ -27,8 +27,8 @@ ecdh_auto = ["openssl-sys-extras/ecdh_auto"]
bitflags = ">= 0.2, < 0.4"
lazy_static = "0.1"
libc = "0.2"
openssl-sys = { version = "0.7", path = "../openssl-sys" }
openssl-sys-extras = { version = "0.7", path = "../openssl-sys-extras" }
openssl-sys = { version = "0.7.1", path = "../openssl-sys" }
openssl-sys-extras = { version = "0.7.1", path = "../openssl-sys-extras" }
[dev-dependencies]
rustc-serialize = "0.3"

View File

@ -120,6 +120,7 @@ impl PKey {
let mut s = repeat(0u8).take(len as usize).collect::<Vec<_>>();
let r = f(rsa, &s.as_mut_ptr());
ffi::RSA_free(rsa);
s.truncate(r as usize);
s

View File

@ -1,4 +1,4 @@
#![doc(html_root_url="https://sfackler.github.io/rust-openssl/doc/v0.7.0")]
#![doc(html_root_url="https://sfackler.github.io/rust-openssl/doc/v0.7.1")]
#[macro_use]
extern crate bitflags;

View File

@ -588,7 +588,7 @@ impl SslContext {
/// If `onoff` is set to `true`, enable ECDHE for key exchange with compatible
/// clients, and automatically select an appropriate elliptic curve.
///
/// This method requires OpenSSL >= 1.2.0 or LibreSSL and the `ecdh_auto` feature.
/// This method requires OpenSSL >= 1.0.2 or LibreSSL and the `ecdh_auto` feature.
#[cfg(feature = "ecdh_auto")]
pub fn set_ecdh_auto(&mut self, onoff: bool) -> Result<(),SslError> {
wrap_ssl_result(
@ -1416,6 +1416,16 @@ impl<S> MaybeSslStream<S> where S: Read+Write {
}
}
impl MaybeSslStream<net::TcpStream> {
/// Like `TcpStream::try_clone`.
pub fn try_clone(&self) -> io::Result<MaybeSslStream<net::TcpStream>> {
match *self {
MaybeSslStream::Ssl(ref s) => s.try_clone().map(MaybeSslStream::Ssl),
MaybeSslStream::Normal(ref s) => s.try_clone().map(MaybeSslStream::Normal),
}
}
}
/// An SSL stream wrapping a nonblocking socket.
#[derive(Clone)]
pub struct NonblockingSslStream<S> {