diff --git a/build/ios_app_framework/Debug-iphoneos/ZeroTierSDK_iOS.framework/Headers/ZeroTierSDK_iOS.h b/build/ios_app_framework/Debug-iphoneos/ZeroTierSDK_iOS.framework/Headers/ZeroTierSDK_iOS.h new file mode 100644 index 0000000..65f44c2 --- /dev/null +++ b/build/ios_app_framework/Debug-iphoneos/ZeroTierSDK_iOS.framework/Headers/ZeroTierSDK_iOS.h @@ -0,0 +1,19 @@ +// +// ZeroTierSDK_iOS.h +// ZeroTierSDK_iOS +// +// Created by Joseph Henry on 6/15/16. +// Copyright © 2016 ZeroTier Inc. All rights reserved. +// + +#import + +//! Project version number for ZeroTierSDK_iOS. +FOUNDATION_EXPORT double ZeroTierSDK_iOSVersionNumber; + +//! Project version string for ZeroTierSDK_iOS. +FOUNDATION_EXPORT const unsigned char ZeroTierSDK_iOSVersionString[]; + +// In this header, you should import all the public headers of your framework using statements like #import + + diff --git a/integrations/android/example_app/app/src/main/java/com/example/joseph/example_app/MainActivity.java b/integrations/android/example_app/app/src/main/java/com/example/joseph/example_app/MainActivity.java index 1fb1b2b..87ed99f 100644 --- a/integrations/android/example_app/app/src/main/java/com/example/joseph/example_app/MainActivity.java +++ b/integrations/android/example_app/app/src/main/java/com/example/joseph/example_app/MainActivity.java @@ -46,36 +46,38 @@ public class MainActivity extends AppCompatActivity { int sock = zt.socket(SDK.AF_INET, SDK.SOCK_STREAM, 0); if((err = zt.bind(sock, "0.0.0.0", 8080, nwid)) < 0) - Log.d("TEST", "bind_err = " + err + "\n"); + Log.d("ZT-TEST", "bind_err = " + err + "\n"); if((err = zt.listen(sock,1)) < 0) - Log.d("TEST", "listen_err = " + err); + Log.d("ZT-TEST", "listen_err = " + err); if((err = zt.accept(sock,null)) < 0) - Log.d("TEST", "accept_err = " + err); + Log.d("ZT-TEST", "accept_err = " + err); - Log.d("TEST", "Waiting to accept connection..."); + Log.d("ZT-TEST", "Waiting to accept connection..."); // ... } - // TCP Echo test (CLIENT) + // TCP Echo ZT-TEST (CLIENT) if(mode==2) { - Log.d("TEST", "\n\nStarting TCP Echo Test\n\n"); + Log.d("ZT-TEST", "\n\nStarting TCP Echo ZT-TEST\n\n"); zt.join_network(nwid); int sock = zt.socket(SDK.AF_INET, SDK.SOCK_STREAM, 0); String msg = "Welcome to the machine!"; - err = zt.connect(sock, "28.206.65.211", 8080, nwid); + err = zt.connect(sock, "28.206.65.211", 8099, nwid); - Log.d("TEST", "err = " + err + "\n"); + Log.d("ZT-TEST", "err = " + err + "\n"); + + return; // ECHO while(true) { // TX if((err = zt.write(sock, msg.getBytes(), msg.length())) > 0) { - Log.d("TEST", "TX: " + msg + " --- " + err + " bytes"); + Log.d("ZT-TEST", "TX: " + msg + " --- " + err + " bytes"); } // RX @@ -83,12 +85,14 @@ public class MainActivity extends AppCompatActivity { Arrays.fill(buffer, (byte)0); if((err = zt.read(sock, buffer, buffer.length)) > 0) { String bufStr = new String(buffer).substring(0, err); - Log.d("TEST", "RX: " + bufStr + " --- " + err + " bytes"); + Log.d("ZT-TEST", "RX: " + bufStr + " --- " + err + " bytes"); } } + + // zt.stop_service(); } - // SOCKS5 Proxy test + // SOCKS5 Proxy ZT-TEST if(mode==3) { zt.join_network(nwid); @@ -98,18 +102,18 @@ public class MainActivity extends AppCompatActivity { Log.d("ZTSDK", "Setting up connection to SDK proxy server"); SocketAddress proxyAddr = new InetSocketAddress("127.0.0.1", proxyPort); Proxy proxy = new Proxy(Proxy.Type.SOCKS, proxyAddr); - Log.d("TEST", "toString() = " + proxy.toString()); + Log.d("ZT-TEST", "toString() = " + proxy.toString()); final Socket s = new Socket(proxy); final SocketAddress remoteAddr = new InetSocketAddress("10.9.9.100", 8080); // Wait for address to be assigned ArrayList addresses = zt.get_addresses(nwid); for(int i=0; ileave(nwid); } bool zts_is_running() { return zt1Service->isRunning(); } -void zts_terminate() { zt1Service->terminate(); } +void zts_stop_service() { zt1Service->terminate(); } // FIXME: Re-implemented to make it play nicer with the C-linkage required for Xcode integrations // Now only returns first assigned address per network. Shouldn't normally be a problem @@ -187,9 +187,9 @@ int zts_get_proxy_server_address(const char * nwid, struct sockaddr_storage * ad return false; } // Shuts down ZeroTier service and SOCKS5 Proxy server - JNIEXPORT void JNICALL Java_ZeroTier_SDK_zt_1terminate_1service(JNIEnv *env, jobject thisObj) { + JNIEXPORT void JNICALL Java_ZeroTier_SDK_zt_1stop_1service(JNIEnv *env, jobject thisObj) { if(zt1Service) - zts_terminate(); + zts_stop_service(); // TODO: Also terminate SOCKS5 Proxy // zts_stop_proxy_server(); } diff --git a/src/SDK_XcodeWrapper.cpp b/src/SDK_XcodeWrapper.cpp index df28161..a8767f3 100755 --- a/src/SDK_XcodeWrapper.cpp +++ b/src/SDK_XcodeWrapper.cpp @@ -39,6 +39,10 @@ extern "C" void start_service(const char * path) { init_service(INTERCEPT_DISABLED, path); } +extern "C" void stop_service() { + zts_stop_service(); +} + // Starts a ZeroTier service at the specified path and initializes the RPC mechanism // This will allow direct API calls extern "C" void start_service_and_rpc(const char * path, const char * nwid) {