diff options
author | June McEnroe <june@causal.agency> | 2018-08-02 23:59:41 -0400 |
---|---|---|
committer | June McEnroe <june@causal.agency> | 2018-08-02 23:59:41 -0400 |
commit | d3e90b6cf288ba3de2fc0e68054b4312a976b2e3 (patch) | |
tree | 347f5fb397880640414c0bf08f1ca76edd8a6476 | |
parent | Add UI and handle some kinds of server messages (diff) | |
download | catgirl-d3e90b6cf288ba3de2fc0e68054b4312a976b2e3.tar.gz catgirl-d3e90b6cf288ba3de2fc0e68054b4312a976b2e3.zip |
Use libtls "compat" ciphers
irc.mozilla.org, using GnuTLS, doesn't support *any* of the "secure" ciphers!
-rw-r--r-- | chat.c | 23 |
1 files 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"); |