Merge branch 'dev' into zeroidc

# Conflicts:
#	.gitignore
This commit is contained in:
Grant Limberg 2021-11-11 16:20:43 -08:00
commit b5186f7293
No known key found for this signature in database
GPG Key ID: 2BA62CCABBB4095A
11 changed files with 129 additions and 14 deletions

13
.gitignore vendored
View File

@ -124,3 +124,16 @@ workspace/
workspace2/
zeroidc/target/
tmp/
#snapcraft specifics
/parts/
/stage/
/prime/
*.snap
.snapcraft
__pycache__
*.pyc
*_source.tar.bz2
snap/.snapcraft

View File

@ -1,6 +1,13 @@
ZeroTier Release Notes
======
# 2021-11-08 -- Version 1.8.2
* Fix multicast on linux.
* Fix a bug that could cause the tap adapter to have the wrong MAC on Linux.
* Update build flags to possibly support MacOS older than 10.14, but more work needs to be done. It may not work yet.
* Fix path variable setting on Windows.
# 2021-10-28 -- Version 1.8.1
* Fix numerous UI issues from 1.8.0 (never fully released).

6
debian/changelog vendored
View File

@ -1,3 +1,9 @@
zerotier-one (1.8.2) unstable; urgency=medium
* See RELEASE-NOTES.md for release notes.
-- Adam Ierymenko <adam.ierymenko@zerotier.com> Mon, 08 Nov 2021 01:00:00 -0700
zerotier-one (1.8.1) unstable; urgency=medium
* See RELEASE-NOTES.md for release notes.

View File

@ -701,7 +701,7 @@
<key>USE_HFS+_COMPRESSION</key>
<false/>
<key>VERSION</key>
<string>1.8.1</string>
<string>1.8.2</string>
</dict>
<key>TYPE</key>
<integer>0</integer>

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:{5B1BC52A-019C-4DC4-B416-306762E86F2A} " Type="16"/>
<ROW Property="ProductCode" Value="1033:{2B153F53-2BD3-42C7-9972-D57F94E3CB8D} " Type="16"/>
<ROW Property="ProductLanguage" Value="1033"/>
<ROW Property="ProductName" Value="ZeroTier One"/>
<ROW Property="ProductVersion" Value="1.8.1" Type="32"/>
<ROW Property="ProductVersion" Value="1.8.2" 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="{2227CCEE-5A6D-4B8C-8A91-BE643A9BDBFA}" Directory_="APPDIR" Attributes="4" KeyPath="DisplayName" Options="1"/>
<ROW Component="AI_CustomARPName" ComponentId="{C78C4531-4AD8-4862-AA18-D3275DD575A3}" 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"/>
@ -330,7 +330,7 @@
<ROW MsiEmbeddedChainer="msichainer.exe" Condition="VersionMsi &gt;= &quot;4.05&quot;" CommandLine="[AI_CHAINER_CMD_LINE]" Source="msichainer.exe" Type="2"/>
</COMPONENT>
<COMPONENT cid="caphyon.advinst.msicomp.MsiEnvComponent">
<ROW Environment="Path" Name="=-*Path" Value="[~];[APPDIR]" Component_="AI_ExePath"/>
<ROW Environment="Path" Name="=-*Path" Value="[~];[APPDIR]" Component_="APPDIR"/>
</COMPONENT>
<COMPONENT cid="caphyon.advinst.msicomp.MsiFeatCompsComponent">
<ROW Feature_="ZeroTierOne" Component_="ProductInformation"/>
@ -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="1" UpdateIndexInParent="0"/>
<ROW XmlElement="swidbuild" ParentElement="swidnumeric" Name="swid:build" Condition="1" Order="2" Flags="14" Text="2" 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"/>

View File

@ -28,7 +28,6 @@ LOCAL_SRC_FILES := \
$(ZT1)/node/AES_aesni.cpp \
$(ZT1)/node/AES_armcrypto.cpp \
$(ZT1)/node/Bond.cpp \
$(ZT1)/node/BondController.cpp \
$(ZT1)/node/C25519.cpp \
$(ZT1)/node/Capability.cpp \
$(ZT1)/node/CertificateOfMembership.cpp \

View File

@ -245,6 +245,16 @@ ERR=$(error FATAL: architecture could not be determined from $(CC) -dumpmachine:
err: ; $(ERR)
endif
# Flag for Intel 32-bit processors since some machine images are incorrectly marked as i386
ifeq ($(ZT_IA32),1)
override LDFLAGS+=-m32
override CFLAGS+=-m32
override CXXFLAGS+=-m32
# Prevent the use of X64 crypto
ZT_USE_X64_ASM_SALSA=0
ZT_USE_X64_ASM_ED25519=0
endif
# Disable software updates by default on Linux since that is normally done with package management
override DEFS+=-DZT_BUILD_PLATFORM=1 -DZT_BUILD_ARCHITECTURE=$(ZT_ARCHITECTURE) -DZT_SOFTWARE_UPDATE_DEFAULT="\"disable\""

View File

@ -213,6 +213,9 @@ LinuxEthernetTap::LinuxEthernetTap(
return;
}
usleep(100000);
ifr.ifr_flags |= IFF_MULTICAST;
ifr.ifr_flags |= IFF_UP;
if (ioctl(sock,SIOCSIFFLAGS,(void *)&ifr) < 0) {
::close(sock);
@ -220,11 +223,15 @@ LinuxEthernetTap::LinuxEthernetTap(
return;
}
// Some kernel versions seem to require you to yield while the device comes up
// before they will accept MTU and MAC. For others it doesn't matter, but is
// harmless. This was moved to the worker thread though so as not to block the
// main ZeroTier loop.
usleep(500000);
usleep(100000);
ifr.ifr_ifru.ifru_hwaddr.sa_family = ARPHRD_ETHER;
_mac.copyTo(ifr.ifr_ifru.ifru_hwaddr.sa_data,6);
if (ioctl(sock,SIOCSIFHWADDR,(void *)&ifr) < 0) {
::close(sock);
printf("WARNING: ioctl() failed setting up Linux tap device (set MAC)\n");
return;
}
ifr.ifr_ifru.ifru_mtu = (int)_mtu;
if (ioctl(sock,SIOCSIFMTU,(void *)&ifr) < 0) {

70
snap/snapcraft.yaml Normal file
View File

@ -0,0 +1,70 @@
name: zerotier
summary: ZeroTier is a software-based managed Ethernet switch for planet Earth.
description: |
It erases the LAN/WAN distinction and makes VPNs, tunnels, proxies, and other kludges arising from the inflexible nature of physical networks obsolete. Everything is encrypted end-to-end and traffic takes the most direct (peer to peer) path available.
This snap contains ZeroTier One, a service that provides ZeroTier network connectivity and makes joining virtual networks as easy as joining IRC or Slack channels.
Visit ZeroTier's site for more information and pre-built binary packages. Apps for Android and iOS are available for free in the Google Play and Apple app stores.
Install
sudo snap install zerotier
Join your network
sudo zerotier.cli join 8056c2e21c000001
sudo zerotier.cli status
Approve your new node in ZeroTier Central (https://my.zerotier.com)! Welcome online!
adopt-info: one
confinement: strict
grade: stable
base: core18
apps:
one:
# Add -U to prevent attempting to drop privileges since snaps have their
# own containment mechanism. Otherwise, if a user named "zerotier-one"
# exists on the system, the setgid or related calls will fail.
command: usr/sbin/zerotier-one -U
daemon: simple
plugs:
- network
- network-bind
- network-control
cli:
command: usr/sbin/zerotier-cli
plugs:
- network
idtool:
command: usr/sbin/zerotier-idtool
plugs:
- network
layout:
/var/lib/zerotier-one:
bind: $SNAP_COMMON
parts:
one:
plugin: make
source: .
source-type: git
build-packages:
- build-essential
- libc++-dev
make-parameters:
- CXX=g++
filesets:
binaries:
- usr/sbin/zerotier-one
- usr/sbin/zerotier-cli
- usr/sbin/zerotier-idtool
prime:
- $binaries
override-build: |
snapcraftctl build
# Grab the version string from the newly-compiled binary.
snapcraftctl set-version "$(./zerotier-one -v)"
slots:
zerotier-control:
interface: content
read:
- $SNAP_COMMON

View File

@ -27,7 +27,7 @@
/**
* Revision
*/
#define ZEROTIER_ONE_VERSION_REVISION 1
#define ZEROTIER_ONE_VERSION_REVISION 2
/**
* Build version

View File

@ -1,5 +1,5 @@
Name: zerotier-one
Version: 1.8.1
Version: 1.8.2
Release: 1%{?dist}
Summary: ZeroTier network virtualization service
@ -152,6 +152,9 @@ esac
%endif
%changelog
* Mon Nov 08 2021 Adam Ierymenko <adam.ierymenko@zerotier.com> - 1.8.2
- see https://github.com/zerotier/ZeroTierOne for release notes
* Wed Oct 20 2021 Adam Ierymenko <adam.ierymenko@zerotier.com> - 1.8.1
- see https://github.com/zerotier/ZeroTierOne for release notes