updated flags
This commit is contained in:
@@ -9,7 +9,7 @@ This short tutorial will show you how to enable ZeroTier functionality for your
|
|||||||
|
|
||||||
**Step 1: Build the ZeroTier service binaries**
|
**Step 1: Build the ZeroTier service binaries**
|
||||||
|
|
||||||
From the ZeroTier source directory, `make netcon` Optionally, if you'd like to see some debug output during execution, use `make sdk ZT_SDK_DEBUG=1`
|
From the ZeroTier source directory, `make netcon` Optionally, if you'd like to see some debug output during execution, use `make sdk SDK_DEBUG=1`
|
||||||
|
|
||||||
**Step 2: Build your Docker image**
|
**Step 2: Build your Docker image**
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
ZeroTier Integrations
|
ZeroTier Integrations
|
||||||
====
|
====
|
||||||
|
|
||||||
If you want everything built at once, type `make all` and go play outside for a few minutes, we'll copy all of the targets into the `build` directory for you along with specific instructions on how to use each binary.
|
If you want everything built at once, type `make all` and go play outside for a few minutes, we'll copy all of the targets into the `build` directory for you along with specific instructions on how to use each binary. You can then use `make -s check` to check the build status of each binary target.
|
||||||
|
|
||||||
*NOTE for Apple platforms: In order to build iOS/OSX Frameworks and Bundles you will need XCode command line tools `xcode-select --install`*
|
*NOTE for Apple platforms: In order to build iOS/OSX Frameworks and Bundles you will need XCode command line tools `xcode-select --install`*
|
||||||
|
|
||||||
|
|||||||
@@ -1376,8 +1376,8 @@
|
|||||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles";
|
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles";
|
||||||
OTHER_CFLAGS = (
|
OTHER_CFLAGS = (
|
||||||
"-D__UNITY_3D__",
|
"-D__UNITY_3D__",
|
||||||
"-DZT_SDK",
|
"-DSDK",
|
||||||
"-DZT_SDK_DEBUG",
|
"-DSDK_DEBUG",
|
||||||
);
|
);
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = "zerotier.ZeroTierSDK-Unity3D-iOS";
|
PRODUCT_BUNDLE_IDENTIFIER = "zerotier.ZeroTierSDK-Unity3D-iOS";
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
@@ -1401,8 +1401,8 @@
|
|||||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles";
|
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles";
|
||||||
OTHER_CFLAGS = (
|
OTHER_CFLAGS = (
|
||||||
"-D__UNITY_3D__",
|
"-D__UNITY_3D__",
|
||||||
"-DZT_SDK",
|
"-DSDK",
|
||||||
"-DZT_SDK_DEBUG",
|
"-DSDK_DEBUG",
|
||||||
);
|
);
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = "zerotier.ZeroTierSDK-Unity3D-iOS";
|
PRODUCT_BUNDLE_IDENTIFIER = "zerotier.ZeroTierSDK-Unity3D-iOS";
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
@@ -1430,8 +1430,8 @@
|
|||||||
IPHONEOS_DEPLOYMENT_TARGET = 9.3;
|
IPHONEOS_DEPLOYMENT_TARGET = 9.3;
|
||||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
||||||
OTHER_CFLAGS = (
|
OTHER_CFLAGS = (
|
||||||
"-DZT_SDK_DEBUG",
|
"-DSDK_DEBUG",
|
||||||
"-DZT_SDK",
|
"-DSDK",
|
||||||
"-D__IOS__",
|
"-D__IOS__",
|
||||||
);
|
);
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = "zerotier.ZeroTierSDK-iOS";
|
PRODUCT_BUNDLE_IDENTIFIER = "zerotier.ZeroTierSDK-iOS";
|
||||||
@@ -1460,8 +1460,8 @@
|
|||||||
IPHONEOS_DEPLOYMENT_TARGET = 9.3;
|
IPHONEOS_DEPLOYMENT_TARGET = 9.3;
|
||||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
||||||
OTHER_CFLAGS = (
|
OTHER_CFLAGS = (
|
||||||
"-DZT_SDK_DEBUG",
|
"-DSDK_DEBUG",
|
||||||
"-DZT_SDK",
|
"-DSDK",
|
||||||
"-D__IOS__",
|
"-D__IOS__",
|
||||||
);
|
);
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = "zerotier.ZeroTierSDK-iOS";
|
PRODUCT_BUNDLE_IDENTIFIER = "zerotier.ZeroTierSDK-iOS";
|
||||||
@@ -1491,8 +1491,8 @@
|
|||||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
||||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks";
|
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks";
|
||||||
OTHER_CFLAGS = (
|
OTHER_CFLAGS = (
|
||||||
"-DZT_SDK",
|
"-DSDK",
|
||||||
"-DZT_SDK_DEBUG",
|
"-DSDK_DEBUG",
|
||||||
"-D__XCODE__",
|
"-D__XCODE__",
|
||||||
);
|
);
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = "zerotier.ZeroTierSDK-OSX";
|
PRODUCT_BUNDLE_IDENTIFIER = "zerotier.ZeroTierSDK-OSX";
|
||||||
@@ -1519,8 +1519,8 @@
|
|||||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
||||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks";
|
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks";
|
||||||
OTHER_CFLAGS = (
|
OTHER_CFLAGS = (
|
||||||
"-DZT_SDK",
|
"-DSDK",
|
||||||
"-DZT_SDK_DEBUG",
|
"-DSDK_DEBUG",
|
||||||
"-D__XCODE__",
|
"-D__XCODE__",
|
||||||
);
|
);
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = "zerotier.ZeroTierSDK-OSX";
|
PRODUCT_BUNDLE_IDENTIFIER = "zerotier.ZeroTierSDK-OSX";
|
||||||
@@ -1541,8 +1541,8 @@
|
|||||||
INFOPLIST_FILE = ZeroTierSDK_Unity3D_OSX/Info.plist;
|
INFOPLIST_FILE = ZeroTierSDK_Unity3D_OSX/Info.plist;
|
||||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles";
|
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles";
|
||||||
OTHER_CFLAGS = (
|
OTHER_CFLAGS = (
|
||||||
"-DZT_SDK_DEBUG",
|
"-DSDK_DEBUG",
|
||||||
"-DZT_SDK",
|
"-DSDK",
|
||||||
"-D__UNITY_3D__",
|
"-D__UNITY_3D__",
|
||||||
);
|
);
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = "zerotier.ZeroTierSDK-Unity3D-OSX";
|
PRODUCT_BUNDLE_IDENTIFIER = "zerotier.ZeroTierSDK-Unity3D-OSX";
|
||||||
@@ -1564,8 +1564,8 @@
|
|||||||
INFOPLIST_FILE = ZeroTierSDK_Unity3D_OSX/Info.plist;
|
INFOPLIST_FILE = ZeroTierSDK_Unity3D_OSX/Info.plist;
|
||||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles";
|
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles";
|
||||||
OTHER_CFLAGS = (
|
OTHER_CFLAGS = (
|
||||||
"-DZT_SDK_DEBUG",
|
"-DSDK_DEBUG",
|
||||||
"-DZT_SDK",
|
"-DSDK",
|
||||||
"-D__UNITY_3D__",
|
"-D__UNITY_3D__",
|
||||||
);
|
);
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = "zerotier.ZeroTierSDK-Unity3D-OSX";
|
PRODUCT_BUNDLE_IDENTIFIER = "zerotier.ZeroTierSDK-Unity3D-OSX";
|
||||||
|
|||||||
Binary file not shown.
@@ -77,11 +77,11 @@ all: shared_lib check
|
|||||||
|
|
||||||
linux_shared_lib: $(OBJS)
|
linux_shared_lib: $(OBJS)
|
||||||
rm -f *.o
|
rm -f *.o
|
||||||
$(CXX) $(CXXFLAGS) $(LDFLAGS) -DZT_SDK -DZT_ONE_NO_ROOT_CHECK -Iext/lwip/src/include -Iext/lwip/src/include/ipv4 -Iext/lwip/src/include/ipv6 -Izerotierone/osdep -Izerotierone/node -Isrc -o build/zerotier-sdk-service $(OBJS) zerotierone/service/OneService.cpp src/SDK_EthernetTap.cpp src/SDK_Proxy.cpp zerotierone/one.cpp -x c src/SDK_RPC.c $(LDLIBS) -ldl
|
$(CXX) $(CXXFLAGS) $(LDFLAGS) $(DEFS) -DZT_SDK -DZT_ONE_NO_ROOT_CHECK -Iext/lwip/src/include -Iext/lwip/src/include/ipv4 -Iext/lwip/src/include/ipv6 -Izerotierone/osdep -Izerotierone/node -Isrc -o build/zerotier-sdk-service $(OBJS) zerotierone/service/OneService.cpp src/SDK_EthernetTap.cpp src/SDK_Proxy.cpp zerotierone/one.cpp -x c src/SDK_RPC.c $(LDLIBS) -ldl
|
||||||
# Build liblwip.so which must be placed in ZT home for zerotier-netcon-service to work
|
# Build liblwip.so which must be placed in ZT home for zerotier-netcon-service to work
|
||||||
make -f make-liblwip.mk
|
make -f make-liblwip.mk
|
||||||
# Use gcc not clang to build standalone intercept library since gcc is typically used for libc and we want to ensure maximal ABI compatibility
|
# Use gcc not clang to build standalone intercept library since gcc is typically used for libc and we want to ensure maximal ABI compatibility
|
||||||
cd src ; gcc $(DEFS) -g -O2 -Wall -std=c99 -fPIC -DVERBOSE -D_GNU_SOURCE -DNETCON_INTERCEPT -I. -I../zerotierone/node -nostdlib -shared -o libztintercept.so SDK_Sockets.c SDK_Intercept.c SDK_Debug.c SDK_RPC.c -ldl
|
cd src ; gcc $(DEFS) -g -O2 -Wall -std=c99 -fPIC -DVERBOSE -D_GNU_SOURCE -DSDK_INTERCEPT -I. -I../zerotierone/node -nostdlib -shared -o libztintercept.so SDK_Sockets.c SDK_Intercept.c SDK_Debug.c SDK_RPC.c -ldl
|
||||||
mkdir -p build/linux_shared_lib
|
mkdir -p build/linux_shared_lib
|
||||||
cp src/libztintercept.so build/linux_shared_lib/libztintercept.so
|
cp src/libztintercept.so build/linux_shared_lib/libztintercept.so
|
||||||
ln -sf zerotier-sdk-service zerotier-cli
|
ln -sf zerotier-sdk-service zerotier-cli
|
||||||
|
|||||||
@@ -50,14 +50,14 @@
|
|||||||
#define MSG_DEBUG 4 // Information which is only useful to someone debugging
|
#define MSG_DEBUG 4 // Information which is only useful to someone debugging
|
||||||
#define MSG_DEBUG_EXTRA 5 // If nothing in your world makes sense
|
#define MSG_DEBUG_EXTRA 5 // If nothing in your world makes sense
|
||||||
|
|
||||||
#define DEBUG_TO_FILE 1
|
|
||||||
#define DEBUG_LOGFILE_PATH "/Users/Joseph/code/ztnc_logfile.txt"
|
#define DEBUG_LOGFILE_PATH "/Users/Joseph/code/ztnc_logfile.txt"
|
||||||
|
|
||||||
void dwr(int level, const char *fmt, ... );
|
void dwr(int level, const char *fmt, ... );
|
||||||
|
|
||||||
void dwr(int level, const char *fmt, ... )
|
void dwr(int level, const char *fmt, ... )
|
||||||
{
|
{
|
||||||
#if defined(ZT_SDK_DEBUG)
|
fprintf(stderr, "Hello from debug!\n");
|
||||||
|
#if defined(SDK_DEBUG)
|
||||||
if(level > DEBUG_LEVEL)
|
if(level > DEBUG_LEVEL)
|
||||||
return;
|
return;
|
||||||
int saveerr;
|
int saveerr;
|
||||||
@@ -75,10 +75,10 @@ void dwr(int level, const char *fmt, ... )
|
|||||||
#elif defined(__APPLE__)
|
#elif defined(__APPLE__)
|
||||||
pid_t tid = pthread_mach_thread_np(pthread_self());
|
pid_t tid = pthread_mach_thread_np(pthread_self());
|
||||||
#endif
|
#endif
|
||||||
if(DEBUG_TO_FILE) {
|
#if defined(SDK_DEBUG_WRITE_LOGFILE)
|
||||||
FILE *file = fopen(DEBUG_LOGFILE_PATH,"a");
|
FILE *file = fopen(DEBUG_LOGFILE_PATH,"a");
|
||||||
vfprintf(file, fmt, ap);
|
vfprintf(file, fmt, ap);
|
||||||
}
|
#endif
|
||||||
fprintf(stderr, "%s [tid=%7d] ", timestring, tid);
|
fprintf(stderr, "%s [tid=%7d] ", timestring, tid);
|
||||||
vfprintf(stderr, fmt, ap);
|
vfprintf(stderr, fmt, ap);
|
||||||
fflush(stderr);
|
fflush(stderr);
|
||||||
|
|||||||
@@ -132,7 +132,7 @@ NetconEthernetTap::NetconEthernetTap(
|
|||||||
char sockPath[4096],lwipPath[4096];
|
char sockPath[4096],lwipPath[4096];
|
||||||
rpcCounter = -1;
|
rpcCounter = -1;
|
||||||
Utils::snprintf(sockPath,sizeof(sockPath),"%s%snc_%.16llx",homePath,ZT_PATH_SEPARATOR_S,_nwid,ZT_PATH_SEPARATOR_S,(unsigned long long)nwid);
|
Utils::snprintf(sockPath,sizeof(sockPath),"%s%snc_%.16llx",homePath,ZT_PATH_SEPARATOR_S,_nwid,ZT_PATH_SEPARATOR_S,(unsigned long long)nwid);
|
||||||
_dev = sockPath; // in netcon mode, set device to be just the network ID
|
_dev = sockPath; // in SDK mode, set device to be just the network ID
|
||||||
|
|
||||||
// Start SOCKS5 Proxy server
|
// Start SOCKS5 Proxy server
|
||||||
// For use when traditional syscall hooking isn't available (ex. some APIs on iOS and Android)
|
// For use when traditional syscall hooking isn't available (ex. some APIs on iOS and Android)
|
||||||
|
|||||||
@@ -103,7 +103,7 @@ int get_retval(int rpc_sock)
|
|||||||
|
|
||||||
int load_symbols_rpc()
|
int load_symbols_rpc()
|
||||||
{
|
{
|
||||||
#if defined(NETCON_INTERCEPT) || defined(__IOS__) || defined(__UNITY_3D__)
|
#if defined(SDK_INTERCEPT) || defined(__IOS__) || defined(__UNITY_3D__)
|
||||||
realsocket = dlsym(RTLD_NEXT, "socket");
|
realsocket = dlsym(RTLD_NEXT, "socket");
|
||||||
realconnect = dlsym(RTLD_NEXT, "connect");
|
realconnect = dlsym(RTLD_NEXT, "connect");
|
||||||
if(!realconnect || !realsocket)
|
if(!realconnect || !realsocket)
|
||||||
|
|||||||
@@ -94,6 +94,7 @@ const char *get_netpath() {
|
|||||||
|
|
||||||
void zt_init_rpc(char *nwid)
|
void zt_init_rpc(char *nwid)
|
||||||
{
|
{
|
||||||
|
dwr(MSG_DEBUG, "zt_init_rpc\n");
|
||||||
#if defined(__UNITY_3D__)
|
#if defined(__UNITY_3D__)
|
||||||
//char *nw = "565799d8f6e1c11a";
|
//char *nw = "565799d8f6e1c11a";
|
||||||
//char *path = "/Users/Joseph/utest2/nc_";
|
//char *path = "/Users/Joseph/utest2/nc_";
|
||||||
@@ -133,6 +134,8 @@ const char *get_netpath() {
|
|||||||
if (!api_netpath) {
|
if (!api_netpath) {
|
||||||
api_netpath = getenv("ZT_NC_NETWORK");
|
api_netpath = getenv("ZT_NC_NETWORK");
|
||||||
set_netpath(api_netpath);
|
set_netpath(api_netpath);
|
||||||
|
|
||||||
|
dwr(MSG_DEBUG, "netpath = %s\n", api_netpath);
|
||||||
if(!api_netpath) {
|
if(!api_netpath) {
|
||||||
// return 0;
|
// return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
gcc kq_test_client.c ../../kq.c ../../zt_api.c ../../RPC.c -DZT_SDK_DEBUG -DNETCON_INTERCEPT -o kq_test_client
|
gcc kq_test_client.c ../../kq.c ../../zt_api.c ../../RPC.c -DSDK_DEBUG -DNETCON_INTERCEPT -o kq_test_client
|
||||||
#gcc kq_test_server.c ../../kq.c -o kq_test_server
|
#gcc kq_test_server.c ../../kq.c -o kq_test_server
|
||||||
|
|
||||||
gcc server.c -o server
|
gcc server.c -o server
|
||||||
|
|||||||
Reference in New Issue
Block a user