Files
shadowsocks-libev/debian
Max Lv a577ae0927 C++20 port 3/14: compile crypto, config, DNS, ACL and plugin modules as C++ (#3067)
* Make the crypto, config, DNS and plugin modules compile as C++

Cast allocator and memchr results explicitly, pass mbedtls_operation_t
to mbedtls_cipher_setkey, and declare the two locals in
ss2022_encrypt_first() before the gotos that jump past them. Drop the
unused RESOLV_MODE global that resolv.c defined by accident through an
anonymous enum declaration. Still valid C.

* Raise the test origin's listen backlog

socketserver listens with a backlog of 5. With concurrent connections
through the proxy on a loaded machine (parallel ctest), the backlog
overflows, the kernel resets the origin connection, and the proxy
correctly drops the client, which surfaced as intermittent
alloc_audit_report failures ("getpeername: Invalid argument" in
ss-local, "Connection reset by peer" in ss-server). Reproduced
reliably at 64 concurrent connections; gone with a backlog of 256.

* Compile the crypto, config, DNS, ACL and plugin modules as C++

Rename netutils, jconf, stream, aead, aead2022, aead2022_udp, crypto,
acl, plugin, plugin_disabled and resolv from .c to .cpp without changing
their contents, and update source lists, snippet references, test
comments and debian/copyright.

The Doxygen source list and scripts/check_cli_docs.py now accept either
extension for each module, so the remaining programs can move one at a
time. The new .cpp files are added to the no-heap ratchet baseline.
2026-10-15 09:52:17 +08:00
..
2026-02-09 09:15:12 +08:00
2017-02-16 20:38:08 +08:00

shadowsocks-libev for Debian
----------------------------

The Debian package has added systemd support. A default server service which
reads the default configuration in /etc/default/shadowsocks-libev is installed
and enabled by default, plus some other service templates placed in
/lib/systemd/system, which can be used by users later.

The systemd service templates accept one parameter to determine the
configuration json file that is used by this instance. For example,
if the user starts a service called "shadowsocks-libev-local@foobar.service",
This service instance will start the "ss-local" client and read
/etc/shadowsocks-libev/foobar.json as its configuration file.

 -- Boyuan Yang <byang@debian.org>  Thu, 08 Sep 2016 19:01:20 +0800