Skip to content

Commit b136cf6

Browse files
committed
Merge pull request #130 from alexcrichton/update
Update to rust master
2 parents 12d31ad + 7774e67 commit b136cf6

File tree

3 files changed

+20
-14
lines changed

3 files changed

+20
-14
lines changed

src/crypto/hash.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ mod tests {
135135
}
136136

137137
fn compare(calced_raw: Vec<u8>, hashtest: &HashTest) {
138-
let calced = calced_raw.as_slice().to_hex().into_string();
138+
let calced = calced_raw.as_slice().to_hex().to_string();
139139

140140
if calced != hashtest.expected_output {
141141
println!("Test failed - {} != {}", calced, hashtest.expected_output);

src/ssl/mod.rs

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -93,8 +93,9 @@ fn get_verify_data_idx<T>() -> c_int {
9393

9494
unsafe {
9595
INIT.doit(|| {
96+
let f: ffi::CRYPTO_EX_free = free_data_box::<T>;
9697
let idx = ffi::SSL_CTX_get_ex_new_index(0, ptr::null(), None,
97-
None, Some(free_data_box::<T>));
98+
None, Some(f));
9899
assert!(idx >= 0);
99100
VERIFY_DATA_IDX = idx;
100101
});
@@ -199,7 +200,9 @@ impl SslContext {
199200
unsafe {
200201
ffi::SSL_CTX_set_ex_data(self.ctx, VERIFY_IDX,
201202
mem::transmute(verify));
202-
ffi::SSL_CTX_set_verify(self.ctx, mode as c_int, Some(raw_verify));
203+
let f: extern fn(c_int, *mut ffi::X509_STORE_CTX) -> c_int =
204+
raw_verify;
205+
ffi::SSL_CTX_set_verify(self.ctx, mode as c_int, Some(f));
203206
}
204207
}
205208

@@ -216,7 +219,9 @@ impl SslContext {
216219
mem::transmute(Some(verify)));
217220
ffi::SSL_CTX_set_ex_data(self.ctx, get_verify_data_idx::<T>(),
218221
mem::transmute(data));
219-
ffi::SSL_CTX_set_verify(self.ctx, mode as c_int, Some(raw_verify_with_data::<T>));
222+
let f: extern fn(c_int, *mut ffi::X509_STORE_CTX) -> c_int =
223+
raw_verify_with_data::<T>;
224+
ffi::SSL_CTX_set_verify(self.ctx, mode as c_int, Some(f));
220225
}
221226
}
222227

src/ssl/tests.rs

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
use serialize::hex::FromHex;
2-
use std::io::{Writer};
32
use std::io::net::tcp::TcpStream;
3+
use std::io::{Writer};
4+
use std::thread::Thread;
45

56
use crypto::hash::HashType::{SHA256};
67
use ssl::SslMethod::Sslv23;
7-
use ssl::{SslContext, SslStream};
8+
use ssl::{SslContext, SslStream, VerifyCallback};
89
use ssl::SslVerifyMode::SslVerifyPeer;
910
use x509::{X509StoreContext};
1011

@@ -52,7 +53,7 @@ fn test_verify_untrusted_callback_override_ok() {
5253
}
5354
let stream = TcpStream::connect("127.0.0.1:15418").unwrap();
5455
let mut ctx = SslContext::new(Sslv23).unwrap();
55-
ctx.set_verify(SslVerifyPeer, Some(callback));
56+
ctx.set_verify(SslVerifyPeer, Some(callback as VerifyCallback));
5657
match SslStream::new(&ctx, stream) {
5758
Ok(_) => (),
5859
Err(err) => panic!("Expected success, got {}", err)
@@ -66,7 +67,7 @@ fn test_verify_untrusted_callback_override_bad() {
6667
}
6768
let stream = TcpStream::connect("127.0.0.1:15418").unwrap();
6869
let mut ctx = SslContext::new(Sslv23).unwrap();
69-
ctx.set_verify(SslVerifyPeer, Some(callback));
70+
ctx.set_verify(SslVerifyPeer, Some(callback as VerifyCallback));
7071
assert!(SslStream::new(&ctx, stream).is_err());
7172
}
7273

@@ -77,7 +78,7 @@ fn test_verify_trusted_callback_override_ok() {
7778
}
7879
let stream = TcpStream::connect("127.0.0.1:15418").unwrap();
7980
let mut ctx = SslContext::new(Sslv23).unwrap();
80-
ctx.set_verify(SslVerifyPeer, Some(callback));
81+
ctx.set_verify(SslVerifyPeer, Some(callback as VerifyCallback));
8182
match ctx.set_CA_file(&Path::new("test/cert.pem")) {
8283
None => {}
8384
Some(err) => panic!("Unexpected error {}", err)
@@ -95,7 +96,7 @@ fn test_verify_trusted_callback_override_bad() {
9596
}
9697
let stream = TcpStream::connect("127.0.0.1:15418").unwrap();
9798
let mut ctx = SslContext::new(Sslv23).unwrap();
98-
ctx.set_verify(SslVerifyPeer, Some(callback));
99+
ctx.set_verify(SslVerifyPeer, Some(callback as VerifyCallback));
99100
match ctx.set_CA_file(&Path::new("test/cert.pem")) {
100101
None => {}
101102
Some(err) => panic!("Unexpected error {}", err)
@@ -111,7 +112,7 @@ fn test_verify_callback_load_certs() {
111112
}
112113
let stream = TcpStream::connect("127.0.0.1:15418").unwrap();
113114
let mut ctx = SslContext::new(Sslv23).unwrap();
114-
ctx.set_verify(SslVerifyPeer, Some(callback));
115+
ctx.set_verify(SslVerifyPeer, Some(callback as VerifyCallback));
115116
assert!(SslStream::new(&ctx, stream).is_ok());
116117
}
117118

@@ -123,7 +124,7 @@ fn test_verify_trusted_get_error_ok() {
123124
}
124125
let stream = TcpStream::connect("127.0.0.1:15418").unwrap();
125126
let mut ctx = SslContext::new(Sslv23).unwrap();
126-
ctx.set_verify(SslVerifyPeer, Some(callback));
127+
ctx.set_verify(SslVerifyPeer, Some(callback as VerifyCallback));
127128
match ctx.set_CA_file(&Path::new("test/cert.pem")) {
128129
None => {}
129130
Some(err) => panic!("Unexpected error {}", err)
@@ -139,7 +140,7 @@ fn test_verify_trusted_get_error_err() {
139140
}
140141
let stream = TcpStream::connect("127.0.0.1:15418").unwrap();
141142
let mut ctx = SslContext::new(Sslv23).unwrap();
142-
ctx.set_verify(SslVerifyPeer, Some(callback));
143+
ctx.set_verify(SslVerifyPeer, Some(callback as VerifyCallback));
143144
assert!(SslStream::new(&ctx, stream).is_err());
144145
}
145146

@@ -198,7 +199,7 @@ fn test_clone() {
198199
let stream = TcpStream::connect("127.0.0.1:15418").unwrap();
199200
let mut stream = SslStream::new(&SslContext::new(Sslv23).unwrap(), stream).unwrap();
200201
let mut stream2 = stream.clone();
201-
spawn(move || {
202+
let _t = Thread::spawn(move || {
202203
stream2.write("GET /\r\n\r\n".as_bytes()).unwrap();
203204
stream2.flush().unwrap();
204205
});

0 commit comments

Comments
 (0)