* format with .uncrustify.cfg
format with .uncrustify.cfg
* format with .uncrustify.cfg
* format with .uncrustify.cfg exclude json.* base64.* uthash.h
* format with .uncrustify.cfg exclude json.* base64.* uthash.h
* 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
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.
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
* Add Ping-Pong bloom filter
* Refine bloom filter insertion
* Reduce the error rate to 0.00001
* Avoid alignment issue in murmurhash2
* Fix a memory leak
* Fix build on non-GPU targets
* Detect get_current_dir_name in configure
* Update README.md
* Remove redudant bfree()
* Reduce the memory usage for local client
* Fix#1275
* Refine #1275
* Use IP when bypassing SNI domains
* Also apply replay detector on UDP traffic
* Update deb build script
Now build script is able to auto detect system and choose libraries
necessary to build.
Also update the README accordingly.
* Update build script to enable jessie/stretch etc
Also include a few cleanup that simplified pkg installation from
backports repository.
* Add Ping-Pong bloom filter
* Refine bloom filter insertion
* Reduce the error rate to 0.00001
* Avoid alignment issue in murmurhash2
* Fix a memory leak
* Fix build on non-GPU targets
* Detect get_current_dir_name in configure
* Update README.md
* Remove redudant bfree()
* Reduce the memory usage for local client
* Fix#1275
* Refine #1275
* Use IP when bypassing SNI domains
* Also apply replay detector on UDP traffic
* Update deb build script
Now build script is able to auto detect system and choose libraries
necessary to build.
Also update the README accordingly.
* Update build script to enable jessie/stretch etc
Also include a few cleanup that simplified pkg installation from
backports repository.
* ss-libev: Introduce mode parameter for start_plugin
Since obfsproxy handles client and server in different ways, no matter
standalone or manged mode, so introduce the mode for start_plugin() to
support obfsproxy.
With more comments added to plugin.h for later developers.
Signed-off-by: Adam Anonymous <anonymous_temp_mail@yahoo.co.jp>
* ss-libev: Move SS protocol plugin initialization code to start_ss_plugin
Move SS protocol plugin initialization to start_ss_plugin() function, as
the support for obfsproxy will not use that environment.
Also, remove the use of get_current_dir_name() which is a glibc
extension, such macro hack will just make code less readable.
Not to mention it already screw up code folding of vim.
Signed-off-by: Adam Anonymous <anonymous_temp_mail@yahoo.co.jp>
* ss-libev: Introduce obfsproxy standalone mode support as plugin
Now shadowsocks-libev supports to use obfsproxy as plugin.
Currently we only support to use standalone(proxy) mode of obfsproxy, as
managed mode needs to use SOCKS5 as upstream forward, while ss-libev
doesn't support it yet.
And the output from plugin is just trashed for now.
Support to pipe them into stdout/stderr will be added later.
Signed-off-by: Adam Anonymous <anonymous_temp_mail@yahoo.co.jp>
* ss-libev: doc: Fix wrong cmdline parameter for plugin options
Command line option for plugin options is "--plugin-opts", not the json
option "--plugin_opts"
Fix it.
Signed-off-by: Adam Anonymous <anonymous_temp_mail@yahoo.co.jp>
* ss-libev: local: Use enum number for val of long options
Signed-off-by: Adam Anonymous <anonymous_temp_mail@yahoo.co.jp>
* ss-libev: manager: Use enum number for val of long options
Signed-off-by: Adam Anonymous <anonymous_temp_mail@yahoo.co.jp>
* ss-libev: redir: Use enum number for val of long options
Signed-off-by: Adam Anonymous <anonymous_temp_mail@yahoo.co.jp>
* ss-libev: server: Use enum number for val of long options
Signed-off-by: Adam Anonymous <anonymous_temp_mail@yahoo.co.jp>
* ss-libev: tunnel: Use enum number for val of long options
Signed-off-by: Adam Anonymous <anonymous_temp_mail@yahoo.co.jp>