From 7ed66fac42704097175f778660e391e86cc6d55d Mon Sep 17 00:00:00 2001 From: Jeffrey Stedfast Date: Fri, 27 Sep 2002 20:20:08 +0000 Subject: New function to decode the INTERNALDATE response from an IMAP server so we 2002-09-27 Jeffrey Stedfast * providers/imap/camel-imap-folder.c (decode_internaldate): New function to decode the INTERNALDATE response from an IMAP server so we don't have to use my broken-date-parser routines. 2002-09-27 Jeffrey Stedfast * providers/imap/camel-imap-store.c (connect_to_server): NULL-check the streams before unreffing them in the case of a failure during ssl negotiations. * camel-tcp-stream-ssl.c (camel_tcp_stream_ssl_enable_ssl): Check SSL_ResetHandshake() for errors. Also force a handshake after we've reset the handshake state on the socket. svn path=/trunk/; revision=18252 --- camel/camel-tcp-stream-ssl.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) (limited to 'camel/camel-tcp-stream-ssl.c') diff --git a/camel/camel-tcp-stream-ssl.c b/camel/camel-tcp-stream-ssl.c index ed539451ad..09e5c94a02 100644 --- a/camel/camel-tcp-stream-ssl.c +++ b/camel/camel-tcp-stream-ssl.c @@ -268,20 +268,22 @@ camel_tcp_stream_ssl_enable_ssl (CamelTcpStreamSSL *ssl) g_return_val_if_fail (CAMEL_IS_TCP_STREAM_SSL (ssl), -1); if (ssl->priv->sockfd && !ssl->priv->ssl_mode) { - fd = enable_ssl (ssl, NULL); - if (fd == NULL) { - int errnosave; - + if (!(fd = enable_ssl (ssl, NULL))) { set_errno (PR_GetError ()); - errnosave = errno; - errno = errnosave; - return -1; } - SSL_ResetHandshake (fd, FALSE); - ssl->priv->sockfd = fd; + + if (SSL_ResetHandshake (fd, FALSE) == SECFailure) { + set_errno (PR_GetError ()); + return -1; + } + + if (SSL_ForceHandshake (fd) == -1) { + set_errno (PR_GetError ()); + return -1; + } } ssl->priv->ssl_mode = TRUE; -- cgit v1.2.3