crypt: Remove RC4 support.
authorAndre Noll <maan@tuebingen.mpg.de>
Wed, 24 Aug 2016 13:12:53 +0000 (15:12 +0200)
committerAndre Noll <maan@tuebingen.mpg.de>
Sun, 8 Jan 2017 12:27:16 +0000 (13:27 +0100)
commitdbf829aac09a69f4b51a6a1f9fe15873b99fbdcf
treef9d785d584958c0d1b4b7e4a4d76c9ab240d38a6
parent28b9dcf18ec333883fb53e6e7a5920345d2ba9ee
crypt: Remove RC4 support.

Multiple vulnerabilities have been discovered in the RC4 stream cipher,
rendering it insecure. paraslash stopped using RC4 as the default
stream cipher since version 0.5.2 (2014-04-11), but server and client
still supported the broken cipher for backward compatibility. This
commit removes the compatibility code from both the openssl and
the libgcrypt code base, leaving aes_ctr128 as the only remaining
stream cipher.

The server still announces the aes_ctr128 feature, although it is now
mandatory because the server will enable aes_ctr128 unconditionally,
no matter whether it was requested by the client or not. The client,
on the other hand, still requests this feature, regardless of whether
it was announced by the server or not. This keeps unpatched clients =>
0.5.2 working with new servers and vice versa.

Regarding the public crypto API, sc_new() loses its boolean use_aes
parameter. Otherwise the API remains the same.

The patch also rewrites the crypto section of the manual to not
mention RC4 any more.
client_common.c
command.c
crypt.c
crypt.h
gcrypt.c
web/manual.md