aboutsummaryrefslogtreecommitdiff
path: root/ssl/error.rs
diff options
context:
space:
mode:
authorSteven Fackler <[email protected]>2014-08-03 19:16:09 -0700
committerSteven Fackler <[email protected]>2014-08-03 19:16:09 -0700
commit203bdd076ec744a1794a7b151efb6b9247d43455 (patch)
tree8b4e69b8bdfd834648b73243519f4eeca301bb90 /ssl/error.rs
parentRemove Makefile infrastructure (diff)
downloadrust-openssl-203bdd076ec744a1794a7b151efb6b9247d43455.tar.xz
rust-openssl-203bdd076ec744a1794a7b151efb6b9247d43455.zip
Shift directory structure
Diffstat (limited to 'ssl/error.rs')
-rw-r--r--ssl/error.rs60
1 files changed, 0 insertions, 60 deletions
diff --git a/ssl/error.rs b/ssl/error.rs
deleted file mode 100644
index dd387e2f..00000000
--- a/ssl/error.rs
+++ /dev/null
@@ -1,60 +0,0 @@
-use libc::c_ulong;
-use std::io::IoError;
-
-use ssl::ffi;
-
-/// An SSL error
-#[deriving(Show)]
-pub enum SslError {
- /// The underlying stream has reported an error
- StreamError(IoError),
- /// The SSL session has been closed by the other end
- SslSessionClosed,
- /// An error in the OpenSSL library
- OpenSslErrors(Vec<OpensslError>)
-}
-
-/// An error from the OpenSSL library
-#[deriving(Show)]
-pub enum OpensslError {
- /// An unknown error
- UnknownError {
- /// The library reporting the error
- library: u8,
- /// The function reporting the error
- function: u16,
- /// The reason for the error
- reason: u16
- }
-}
-
-fn get_lib(err: c_ulong) -> u8 {
- ((err >> 24) & 0xff) as u8
-}
-
-fn get_func(err: c_ulong) -> u16 {
- ((err >> 12) & 0xfff) as u16
-}
-
-fn get_reason(err: c_ulong) -> u16 {
- (err & 0xfff) as u16
-}
-
-impl SslError {
- /// Creates a new `OpenSslErrors` with the current contents of the error
- /// stack.
- pub fn get() -> SslError {
- let mut errs = vec!();
- loop {
- match unsafe { ffi::ERR_get_error() } {
- 0 => break,
- err => errs.push(UnknownError {
- library: get_lib(err),
- function: get_func(err),
- reason: get_reason(err)
- })
- }
- }
- OpenSslErrors(errs)
- }
-}