This commit is contained in:
Adam Ierymenko 2017-06-01 17:21:04 -07:00
parent 7f4da08ff7
commit e8d11eb5c5
5 changed files with 16 additions and 61 deletions

View file

@ -85,16 +85,6 @@
using json = nlohmann::json; using json = nlohmann::json;
/**
* Uncomment to enable UDP breakage switch
*
* If this is defined, the presence of a file called /tmp/ZT_BREAK_UDP
* will cause direct UDP TX/RX to stop working. This can be used to
* test TCP tunneling fallback and other robustness features. Deleting
* this file will cause it to start working again.
*/
//#define ZT_BREAK_UDP
#include "../controller/EmbeddedNetworkController.hpp" #include "../controller/EmbeddedNetworkController.hpp"
#ifdef ZT_USE_TEST_TAP #ifdef ZT_USE_TEST_TAP
@ -105,11 +95,13 @@ namespace ZeroTier { typedef TestEthernetTap EthernetTap; }
#else #else
#ifdef ZT_SDK #ifdef ZT_SDK
#include "../controller/EmbeddedNetworkController.hpp"
#include "../node/Node.hpp" #include "../controller/EmbeddedNetworkController.hpp"
// Use the virtual netcon endpoint instead of a tun/tap port driver #include "../node/Node.hpp"
#include "../src/SocketTap.hpp" // Use the virtual netcon endpoint instead of a tun/tap port driver
namespace ZeroTier { typedef SocketTap EthernetTap; } #include "../src/SocketTap.hpp"
namespace ZeroTier { typedef SocketTap EthernetTap; }
#else #else
#ifdef __APPLE__ #ifdef __APPLE__
@ -1783,11 +1775,6 @@ public:
} }
#endif #endif
#ifdef ZT_BREAK_UDP
if (OSUtils::fileExists("/tmp/ZT_BREAK_UDP"))
return;
#endif
if ((len >= 16)&&(reinterpret_cast<const InetAddress *>(from)->ipScope() == InetAddress::IP_SCOPE_GLOBAL)) if ((len >= 16)&&(reinterpret_cast<const InetAddress *>(from)->ipScope() == InetAddress::IP_SCOPE_GLOBAL))
_lastDirectReceiveFromGlobal = OSUtils::now(); _lastDirectReceiveFromGlobal = OSUtils::now();
@ -2271,11 +2258,6 @@ public:
return -1; return -1;
} }
#ifdef ZT_BREAK_UDP
if (OSUtils::fileExists("/tmp/ZT_BREAK_UDP"))
return 0; // silently break UDP
#endif
return (_bindings[fromBindingNo].udpSend(_phy,*(reinterpret_cast<const InetAddress *>(localAddr)),*(reinterpret_cast<const InetAddress *>(addr)),data,len,ttl)) ? 0 : -1; return (_bindings[fromBindingNo].udpSend(_phy,*(reinterpret_cast<const InetAddress *>(localAddr)),*(reinterpret_cast<const InetAddress *>(addr)),data,len,ttl)) ? 0 : -1;
} }

View file

@ -33,10 +33,10 @@
#include "../node/InetAddress.hpp" #include "../node/InetAddress.hpp"
#ifdef ZT_SDK #ifdef ZT_SDK
#include "../node/Node.hpp" #include "../node/Node.hpp"
// Use the virtual netcon endpoint instead of a tun/tap port driver // Use the virtual netcon endpoint instead of a tun/tap port driver
#include "../src/SocketTap.hpp" #include "../src/SocketTap.hpp"
namespace ZeroTier { typedef SocketTap EthernetTap; } namespace ZeroTier { typedef SocketTap EthernetTap; }
#endif #endif
namespace ZeroTier { namespace ZeroTier {
@ -147,42 +147,15 @@ public:
virtual std::string portDeviceName(uint64_t nwid) const = 0; virtual std::string portDeviceName(uint64_t nwid) const = 0;
#ifdef ZT_SDK #ifdef ZT_SDK
/** virtual void leave(const char *hp) = 0;
* Leaves a network
*/
virtual void leave(const char *hp) = 0;
/**
* Joins a network
*/
virtual void join(const char *hp) = 0; virtual void join(const char *hp) = 0;
virtual std::string givenHomePath() = 0;
/** virtual EthernetTap * getTap(uint64_t nwid) = 0;
* Returns the homePath given by the client application virtual EthernetTap * getTap(InetAddress &addr) = 0;
*/
virtual std::string givenHomePath() = 0;
/*
* Returns a SocketTap that is associated with the given nwid
*/
virtual EthernetTap * getTap(uint64_t nwid) = 0;
/*
* Returns a SocketTap that cant function as a route to the specified host
*/
virtual EthernetTap * getTap(InetAddress &addr) = 0;
/*
* Returns a pointer to the Node
*/
virtual Node * getNode() = 0; virtual Node * getNode() = 0;
/*
* Delete all SocketTap interfaces
*/
virtual void removeNets() = 0; virtual void removeNets() = 0;
#endif #endif
/** /**
* Terminate background service (can be called from other threads) * Terminate background service (can be called from other threads)
*/ */