From 8bc676a942c6dece627c1d762e1c322b7d77c2ae Mon Sep 17 00:00:00 2001 From: pk910 Date: Sun, 24 Feb 2013 13:17:08 +0100 Subject: [PATCH] added some debug information to ssl.c --- ircd/ssl.c | 33 ++++++++++++++++++++++++++------- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/ircd/ssl.c b/ircd/ssl.c index 49e861f..2af0852 100644 --- a/ircd/ssl.c +++ b/ircd/ssl.c @@ -866,7 +866,8 @@ const char *ssl_cipherstr(ssl_session_t *ssl) { -#ifdef HAVE_GNUTLS +#if defined(HAVE_GNUTLS) + unsigned int ssl_be_init() { signed int ret; if((ret = gnutls_global_init()) != GNUTLS_E_SUCCESS) { @@ -1023,13 +1024,22 @@ const char *ssl_cipherstr(ssl_session_t *ssl) { signed int res; res = gnutls_record_send(*ssl, buf, *count_out); *count_out = 0; - if(res == 0) return IO_FAILURE; + if(res == 0) { + ssl_msg(SSL_DEBUG, "SSL: gnutls ssl_be_send(): failed (IO_FAILURE)"); + return IO_FAILURE; + } else if(res < 0) { - if(res != GNUTLS_E_AGAIN && res != GNUTLS_E_INTERRUPTED) return IO_FAILURE; - else return IO_BLOCKED; + if(res != GNUTLS_E_AGAIN && res != GNUTLS_E_INTERRUPTED) { + ssl_msg(SSL_DEBUG, "SSL: gnutls ssl_be_send(): failed (IO_FAILURE)"); + return IO_FAILURE; + } else { + ssl_msg(SSL_DEBUG, "SSL: gnutls ssl_be_send(): failed (IO_BLOCKED)"); + return IO_BLOCKED; + } } else { *count_out = res; + ssl_msg(SSL_DEBUG, "SSL: gnutls ssl_be_send(): successful (IO_SUCCESS)"); return IO_SUCCESS; } } @@ -1037,13 +1047,22 @@ const char *ssl_cipherstr(ssl_session_t *ssl) { signed int res; res = gnutls_record_recv(*ssl, buf, *count_out); *count_out = 0; - if(res == 0) return IO_FAILURE; + if(res == 0) { + ssl_msg(SSL_DEBUG, "SSL: gnutls ssl_be_recv(): failed (IO_FAILURE)"); + return IO_FAILURE; + } else if(res < 0) { - if(res == GNUTLS_E_AGAIN || res == GNUTLS_E_INTERRUPTED) return IO_BLOCKED; - else return IO_FAILURE; + if(res == GNUTLS_E_AGAIN || res == GNUTLS_E_INTERRUPTED) { + ssl_msg(SSL_DEBUG, "SSL: gnutls ssl_be_recv(): failed (IO_BLOCKED)"); + return IO_BLOCKED; + } else { + ssl_msg(SSL_DEBUG, "SSL: gnutls ssl_be_recv(): failed (IO_FAILURE)"); + return IO_FAILURE; + } } else { *count_out = res; + ssl_msg(SSL_DEBUG, "SSL: gnutls ssl_be_recv(): successful (IO_SUCCESS)"); return IO_SUCCESS; } } -- 2.20.1