Call set_errno appropriately.

2002-02-04  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-tcp-stream-ssl.c (stream_connect): Call set_errno
	appropriately.

svn path=/trunk/; revision=15566
This commit is contained in:
Jeffrey Stedfast
2002-02-04 19:58:02 +00:00
committed by Jeffrey Stedfast
parent e1268e37a4
commit ec14bae134
2 changed files with 17 additions and 3 deletions

View File

@ -1,3 +1,8 @@
2002-02-04 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-ssl.c (stream_connect): Call set_errno
appropriately.
2002-01-31 Not Zed <NotZed@Ximian.com>
* camel-mime-utils.c (header_decode_domain): Oops, this was

View File

@ -499,18 +499,27 @@ stream_connect (CamelTcpStream *stream, struct hostent *host, int port)
memset ((void *) &netaddr, 0, sizeof (PRNetAddr));
memcpy (&netaddr.inet.ip, host->h_addr, sizeof (netaddr.inet.ip));
if (PR_InitializeNetAddr (PR_IpAddrNull, port, &netaddr) == PR_FAILURE)
if (PR_InitializeNetAddr (PR_IpAddrNull, port, &netaddr) == PR_FAILURE) {
set_errno (PR_GetError ());
return -1;
}
fd = PR_OpenTCPSocket (host->h_addrtype);
ssl_fd = SSL_ImportFD (NULL, fd);
SSL_OptionSet (ssl_fd, SSL_SECURITY, PR_TRUE);
SSL_SetURL (ssl_fd, ssl->priv->expected_host);
if (ssl_fd == NULL || PR_Connect (ssl_fd, &netaddr, timeout) == PR_FAILURE) {
if (ssl_fd != NULL)
if (ssl_fd != NULL) {
int errnosave;
set_errno (PR_GetError ());
errnosave = errno;
PR_Close (ssl_fd);
errno = errnosave;
} else
errno = EINVAL;
return -1;
}