summaryrefslogtreecommitdiff
path: root/node/Node.cpp
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2014-04-10 14:22:25 -0700
committerAdam Ierymenko <adam.ierymenko@gmail.com>2014-04-10 14:22:25 -0700
commitc9294c1a78fa86fbba38b1a81988ea7527b0872c (patch)
tree0a2b3b88014b244020864839d4517a92ef1b5948 /node/Node.cpp
parentb117ff54358d4e2b6b8eae4bd5300464f377d948 (diff)
downloadinfinitytier-c9294c1a78fa86fbba38b1a81988ea7527b0872c.tar.gz
infinitytier-c9294c1a78fa86fbba38b1a81988ea7527b0872c.zip
Prevent recursive transit of ZeroTier packets, toward GitHub issue #56
Diffstat (limited to 'node/Node.cpp')
-rw-r--r--node/Node.cpp16
1 files changed, 5 insertions, 11 deletions
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 <sys/file.h>
#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);