Added preprocessor check for __APPLE__ as an attempted fix for ticket #600

This commit is contained in:
Joseph Henry 2018-11-11 14:23:24 -08:00
parent 79086f0858
commit c6ae81fac7
2 changed files with 3 additions and 1 deletions

View File

@ -373,7 +373,7 @@ public:
tcps = phy.tcpListen(reinterpret_cast<const struct sockaddr *>(&(ii->first)),(void *)0); tcps = phy.tcpListen(reinterpret_cast<const struct sockaddr *>(&(ii->first)),(void *)0);
if ((udps)&&(tcps)) { if ((udps)&&(tcps)) {
#ifdef __LINUX__ #ifdef __LINUX__
// Bind Linux sockets to their device so routes tha we manage do not override physical routes (wish all platforms had this!) // Bind Linux sockets to their device so routes that we manage do not override physical routes (wish all platforms had this!)
if (ii->second.length() > 0) { if (ii->second.length() > 0) {
char tmp[256]; char tmp[256];
Utils::scopy(tmp,sizeof(tmp),ii->second.c_str()); Utils::scopy(tmp,sizeof(tmp),ii->second.c_str());

View File

@ -1801,12 +1801,14 @@ public:
bool haveRoute = false; bool haveRoute = false;
// Ignore routes implied by local managed IPs since adding the IP adds the route // 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) { for(std::vector<InetAddress>::iterator ip(n.managedIps.begin());ip!=n.managedIps.end();++ip) {
if ((target->netmaskBits() == ip->netmaskBits())&&(target->containsAddress(*ip))) { if ((target->netmaskBits() == ip->netmaskBits())&&(target->containsAddress(*ip))) {
haveRoute = true; haveRoute = true;
break; break;
} }
} }
#endif
if (haveRoute) if (haveRoute)
continue; continue;
#ifndef ZT_SDK #ifndef ZT_SDK