diff --git a/make-linux.mk b/make-linux.mk index 5de1fbb52..5ea3a35e5 100644 --- a/make-linux.mk +++ b/make-linux.mk @@ -38,10 +38,13 @@ endif # "make debug" is a shortcut for this ifeq ($(ZT_DEBUG),1) - CFLAGS=-Wall -g -pthread $(INCLUDES) -DZT_TRACE -DZT_LOG_STDOUT $(DEFS) +# DEFS+=-DZT_TRACE -DZT_LOG_STDOUT + CFLAGS=-Wall -g -pthread $(INCLUDES) $(DEFS) LDFLAGS= STRIP=echo - DEFS+=-DZT_TRACE -DZT_LOG_STDOUT + # The following line enables optimization for the crypto code, since + # C25519 in particular is almost UNUSABLE in heavy testing without it. +ext/lz4/lz4.o node/Salsa20.o node/SHA512.o node/C25519.o node/Poly1305.o: CFLAGS = -Wall -O2 -ftree-vectorize -pthread $(INCLUDES) $(DEFS) else CFLAGS=-Wall -O3 -fPIE -fvisibility=hidden -fstack-protector -pthread $(INCLUDES) -DNDEBUG $(DEFS) LDFLAGS=-pie -Wl,-z,relro,-z,now diff --git a/make-mac.mk b/make-mac.mk index 1c3ed54bc..89560e8d9 100644 --- a/make-mac.mk +++ b/make-mac.mk @@ -24,9 +24,12 @@ DEFS+=-DZT_SALSA20_SSE # "make debug" is a shortcut for this ifeq ($(ZT_DEBUG),1) - CFLAGS=-Wall -g -pthread -DZT_TRACE -DZT_LOG_STDOUT $(INCLUDES) $(DEFS) +# DEFS+=-DZT_TRACE -DZT_LOG_STDOUT + CFLAGS=-Wall -g -pthread $(INCLUDES) $(DEFS) STRIP=echo - DEFS+=-DZT_TRACE -DZT_LOG_STDOUT + # The following line enables optimization for the crypto code, since + # C25519 in particular is almost UNUSABLE in heavy testing without it. +ext/lz4/lz4.o node/Salsa20.o node/SHA512.o node/C25519.o node/Poly1305.o: CFLAGS = -Wall -O2 -ftree-vectorize -pthread $(INCLUDES) $(DEFS) else CFLAGS=-arch i386 -arch x86_64 -Wall -O3 -flto -fPIE -fvectorize -fstack-protector -pthread -mmacosx-version-min=10.6 -DNDEBUG -Wno-unused-private-field $(INCLUDES) $(DEFS) STRIP=strip diff --git a/node/Peer.hpp b/node/Peer.hpp index a24fb7b2f..ead14311d 100644 --- a/node/Peer.hpp +++ b/node/Peer.hpp @@ -50,7 +50,8 @@ #include "NonCopyable.hpp" #include "Mutex.hpp" -#define ZT_PEER_SERIALIZATION_VERSION 13 +// Comment out to disable peers.persist +//#define ZT_PEER_SERIALIZATION_VERSION 13 namespace ZeroTier { @@ -404,6 +405,7 @@ public: else return std::pair(); } +#ifdef ZT_PEER_SERIALIZATION_VERSION template inline void serialize(Buffer &b) const { @@ -456,6 +458,7 @@ public: return (p - startAt); } +#endif // ZT_PEER_SERIALIZATION_VERSION private: void _announceMulticastGroups(const RuntimeEnvironment *RR,uint64_t now); diff --git a/node/Topology.cpp b/node/Topology.cpp index 5f8401dd0..10e5d9c72 100644 --- a/node/Topology.cpp +++ b/node/Topology.cpp @@ -290,6 +290,7 @@ bool Topology::authenticateRootTopology(const Dictionary &rt) void Topology::_dumpPeers() { +#ifdef ZT_PEER_SERIALIZATION_VERSION Buffer buf; std::string pdpath(RR->homePath + ZT_PATH_SEPARATOR_S + "peers.persist"); Mutex::Lock _l(_activePeers_m); @@ -335,14 +336,18 @@ void Topology::_dumpPeers() } fclose(pd); - Utils::lockDownFile(pdpath.c_str(),false); buf.burn(); + + Utils::lockDownFile(pdpath.c_str(),false); +#endif // ZT_PEER_SERIALIZATION_VERSION } void Topology::_loadPeers() { - Buffer buf; std::string pdpath(RR->homePath + ZT_PATH_SEPARATOR_S + "peers.persist"); + +#ifdef ZT_PEER_SERIALIZATION_VERSION + Buffer buf; Mutex::Lock _l(_activePeers_m); _activePeers.clear(); @@ -374,8 +379,10 @@ void Topology::_loadPeers() } fclose(pd); - Utils::rm(pdpath); buf.burn(); +#endif // ZT_PEER_SERIALIZATION_VERSION + + Utils::rm(pdpath); } } // namespace ZeroTier