lede-packages-rs

git clone git://archive.git.mtrnord.blog/MTRNord/lede-packages-rs.git
Log | Files | Refs | README | LICENSE

commit a89c0cadcfa9260cce039772b1a7d0c4744a63c1
parent 07c0677b7b96cc69109b8dda9cebd01e62aa2f26
Author: Jo-Philipp Wich <jow@openwrt.org>
Date:   Thu, 25 Jun 2015 17:56:29 +0200

shadowsocks-client: fix fortify source compatibility

The shadowsocks source uses the name `encrypt` which is already reserved by
the `unistd.h` header. Rename the local `encrypt` and `decrypt` functions to
`crypto_encrypt` and `crypto_decrypt` in order to prevent clashes with the
standard headers.

Fixes the following build error oberserved on the buildbot:

    In file included from client.c:19:0:
    crypto.h:18:5: error: conflicting types for 'encrypt'
     int encrypt(int sockfd, struct link *ln);
         ^
    In file included from .../staging_dir/toolchain-mipsel_mips32_gcc-4.8-linaro_musl-1.1.10/include/fortify/unistd.h:20:0,
                     from client.c:12:
    .../staging_dir/toolchain-mipsel_mips32_gcc-4.8-linaro_musl-1.1.10/include/unistd.h:145:6: note: previous declaration of 'encrypt' was here
     void encrypt(char *, int);
          ^
    make[3]: *** [sslocal] Error 1

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

Diffstat:
Anet/shadowsocks-client/patches/100-fortify-source-compat.patch | 72++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 72 insertions(+), 0 deletions(-)

diff --git a/net/shadowsocks-client/patches/100-fortify-source-compat.patch b/net/shadowsocks-client/patches/100-fortify-source-compat.patch @@ -0,0 +1,72 @@ +--- a/client.c ++++ b/client.c +@@ -111,7 +111,7 @@ int client_do_local_read(int sockfd, str + goto out; + } + +- if (encrypt(sockfd, ln) == -1) ++ if (crypto_encrypt(sockfd, ln) == -1) + goto out; + + ret = do_send(ln->server_sockfd, ln, "cipher", 0); +@@ -172,7 +172,7 @@ int client_do_server_read(int sockfd, st + } + } + +- if (decrypt(sockfd, ln) == -1) ++ if (crypto_decrypt(sockfd, ln) == -1) + goto out; + + if (ln->state & SS_UDP) { +--- a/crypto.c ++++ b/crypto.c +@@ -185,7 +185,7 @@ err: + return -1; + } + +-int encrypt(int sockfd, struct link *ln) ++int crypto_encrypt(int sockfd, struct link *ln) + { + int len, cipher_len; + EVP_CIPHER_CTX *ctx_p; +@@ -223,7 +223,7 @@ err: + return -1; + } + +-int decrypt(int sockfd, struct link *ln) ++int crypto_decrypt(int sockfd, struct link *ln) + { + int len, text_len; + EVP_CIPHER_CTX *ctx_p; +--- a/crypto.h ++++ b/crypto.h +@@ -15,7 +15,7 @@ extern int iv_len; + + int crypto_init(char *key, char *method); + void crypto_exit(void); +-int encrypt(int sockfd, struct link *ln); +-int decrypt(int sockfd, struct link *ln); ++int crypto_encrypt(int sockfd, struct link *ln); ++int crypto_decrypt(int sockfd, struct link *ln); + + #endif +--- a/server.c ++++ b/server.c +@@ -36,7 +36,7 @@ int server_do_remote_read(int sockfd, st + goto out; + } + +- if (encrypt(sockfd, ln) == -1) ++ if (crypto_encrypt(sockfd, ln) == -1) + goto out; + + ret = do_send(ln->local_sockfd, ln, "cipher", 0); +@@ -91,7 +91,7 @@ int server_do_local_read(int sockfd, str + } + } + +- if (decrypt(sockfd, ln) == -1) ++ if (crypto_decrypt(sockfd, ln) == -1) + goto out; + + if (ln->state & SS_UDP) {