From c9cf3bf878606ee7d4b3933b7e86af9fb05f58b5 Mon Sep 17 00:00:00 2001 From: Marius Halden Date: Sun, 13 Mar 2016 01:19:37 +0100 Subject: more ssl --- irc.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'irc.c') diff --git a/irc.c b/irc.c index 9cac0742..563d3fca 100644 --- a/irc.c +++ b/irc.c @@ -281,8 +281,14 @@ void irc_free(irc_t * irc) b_event_remove(irc->w_watch_source_id); } + if (global.conf->ssl) { + gnutls_bye(irc->ssl_session, GNUTLS_SHUT_WR); + } closesocket(irc->fd); irc->fd = -1; + if (global.conf->ssl) { + gnutls_deinit(irc->ssl_session); + } g_hash_table_foreach_remove(irc->nick_user_hash, irc_free_hashkey, NULL); g_hash_table_destroy(irc->nick_user_hash); @@ -665,7 +671,12 @@ void irc_flush(irc_t *irc) } len = strlen(irc->sendbuffer); - if ((n = send(irc->fd, irc->sendbuffer, len, 0)) == len) { + if (global.conf->ssl) { + n = ssl_server_write(irc, irc->sendbuffer, len); + } else { + n = send(irc->fd, irc->sendbuffer, len, 0); + } + if (n == len) { g_free(irc->sendbuffer); irc->sendbuffer = NULL; -- cgit v1.2.3