* Replace udns with c-ares
* Get IO loop work
* Clean up
* Avoid initializing nameservers each query
* Add ARES_OPT_SERVERS
* Refine resolv_cancel
* Fix a memory leak
* Replace udns.h with ares.h
* Fix all inet_* fucntions
* Clean up
* Enable servers_ports when VERSION_MINOR >= 11
* Avoid ares_inet_XtoX
* Handle multipe nameservers correctly
* Use ares_set_servers for IPv4 and IPv6 mixed list
* Refine c-ares for udprelay
* Refine ares_set_servers()
* Refine the timer based on ares_timeout
* Avoid resolv_cancel
* Fix an issue of null pointer
* Fix another null pointer issue
* Refine the order of resolv_shutdown
* Fix the corrupted ev io
This change includes:
1. Move shared library `shadowsocks-libev.so.*` to an package `libshadowsocks-libev`
and rename package `shadowsocks-libev-devel` to `libshadowsocks-libev-devel`
to reconcile with the deb packages.
2. Add a new package `shadowsocks-libev-zsh-completion`.
3. Run `setcap` after installation (similar to #1119).
4. Remove ss-nat because it is designed for OpenWrt/LEDE.
5. Auto restart instantiated services after update and stop/disable instantiated
services after uninstallation.
As discussed with @librehat in #1604, maintaining a separate set of systemd
files for RPM distributions will be convenient to build on Copr.
This patch will also change some lines in rpm/genrpm.sh to archive the
source code using `git archive` because the old logic doesn't respect
`.gitignore`.
fix these errors:
- ca-certificates missed
fatal: unable to access
'https://github.com/shadowsocks/shadowsocks-libev.git/': Problem with
the SSL CA cert (path? access rights?)
- automake missed
Can't exec "aclocal": No such file or directory at
/usr/share/autoconf/Autom4te/FileUtils.pm line 326.
autoreconf: failed to run aclocal: No such file or directory
- libmbedtls-dev
checking for mbedtls_cipher_setup in -lmbedcrypto... no
configure: error: mbed TLS libraries not found.
In a few places `malloc` was being used without checking the return for
a `NULL` pointer. There's already a wrapper (`ss_malloc`) in
`util.c` that performs this check and exits if it fails so this commit
replaces the unsafe `malloc`s with `ss_malloc`s.
Two functions `construct_udprealy_header` and `parse_udprealy_header`
contained typos and should be `construct_udprelay_header` and
`parse_udprelay_header` respectively. This commit updates these function
names and the respective callers.
Sometimes we need processes to run in the foreground to be supervised
and at the same time use syslog facility instead of logging its stdout,
stderr output