Forráskód Böngészése

Remove dns config on shutdown

Also add calls to MacDNSHelper to the kext tap
Grant Limberg 5 éve
szülő
commit
85a5b0b948
2 módosított fájl, 7 hozzáadás és 1 törlés
  1. 2 0
      osdep/MacEthernetTap.cpp
  2. 5 1
      osdep/MacKextEthernetTap.cpp

+ 2 - 0
osdep/MacEthernetTap.cpp

@@ -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);

+ 5 - 1
osdep/MacKextEthernetTap.cpp

@@ -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