From 1b311510f7ef342e4de24d6331a22ca4fc68c071 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anton=20Luka=20=C5=A0ijanec?= Date: Tue, 13 Jul 2021 18:43:45 +0200 Subject: replaced openssl with gnutls --- Makefile | 2 +- README.md | 13 +++++++++---- debian/changelog | 7 +++++++ debian/control | 2 +- 4 files changed, 18 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index 092af8a..846fa96 100644 --- a/Makefile +++ b/Makefile @@ -14,7 +14,7 @@ clean: rm discord.c -f prepare: - sudo apt install libncursesw6 libcurl4-openssl-dev libcjson-dev -y + sudo apt install libncursesw6 libcurl4-gnutls-dev libcjson-dev -y valgrind: valgrind --leak-check=full --show-leak-kinds=all --track-origins=yes --verbose --log-file=valgrind-out.txt --suppressions=/usr/lib/valgrind/ncurses.supp --suppressions=misc/openssl.supp ./discord.c diff --git a/README.md b/README.md index d429f27..063e4a5 100644 --- a/README.md +++ b/README.md @@ -5,10 +5,10 @@ an alternative client for the discord messaging platform, written in the C progr ## requirements * a POSIX system -* GNU C library +* GNU C library * GNU compiler collection * GNU Make -* libcurl 7.17.0 or newer with HTTPS support +* libcurl 7.17.0 or newer with HTTPS support[\*](#user-content-notes) * ncursesw6 * libcjson-dev @@ -27,7 +27,7 @@ sudo apt install discord.c you need to add [my apt repository](https://prog.sijanec.eu/). -built packages only exist for the `amd64` and `arm64`. for i386 grab the source package: +built packages only exist for `amd64`, `arm64` and `i386`. for other architectures grab the source package: ``` apt source discord.c @@ -51,9 +51,14 @@ check the build badge before downloading: * `amd64`: [https://cargova.sijanec.eu/prog/discord.c/](https://cargova.sijanec.eu/prog/discord.c/) * `arm64`: [https://of.sijanec.eu/prog/discord.c/](https://of.sijanec.eu/prog/discord.c/) +* `i386`: *built on my portable computer* -there deb packages and binaries. +there are deb packages and binaries. ## missing features * check for permissions before join + +## notes + +\*`openssl` is [known](https://curl.se/mail/lib-2013-06/0007.html) to be `write()`ing to closed sockets and generating `SIGPIPE`s that `discord.c` does not catch and is terminated. Use a more sane TLS library instead such as `gnutls`, on which the `debian` package depends. diff --git a/debian/changelog b/debian/changelog index ce89882..d3fc85f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +discord.c (0.0.3-3) stable; urgency=low + + * replaced the TLS library for libcurl from openssl to gnutls. this should + fix disord.c getting killed by SIGPIPEs, as referenced by + https://curl.se/mail/lib-2013-06/0007.html + + -- Anton Luka Šijanec Tue, 13 Jul 2021 15:20:00 +0200 discord.c (0.0.3-2) stable; urgency=low * removed useless dependency: math diff --git a/debian/control b/debian/control index a660ede..d42f5e0 100644 --- a/debian/control +++ b/debian/control @@ -4,7 +4,7 @@ Priority: optional Maintainer: Anton Luka Šijanec Build-Depends: debhelper (>=11~), libcjson-dev, - libcurl4-openssl-dev, + libcurl4-gnutls-dev, libncursesw6 Standards-Version: 4.1.4 Homepage: https://git.sijanec.eu/sijanec/discord.c -- cgit v1.2.3