From fc3c0a93d5d850e783cbe71e9102c4088bcc02e8 Mon Sep 17 00:00:00 2001 From: Andrii Radyk Date: Sat, 21 Dec 2019 23:53:49 +0100 Subject: [PATCH] remove deprecated Error::description, replace deprecated cause with source --- openssl/src/error.rs | 12 ++---------- openssl/src/ssl/error.rs | 30 ++++++++++++------------------ openssl/src/x509/mod.rs | 6 +----- 3 files changed, 15 insertions(+), 33 deletions(-) diff --git a/openssl/src/error.rs b/openssl/src/error.rs index ea278b14d..103baff2a 100644 --- a/openssl/src/error.rs +++ b/openssl/src/error.rs @@ -75,11 +75,7 @@ impl fmt::Display for ErrorStack { } } -impl error::Error for ErrorStack { - fn description(&self) -> &str { - "An OpenSSL error stack" - } -} +impl error::Error for ErrorStack {} impl From for io::Error { fn from(e: ErrorStack) -> io::Error { @@ -285,8 +281,4 @@ impl fmt::Display for Error { } } -impl error::Error for Error { - fn description(&self) -> &str { - "an OpenSSL error" - } -} +impl error::Error for Error {} diff --git a/openssl/src/ssl/error.rs b/openssl/src/ssl/error.rs index 044b8e83c..6354409d5 100644 --- a/openssl/src/ssl/error.rs +++ b/openssl/src/ssl/error.rs @@ -123,11 +123,7 @@ impl fmt::Display for Error { } impl error::Error for Error { - fn description(&self) -> &str { - "an OpenSSL error" - } - - fn cause(&self) -> Option<&dyn error::Error> { + fn source(&self) -> Option<&(dyn error::Error + 'static)> { match self.cause { Some(InnerError::Io(ref e)) => Some(e), Some(InnerError::Ssl(ref e)) => Some(e), @@ -151,15 +147,7 @@ pub enum HandshakeError { } impl StdError for HandshakeError { - fn description(&self) -> &str { - match *self { - HandshakeError::SetupFailure(_) => "stream setup failed", - HandshakeError::Failure(_) => "the handshake failed", - HandshakeError::WouldBlock(_) => "the handshake was interrupted", - } - } - - fn cause(&self) -> Option<&dyn StdError> { + fn source(&self) -> Option<&(dyn StdError + 'static)> { match *self { HandshakeError::SetupFailure(ref e) => Some(e), HandshakeError::Failure(ref s) | HandshakeError::WouldBlock(ref s) => Some(s.error()), @@ -169,11 +157,17 @@ impl StdError for HandshakeError { impl fmt::Display for HandshakeError { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - f.write_str(StdError::description(self))?; match *self { - HandshakeError::SetupFailure(ref e) => write!(f, ": {}", e)?, - HandshakeError::Failure(ref s) | HandshakeError::WouldBlock(ref s) => { - write!(f, ": {}", s.error())?; + HandshakeError::SetupFailure(ref e) => write!(f, "stream setup failed: {}", e)?, + HandshakeError::Failure(ref s) => { + write!(f, "the handshake failed: {}", s.error())?; + let verify = s.ssl().verify_result(); + if verify != X509VerifyResult::OK { + write!(f, ": {}", verify)?; + } + } + HandshakeError::WouldBlock(ref s) => { + write!(f, "the handshake was interrupted: {}", s.error())?; let verify = s.ssl().verify_result(); if verify != X509VerifyResult::OK { write!(f, ": {}", verify)?; diff --git a/openssl/src/x509/mod.rs b/openssl/src/x509/mod.rs index f156269f2..5c750d607 100644 --- a/openssl/src/x509/mod.rs +++ b/openssl/src/x509/mod.rs @@ -1189,11 +1189,7 @@ impl fmt::Display for X509VerifyResult { } } -impl Error for X509VerifyResult { - fn description(&self) -> &str { - "an X509 validation error" - } -} +impl Error for X509VerifyResult {} impl X509VerifyResult { /// Creates an `X509VerifyResult` from a raw error number. -- GitLab