mirror of
https://github.com/zerotier/ZeroTierOne.git
synced 2025-01-18 02:40:13 +00:00
Testnet sort of works! spins up supernodes.
This commit is contained in:
parent
4fbb098daa
commit
5c7cd53f13
20
make-mac.mk
20
make-mac.mk
@ -5,24 +5,29 @@ INCLUDES=
|
||||
DEFS=
|
||||
LIBS=
|
||||
|
||||
include objects.mk
|
||||
OBJS+=osnet/BSDRoutingTable.o osnet/OSXEthernetTap.o osnet/OSXEthernetTapFactory.o
|
||||
TESTNET_OBJS=testnet/SimNet.o testnet/SimNetSocketManager.o testnet/TestEthernetTap.o testnet/TestEthernetTapFactory.o testnet/TestRoutingTable.o
|
||||
|
||||
# Disable codesign since open source users will not have ZeroTier's certs
|
||||
CODESIGN=echo
|
||||
CODESIGN_CERT=
|
||||
|
||||
ifeq ($(ZT_OFFICIAL_RELEASE),1)
|
||||
# For use by ZeroTier Networks -- sign with developer cert
|
||||
ZT_AUTO_UPDATE=1
|
||||
DEFS+=-DZT_OFFICIAL_RELEASE
|
||||
CODESIGN=codesign
|
||||
CODESIGN_CERT="Developer ID Application: ZeroTier Networks LLC (8ZD9JUCZ4V)"
|
||||
endif
|
||||
|
||||
ifeq ($(ZT_AUTO_UPDATE),1)
|
||||
DEFS+=-DZT_AUTO_UPDATE
|
||||
endif
|
||||
|
||||
# Enable SSE-optimized Salsa20
|
||||
# Enable SSE-optimized Salsa20 -- all Intel macs support SSE2
|
||||
DEFS+=-DZT_SALSA20_SSE
|
||||
|
||||
# "make debug" is a shortcut for this
|
||||
ifeq ($(ZT_DEBUG),1)
|
||||
# DEFS+=-DZT_TRACE -DZT_LOG_STDOUT
|
||||
CFLAGS=-Wall -g -pthread $(INCLUDES) $(DEFS)
|
||||
@ -37,10 +42,6 @@ endif
|
||||
|
||||
CXXFLAGS=$(CFLAGS) -fno-rtti
|
||||
|
||||
include objects.mk
|
||||
OBJS+=osnet/BSDRoutingTable.o osnet/OSXEthernetTap.o osnet/OSXEthernetTapFactory.o
|
||||
TESTNET_OBJS=testnet/SimNet.o testnet/SimNetSocketManager.o testnet/TestEthernetTap.o testnet/TestEthernetTapFactory.o testnet/TestRoutingTable.o
|
||||
|
||||
all: one
|
||||
|
||||
one: $(OBJS) main.o
|
||||
@ -53,7 +54,7 @@ selftest: $(OBJS) sefltest.o
|
||||
$(CXX) $(CXXFLAGS) -o zerotier-selftest selftest.o $(OBJS) $(LIBS)
|
||||
$(STRIP) zerotier-selftest
|
||||
|
||||
testnet: $(OBJS) $(TESTNET_OBJS) testnet.o
|
||||
testnet: $(TESTNET_OBJS) $(OBJS) testnet.o
|
||||
$(CXX) $(CXXFLAGS) -o zerotier-testnet testnet.o $(OBJS) $(TESTNET_OBJS) $(LIBS)
|
||||
$(STRIP) zerotier-testnet
|
||||
|
||||
@ -67,10 +68,7 @@ mac-ui: FORCE
|
||||
$(CODESIGN) -vvv "build-ZeroTierUI-release/ZeroTier One.app"
|
||||
|
||||
clean:
|
||||
rm -rf *.dSYM testnet.o selftest.o build-* $(OBJS) $(TEST_OBJS) zerotier-* ZeroTierOneInstaller-* "ZeroTier One.zip" "ZeroTier One.dmg"
|
||||
|
||||
debug: FORCE
|
||||
make -j 4 ZT_DEBUG=1
|
||||
rm -rf *.dSYM testnet.o selftest.o build-* $(OBJS) $(TESTNET_OBJS) zerotier-* ZeroTierOneInstaller-* "ZeroTier One.zip" "ZeroTier One.dmg"
|
||||
|
||||
# For our use -- builds official signed binary, packages in installer and download DMG
|
||||
official: FORCE
|
||||
|
15
testnet.cpp
15
testnet.cpp
@ -40,6 +40,7 @@
|
||||
#include "node/Identity.hpp"
|
||||
#include "node/Thread.hpp"
|
||||
#include "node/CMWC4096.hpp"
|
||||
#include "node/Dictionary.hpp"
|
||||
|
||||
#include "testnet/SimNet.hpp"
|
||||
#include "testnet/SimNetSocketManager.hpp"
|
||||
@ -136,9 +137,9 @@ static Identity makeNodeHome(bool super)
|
||||
mkdir(path.c_str(),0700);
|
||||
#endif
|
||||
|
||||
if (!Utils::writeFile((path + ZT_PATH_SEPARATOR_S + "identity.secret"),id.toString(true)))
|
||||
if (!Utils::writeFile((path + ZT_PATH_SEPARATOR_S + "identity.secret").c_str(),id.toString(true)))
|
||||
return Identity();
|
||||
if (!Utils::writeFile((path + ZT_PATH_SEPARATOR_S + "identity.public"),id.toString(false)))
|
||||
if (!Utils::writeFile((path + ZT_PATH_SEPARATOR_S + "identity.public").c_str(),id.toString(false)))
|
||||
return Identity();
|
||||
|
||||
return id;
|
||||
@ -180,8 +181,8 @@ static std::vector<Address> initSupernodes()
|
||||
|
||||
for(std::vector< std::pair<Identity,InetAddress> >::iterator i(snids.begin());i!=snids.end();++i) {
|
||||
SimNode *n = new SimNode(net,(basePath + ZT_PATH_SEPARATOR_S + "S" + i->first.address().toString()),rootTopology.c_str(),true,i->second);
|
||||
nodes[id.address()] = n;
|
||||
newNodes.push_back(id.address());
|
||||
nodes[i->first.address()] = n;
|
||||
newNodes.push_back(i->first.address());
|
||||
}
|
||||
|
||||
return newNodes;
|
||||
@ -221,7 +222,7 @@ static void doHelp(const std::vector<std::string> &cmd)
|
||||
printf("---------- listnetworks <address/*>"ZT_EOL_S);
|
||||
printf("---------- listpeers <address/*>"ZT_EOL_S);
|
||||
printf("---------- alltoall"ZT_EOL_S);
|
||||
printf("---------- quit"ZT_EOL_S)
|
||||
printf("---------- quit"ZT_EOL_S);
|
||||
}
|
||||
|
||||
static void doMKSN(const std::vector<std::string> &cmd)
|
||||
@ -231,7 +232,7 @@ static void doMKSN(const std::vector<std::string> &cmd)
|
||||
return;
|
||||
}
|
||||
if (nodes.size() > 0) {
|
||||
printf("---------- mksn error: mksn can only be called once (network already exists)"ZT_EOL_S,(unsigned int)nodes.size());
|
||||
printf("---------- mksn error: mksn can only be called once (network already exists)"ZT_EOL_S);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -304,7 +305,7 @@ int main(int argc,char **argv)
|
||||
printf(ZT_EOL_S);
|
||||
|
||||
{
|
||||
printf("---------- scanning '%s' for existing network..."ZT_EOL_S);
|
||||
printf("---------- scanning '%s' for existing network..."ZT_EOL_S,basePath.c_str());
|
||||
std::vector<Address> snodes(initSupernodes());
|
||||
if (snodes.empty()) {
|
||||
printf("---------- no existing network found; use 'mksn' to create one."ZT_EOL_S);
|
||||
|
Loading…
Reference in New Issue
Block a user