summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCurtis McEnroe2018-08-02 23:59:41 -0400
committerCurtis McEnroe2018-08-02 23:59:41 -0400
commitd3e90b6cf288ba3de2fc0e68054b4312a976b2e3 (patch)
tree347f5fb397880640414c0bf08f1ca76edd8a6476
parenta5009665b0a7d7c192f77d60560e2768a21837bb (diff)
Use libtls "compat" ciphers
irc.mozilla.org, using GnuTLS, doesn't support *any* of the "secure" ciphers!
-rw-r--r--chat.c23
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");