summaryrefslogtreecommitdiff
path: root/service
diff options
context:
space:
mode:
Diffstat (limited to 'service')
-rw-r--r--service/OneService.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/service/OneService.cpp b/service/OneService.cpp
index c3769d05..b1419234 100644
--- a/service/OneService.cpp
+++ b/service/OneService.cpp
@@ -1801,12 +1801,14 @@ public:
bool haveRoute = false;
// Ignore routes implied by local managed IPs since adding the IP adds the route
+#ifndef __APPLE__
for(std::vector<InetAddress>::iterator ip(n.managedIps.begin());ip!=n.managedIps.end();++ip) {
if ((target->netmaskBits() == ip->netmaskBits())&&(target->containsAddress(*ip))) {
haveRoute = true;
break;
}
}
+#endif
if (haveRoute)
continue;
#ifndef ZT_SDK
@@ -2743,6 +2745,7 @@ public:
#endif
#ifdef __APPLE__
+ if ((ifname[0] == 'f')&&(ifname[1] == 'e')&&(ifname[2] == 't')&&(ifname[3] == 'h')) return false; // ... as is feth#
if ((ifname[0] == 'l')&&(ifname[1] == 'o')) return false; // loopback
if ((ifname[0] == 'z')&&(ifname[1] == 't')) return false; // sanity check: zt#
if ((ifname[0] == 't')&&(ifname[1] == 'u')&&(ifname[2] == 'n')) return false; // tun# is probably an OpenVPN tunnel or similar