From 981997b9a7e680fd3a1972f5d851e54a0a0409e7 Mon Sep 17 00:00:00 2001 From: eventlOwOp <3064273390@qq.com> Date: Sat, 11 May 2024 13:33:04 +0800 Subject: [PATCH] compile natpmp from their official github repo --- .github/workflows/build.yml | 24 +++- deps/aarch64/libnatpmp.a | Bin 9288 -> 0 bytes deps/aarch64/libnatpmp.so | Bin 8584 -> 0 bytes deps/arm/libnatpmp.a | Bin 6712 -> 0 bytes deps/arm/libnatpmp.so | Bin 6396 -> 0 bytes deps/include/natpmp.h | 222 --------------------------------- deps/include/natpmp_declspec.h | 21 ---- 7 files changed, 20 insertions(+), 247 deletions(-) delete mode 100644 deps/aarch64/libnatpmp.a delete mode 100644 deps/aarch64/libnatpmp.so delete mode 100644 deps/arm/libnatpmp.a delete mode 100644 deps/arm/libnatpmp.so delete mode 100644 deps/include/natpmp.h delete mode 100644 deps/include/natpmp_declspec.h diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e052178..1e0d2dc 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -36,6 +36,12 @@ jobs: repository: zerotier/ZeroTierOne path: ZeroTierOne + - name: Checkout libnatpmp + uses: actions/checkout@v4 + with: + repository: miniupnp/libnatpmp + path: libnatpmp + # Runs a single command using the runners shell - name: Prepare NDK Toolchain run: | @@ -45,14 +51,19 @@ jobs: - name: Build for aarch64 run: | PATH=`pwd`/android-ndk-$ndk/toolchains/llvm/prebuilt/linux-x86_64/bin:$PATH + PATH=`pwd`/libnatpmp:$PATH NDK_ROOT=`pwd`/android-ndk-$ndk/toolchains/llvm/prebuilt/linux-x86_64 CC=aarch64-linux-android$api_version-clang CXX=aarch64-linux-android$api_version-clang++ + cd libnatpmp + make CC=$CC natpmpc-shared + cd .. + # "-D__GLIBC__=0" is a bypass, see zerotier/ZeroTierOne#2289 cd ZeroTierOne - make -j $(nproc) ZT_DEBUG=0 ZT_SSO_SUPPORTED=0 CC=$CC CXX=$CXX LDFLAGS="-L../deps/aarch64" DEFS="-I../deps/include -D__GLIBC__=0" + make -j $(nproc) ZT_DEBUG=0 ZT_SSO_SUPPORTED=0 CC=$CC CXX=$CXX DEFS="-D__GLIBC__=0" cd .. mkdir -p magisk/zerotier/lib @@ -61,18 +72,23 @@ jobs: cd magisk zip -q -r ../zerotier-magisk-aarch64.zip . - make clean - - name: Build for arm run: | PATH=`pwd`/android-ndk-$ndk/toolchains/llvm/prebuilt/linux-x86_64/bin:$PATH + PATH=`pwd`/libnatpmp:$PATH NDK_ROOT=`pwd`/android-ndk-$ndk/toolchains/llvm/prebuilt/linux-x86_64 CC=armv7a-linux-androideabi$api_version-clang CXX=armv7a-linux-androideabi$api_version-clang++ + cd libnatpmp + make clean + make CC=$CC natpmpc-shared + cd .. + cd ZeroTierOne - make -j $(nproc) ZT_DEBUG=0 ZT_SSO_SUPPORTED=0 CC=$CC CXX=$CXX LDFLAGS="-L../deps/arm" DEFS="-I../deps/include -D__GLIBC__=0" + make clean + make -j $(nproc) ZT_DEBUG=0 ZT_SSO_SUPPORTED=0 CC=$CC CXX=$CXX DEFS="-D__GLIBC__=0" cd .. cp ZeroTierOne/zerotier-one magisk/zerotier/ diff --git a/deps/aarch64/libnatpmp.a b/deps/aarch64/libnatpmp.a deleted file mode 100644 index b8f8ea498d5ae7e735c8b6dea9cd9dce1ddd5194..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9288 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 QKr$#}Jv<&BZyDmh0jq1s?f?J) diff --git a/deps/arm/libnatpmp.so b/deps/arm/libnatpmp.so deleted file mode 100644 index 6f7803a6a54e77f3b1175820eb3dda310bc3c7b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6396 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 -#if !defined(_MSC_VER) -#include -#endif /* !defined(_MSC_VER) */ - -#ifdef _WIN32 -#include -#if !defined(_MSC_VER) || _MSC_VER >= 1600 -#include -#else /* !defined(_MSC_VER) || _MSC_VER >= 1600 */ -typedef unsigned long uint32_t; -typedef unsigned short uint16_t; -#endif /* !defined(_MSC_VER) || _MSC_VER >= 1600 */ -#define in_addr_t uint32_t -#else /* _WIN32 */ -#include -#endif /* _WIN32 */ -#include "natpmp_declspec.h" - -/* Set to 9 by https://tools.ietf.org/html/rfc6886#section-3.1 which leads to a - * maximum timeout of 127.75 seconds, due to the initial 250 ms timeout doubling - * each time, so we allow a compile-time modification here.*/ -#ifndef NATPMP_MAX_RETRIES -#define NATPMP_MAX_RETRIES (9) -#endif - -typedef struct { - int s; /* socket */ - in_addr_t gateway; /* default gateway (IPv4) */ - int has_pending_request; - unsigned char pending_request[12]; - int pending_request_len; - int try_number; - struct timeval retry_time; -} natpmp_t; - -typedef struct { - uint16_t type; /* NATPMP_RESPTYPE_* */ - uint16_t resultcode; /* NAT-PMP response code */ - uint32_t epoch; /* Seconds since start of epoch */ - union { - struct { - //in_addr_t addr; - struct in_addr addr; - } publicaddress; - struct { - uint16_t privateport; - uint16_t mappedpublicport; - uint32_t lifetime; - } newportmapping; - } pnu; -} natpmpresp_t; - -/* possible values for type field of natpmpresp_t */ -#define NATPMP_RESPTYPE_PUBLICADDRESS (0) -#define NATPMP_RESPTYPE_UDPPORTMAPPING (1) -#define NATPMP_RESPTYPE_TCPPORTMAPPING (2) - -/* Values to pass to sendnewportmappingrequest() */ -#define NATPMP_PROTOCOL_UDP (1) -#define NATPMP_PROTOCOL_TCP (2) - -/* return values */ -/* NATPMP_ERR_INVALIDARGS : invalid arguments passed to the function */ -#define NATPMP_ERR_INVALIDARGS (-1) -/* NATPMP_ERR_SOCKETERROR : socket() failed. check errno for details */ -#define NATPMP_ERR_SOCKETERROR (-2) -/* NATPMP_ERR_CANNOTGETGATEWAY : can't get default gateway IP */ -#define NATPMP_ERR_CANNOTGETGATEWAY (-3) -/* NATPMP_ERR_CLOSEERR : close() failed. check errno for details */ -#define NATPMP_ERR_CLOSEERR (-4) -/* NATPMP_ERR_RECVFROM : recvfrom() failed. check errno for details */ -#define NATPMP_ERR_RECVFROM (-5) -/* NATPMP_ERR_NOPENDINGREQ : readnatpmpresponseorretry() called while - * no NAT-PMP request was pending */ -#define NATPMP_ERR_NOPENDINGREQ (-6) -/* NATPMP_ERR_NOGATEWAYSUPPORT : the gateway does not support NAT-PMP */ -#define NATPMP_ERR_NOGATEWAYSUPPORT (-7) -/* NATPMP_ERR_CONNECTERR : connect() failed. check errno for details */ -#define NATPMP_ERR_CONNECTERR (-8) -/* NATPMP_ERR_WRONGPACKETSOURCE : packet not received from the network gateway */ -#define NATPMP_ERR_WRONGPACKETSOURCE (-9) -/* NATPMP_ERR_SENDERR : send() failed. check errno for details */ -#define NATPMP_ERR_SENDERR (-10) -/* NATPMP_ERR_FCNTLERROR : fcntl() failed. check errno for details */ -#define NATPMP_ERR_FCNTLERROR (-11) -/* NATPMP_ERR_GETTIMEOFDAYERR : gettimeofday() failed. check errno for details */ -#define NATPMP_ERR_GETTIMEOFDAYERR (-12) - -/* */ -#define NATPMP_ERR_UNSUPPORTEDVERSION (-14) -#define NATPMP_ERR_UNSUPPORTEDOPCODE (-15) - -/* Errors from the server : */ -#define NATPMP_ERR_UNDEFINEDERROR (-49) -#define NATPMP_ERR_NOTAUTHORIZED (-51) -#define NATPMP_ERR_NETWORKFAILURE (-52) -#define NATPMP_ERR_OUTOFRESOURCES (-53) - -/* NATPMP_TRYAGAIN : no data available for the moment. try again later */ -#define NATPMP_TRYAGAIN (-100) - -#ifdef __cplusplus -extern "C" { -#endif - -/* initnatpmp() - * initialize a natpmp_t object - * With forcegw=1 the gateway is not detected automaticaly. - * Return values : - * 0 = OK - * NATPMP_ERR_INVALIDARGS - * NATPMP_ERR_SOCKETERROR - * NATPMP_ERR_FCNTLERROR - * NATPMP_ERR_CANNOTGETGATEWAY - * NATPMP_ERR_CONNECTERR */ -NATPMP_LIBSPEC int initnatpmp(natpmp_t * p, int forcegw, in_addr_t forcedgw); - -/* closenatpmp() - * close resources associated with a natpmp_t object - * Return values : - * 0 = OK - * NATPMP_ERR_INVALIDARGS - * NATPMP_ERR_CLOSEERR */ -NATPMP_LIBSPEC int closenatpmp(natpmp_t * p); - -/* sendpublicaddressrequest() - * send a public address NAT-PMP request to the network gateway - * Return values : - * 2 = OK (size of the request) - * NATPMP_ERR_INVALIDARGS - * NATPMP_ERR_SENDERR */ -NATPMP_LIBSPEC int sendpublicaddressrequest(natpmp_t * p); - -/* sendnewportmappingrequest() - * send a new port mapping NAT-PMP request to the network gateway - * Arguments : - * protocol is either NATPMP_PROTOCOL_TCP or NATPMP_PROTOCOL_UDP, - * lifetime is in seconds. - * To remove a port mapping, set lifetime to zero. - * To remove all port mappings to the host, set lifetime and both ports - * to zero. - * Return values : - * 12 = OK (size of the request) - * NATPMP_ERR_INVALIDARGS - * NATPMP_ERR_SENDERR */ -NATPMP_LIBSPEC int sendnewportmappingrequest(natpmp_t * p, int protocol, - uint16_t privateport, uint16_t publicport, - uint32_t lifetime); - -/* getnatpmprequesttimeout() - * fills the timeval structure with the timeout duration of the - * currently pending NAT-PMP request. - * Return values : - * 0 = OK - * NATPMP_ERR_INVALIDARGS - * NATPMP_ERR_GETTIMEOFDAYERR - * NATPMP_ERR_NOPENDINGREQ */ -NATPMP_LIBSPEC int getnatpmprequesttimeout(natpmp_t * p, struct timeval * timeout); - -/* readnatpmpresponseorretry() - * fills the natpmpresp_t structure if possible - * Return values : - * 0 = OK - * NATPMP_TRYAGAIN - * NATPMP_ERR_INVALIDARGS - * NATPMP_ERR_NOPENDINGREQ - * NATPMP_ERR_NOGATEWAYSUPPORT - * NATPMP_ERR_RECVFROM - * NATPMP_ERR_WRONGPACKETSOURCE - * NATPMP_ERR_UNSUPPORTEDVERSION - * NATPMP_ERR_UNSUPPORTEDOPCODE - * NATPMP_ERR_NOTAUTHORIZED - * NATPMP_ERR_NETWORKFAILURE - * NATPMP_ERR_OUTOFRESOURCES - * NATPMP_ERR_UNSUPPORTEDOPCODE - * NATPMP_ERR_UNDEFINEDERROR */ -NATPMP_LIBSPEC int readnatpmpresponseorretry(natpmp_t * p, natpmpresp_t * response); - -#ifdef ENABLE_STRNATPMPERR -NATPMP_LIBSPEC const char * strnatpmperr(int t); -#endif - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/deps/include/natpmp_declspec.h b/deps/include/natpmp_declspec.h deleted file mode 100644 index 49ce27f..0000000 --- a/deps/include/natpmp_declspec.h +++ /dev/null @@ -1,21 +0,0 @@ -#ifndef NATPMP_DECLSPEC_H_INCLUDED -#define NATPMP_DECLSPEC_H_INCLUDED - -#if defined(_WIN32) && !defined(NATPMP_STATICLIB) - /* for windows dll */ - #ifdef NATPMP_EXPORTS - #define NATPMP_LIBSPEC __declspec(dllexport) - #else - #define NATPMP_LIBSPEC __declspec(dllimport) - #endif -#else - #if defined(__GNUC__) && __GNUC__ >= 4 - /* fix dynlib for OS X 10.9.2 and Apple LLVM version 5.0 */ - #define NATPMP_LIBSPEC __attribute__ ((visibility ("default"))) - #else - #define NATPMP_LIBSPEC - #endif -#endif - -#endif -