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:

committed by
Jeffrey Stedfast

parent
e1268e37a4
commit
ec14bae134
@ -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
|
||||
|
@ -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;
|
||||
}
|
||||
|
Reference in New Issue
Block a user