diff --git a/ext/bin/tap-windows-ndis6/certutil.exe b/ext/bin/tap-windows-ndis6/certutil.exe new file mode 100644 index 000000000..b9a0a09c5 Binary files /dev/null and b/ext/bin/tap-windows-ndis6/certutil.exe differ diff --git a/ext/bin/tap-windows-ndis6/x64/ZeroTierOne_NDIS6_x64.msi b/ext/bin/tap-windows-ndis6/x64/ZeroTierOne_NDIS6_x64.msi index 4cfb7d773..f69254eb1 100644 Binary files a/ext/bin/tap-windows-ndis6/x64/ZeroTierOne_NDIS6_x64.msi and b/ext/bin/tap-windows-ndis6/x64/ZeroTierOne_NDIS6_x64.msi differ diff --git a/ext/bin/tap-windows-ndis6/x86/ZeroTierOne_NDIS6_x86.msi b/ext/bin/tap-windows-ndis6/x86/ZeroTierOne_NDIS6_x86.msi index 1b9aec409..033965492 100644 Binary files a/ext/bin/tap-windows-ndis6/x86/ZeroTierOne_NDIS6_x86.msi and b/ext/bin/tap-windows-ndis6/x86/ZeroTierOne_NDIS6_x86.msi differ diff --git a/ext/bin/tap-windows-ndis6/zttap300.cer b/ext/bin/tap-windows-ndis6/zttap300.cer new file mode 100644 index 000000000..ef74e041c Binary files /dev/null and b/ext/bin/tap-windows-ndis6/zttap300.cer differ diff --git a/ext/installfiles/windows/ZeroTier One Virtual Network Port (NDIS6_x64).aip b/ext/installfiles/windows/ZeroTier One Virtual Network Port (NDIS6_x64).aip index db8566cd0..9a085111a 100644 --- a/ext/installfiles/windows/ZeroTier One Virtual Network Port (NDIS6_x64).aip +++ b/ext/installfiles/windows/ZeroTier One Virtual Network Port (NDIS6_x64).aip @@ -1,7 +1,7 @@ - + - + @@ -19,39 +19,56 @@ + - + - - - + + + + + + + + + + + - + - + + + + + + + + + + - @@ -105,10 +122,13 @@ + + + @@ -116,9 +136,10 @@ + - + @@ -128,19 +149,26 @@ - + + + - - + + + + + - - + + + + - + diff --git a/ext/installfiles/windows/ZeroTier One Virtual Network Port (NDIS6_x86).aip b/ext/installfiles/windows/ZeroTier One Virtual Network Port (NDIS6_x86).aip index b83b382c5..436618f2a 100644 --- a/ext/installfiles/windows/ZeroTier One Virtual Network Port (NDIS6_x86).aip +++ b/ext/installfiles/windows/ZeroTier One Virtual Network Port (NDIS6_x86).aip @@ -1,7 +1,7 @@ - + - + @@ -20,39 +20,56 @@ + - + - - - + + + + + + + + + + + - + - + + + + + + + + + + - @@ -106,10 +123,13 @@ + + + @@ -117,9 +137,10 @@ + - + @@ -129,19 +150,26 @@ - + + + - - + + + + + - - + + + + - + diff --git a/ext/installfiles/windows/ZeroTier One.aip b/ext/installfiles/windows/ZeroTier One.aip index 169e3c492..d1529935c 100644 --- a/ext/installfiles/windows/ZeroTier One.aip +++ b/ext/installfiles/windows/ZeroTier One.aip @@ -1,7 +1,7 @@ - + @@ -27,7 +27,7 @@ - + @@ -77,11 +77,12 @@ - + - + + @@ -95,11 +96,11 @@ - + - + - + @@ -116,14 +117,14 @@ - + - - + + @@ -198,6 +199,9 @@ + + + @@ -243,6 +247,7 @@ + @@ -324,20 +329,19 @@ - + - - + - + @@ -355,16 +359,19 @@ + + - + - + + @@ -430,6 +437,10 @@ + + + + diff --git a/make-linux.mk b/make-linux.mk index 0f057cc56..682fdee44 100644 --- a/make-linux.mk +++ b/make-linux.mk @@ -193,6 +193,10 @@ ifeq ($(CC_MACH),mips64el) ZT_ARCHITECTURE=6 override DEFS+=-DZT_NO_TYPE_PUNNING endif +ifeq ($(CC_MACH),powerpc64le) + ZT_ARCHITECTURE=7 + override DEFS+=-DZT_NO_TYPE_PUNNING +endif # Fail if system architecture could not be determined ifeq ($(ZT_ARCHITECTURE),999) diff --git a/node/InetAddress.cpp b/node/InetAddress.cpp index ecfc81ab4..36b4e4345 100644 --- a/node/InetAddress.cpp +++ b/node/InetAddress.cpp @@ -62,7 +62,7 @@ InetAddress::IpScope InetAddress::ipScope() const case 0x37: return IP_SCOPE_PSEUDOPRIVATE; // 55.0.0.0/8 (US DoD) case 0x38: return IP_SCOPE_PSEUDOPRIVATE; // 56.0.0.0/8 (US Postal Service) case 0x64: - if ((ip & 0xffc00000) == 0x64400000) return IP_SCOPE_SHARED; // 100.64.0.0/10 + if ((ip & 0xffc00000) == 0x64400000) return IP_SCOPE_PRIVATE; // 100.64.0.0/10 break; case 0x7f: return IP_SCOPE_LOOPBACK; // 127.0.0.0/8 case 0xa9: @@ -294,7 +294,7 @@ bool InetAddress::isEqualPrefix(const InetAddress &addr) const } return false; } - + bool InetAddress::containsAddress(const InetAddress &addr) const { if (addr.ss_family == ss_family) { diff --git a/node/InetAddress.hpp b/node/InetAddress.hpp index e6dfabf9a..f69b3cc2e 100644 --- a/node/InetAddress.hpp +++ b/node/InetAddress.hpp @@ -79,7 +79,7 @@ struct InetAddress : public sockaddr_storage IP_SCOPE_PSEUDOPRIVATE = 3, // 28.x.x.x, etc. -- unofficially unrouted IPv4 blocks often "bogarted" IP_SCOPE_GLOBAL = 4, // globally routable IP address (all others) IP_SCOPE_LINK_LOCAL = 5, // 169.254.x.x, IPv6 LL - IP_SCOPE_SHARED = 6, // 100.64.0.0/10, shared space for e.g. carrier-grade NAT + IP_SCOPE_SHARED = 6, // currently unused, formerly used for carrier-grade NAT ranges IP_SCOPE_PRIVATE = 7 // 10.x.x.x, 192.168.x.x, etc. };