diff --git a/examples/WoL/WoL.cpp b/examples/WoL/WoL.cpp new file mode 100644 index 0000000..e69de29 diff --git a/examples/cathode/README.md b/examples/cathode/README.md new file mode 100644 index 0000000..35c5b70 --- /dev/null +++ b/examples/cathode/README.md @@ -0,0 +1,3 @@ +## Encrypted P2P chat in the terminal. + +See: [https://github.com/zerotier/cathode](https://github.com/zerotier/cathode) \ No newline at end of file diff --git a/examples/intercept/intercept.cpp b/examples/intercept/intercept.cpp new file mode 100644 index 0000000..995fc07 --- /dev/null +++ b/examples/intercept/intercept.cpp @@ -0,0 +1,56 @@ +/* + * ZeroTier SDK - Network Virtualization Everywhere + * Copyright (C) 2011-2017 ZeroTier, Inc. https://www.zerotier.com/ + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + * -- + * + * You can be released from the requirements of the license by purchasing + * a commercial license. Buying such a license is mandatory as soon as you + * develop commercial closed-source software that incorporates or links + * directly against ZeroTier software without disclosing the source code + * of your own application. + */ + +#include "libzt.h" + +#include +#include +#include +#include +#include +#include + +#include +#include + +int (*realsocket)(ZT_SOCKET_SIG) = 0; + +extern void load_symbols() +{ + DEBUG_INFO(); + realsocket = (int(*)(ZT_SOCKET_SIG))dlsym(RTLD_NEXT, "socket"); +} + +int socket(ZT_SOCKET_SIG) +{ + DEBUG_INFO(); + return zts_socket(socket_family, socket_type, protocol); +} + +int main() +{ + return 0; +} \ No newline at end of file diff --git a/examples/intercept/intercept.hpp b/examples/intercept/intercept.hpp new file mode 100644 index 0000000..e69de29 diff --git a/test/ztproxy.cpp b/examples/ztproxy/ztproxy.cpp similarity index 100% rename from test/ztproxy.cpp rename to examples/ztproxy/ztproxy.cpp diff --git a/test/ztproxy.hpp b/examples/ztproxy/ztproxy.hpp similarity index 100% rename from test/ztproxy.hpp rename to examples/ztproxy/ztproxy.hpp diff --git a/make-bsd.mk b/make-bsd.mk index 7131131..0d16890 100644 --- a/make-bsd.mk +++ b/make-bsd.mk @@ -156,8 +156,6 @@ PICO_OBJS+= ext/picotcp/build/lib/pico_device.o \ all: -tests: unit_tests - ############################################################################## ## User-Space Stack ## ############################################################################## @@ -195,8 +193,16 @@ $(TEST_BUILD_DIR)/%: $(UNIT_TEST_SRC_DIR)/%.cpp @-$(CXX) $(UNIT_TEST_INCLUDES) -o $@ $< $(UNIT_TEST_LIBS) @-./check.sh $@ -unit_tests: $(UNIT_TEST_OBJ_FILES) +tests: $(UNIT_TEST_OBJ_FILES) +intercept: + @$(CXX) $(CXXFLAGS) $(UNIT_TEST_INCLUDES) examples/intercept/intercept.cpp -D_GNU_SOURCE -shared -o $(BUILD)/intercept.so $< $(UNIT_TEST_LIBS) -ldl + @./check.sh $(BUILD)/intercept.so + +ztproxy: + @$(CXX) $(CXXFLAGS) $(UNIT_TEST_INCLUDES) examples/ztproxy/ztproxy.cpp -o $(BUILD)/ztproxy $< $(UNIT_TEST_LIBS) -ldl + @./check.sh $(BUILD)/ztproxy + ############################################################################## ## Misc ## ############################################################################## diff --git a/make-linux.mk b/make-linux.mk index 4e40ff3..c191dab 100644 --- a/make-linux.mk +++ b/make-linux.mk @@ -252,6 +252,14 @@ $(TEST_BUILD_DIR)/%: $(UNIT_TEST_SRC_DIR)/%.cpp tests: $(UNIT_TEST_OBJ_FILES) +intercept: + @$(CXX) $(CXXFLAGS) $(UNIT_TEST_INCLUDES) examples/intercept/intercept.cpp -D_GNU_SOURCE -shared -o $(BUILD)/intercept.so $< $(UNIT_TEST_LIBS) -ldl + @./check.sh $(BUILD)/intercept.so + +ztproxy: + @$(CXX) $(CXXFLAGS) $(UNIT_TEST_INCLUDES) examples/ztproxy/ztproxy.cpp -o $(BUILD)/ztproxy $< $(UNIT_TEST_LIBS) -ldl + @./check.sh $(BUILD)/ztproxy + ############################################################################## ## Misc ## ############################################################################## diff --git a/make-mac.mk b/make-mac.mk index 18fb3d3..4925032 100644 --- a/make-mac.mk +++ b/make-mac.mk @@ -263,6 +263,14 @@ $(TEST_BUILD_DIR)/%: $(UNIT_TEST_SRC_DIR)/%.cpp tests: $(UNIT_TEST_OBJ_FILES) +intercept: + @$(CXX) $(CXXFLAGS) $(UNIT_TEST_INCLUDES) examples/intercept/intercept.cpp -D_GNU_SOURCE -shared -o $(BUILD)/intercept.so $< $(UNIT_TEST_LIBS) -ldl + @./check.sh $(BUILD)/intercept.so + +ztproxy: + @$(CXX) $(CXXFLAGS) $(UNIT_TEST_INCLUDES) examples/ztproxy/ztproxy.cpp -o $(BUILD)/ztproxy $< $(UNIT_TEST_LIBS) -ldl + @./check.sh $(BUILD)/ztproxy + ############################################################################## ## Misc ## ##############################################################################