Skip to content

Commit

Permalink
Merge branch 'release-v0.7.1' into release
Browse files Browse the repository at this point in the history
  • Loading branch information
sfackler committed Nov 29, 2015
2 parents 094e8e5 + fce7cf4 commit badec80
Show file tree
Hide file tree
Showing 9 changed files with 30 additions and 17 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
6 changes: 3 additions & 3 deletions openssl-sys-extras/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
[package]
name = "openssl-sys-extras"
version = "0.7.0"
version = "0.7.1"
authors = ["Steven Fackler <[email protected]>"]
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"
Expand All @@ -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"
5 changes: 2 additions & 3 deletions openssl-sys/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
[package]
name = "openssl-sys"
version = "0.7.0"
version = "0.7.1"
authors = ["Alex Crichton <[email protected]>",
"Steven Fackler <[email protected]>"]
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"
Expand All @@ -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"
Expand Down
8 changes: 5 additions & 3 deletions openssl-sys/build.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
extern crate pkg_config;
extern crate gcc;

use std::env;

Expand All @@ -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;
}
}
Expand Down
3 changes: 2 additions & 1 deletion openssl-sys/src/lib.rs
Original file line number Diff line number Diff line change
@@ -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;

Expand Down Expand Up @@ -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,
Expand Down
8 changes: 4 additions & 4 deletions openssl/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
[package]
name = "openssl"
version = "0.7.0"
version = "0.7.1"
authors = ["Steven Fackler <[email protected]>"]
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"]

Expand All @@ -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"
Expand Down
1 change: 1 addition & 0 deletions openssl/src/crypto/pkey.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion openssl/src/lib.rs
Original file line number Diff line number Diff line change
@@ -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;
Expand Down
12 changes: 11 additions & 1 deletion openssl/src/ssl/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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(
Expand Down Expand Up @@ -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> {
Expand Down

0 comments on commit badec80

Please sign in to comment.