mirror of
https://github.com/ZeroTier/ZeroTierOne
synced 2025-08-20 13:24:09 -07:00
fix macos default route again
see commit fb6af1971
* Fix network DNS on macOS
adding that stuff to System Config causes this extra route to be added
which breaks ipv4 default route.
We figured out a weird System Coniguration setting
that works.
--- old
couldn't figure out how to fix it in SystemConfiguration
so here we are# Please enter the commit message for your changes. Lines starting
We also moved the dns setter to before the syncIps stuff
to help with a race condition. It didn't always work when
you re-joined a network with default route enabled.
This commit is contained in:
parent
d976a9f5a0
commit
1d095e81d9
2 changed files with 45 additions and 31 deletions
|
@ -107,7 +107,6 @@ void MacDNSHelper::removeDNS(uint64_t nwid)
|
|||
bool MacDNSHelper::addIps4(uint64_t nwid, const MAC mac, const char *dev, const std::vector<InetAddress>& addrs)
|
||||
{
|
||||
const char* ipStr = {0};
|
||||
const char* ipStr2 = {0};
|
||||
char buf2[256] = {0};
|
||||
|
||||
bool hasV4 = false;
|
||||
|
@ -116,7 +115,6 @@ bool MacDNSHelper::addIps4(uint64_t nwid, const MAC mac, const char *dev, const
|
|||
hasV4 = true;
|
||||
|
||||
ipStr = addrs[i].toIpString(buf2);
|
||||
ipStr2 = addrs[i].toIpString(buf2);
|
||||
|
||||
break;
|
||||
}
|
||||
|
@ -141,7 +139,8 @@ bool MacDNSHelper::addIps4(uint64_t nwid, const MAC mac, const char *dev, const
|
|||
CFStringRef cfdev = CFStringCreateWithCString(NULL, dev, kCFStringEncodingUTF8);
|
||||
|
||||
CFStringRef cfserver = CFStringCreateWithCString(NULL, "127.0.0.1", kCFStringEncodingUTF8);
|
||||
CFStringRef cfrouter = CFStringCreateWithCString(NULL, ipStr2, kCFStringEncodingUTF8);
|
||||
// using the ip from the zerotier network breaks routing on the mac
|
||||
CFStringRef cfrouter = CFStringCreateWithCString(NULL, "127.0.0.1", kCFStringEncodingUTF8);
|
||||
|
||||
const int SIZE = 4;
|
||||
CFStringRef keys[SIZE];
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue