diff options
-rw-r--r-- | make-linux.mk | 7 | ||||
-rw-r--r-- | make-mac.mk | 7 | ||||
-rw-r--r-- | node/Peer.hpp | 5 | ||||
-rw-r--r-- | node/Topology.cpp | 13 |
4 files changed, 24 insertions, 8 deletions
diff --git a/make-linux.mk b/make-linux.mk index 5de1fbb5..5ea3a35e 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 1c3ed54b..89560e8d 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 a24fb7b2..ead14311 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<InetAddress,InetAddress>(); } +#ifdef ZT_PEER_SERIALIZATION_VERSION template<unsigned int C> inline void serialize(Buffer<C> &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 5f8401dd..10e5d9c7 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<ZT_PEER_WRITE_BUF_SIZE> 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<ZT_PEER_WRITE_BUF_SIZE> buf; std::string pdpath(RR->homePath + ZT_PATH_SEPARATOR_S + "peers.persist"); + +#ifdef ZT_PEER_SERIALIZATION_VERSION + Buffer<ZT_PEER_WRITE_BUF_SIZE> 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 |