From b555e1898593107fe3e87de55771f3959a51d582 Mon Sep 17 00:00:00 2001 From: Emanuele Giaquinta Date: Sun, 2 Nov 2008 14:49:48 +0000 Subject: [PATCH] When returning G_IO_STATUS_ERROR in irssi_ssl_{read,write} create a GError with the openssl error string. git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@4884 dbcabf3a-b0e7-0310-adc4-f8d773084564 --- src/core/network-openssl.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/core/network-openssl.c b/src/core/network-openssl.c index 219e6a5b..9e16b130 100644 --- a/src/core/network-openssl.c +++ b/src/core/network-openssl.c @@ -105,6 +105,8 @@ static GIOStatus irssi_ssl_read(GIOChannel *handle, gchar *buf, gsize len, gsize err = SSL_get_error(chan->ssl, err); if(err == SSL_ERROR_WANT_READ || err == SSL_ERROR_WANT_WRITE) return G_IO_STATUS_AGAIN; + *gerr = g_error_new_literal(G_IO_CHANNEL_ERROR, G_IO_CHANNEL_ERROR_FAILED, + ERR_reason_error_string(ERR_get_error())); return G_IO_STATUS_ERROR; } else @@ -128,6 +130,8 @@ static GIOStatus irssi_ssl_write(GIOChannel *handle, const gchar *buf, gsize len err = SSL_get_error(chan->ssl, err); if(err == SSL_ERROR_WANT_READ || err == SSL_ERROR_WANT_WRITE) return G_IO_STATUS_AGAIN; + *gerr = g_error_new_literal(G_IO_CHANNEL_ERROR, G_IO_CHANNEL_ERROR_FAILED, + ERR_reason_error_string(ERR_get_error())); return G_IO_STATUS_ERROR; } else