aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorManuel Schölling <[email protected]>2015-03-19 18:02:50 +0100
committerManuel Schölling <[email protected]>2015-04-03 14:34:24 +0200
commite1d65fc2bef10e69bedb38d0cbe025ecdc064755 (patch)
tree932396e7b5bdaef82adba3ea3b76f5c8abd0c7fe
parentAdd SslContext::add_extra_chain_cert() (diff)
downloadrust-openssl-e1d65fc2bef10e69bedb38d0cbe025ecdc064755.tar.xz
rust-openssl-e1d65fc2bef10e69bedb38d0cbe025ecdc064755.zip
Return Result<(),SslError> instead of Option<SslError>
-rw-r--r--openssl/src/ssl/mod.rs22
-rw-r--r--openssl/src/ssl/tests.rs22
2 files changed, 22 insertions, 22 deletions
diff --git a/openssl/src/ssl/mod.rs b/openssl/src/ssl/mod.rs
index 89abf59f..04657907 100644
--- a/openssl/src/ssl/mod.rs
+++ b/openssl/src/ssl/mod.rs
@@ -300,11 +300,11 @@ pub type VerifyCallbackData<T> = fn(preverify_ok: bool,
// FIXME: macro may be instead of inlining?
#[inline]
-fn wrap_ssl_result(res: c_int) -> Option<SslError> {
+fn wrap_ssl_result(res: c_int) -> Result<(),SslError> {
if res == 0 {
- Some(SslError::get())
+ Err(SslError::get())
} else {
- None
+ Ok(())
}
}
@@ -383,7 +383,7 @@ impl SslContext {
#[allow(non_snake_case)]
/// Specifies the file that contains trusted CA certificates.
- pub fn set_CA_file(&mut self, file: &Path) -> Option<SslError> {
+ pub fn set_CA_file(&mut self, file: &Path) -> Result<(),SslError> {
let file = CString::new(file.as_os_str().to_str().expect("invalid utf8")).unwrap();
wrap_ssl_result(
unsafe {
@@ -393,7 +393,7 @@ impl SslContext {
/// Specifies the file that contains certificate
pub fn set_certificate_file(&mut self, file: &Path,
- file_type: X509FileType) -> Option<SslError> {
+ file_type: X509FileType) -> Result<(),SslError> {
let file = CString::new(file.as_os_str().to_str().expect("invalid utf8")).unwrap();
wrap_ssl_result(
unsafe {
@@ -402,7 +402,7 @@ impl SslContext {
}
/// Specifies the certificate
- pub fn set_certificate(&mut self, cert: &X509) -> Option<SslError> {
+ pub fn set_certificate(&mut self, cert: &X509) -> Result<(),SslError> {
wrap_ssl_result(
unsafe {
ffi::SSL_CTX_use_certificate(*self.ctx, cert.get_handle())
@@ -411,7 +411,7 @@ impl SslContext {
/// Adds a certificate to the certificate chain presented together with the
/// certificate specified using set_certificate()
- pub fn add_extra_chain_cert(&mut self, cert: &X509) -> Option<SslError> {
+ pub fn add_extra_chain_cert(&mut self, cert: &X509) -> Result<(),SslError> {
wrap_ssl_result(
unsafe {
ffi::SSL_CTX_add_extra_chain_cert(*self.ctx, cert.get_handle()) as c_int
@@ -420,7 +420,7 @@ impl SslContext {
/// Specifies the file that contains private key
pub fn set_private_key_file(&mut self, file: &Path,
- file_type: X509FileType) -> Option<SslError> {
+ file_type: X509FileType) -> Result<(),SslError> {
let file = CString::new(file.as_os_str().to_str().expect("invalid utf8")).unwrap();
wrap_ssl_result(
unsafe {
@@ -429,7 +429,7 @@ impl SslContext {
}
/// Specifies the private key
- pub fn set_private_key(&mut self, key: &PKey) -> Option<SslError> {
+ pub fn set_private_key(&mut self, key: &PKey) -> Result<(),SslError> {
wrap_ssl_result(
unsafe {
ffi::SSL_CTX_use_PrivateKey(*self.ctx, key.get_handle())
@@ -437,14 +437,14 @@ impl SslContext {
}
/// Check consistency of private key and certificate
- pub fn check_private_key(&mut self) -> Option<SslError> {
+ pub fn check_private_key(&mut self) -> Result<(),SslError> {
wrap_ssl_result(
unsafe {
ffi::SSL_CTX_check_private_key(*self.ctx)
})
}
- pub fn set_cipher_list(&mut self, cipher_list: &str) -> Option<SslError> {
+ pub fn set_cipher_list(&mut self, cipher_list: &str) -> Result<(),SslError> {
wrap_ssl_result(
unsafe {
let cipher_list = CString::new(cipher_list.as_bytes()).unwrap();
diff --git a/openssl/src/ssl/tests.rs b/openssl/src/ssl/tests.rs
index d5859651..7e0bfc7d 100644
--- a/openssl/src/ssl/tests.rs
+++ b/openssl/src/ssl/tests.rs
@@ -48,8 +48,8 @@ fn test_verify_trusted() {
let mut ctx = SslContext::new(Sslv23).unwrap();
ctx.set_verify(SSL_VERIFY_PEER, None);
match ctx.set_CA_file(&Path::new("test/cert.pem")) {
- None => {}
- Some(err) => panic!("Unexpected error {:?}", err)
+ Ok(_) => {}
+ Err(err) => panic!("Unexpected error {:?}", err)
}
match SslStream::new(&ctx, stream) {
Ok(_) => (),
@@ -91,8 +91,8 @@ fn test_verify_trusted_callback_override_ok() {
let mut ctx = SslContext::new(Sslv23).unwrap();
ctx.set_verify(SSL_VERIFY_PEER, Some(callback as VerifyCallback));
match ctx.set_CA_file(&Path::new("test/cert.pem")) {
- None => {}
- Some(err) => panic!("Unexpected error {:?}", err)
+ Ok(_) => {}
+ Err(err) => panic!("Unexpected error {:?}", err)
}
match SslStream::new(&ctx, stream) {
Ok(_) => (),
@@ -109,8 +109,8 @@ fn test_verify_trusted_callback_override_bad() {
let mut ctx = SslContext::new(Sslv23).unwrap();
ctx.set_verify(SSL_VERIFY_PEER, Some(callback as VerifyCallback));
match ctx.set_CA_file(&Path::new("test/cert.pem")) {
- None => {}
- Some(err) => panic!("Unexpected error {:?}", err)
+ Ok(_) => {}
+ Err(err) => panic!("Unexpected error {:?}", err)
}
assert!(SslStream::new(&ctx, stream).is_err());
}
@@ -137,8 +137,8 @@ fn test_verify_trusted_get_error_ok() {
let mut ctx = SslContext::new(Sslv23).unwrap();
ctx.set_verify(SSL_VERIFY_PEER, Some(callback as VerifyCallback));
match ctx.set_CA_file(&Path::new("test/cert.pem")) {
- None => {}
- Some(err) => panic!("Unexpected error {:?}", err)
+ Ok(_) => {}
+ Err(err) => panic!("Unexpected error {:?}", err)
}
assert!(SslStream::new(&ctx, stream).is_ok());
}
@@ -200,10 +200,10 @@ fn test_set_certificate_and_private_key() {
let cert = X509::from_pem(&mut cert_file).unwrap();
let mut ctx = SslContext::new(Sslv23).unwrap();
- ctx.set_private_key(&key);
- ctx.set_certificate(&cert);
+ ctx.set_private_key(&key).unwrap();
+ ctx.set_certificate(&cert).unwrap();
- assert!(ctx.check_private_key().is_none());
+ assert!(ctx.check_private_key().is_ok());
}
#[test]