Remove dns config on shutdown

Also add calls to MacDNSHelper to the kext tap
This commit is contained in:
Grant Limberg 2020-08-05 14:49:45 -07:00
parent b9a1719cb1
commit 85a5b0b948
No known key found for this signature in database
GPG Key ID: 2BA62CCABBB4095A
2 changed files with 7 additions and 1 deletions

View File

@ -202,6 +202,8 @@ MacEthernetTap::MacEthernetTap(
MacEthernetTap::~MacEthernetTap()
{
MacDNSHelper::removeDNS(_nwid);
Mutex::Lock _gl(globalTapCreateLock);
::write(_shutdownSignalPipe[1],"\0",1); // causes thread to exit
Thread::join(_thread);

View File

@ -43,6 +43,8 @@
#include <netinet/in_var.h>
#include <netinet/icmp6.h>
#include "MacDNSHelper.hpp"
// OSX compile fix... in6_var defines this in a struct which namespaces it for C++ ... why?!?
struct prf_ra {
u_char onlink : 1;
@ -441,6 +443,8 @@ MacKextEthernetTap::MacKextEthernetTap(
MacKextEthernetTap::~MacKextEthernetTap()
{
MacDNSHelper::removeDNS(_nwid);
::write(_shutdownSignalPipe[1],"\0",1); // causes thread to exit
Thread::join(_thread);
@ -689,7 +693,7 @@ void MacKextEthernetTap::threadMain()
void MacKextEthernetTap::setDns(const char *domain, const std::vector<InetAddress> &servers)
{
MacDNSHelper::setDNS(_nwid, domain, servers);
}
} // namespace ZeroTier