From d3e90b6cf288ba3de2fc0e68054b4312a976b2e3 Mon Sep 17 00:00:00 2001 From: Curtis McEnroe Date: Thu, 2 Aug 2018 23:59:41 -0400 Subject: Use libtls "compat" ciphers irc.mozilla.org, using GnuTLS, doesn't support *any* of the "secure" ciphers! --- chat.c | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/chat.c b/chat.c index 0b1826a..4955b4b 100644 --- a/chat.c +++ b/chat.c @@ -60,6 +60,8 @@ static void uiInit(void) { ui.input = newwin(2, COLS, LINES - 2, 0); mvwhline(ui.input, 0, 0, ACS_HLINE, COLS); wmove(ui.input, 1, 0); + cbreak(); + noecho(); } static void uiDraw(void) { @@ -322,13 +324,22 @@ int main(int argc, char *argv[]) { client.nick = strdup(buf); } erase(); - cbreak(); - noecho(); uiInit(); uiChat("=== Traveling..."); uiDraw(); + struct tls_config *config = tls_config_new(); + error = tls_config_set_ciphers(config, "compat"); + if (error) errx(EX_SOFTWARE, "tls_config: %s", tls_config_error(config)); + + client.tls = tls_client(); + if (!client.tls) errx(EX_SOFTWARE, "tls_client"); + + error = tls_configure(client.tls, config); + if (error) errx(EX_SOFTWARE, "tls_configure"); + tls_config_free(config); + struct addrinfo *ai; struct addrinfo hints = { .ai_family = AF_UNSPEC, @@ -345,14 +356,6 @@ int main(int argc, char *argv[]) { if (error) err(EX_UNAVAILABLE, "connect"); freeaddrinfo(ai); - client.tls = tls_client(); - if (!client.tls) errx(EX_OSERR, "tls_client"); - - struct tls_config *config = tls_config_new(); - error = tls_configure(client.tls, config); - if (error) errx(EX_OSERR, "tls_configure"); - tls_config_free(config); - error = tls_connect_socket(client.tls, client.sock, host); if (error) err(EX_PROTOCOL, "tls_connect"); -- cgit 1.4.1