浏览代码

Merge branch 'dev' of github.com:zerotier/ZeroTierOne into dev

Adam Ierymenko 7 年之前
父节点
当前提交
94f41e2332
共有 1 个文件被更改,包括 16 次插入1 次删除
  1. 16 1
      service/OneService.cpp

+ 16 - 1
service/OneService.cpp

@@ -2414,7 +2414,22 @@ public:
 					return false;
 			}
 		}
-
+		{
+			// Check global blacklists
+			const std::vector<InetAddress> *gbl = (const std::vector<InetAddress> *)0;
+			if (ifaddr.ss_family == AF_INET) {
+				gbl = &_globalV4Blacklist;
+			} else if (ifaddr.ss_family == AF_INET6) {
+				gbl = &_globalV6Blacklist;
+			}
+			if (gbl) {
+				Mutex::Lock _l(_localConfig_m);
+				for(std::vector<InetAddress>::const_iterator a(gbl->begin());a!=gbl->end();++a) {
+					if (a->containsAddress(ifaddr))
+						return false;
+				}
+			}
+		}
 		{
 			Mutex::Lock _l(_nets_m);
 			for(std::map<uint64_t,NetworkState>::const_iterator n(_nets.begin());n!=_nets.end();++n) {