From c9294c1a78fa86fbba38b1a81988ea7527b0872c Mon Sep 17 00:00:00 2001 From: Adam Ierymenko Date: Thu, 10 Apr 2014 14:22:25 -0700 Subject: Prevent recursive transit of ZeroTier packets, toward GitHub issue #56 --- node/Node.cpp | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) (limited to 'node/Node.cpp') diff --git a/node/Node.cpp b/node/Node.cpp index 26c1d90b..655e3188 100644 --- a/node/Node.cpp +++ b/node/Node.cpp @@ -52,6 +52,8 @@ #include #endif +#include "../version.h" + #include "Node.hpp" #include "RuntimeEnvironment.hpp" #include "Logger.hpp" @@ -73,8 +75,7 @@ #include "SoftwareUpdater.hpp" #include "Buffer.hpp" #include "IpcConnection.hpp" - -#include "../version.h" +#include "AntiRecursion.hpp" namespace ZeroTier { @@ -235,24 +236,16 @@ struct _NodeImpl #ifndef __WINDOWS__ delete renv.netconfService; - TRACE("shutdown: delete netconfService"); #endif delete renv.updater; - TRACE("shutdown: delete updater"); delete renv.nc; - TRACE("shutdown: delete nc"); delete renv.sysEnv; - TRACE("shutdown: delete sysEnv"); delete renv.topology; - TRACE("shutdown: delete topology"); delete renv.sm; - TRACE("shutdown: delete sm"); delete renv.sw; - TRACE("shutdown: delete sw"); delete renv.mc; - TRACE("shutdown: delete mc"); + delete renv.antiRec; delete renv.prng; - TRACE("shutdown: delete prng"); delete renv.log; return reasonForTermination; @@ -477,6 +470,7 @@ Node::ReasonForTermination Node::run() Utils::lockDownFile(configAuthTokenPath.c_str(),false); // Create the objects that make up runtime state. + _r->antiRec = new AntiRecursion(); _r->mc = new Multicaster(); _r->sw = new Switch(_r); _r->sm = new SocketManager(impl->udpPort,impl->tcpPort,&_CBztTraffic,_r); -- cgit v1.2.3