Add experimental HTTP/TLS obfuscating as an **optional extension** of shadowsocks protocol.
More discussions can be found here: https://github.com/shadowsocks/shadowsocks-org/issues/26
As this feature is still a SIP (Shadowsocks Improvement Proposal), it's very unstable and experimental. So,
1. Don't enable it unless you know what it is.
2. Be very careful when using it in production environment.
code issues found by Clang with
CFLAGS="-Os -Wall -Wextra -Werror=unused-const-variable -Wno-error=unused-parameter"
enabled
The details as follows:
- variable initialization issue, modified them as Clang suggested
- data type mismatch when comparing, fix them either by casting or changing
the data type of index of iterator
- get_sockaddr() in netutils may return -1 thus changed returning type from
size_t to ssize_t, which makes Clang happier
- recvfrom() in udprelay is identical, fix this by creating local variable
for comparison and assign back to buf->len when returning value is acceptable
Signed-off-by: Syrone Wong <wong.syrone@gmail.com>