|
1 | 1 | use byteorder::ReadBytesExt; |
2 | | -use std::error::Error; |
3 | 2 | use std::io; |
4 | 3 | use std::io::prelude::*; |
5 | 4 | use std::fmt; |
@@ -159,34 +158,33 @@ fn open_socket(params: &ConnectParams) -> Result<InternalStream, ConnectError> { |
159 | 158 | } |
160 | 159 |
|
161 | 160 | pub fn initialize_stream(params: &ConnectParams, |
162 | | - ssl: TlsMode) |
| 161 | + tls: TlsMode) |
163 | 162 | -> Result<Box<TlsStream>, ConnectError> { |
164 | 163 | let mut socket = Stream(try!(open_socket(params))); |
165 | 164 |
|
166 | | - let (ssl_required, negotiator) = match ssl { |
| 165 | + let (tls_required, handshaker) = match tls { |
167 | 166 | TlsMode::None => return Ok(Box::new(socket)), |
168 | | - TlsMode::Prefer(negotiator) => (false, negotiator), |
169 | | - TlsMode::Require(negotiator) => (true, negotiator), |
| 167 | + TlsMode::Prefer(handshaker) => (false, handshaker), |
| 168 | + TlsMode::Require(handshaker) => (true, handshaker), |
170 | 169 | }; |
171 | 170 |
|
172 | 171 | try!(socket.write_message(&Frontend::SslRequest { code: message::SSL_CODE })); |
173 | 172 | try!(socket.flush()); |
174 | 173 |
|
175 | 174 | if try!(socket.read_u8()) == b'N' { |
176 | | - if ssl_required { |
177 | | - let err: Box<Error + Sync + Send> = "The server does not support SSL".into(); |
178 | | - return Err(ConnectError::Ssl(err)); |
| 175 | + if tls_required { |
| 176 | + return Err(ConnectError::Ssl("the server does not support TLS".into())); |
179 | 177 | } else { |
180 | 178 | return Ok(Box::new(socket)); |
181 | 179 | } |
182 | 180 | } |
183 | 181 |
|
184 | | - // Postgres doesn't support SSL over unix sockets |
185 | 182 | let host = match params.target { |
186 | 183 | ConnectTarget::Tcp(ref host) => host, |
| 184 | + // Postgres doesn't support TLS over unix sockets |
187 | 185 | #[cfg(any(feature = "with-unix_socket", all(unix, feature = "nightly")))] |
188 | 186 | ConnectTarget::Unix(_) => return Err(ConnectError::Io(::bad_response())), |
189 | 187 | }; |
190 | 188 |
|
191 | | - negotiator.tls_handshake(host, socket).map_err(ConnectError::Ssl) |
| 189 | + handshaker.tls_handshake(host, socket).map_err(ConnectError::Ssl) |
192 | 190 | } |
0 commit comments