mirror of
https://github.com/zerotier/ZeroTierOne.git
synced 2025-01-29 15:43:52 +00:00
Re-add user-configurable TCP fallback
This commit is contained in:
parent
7ea2354540
commit
a9ad2924ac
@ -787,6 +787,7 @@ public:
|
||||
// Time we last received a packet from a global address
|
||||
uint64_t _lastDirectReceiveFromGlobal;
|
||||
#ifdef ZT_TCP_FALLBACK_RELAY
|
||||
InetAddress _fallbackRelayAddress;
|
||||
uint64_t _lastSendToGlobalV4;
|
||||
#endif
|
||||
|
||||
@ -850,6 +851,7 @@ public:
|
||||
,_udpPortPickerCounter(0)
|
||||
,_lastDirectReceiveFromGlobal(0)
|
||||
#ifdef ZT_TCP_FALLBACK_RELAY
|
||||
, _fallbackRelayAddress(ZT_TCP_FALLBACK_RELAY)
|
||||
,_lastSendToGlobalV4(0)
|
||||
#endif
|
||||
,_lastRestart(0)
|
||||
@ -2147,6 +2149,9 @@ public:
|
||||
|
||||
// bondingPolicy cannot be used with allowTcpFallbackRelay
|
||||
_allowTcpFallbackRelay = OSUtils::jsonBool(settings["allowTcpFallbackRelay"],true) && !(_node->bondController()->inUse());
|
||||
#ifdef ZT_TCP_FALLBACK_RELAY
|
||||
_fallbackRelayAddress = InetAddress(OSUtils::jsonString("tcpFallbackRelay", ZT_TCP_FALLBACK_RELAY).c_str());
|
||||
#endif
|
||||
_primaryPort = (unsigned int)OSUtils::jsonInt(settings["primaryPort"],(uint64_t)_primaryPort) & 0xffff;
|
||||
_allowSecondaryPort = OSUtils::jsonBool(settings["allowSecondaryPort"],true);
|
||||
_secondaryPort = (unsigned int)OSUtils::jsonInt(settings["secondaryPort"],0);
|
||||
@ -3154,7 +3159,7 @@ public:
|
||||
phyOnTcpWritable(_tcpFallbackTunnel->sock,&tmpptr);
|
||||
}
|
||||
} else if (((now - _lastSendToGlobalV4) < ZT_TCP_FALLBACK_AFTER)&&((now - _lastSendToGlobalV4) > (ZT_PING_CHECK_INVERVAL / 2))) {
|
||||
const InetAddress addr(ZT_TCP_FALLBACK_RELAY);
|
||||
const InetAddress addr(_fallbackRelayAddress);
|
||||
TcpConnection *tc = new TcpConnection();
|
||||
{
|
||||
Mutex::Lock _l(_tcpConnections_m);
|
||||
|
Loading…
x
Reference in New Issue
Block a user