Browse Source

Merge branch 'dev' into edge

Adam Ierymenko 7 years ago
parent
commit
8199dbd0dc

+ 6 - 0
RELEASE-NOTES.md

@@ -1,6 +1,12 @@
 ZeroTier Release Notes
 ======
 
+# 2018-05-08 -- Version 1.2.10
+
+ * Fix bug loading `moons.d/` files for federated root operation.
+ * Fix compile problem with ZT_DEBUG on some versions of `clang`
+ * Fix slow network startup bug related to loading of `networks.d/` cache files
+
 # 2018-04-27 -- Version 1.2.8
 
  * Linux version once again builds with PIE (position independent executable) flags

+ 6 - 0
debian/changelog

@@ -1,3 +1,9 @@
+zerotier-one (1.2.10) unstable; urgency=medium
+
+  * See https://github.com/zerotier/ZeroTierOne for release notes.
+
+ -- Adam Ierymenko <[email protected]>  Tue, 08 May 2018 01:00:00 -0700
+
 zerotier-one (1.2.8) unstable; urgency=medium
 
   * See https://github.com/zerotier/ZeroTierOne for release notes.

+ 3 - 1
debian/postinst

@@ -2,7 +2,9 @@
 
 case "$1" in
   configure)
-      adduser --system --group --home /var/lib/zerotier-one --no-create-home zerotier-one
+      if ! id zerotier-one >>/dev/null 2>&1; then
+        useradd --system --user-group --home-dir /var/lib/zerotier-one --no-create-home zerotier-one
+      fi
       ;;
 esac
 

+ 1 - 1
ext/ed25519-amd64-asm/ge25519_scalarmult_base.c

@@ -12,7 +12,7 @@ static const ge25519_niels ge25519_base_multiples_niels[] = {
 };
 
 /* d */
-static const fe25519 ecd = {{0x75EB4DCA135978A3, 0x00700A4D4141D8AB, 0x8CC740797779E898, 0x52036CEE2B6FFE73}};
+/*static const fe25519 ecd = {{0x75EB4DCA135978A3, 0x00700A4D4141D8AB, 0x8CC740797779E898, 0x52036CEE2B6FFE73}};*/
 
 void ge25519_scalarmult_base(ge25519_p3 *r, const sc25519 *s)
 {

+ 1 - 1
ext/installfiles/mac/ZeroTier One.pkgproj

@@ -664,7 +664,7 @@
 			<key>USE_HFS+_COMPRESSION</key>
 			<false/>
 			<key>VERSION</key>
-			<string>1.2.8</string>
+			<string>1.2.10</string>
 		</dict>
 		<key>PROJECT_COMMENTS</key>
 		<dict>

+ 4 - 4
ext/installfiles/windows/ZeroTier One.aip

@@ -27,10 +27,10 @@
     <ROW Property="CTRLS" Value="2"/>
     <ROW Property="MSIFASTINSTALL" MultiBuildValue="DefaultBuild:2"/>
     <ROW Property="Manufacturer" Value="ZeroTier, Inc."/>
-    <ROW Property="ProductCode" Value="1033:{D70A2F09-236E-4BB0-8BD9-9E08EA43824B} " Type="16"/>
+    <ROW Property="ProductCode" Value="1033:{A400C1B3-BF08-4CCE-A13A-60B98FA41CD2} " Type="16"/>
     <ROW Property="ProductLanguage" Value="1033"/>
     <ROW Property="ProductName" Value="ZeroTier One"/>
-    <ROW Property="ProductVersion" Value="1.2.8" Type="32"/>
+    <ROW Property="ProductVersion" Value="1.2.10" Type="32"/>
     <ROW Property="REBOOT" MultiBuildValue="DefaultBuild:ReallySuppress"/>
     <ROW Property="RUNAPPLICATION" Value="1" Type="4"/>
     <ROW Property="SecureCustomProperties" Value="OLDPRODUCTS;AI_NEWERPRODUCTFOUND;AI_SETUPEXEPATH;SETUPEXEDIR"/>
@@ -64,7 +64,7 @@
     <ROW Directory="x86_Dir" Directory_Parent="tapwindows_Dir" DefaultDir="x86"/>
   </COMPONENT>
   <COMPONENT cid="caphyon.advinst.msicomp.MsiCompsComponent">
-    <ROW Component="AI_CustomARPName" ComponentId="{3579DC29-4B25-4F56-A1D5-AFDE6883AA9C}" Directory_="APPDIR" Attributes="4" KeyPath="DisplayName" Options="1"/>
+    <ROW Component="AI_CustomARPName" ComponentId="{58E98F1B-5626-4810-A5A2-AD71DCF3FC09}" Directory_="APPDIR" Attributes="4" KeyPath="DisplayName" Options="1"/>
     <ROW Component="AI_DisableModify" ComponentId="{020DCABD-5D56-49B9-AF48-F07F0B55E590}" Directory_="APPDIR" Attributes="4" KeyPath="NoModify" Options="1"/>
     <ROW Component="AI_ExePath" ComponentId="{8E02B36C-7A19-429B-A93E-77A9261AC918}" Directory_="APPDIR" Attributes="4" KeyPath="AI_ExePath"/>
     <ROW Component="Hardcodet.Wpf.TaskbarNotification.dll" ComponentId="{BEA825AF-2555-44AF-BE40-47FFC16DCBA6}" Directory_="APPDIR" Attributes="0" KeyPath="Hardcodet.Wpf.TaskbarNotification.dll"/>
@@ -454,7 +454,7 @@
     <ROW XmlAttribute="xsischemaLocation" XmlElement="swidsoftware_identification_tag" Name="xsi:schemaLocation" Flags="14" Order="3" Value="http://standards.iso.org/iso/19770/-2/2008/schema.xsd software_identification_tag.xsd"/>
   </COMPONENT>
   <COMPONENT cid="caphyon.advinst.msicomp.XmlElementComponent">
-    <ROW XmlElement="swidbuild" ParentElement="swidnumeric" Name="swid:build" Condition="1" Order="2" Flags="14" Text="8"/>
+    <ROW XmlElement="swidbuild" ParentElement="swidnumeric" Name="swid:build" Condition="1" Order="2" Flags="14" Text="10"/>
     <ROW XmlElement="swidentitlement_required_indicator" ParentElement="swidsoftware_identification_tag" Name="swid:entitlement_required_indicator" Condition="1" Order="0" Flags="14" Text="false"/>
     <ROW XmlElement="swidmajor" ParentElement="swidnumeric" Name="swid:major" Condition="1" Order="0" Flags="14" Text="1"/>
     <ROW XmlElement="swidminor" ParentElement="swidnumeric" Name="swid:minor" Condition="1" Order="1" Flags="14" Text="2"/>

+ 1 - 1
ext/installfiles/windows/chocolatey/zerotier-one/zerotier-one.nuspec

@@ -26,7 +26,7 @@ This is a nuspec. It mostly adheres to https://docs.nuget.org/create/Nuspec-Refe
     <!-- version should MATCH as closely as possible with the underlying software -->
     <!-- Is the version a prerelease of a version? https://docs.nuget.org/create/versioning#creating-prerelease-packages -->
     <!-- Note that unstable versions like 0.0.1 can be considered a released version, but it's possible that one can release a 0.0.1-beta before you release a 0.0.1 version. If the version number is final, that is considered a released version and not a prerelease. -->
-    <version>1.2.8</version>
+    <version>1.2.10</version>
     <!-- <packageSourceUrl>Where is this Chocolatey package located (think GitHub)? packageSourceUrl is highly recommended for the community feed</packageSourceUrl>-->
     <!-- owners is a poor name for maintainers of the package. It sticks around by this name for compatibility reasons. It basically means you. -->
     <!--<owners>ZeroTier, Inc.</owners>-->

+ 18 - 14
make-linux.mk

@@ -42,14 +42,6 @@ endif
 # Trying to use dynamically linked libhttp-parser causes tons of compatibility problems.
 ONE_OBJS+=ext/http-parser/http_parser.o
 
-ifeq ($(ZT_SYNOLOGY), 1)
-	override DEFS+=-D__SYNOLOGY__
-endif
-
-ifeq ($(ZT_QNAP), 1)
-	override DEFS+=-D__QNAP__
-endif
-
 ifeq ($(ZT_TRACE),1)
 	override DEFS+=-DZT_TRACE
 endif
@@ -80,6 +72,16 @@ else
 	STRIP+=--strip-all
 endif
 
+ifeq ($(ZT_QNAP), 1)
+        override DEFS+=-D__QNAP__
+endif
+
+ifeq ($(ZT_SYNOLOGY), 1)
+	override CFLAGS+=-fPIC
+	override CXXFLAGS+=-fPIC
+	override DEFS+=-D__SYNOLOGY__
+endif
+
 ifeq ($(ZT_TRACE),1)
 	override DEFS+=-DZT_TRACE
 endif
@@ -114,6 +116,12 @@ ifeq ($(CC_MACH),amd64)
 endif
 ifeq ($(CC_MACH),powerpc64le)
 	ZT_ARCHITECTURE=8
+	override DEFS+=-DZT_NO_TYPE_PUNNING
+endif
+ifeq ($(CC_MACH),powerpc)
+	ZT_ARCHITECTURE=8
+	override DEFS+=-DZT_NO_TYPE_PUNNING
+	override DEFS+=-DZT_NO_CAPABILITIES
 endif
 ifeq ($(CC_MACH),ppc64le)
 	ZT_ARCHITECTURE=8
@@ -202,10 +210,6 @@ 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)
@@ -291,7 +295,7 @@ manpages:	FORCE
 doc:	manpages
 
 clean: FORCE
-	rm -rf *.a *.so *.o node/*.o controller/*.o osdep/*.o service/*.o ext/http-parser/*.o ext/miniupnpc/*.o ext/libnatpmp/*.o $(CORE_OBJS) $(ONE_OBJS) zerotier-one zerotier-idtool zerotier-cli zerotier-selftest build-* ZeroTierOneInstaller-* *.deb *.rpm .depend debian/files debian/zerotier-one*.debhelper debian/zerotier-one.substvars debian/*.log debian/zerotier-one doc/node_modules ext/misc/*.o
+	rm -rf *.a *.so *.o node/*.o controller/*.o osdep/*.o service/*.o ext/http-parser/*.o ext/miniupnpc/*.o ext/libnatpmp/*.o $(CORE_OBJS) $(ONE_OBJS) zerotier-one zerotier-idtool zerotier-cli zerotier-selftest build-* ZeroTierOneInstaller-* *.deb *.rpm .depend debian/files debian/zerotier-one*.debhelper debian/zerotier-one.substvars debian/*.log debian/zerotier-one doc/node_modules ext/misc/*.o debian/.debhelper debian/debhelper-build-stamp
 
 distclean:	clean
 
@@ -360,7 +364,7 @@ debian:	FORCE
 	debuild -I -i -us -uc -nc -b
 
 debian-clean: FORCE
-	rm -rf debian/files debian/zerotier-one*.debhelper debian/zerotier-one.substvars debian/*.log debian/zerotier-one
+	rm -rf debian/files debian/zerotier-one*.debhelper debian/zerotier-one.substvars debian/*.log debian/zerotier-one debian/.debhelper debian/debhelper-build-stamp
 
 redhat:	FORCE
 	rpmbuild -ba zerotier-one.spec

+ 1 - 1
one.cpp

@@ -972,7 +972,7 @@ static void _sighandlerQuit(int sig)
 #endif
 
 // Drop privileges on Linux, if supported by libc etc. and "zerotier-one" user exists on system
-#ifdef __LINUX__
+#if defined(__LINUX__) && !defined(ZT_NO_CAPABILITIES)
 #ifndef PR_CAP_AMBIENT
 #define PR_CAP_AMBIENT 47
 #define PR_CAP_AMBIENT_IS_SET 1

+ 7 - 7
service/OneService.cpp

@@ -1157,8 +1157,8 @@ public:
 			/*
 			fprintf(stderr, "path = %s\n", path.c_str());
 			fprintf(stderr, "headers.size=%d\n", headers.size());
-			std::map<std::string, std::string>::const_iterator it(headers.begin());		
-			while(it != headers.end()) {	
+			std::map<std::string, std::string>::const_iterator it(headers.begin());
+			while(it != headers.end()) {
 				fprintf(stderr,"header[%s] = %s\n", (it->first).c_str(), (it->second).c_str());
 				it++;
 			}
@@ -1166,7 +1166,7 @@ public:
 			// parse out url args
 			int synotoken_pos = path.find("SynoToken");
 			int argpos = path.find("?");
-			if(synotoken_pos != std::string::npos && argpos != std::string::npos) {	
+			if(synotoken_pos != std::string::npos && argpos != std::string::npos) {
 				std::string cookie = path.substr(argpos+1, synotoken_pos-(argpos+1));
 				std::string synotoken = path.substr(synotoken_pos);
 				std::string cookie_val = cookie.substr(cookie.find("=")+1);
@@ -1715,7 +1715,7 @@ public:
 				if (std::find(n.managedIps.begin(),n.managedIps.end(),*ip) == n.managedIps.end()) {
 					if (!n.tap->addIp(*ip))
 						fprintf(stderr,"ERROR: unable to add ip address %s" ZT_EOL_S, ip->toString(ipbuf));
-				}			
+				}
 			}
 #endif
 			n.managedIps.swap(newManagedIps);
@@ -2139,7 +2139,7 @@ public:
 				if (n.tap) { // sanity check
 #if defined(__WINDOWS__) && !defined(ZT_SDK)
 					// wait for up to 5 seconds for the WindowsEthernetTap to actually be initialized
-					// 
+					//
 					// without WindowsEthernetTap::isInitialized() returning true, the won't actually
 					// be online yet and setting managed routes on it will fail.
 					const int MAX_SLEEP_COUNT = 500;
@@ -2468,10 +2468,10 @@ public:
 				OSUtils::ztsnprintf(p,sizeof(p),"%s" ZT_PATH_SEPARATOR_S "planet",_homePath.c_str());
 				break;
 			case ZT_STATE_OBJECT_MOON:
-				OSUtils::ztsnprintf(p,sizeof(p),"%s" ZT_PATH_SEPARATOR_S "moons.d" ZT_PATH_SEPARATOR_S "%.16llx.moon",_homePath.c_str(),(unsigned long long)id);
+				OSUtils::ztsnprintf(p,sizeof(p),"%s" ZT_PATH_SEPARATOR_S "moons.d" ZT_PATH_SEPARATOR_S "%.16llx.moon",_homePath.c_str(),(unsigned long long)id[0]);
 				break;
 			case ZT_STATE_OBJECT_NETWORK_CONFIG:
-				OSUtils::ztsnprintf(p,sizeof(p),"%s" ZT_PATH_SEPARATOR_S "networks.d" ZT_PATH_SEPARATOR_S "%.16llx.conf",_homePath.c_str(),(unsigned long long)id);
+				OSUtils::ztsnprintf(p,sizeof(p),"%s" ZT_PATH_SEPARATOR_S "networks.d" ZT_PATH_SEPARATOR_S "%.16llx.conf",_homePath.c_str(),(unsigned long long)id[0]);
 				break;
 			case ZT_STATE_OBJECT_PEER:
 				OSUtils::ztsnprintf(p,sizeof(p),"%s" ZT_PATH_SEPARATOR_S "peers.d" ZT_PATH_SEPARATOR_S "%.10llx.peer",_homePath.c_str(),(unsigned long long)id[0]);

+ 1 - 1
version.h

@@ -40,7 +40,7 @@
 /**
  * Revision
  */
-#define ZEROTIER_ONE_VERSION_REVISION 8
+#define ZEROTIER_ONE_VERSION_REVISION 10
 
 /**
  * Build version

+ 1 - 1
windows/WinUI/AboutView.xaml

@@ -19,7 +19,7 @@
                     <Run Text="ZeroTier One"/>
                 </Paragraph>
                 <Paragraph TextAlignment="Center">
-                    <Run FontSize="14" Text="Version 1.2.8"/>
+                    <Run FontSize="14" Text="Version 1.2.10"/>
                     <LineBreak/>
                     <Run FontSize="14" Text="(c) 2011-2017 ZeroTier, Inc."/>
                     <LineBreak/>

+ 9 - 3
zerotier-one.spec

@@ -1,5 +1,5 @@
 Name:           zerotier-one
-Version:        1.2.8
+Version:        1.2.10
 Release:        1%{?dist}
 Summary:        ZeroTier One network virtualization service
 
@@ -110,8 +110,8 @@ case "$1" in
     chkconfig --add zerotier-one
   ;;
   2)
-    chkconfig --del newservice
-    chkconfig --add newservice
+    chkconfig --del zerotier-one
+    chkconfig --add zerotier-one
   ;;
 esac
 %endif
@@ -145,6 +145,12 @@ esac
 %endif
 
 %changelog
+* Tue May 08 2018 Adam Ierymenko <[email protected]> - 1.2.10-0.1
+- see https://github.com/zerotier/ZeroTierOne for release notes
+
+* Thu May 03 2018 Adam Ierymenko <[email protected]> - 1.2.8-0.1
+- see https://github.com/zerotier/ZeroTierOne for release notes
+
 * Mon Apr 24 2017 Adam Ierymenko <[email protected]> - 1.2.2-0.1
 - see https://github.com/zerotier/ZeroTierOne for release notes