mirror of
https://github.com/irssi/irssi.git
synced 2024-09-08 04:26:01 -04:00
Merge pull request #439 from horgh/ssl-errors
Clear error queue before SSL I/O operations
This commit is contained in:
parent
d20872ac27
commit
7d3fe66e50
@ -289,6 +289,7 @@ static GIOStatus irssi_ssl_read(GIOChannel *handle, gchar *buf, gsize len, gsize
|
||||
const char *errstr;
|
||||
gchar *errmsg;
|
||||
|
||||
ERR_clear_error();
|
||||
ret1 = SSL_read(chan->ssl, buf, len);
|
||||
if(ret1 <= 0)
|
||||
{
|
||||
@ -334,6 +335,7 @@ static GIOStatus irssi_ssl_write(GIOChannel *handle, const gchar *buf, gsize len
|
||||
const char *errstr;
|
||||
gchar *errmsg;
|
||||
|
||||
ERR_clear_error();
|
||||
ret1 = SSL_write(chan->ssl, (const char *)buf, len);
|
||||
if(ret1 <= 0)
|
||||
{
|
||||
@ -471,6 +473,7 @@ static GIOChannel *irssi_ssl_get_iochannel(GIOChannel *handle, int port, SERVER_
|
||||
if(!(fd = g_io_channel_unix_get_fd(handle)))
|
||||
return NULL;
|
||||
|
||||
ERR_clear_error();
|
||||
ctx = SSL_CTX_new(SSLv23_client_method());
|
||||
if (ctx == NULL) {
|
||||
g_error("Could not allocate memory for SSL context");
|
||||
@ -489,6 +492,7 @@ static GIOChannel *irssi_ssl_get_iochannel(GIOChannel *handle, int port, SERVER_
|
||||
scert = convert_home(mycert);
|
||||
if (mypkey && *mypkey)
|
||||
spkey = convert_home(mypkey);
|
||||
ERR_clear_error();
|
||||
if (! SSL_CTX_use_certificate_file(ctx, scert, SSL_FILETYPE_PEM))
|
||||
g_warning("Loading of client certificate '%s' failed: %s", mycert, ERR_reason_error_string(ERR_get_error()));
|
||||
else if (! SSL_CTX_use_PrivateKey_file(ctx, spkey ? spkey : scert, SSL_FILETYPE_PEM))
|
||||
@ -581,6 +585,7 @@ int irssi_ssl_handshake(GIOChannel *handle)
|
||||
X509 *cert;
|
||||
const char *errstr;
|
||||
|
||||
ERR_clear_error();
|
||||
ret = SSL_connect(chan->ssl);
|
||||
if (ret <= 0) {
|
||||
err = SSL_get_error(chan->ssl, ret);
|
||||
|
Loading…
Reference in New Issue
Block a user