Compare commits

...
18 Commits
Author SHA1 Message Date
Adam Ierymenko 7f4cc1a239 VERSION 1.8.3 2021-11-16 13:27:27 -05:00
Adam Ierymenko 3e3d46e72e Windows 1.8.3 2021-11-16 12:04:10 -05:00
Adam Ierymenko 460c2552a8 Merge branch 'master' of github.com:zerotier/ZeroTierOne 2021-11-16 11:24:08 -05:00
Adam Ierymenko 1a7fb83882 Release notes. 2021-11-16 11:23:57 -05:00
Adam Ierymenko dfac6303bc Version bump (all but Windows) and limit .pkg to MacOS 10.13 2021-11-15 19:55:58 -05:00
Adam Ierymenko 8b77a93d60 release notes 2021-11-15 19:51:56 -05:00
Adam Ierymenko fabfb10b97 Remove managed routes in destructor (regression fix). 2021-11-15 19:48:07 -05:00
Adam Ierymenko 65549cb0da Fix the FD leak fix, and release notes. 2021-11-15 18:27:14 -05:00
Adam Ierymenko bee137c6d9 Set shell for ZeroTier service user account on Debian to /usr/sbin/nologin for GitHub issue #1492 2021-11-15 17:27:16 -05:00
Adam Ierymenko a2a7122da9 release notes 2021-11-15 17:18:04 -05:00
Adam Ierymenko 0e798222a7 Fix FD leak on MacOS. 2021-11-15 17:17:05 -05:00
Adam Ierymenko c890f1762a This code is obsolete but remove vfork anyway. 2021-11-15 14:09:52 -05:00
Adam Ierymenko ea4d7ae92f Add spinlock removal to release notes. 2021-11-15 12:16:22 -05:00
Adam Ierymenko 1ef385b685 Spinlock removed, causes long standing issues on single core machines. 2021-11-12 16:44:54 -05:00
Joseph Henry 3f4cd7f5a2 Merge pull request #1489 from capruro/master
removing source-type from snapcraft
2021-11-11 13:53:43 -08:00
Adam Ierymenko 272fb2ca96 Merge branch 'dev' of github.com:zerotier/ZeroTierOne into dev 2021-11-10 22:19:59 -05:00
capruro f8ca7002c2 removing source-type
Unnecessary
2021-11-10 23:15:41 +01:00
Joseph Henry 6c728313f5 Merge branch 'master' into dev 2021-11-10 13:09:56 -08:00
12 changed files with 37 additions and 84 deletions

No files matched your search

+8
View File
@@ -1,6 +1,14 @@
ZeroTier Release Notes
======
# 2021-11-15 -- -- Version 1.8.3
* Remove problematic spinlock, which was only used on x86_64 anyway. Just use pthread always.
* Fix fd leak on MacOS that caused non-responsiveness after some time.
* Fix Debian install scripts to set /usr/sbin/nologin as shell on service user.
* Fix regression that could prevent managed routes from being deleted.
* DesktopUI: Remove NSDate:now() call, now works on MacOS 10.13 or newer!
# 2021-11-08 -- Version 1.8.2
* Fix multicast on linux.
+6
View File
@@ -1,3 +1,9 @@
zerotier-one (1.8.3) unstable; urgency=medium
* See RELEASE-NOTES.md for release notes.
-- Adam Ierymenko <adam.ierymenko@zerotier.com> Mon, 15 Nov 2021 01:00:00 -0700
zerotier-one (1.8.2) unstable; urgency=medium
* See RELEASE-NOTES.md for release notes.
+1 -1
View File
@@ -3,7 +3,7 @@
case "$1" in
configure)
if ! id zerotier-one >>/dev/null 2>&1; then
useradd --system --user-group --home-dir /var/lib/zerotier-one --no-create-home zerotier-one
useradd --system --user-group --home-dir /var/lib/zerotier-one --shell /usr/sbin/nologin --no-create-home zerotier-one
fi
;;
esac
+1 -1
View File
@@ -701,7 +701,7 @@
<key>USE_HFS+_COMPRESSION</key>
<false/>
<key>VERSION</key>
<string>1.8.2</string>
<string>1.8.3</string>
</dict>
<key>TYPE</key>
<integer>0</integer>
+4 -4
View File
@@ -26,10 +26,10 @@
<ROW Property="LIMITUI" MultiBuildValue="DefaultBuild:1"/>
<ROW Property="MSIFASTINSTALL" MultiBuildValue="DefaultBuild:2"/>
<ROW Property="Manufacturer" Value="ZeroTier, Inc."/>
<ROW Property="ProductCode" Value="1033:{2B153F53-2BD3-42C7-9972-D57F94E3CB8D} " Type="16"/>
<ROW Property="ProductCode" Value="1033:{1A2C3363-43B4-40BA-8614-027C94856419} " Type="16"/>
<ROW Property="ProductLanguage" Value="1033"/>
<ROW Property="ProductName" Value="ZeroTier One"/>
<ROW Property="ProductVersion" Value="1.8.2" Type="32"/>
<ROW Property="ProductVersion" Value="1.8.3" Type="32"/>
<ROW Property="REBOOT" MultiBuildValue="DefaultBuild:ReallySuppress"/>
<ROW Property="SecureCustomProperties" Value="OLDPRODUCTS;AI_NEWERPRODUCTFOUND;AI_SETUPEXEPATH;SETUPEXEDIR"/>
<ROW Property="UpgradeCode" Value="{B0E2A5F3-88B6-4E77-B922-CB4739B4C4C8}"/>
@@ -64,7 +64,7 @@
</COMPONENT>
<COMPONENT cid="caphyon.advinst.msicomp.MsiCompsComponent">
<ROW Component="A918597FE054CCCB65ABDBA0AD8F63C" ComponentId="{458A5336-4527-4409-BB9D-D074790820A6}" Directory_="APPDIR" Attributes="4" KeyPath="A918597FE054CCCB65ABDBA0AD8F63C" Options="2"/>
<ROW Component="AI_CustomARPName" ComponentId="{C78C4531-4AD8-4862-AA18-D3275DD575A3}" Directory_="APPDIR" Attributes="4" KeyPath="DisplayName" Options="1"/>
<ROW Component="AI_CustomARPName" ComponentId="{006129D4-786F-4041-915C-EAB49D4EADAC}" Directory_="APPDIR" Attributes="4" KeyPath="DisplayName" Options="1"/>
<ROW Component="AI_DisableModify" ComponentId="{46FFA8C5-A0CB-4E05-9AD3-911D543DE8CA}" 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="APPDIR" ComponentId="{4DD7907D-D7FE-4CD6-B1A0-B5C1625F5133}" Directory_="APPDIR" Attributes="0"/>
@@ -510,7 +510,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="2" UpdateIndexInParent="0"/>
<ROW XmlElement="swidbuild" ParentElement="swidnumeric" Name="swid:build" Condition="1" Order="2" Flags="14" Text="3" UpdateIndexInParent="0"/>
<ROW XmlElement="swidentitlement_required_indicator" ParentElement="swidsoftware_identification_tag" Name="swid:entitlement_required_indicator" Condition="1" Order="0" Flags="14" Text="false" UpdateIndexInParent="0"/>
<ROW XmlElement="swidmajor" ParentElement="swidnumeric" Name="swid:major" Condition="1" Order="0" Flags="14" Text="1" UpdateIndexInParent="0"/>
<ROW XmlElement="swidminor" ParentElement="swidnumeric" Name="swid:minor" Condition="1" Order="1" Flags="14" Text="8" UpdateIndexInParent="0"/>
+1 -66
View File
@@ -24,69 +24,6 @@
namespace ZeroTier {
#if defined(__GNUC__) && (defined(__amd64) || defined(__amd64__) || defined(__x86_64) || defined(__x86_64__) || defined(__AMD64) || defined(__AMD64__) || defined(_M_X64))
// Inline ticket lock on x64 systems with GCC and CLANG (Mac, Linux) -- this is really fast as long as locking durations are very short
class Mutex
{
public:
Mutex() :
nextTicket(0),
nowServing(0)
{
}
inline void lock() const
{
const uint16_t myTicket = __sync_fetch_and_add(&(const_cast<Mutex *>(this)->nextTicket),1);
while (nowServing != myTicket) {
__asm__ __volatile__("rep;nop"::);
__asm__ __volatile__("":::"memory");
}
}
inline void unlock() const
{
++(const_cast<Mutex *>(this)->nowServing);
}
/**
* Uses C++ contexts and constructor/destructor to lock/unlock automatically
*/
class Lock
{
public:
Lock(Mutex &m) :
_m(&m)
{
m.lock();
}
Lock(const Mutex &m) :
_m(const_cast<Mutex *>(&m))
{
_m->lock();
}
~Lock()
{
_m->unlock();
}
private:
Mutex *const _m;
};
private:
Mutex(const Mutex &) {}
const Mutex &operator=(const Mutex &) { return *this; }
uint16_t nextTicket;
uint16_t nowServing;
};
#else
// libpthread based mutex lock
class Mutex
{
@@ -142,11 +79,9 @@ private:
pthread_mutex_t _mh;
};
#endif
} // namespace ZeroTier
#endif // Apple / Linux
#endif
#ifdef __WINDOWS__
+1 -1
View File
@@ -368,7 +368,7 @@ class Binder {
else {
interfacesEnumerated = false;
}
#if defined(__unix__) && !defined(__LINUX__)
#if (defined(__unix__) || defined(__APPLE__)) && !defined(__LINUX__)
close(infoSock);
#endif
}
+6 -6
View File
@@ -330,7 +330,7 @@ MacKextEthernetTap::MacKextEthernetTap(
Mutex::Lock _gl(globalTapCreateLock);
if (::stat("/dev/zt0",&stattmp)) {
long kextpid = (long)vfork();
long kextpid = (long)fork();
if (kextpid == 0) {
::chdir(homePath);
OSUtils::redirectUnixOutputs("/dev/null",(const char *)0);
@@ -405,7 +405,7 @@ MacKextEthernetTap::MacKextEthernetTap(
OSUtils::ztsnprintf(ethaddr,sizeof(ethaddr),"%.2x:%.2x:%.2x:%.2x:%.2x:%.2x",(int)mac[0],(int)mac[1],(int)mac[2],(int)mac[3],(int)mac[4],(int)mac[5]);
OSUtils::ztsnprintf(mtustr,sizeof(mtustr),"%u",_mtu);
OSUtils::ztsnprintf(metstr,sizeof(metstr),"%u",_metric);
long cpid = (long)vfork();
long cpid = (long)fork();
if (cpid == 0) {
::execl("/sbin/ifconfig","/sbin/ifconfig",_dev.c_str(),"lladdr",ethaddr,"mtu",mtustr,"metric",metstr,"up",(const char *)0);
::_exit(-1);
@@ -459,7 +459,7 @@ MacKextEthernetTap::~MacKextEthernetTap()
char tmp[16384];
sprintf(tmp,"%s/%s",_homePath.c_str(),"tap.kext");
long kextpid = (long)vfork();
long kextpid = (long)fork();
if (kextpid == 0) {
OSUtils::redirectUnixOutputs("/dev/null",(const char *)0);
::execl("/sbin/kextunload","/sbin/kextunload",tmp,(const char *)0);
@@ -488,7 +488,7 @@ bool MacKextEthernetTap::addIp(const InetAddress &ip)
if (!ip)
return false;
long cpid = (long)vfork();
long cpid = (long)fork();
if (cpid == 0) {
char tmp[128];
::execl("/sbin/ifconfig","/sbin/ifconfig",_dev.c_str(),(ip.ss_family == AF_INET6) ? "inet6" : "inet",ip.toString(tmp),"alias",(const char *)0);
@@ -509,7 +509,7 @@ bool MacKextEthernetTap::removeIp(const InetAddress &ip)
std::vector<InetAddress> allIps(ips());
for(std::vector<InetAddress>::iterator i(allIps.begin());i!=allIps.end();++i) {
if (*i == ip) {
long cpid = (long)vfork();
long cpid = (long)fork();
if (cpid == 0) {
char tmp[128];
execl("/sbin/ifconfig","/sbin/ifconfig",_dev.c_str(),(ip.ss_family == AF_INET6) ? "inet6" : "inet",ip.toIpString(tmp),"-alias",(const char *)0);
@@ -626,7 +626,7 @@ void MacKextEthernetTap::setMtu(unsigned int mtu)
{
if (mtu != _mtu) {
_mtu = mtu;
long cpid = (long)vfork();
long cpid = (long)fork();
if (cpid == 0) {
char tmp[64];
OSUtils::ztsnprintf(tmp,sizeof(tmp),"%u",mtu);
+3 -1
View File
@@ -405,7 +405,9 @@ ManagedRoute::ManagedRoute(const InetAddress &target,const InetAddress &via,cons
}
ManagedRoute::~ManagedRoute()
{}
{
this->remove();
}
/* Linux NOTE: for default route override, some Linux distributions will
* require a change to the rp_filter parameter. A value of '1' will prevent
+1 -2
View File
@@ -46,7 +46,6 @@ parts:
one:
plugin: make
source: .
source-type: git
build-packages:
- build-essential
- libc++-dev
@@ -67,4 +66,4 @@ slots:
zerotier-control:
interface: content
read:
- $SNAP_COMMON
- $SNAP_COMMON
+1 -1
View File
@@ -27,7 +27,7 @@
/**
* Revision
*/
#define ZEROTIER_ONE_VERSION_REVISION 2
#define ZEROTIER_ONE_VERSION_REVISION 3
/**
* Build version
+4 -1
View File
@@ -1,5 +1,5 @@
Name: zerotier-one
Version: 1.8.2
Version: 1.8.3
Release: 1%{?dist}
Summary: ZeroTier network virtualization service
@@ -152,6 +152,9 @@ esac
%endif
%changelog
* Mon Nov 15 2021 Adam Ierymenko <adam.ierymenko@zerotier.com> - 1.8.3
- see https://github.com/zerotier/ZeroTierOne for release notes
* Mon Nov 08 2021 Adam Ierymenko <adam.ierymenko@zerotier.com> - 1.8.2
- see https://github.com/zerotier/ZeroTierOne for release notes