mirror of
https://github.com/shadowsocks/shadowsocks-libev.git
synced 2026-11-01 07:30:02 +00:00
C++20 port 15/15: remove the stream ciphers (#3079)
* Remove the stream ciphers The unauthenticated stream ciphers (aes-*-cfb, aes-*-ctr, camellia-*-cfb, chacha20, chacha20-ietf, salsa20) are gone from every build, together with the SS_ENABLE_LEGACY option, the C++ stream codecs, their C test oracle and the stream-only tests and configurations. A configuration naming one of them, or RC4/table, now fails at startup with a message pointing to an AEAD method, and test_cli checks that. Shell completions list only the supported methods (and now include the 2022 ones), and the docs and the compatibility contract say the stream ciphers were removed. * Drop the Mbed TLS CFB requirement and stale stream-cipher examples CFB was only needed by the removed stream ciphers, so a system Mbed TLS built without it no longer fails to configure. The public header example now uses aes-256-gcm.
This commit is contained in:
+9
-1
@@ -58,7 +58,7 @@ class CliTests(unittest.TestCase):
|
||||
self.assertEqual('--printable-salt' in help_result.stdout, name == 'local')
|
||||
if name != 'local':
|
||||
self.assertEqual(self.run_cli(name, '--printable-salt').returncode, 2)
|
||||
for method in ('aes-128-gcm', 'aes-256-cfb', '2022-blake3-aes-256-gcm',
|
||||
for method in ('aes-128-gcm', 'aes-192-gcm', '2022-blake3-aes-256-gcm',
|
||||
'2022-blake3-chacha20-poly1305'):
|
||||
with self.subTest(method=method):
|
||||
result = self.run_cli('local', '-s', '127.0.0.1', '-p', '8388',
|
||||
@@ -88,6 +88,14 @@ class CliTests(unittest.TestCase):
|
||||
self.assertNotEqual(result.returncode, 0)
|
||||
self.assertIn("option 'printable_salt' must be a boolean", result.stderr)
|
||||
|
||||
def test_removed_stream_ciphers_are_rejected(self):
|
||||
for method in ('aes-256-cfb', 'chacha20-ietf', 'rc4-md5'):
|
||||
with self.subTest(method=method):
|
||||
result = self.run_cli('server', '-s', '127.0.0.1', '-p', '1', '-k', 'test-password',
|
||||
'-m', method)
|
||||
self.assertNotEqual(result.returncode, 0)
|
||||
self.assertIn('no longer supported', result.stderr)
|
||||
|
||||
def test_long_aliases_accept_their_arguments(self):
|
||||
for name in self.binaries:
|
||||
args = ['--config', 'not-loaded-before-help.json', '--cipher', 'aes-128-gcm',
|
||||
|
||||
Reference in New Issue
Block a user