Просмотр исходного кода

Version bumps, license fixed, and GitHub issue #990 take two

Adam Ierymenko 6 лет назад
Родитель
Сommit
e8ae333443
4 измененных файлов с 55 добавлено и 21 удалено
  1. 7 0
      debian/changelog
  2. 11 17
      debian/copyright
  3. 32 2
      node/Membership.hpp
  4. 5 2
      zerotier-one.spec

+ 7 - 0
debian/changelog

@@ -1,3 +1,10 @@
+zerotier-one (1.4.4) unstable; urgency=medium
+
+  * See https://github.com/zerotier/ZeroTierOne for release notes.
+  * License changed to BSL 1.1
+
+ -- Adam Ierymenko <[email protected]>  Thu, 23 Aug 2019 01:00:00 -0700
+
 zerotier-one (1.4.2-2) unstable; urgency=medium
 
   * See https://github.com/zerotier/ZeroTierOne for release notes.

+ 11 - 17
debian/copyright

@@ -4,21 +4,15 @@ Source: https://github.com/zerotier/ZeroTierOne
 
 Files: *
 Copyright: 2011-2016 ZeroTier, Inc.
-License: GPL-3.0+
+License: ZeroTier BSL 1.1
 
-License: GPL-3.0+
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
- .
- This package is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- GNU General Public License for more details.
- .
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
- .
- On Debian systems, the complete text of the GNU General
- Public License version 3 can be found in "/usr/share/common-licenses/GPL-3".
+License: ZeroTier BSL 1.1
+ Copyright (c)2019 ZeroTier, Inc.
+
+ Use of this software is governed by the Business Source License included
+ in the LICENSE.TXT file in the project's root directory.
+
+ Change Date: 2023-01-01
+
+ On the date above, in accordance with the Business Source License, use
+ of this software will be governed by version 2.0 of the Apache License.

+ 32 - 2
node/Membership.hpp

@@ -181,8 +181,38 @@ private:
 	inline bool _isV6NDPEmulated(const NetworkConfig &nconf,const MAC &m) const { return false; }
 	inline bool _isV6NDPEmulated(const NetworkConfig &nconf,const InetAddress &ip) const
 	{
-		if ((ip.isV6())&&(nconf.ndpEmulation())&&((InetAddress::makeIpv66plane(nconf.networkId,nconf.issuedTo.toInt()).ipsEqual(ip))||(InetAddress::makeIpv6rfc4193(nconf.networkId,nconf.issuedTo.toInt()).ipsEqual(ip)))) {
-			return true;
+		if ((ip.isV6())&&(nconf.ndpEmulation())) {
+			const InetAddress sixpl(InetAddress::makeIpv66plane(nconf.networkId,nconf.issuedTo.toInt()));
+			for(int i=0;i<nconf.staticIpCount;++i) {
+				if (nconf.staticIps[i].ipsEqual(sixpl)) {
+					bool prefixMatches = true;
+					for(int j=0;j<5;++j) { // check for match on /40
+						if ((((const struct sockaddr_in6 *)&ip)->sin6_addr.s6_addr)[j] != (((const struct sockaddr_in6 *)&sixpl)->sin6_addr.s6_addr)[j]) {
+							prefixMatches = false;
+							break;
+						}
+					}
+					if (prefixMatches)
+						return true;
+					break;
+				}
+			}
+
+			const InetAddress rfc4193(InetAddress::makeIpv6rfc4193(nconf.networkId,nconf.issuedTo.toInt()));
+			for(int i=0;i<nconf.staticIpCount;++i) {
+				if (nconf.staticIps[i].ipsEqual(rfc4193)) {
+					bool prefixMatches = true;
+					for(int j=0;j<11;++j) { // check for match on /88
+						if ((((const struct sockaddr_in6 *)&ip)->sin6_addr.s6_addr)[j] != (((const struct sockaddr_in6 *)&rfc4193)->sin6_addr.s6_addr)[j]) {
+							prefixMatches = false;
+							break;
+						}
+					}
+					if (prefixMatches)
+						return true;
+					break;
+				}
+			}
 		}
 		return false;
 	}

+ 5 - 2
zerotier-one.spec

@@ -1,9 +1,9 @@
 Name:           zerotier-one
-Version:        1.4.2
+Version:        1.4.4
 Release:        2%{?dist}
 Summary:        ZeroTier One network virtualization service
 
-License:        GPLv3
+License:        ZeroTier BSL 1.1
 URL:            https://www.zerotier.com
 
 %if 0%{?rhel} >= 7
@@ -145,6 +145,9 @@ esac
 %endif
 
 %changelog
+* Mon Aug 23 2019 Adam Ierymenko <[email protected]> - 1.4.4-0.1
+- see https://github.com/zerotier/ZeroTierOne for release notes
+
 * Mon Aug 04 2019 Adam Ierymenko <[email protected]> - 1.4.2-0.1
 - see https://github.com/zerotier/ZeroTierOne for release notes