diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md index 0ff36519f..54dd1375d 100644 --- a/RELEASE-NOTES.md +++ b/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 diff --git a/debian/changelog b/debian/changelog index bc89ab07a..1c0204115 100644 --- a/debian/changelog +++ b/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 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. diff --git a/debian/postinst b/debian/postinst index ecd148a4c..2e673aef9 100644 --- a/debian/postinst +++ b/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 diff --git a/ext/ed25519-amd64-asm/ge25519_scalarmult_base.c b/ext/ed25519-amd64-asm/ge25519_scalarmult_base.c index 986abaf68..ffa6e2fa9 100644 --- a/ext/ed25519-amd64-asm/ge25519_scalarmult_base.c +++ b/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) { diff --git a/ext/installfiles/mac/ZeroTier One.pkgproj b/ext/installfiles/mac/ZeroTier One.pkgproj index 1083d47b5..866029eed 100755 --- a/ext/installfiles/mac/ZeroTier One.pkgproj +++ b/ext/installfiles/mac/ZeroTier One.pkgproj @@ -664,7 +664,7 @@ USE_HFS+_COMPRESSION VERSION - 1.2.8 + 1.2.10 PROJECT_COMMENTS diff --git a/ext/installfiles/windows/ZeroTier One.aip b/ext/installfiles/windows/ZeroTier One.aip index d160a167c..cfa7d673c 100644 --- a/ext/installfiles/windows/ZeroTier One.aip +++ b/ext/installfiles/windows/ZeroTier One.aip @@ -27,10 +27,10 @@ - + - + @@ -64,7 +64,7 @@ - + @@ -454,7 +454,7 @@ - + diff --git a/ext/installfiles/windows/chocolatey/zerotier-one/zerotier-one.nuspec b/ext/installfiles/windows/chocolatey/zerotier-one/zerotier-one.nuspec index c01120290..1270652b5 100644 --- a/ext/installfiles/windows/chocolatey/zerotier-one/zerotier-one.nuspec +++ b/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 - 1.2.8 + 1.2.10 diff --git a/make-linux.mk b/make-linux.mk index d089b7911..0f5ef3844 100644 --- a/make-linux.mk +++ b/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 diff --git a/one.cpp b/one.cpp index 9ebc83c12..b770451c0 100644 --- a/one.cpp +++ b/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 diff --git a/service/OneService.cpp b/service/OneService.cpp index 563699e66..051629bc8 100644 --- a/service/OneService.cpp +++ b/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::const_iterator it(headers.begin()); - while(it != headers.end()) { + std::map::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]); diff --git a/version.h b/version.h index c82986fe3..808879d7e 100644 --- a/version.h +++ b/version.h @@ -40,7 +40,7 @@ /** * Revision */ -#define ZEROTIER_ONE_VERSION_REVISION 8 +#define ZEROTIER_ONE_VERSION_REVISION 10 /** * Build version diff --git a/windows/WinUI/AboutView.xaml b/windows/WinUI/AboutView.xaml index 3e83c2e2c..b1df750be 100644 --- a/windows/WinUI/AboutView.xaml +++ b/windows/WinUI/AboutView.xaml @@ -19,7 +19,7 @@ - + diff --git a/zerotier-one.spec b/zerotier-one.spec index bc8eaf80a..41af5acad 100644 --- a/zerotier-one.spec +++ b/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 - 1.2.10-0.1 +- see https://github.com/zerotier/ZeroTierOne for release notes + +* Thu May 03 2018 Adam Ierymenko - 1.2.8-0.1 +- see https://github.com/zerotier/ZeroTierOne for release notes + * Mon Apr 24 2017 Adam Ierymenko - 1.2.2-0.1 - see https://github.com/zerotier/ZeroTierOne for release notes