mirror of
https://github.com/zerotier/ZeroTierOne.git
synced 2026-09-22 15:29:03 -07:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e4404164bd | ||
|
|
9d0b492642 | ||
|
|
5391e95fce | ||
|
|
954f6a77e5 | ||
|
|
e8c6b4ab16 | ||
|
|
21993819a5 | ||
|
|
904348b2ad | ||
|
|
e59cec4e3c | ||
|
|
c2eeb5d553 | ||
|
|
dea4bd01f4 | ||
|
|
ec52af420e | ||
|
|
3db328cc94 | ||
|
|
a624dfd776 |
No files matched your search
@@ -1,6 +1,11 @@
|
||||
ZeroTier Release Notes
|
||||
======
|
||||
|
||||
# 2020-11-30 -- Version 1.6.2
|
||||
|
||||
* Fix an ARM hardware AES crypto issue (not an exploitable vulnerability).
|
||||
* Fix a Linux network leave hang due to a mutex deadlock.
|
||||
|
||||
# 2020-11-24 -- Version 1.6.1
|
||||
|
||||
This release fixes some minor bugs and other issues in 1.6.0.
|
||||
|
||||
Vendored
+6
@@ -1,3 +1,9 @@
|
||||
zerotier-one (1.6.2) unstable; urgency=medium
|
||||
|
||||
* See RELEASE-NOTES.md for release notes.
|
||||
|
||||
-- Adam Ierymenko <adam.ierymenko@zerotier.com> Mon, 30 Nov 2020 01:00:00 -0700
|
||||
|
||||
zerotier-one (1.6.1) unstable; urgency=medium
|
||||
|
||||
* See RELEASE-NOTES.md for release notes.
|
||||
|
||||
@@ -689,7 +689,7 @@
|
||||
<key>USE_HFS+_COMPRESSION</key>
|
||||
<false/>
|
||||
<key>VERSION</key>
|
||||
<string>1.6.1</string>
|
||||
<string>1.6.2</string>
|
||||
</dict>
|
||||
<key>TYPE</key>
|
||||
<integer>0</integer>
|
||||
|
||||
@@ -181,8 +181,8 @@ void AES::CTR::p_armCrypt(const uint8_t *in, uint8_t *out, unsigned int len) noe
|
||||
uint8x16_t d3 = vrev32q_u8(dd3);
|
||||
uint8x16_t pt0 = vld1q_u8(in);
|
||||
uint8x16_t pt1 = vld1q_u8(in + 16);
|
||||
uint8x16_t pt2 = vld1q_u8(in + 16);
|
||||
uint8x16_t pt3 = vld1q_u8(in + 16);
|
||||
uint8x16_t pt2 = vld1q_u8(in + 32);
|
||||
uint8x16_t pt3 = vld1q_u8(in + 48);
|
||||
|
||||
d0 = vaesmcq_u8(vaeseq_u8(d0, k0));
|
||||
d1 = vaesmcq_u8(vaeseq_u8(d1, k0));
|
||||
|
||||
@@ -92,7 +92,8 @@ LinuxEthernetTap::LinuxEthernetTap(
|
||||
_homePath(homePath),
|
||||
_mtu(mtu),
|
||||
_fd(0),
|
||||
_enabled(true)
|
||||
_enabled(true),
|
||||
_run(true)
|
||||
{
|
||||
static std::mutex s_tapCreateLock;
|
||||
char procpath[128],nwids[32];
|
||||
@@ -184,6 +185,7 @@ LinuxEthernetTap::LinuxEthernetTap(
|
||||
|
||||
(void)::pipe(_shutdownSignalPipe);
|
||||
|
||||
_thread_init_l.lock();
|
||||
for(unsigned int t=0;t<2;++t) {
|
||||
_tapReaderThread[t] = std::thread([this, t]{
|
||||
fd_set readfds,nullfds;
|
||||
@@ -236,10 +238,16 @@ LinuxEthernetTap::LinuxEthernetTap(
|
||||
fcntl(_fd,F_SETFL,O_NONBLOCK);
|
||||
|
||||
::close(sock);
|
||||
|
||||
_thread_init_l.unlock();
|
||||
} else {
|
||||
usleep(1500000);
|
||||
_thread_init_l.lock();
|
||||
_thread_init_l.unlock();
|
||||
}
|
||||
|
||||
if (!_run)
|
||||
return;
|
||||
|
||||
FD_ZERO(&readfds);
|
||||
FD_ZERO(&nullfds);
|
||||
nfds = (int)std::max(_shutdownSignalPipe[0],_fd) + 1;
|
||||
@@ -324,17 +332,19 @@ LinuxEthernetTap::LinuxEthernetTap(
|
||||
|
||||
LinuxEthernetTap::~LinuxEthernetTap()
|
||||
{
|
||||
_run = false;
|
||||
|
||||
(void)::write(_shutdownSignalPipe[1],"\0",1); // causes reader thread(s) to exit
|
||||
_tapq.post(std::pair<void *,int>(nullptr,0)); // causes processor thread to exit
|
||||
|
||||
::close(_fd);
|
||||
::close(_shutdownSignalPipe[0]);
|
||||
::close(_shutdownSignalPipe[1]);
|
||||
|
||||
_tapReaderThread[0].join();
|
||||
_tapReaderThread[1].join();
|
||||
_tapProcessorThread.join();
|
||||
|
||||
::close(_fd);
|
||||
::close(_shutdownSignalPipe[0]);
|
||||
::close(_shutdownSignalPipe[1]);
|
||||
|
||||
for(std::vector<void *>::iterator i(_buffers.begin());i!=_buffers.end();++i)
|
||||
free(*i);
|
||||
std::vector< std::pair<void *,int> > dv(_tapq.drain());
|
||||
|
||||
@@ -70,9 +70,11 @@ private:
|
||||
int _fd;
|
||||
int _shutdownSignalPipe[2];
|
||||
std::atomic_bool _enabled;
|
||||
std::atomic_bool _run;
|
||||
std::thread _tapReaderThread[2];
|
||||
std::thread _tapProcessorThread;
|
||||
std::mutex _buffers_l;
|
||||
std::mutex _thread_init_l;
|
||||
std::vector<void *> _buffers;
|
||||
BlockingQueue< std::pair<void *,int> > _tapq;
|
||||
};
|
||||
|
||||
@@ -1823,7 +1823,7 @@ public:
|
||||
}
|
||||
// Check settings
|
||||
if (defaultBondingPolicyStr.length() && !defaultBondingPolicy && !_node->bondController()->inUse()) {
|
||||
fprintf(stderr, "error: unknown policy (%s) specified by defaultBondingPolicy, link disabled.\n", defaultBondingPolicyStr.c_str());
|
||||
fprintf(stderr, "error: unknown policy (%s) specified by defaultBondingPolicy, bond disabled.\n", defaultBondingPolicyStr.c_str());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
/**
|
||||
* Revision
|
||||
*/
|
||||
#define ZEROTIER_ONE_VERSION_REVISION 1
|
||||
#define ZEROTIER_ONE_VERSION_REVISION 2
|
||||
|
||||
/**
|
||||
* Build version
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
<Run Text="ZeroTier One"/>
|
||||
</Paragraph>
|
||||
<Paragraph TextAlignment="Center">
|
||||
<Run FontSize="14" Text="Version 1.6.1"/>
|
||||
<Run FontSize="14" Text="Version 1.6.2"/>
|
||||
<LineBreak/>
|
||||
<Run FontSize="14" Text="(c) 2011-2020 ZeroTier, Inc."/>
|
||||
<LineBreak/>
|
||||
|
||||
+4
-1
@@ -1,5 +1,5 @@
|
||||
Name: zerotier-one
|
||||
Version: 1.6.1
|
||||
Version: 1.6.2
|
||||
Release: 1%{?dist}
|
||||
Summary: ZeroTier network virtualization service
|
||||
|
||||
@@ -152,6 +152,9 @@ esac
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Mon Nov 30 2020 Adam Ierymenko <adam.ierymenko@zerotier.com> - 1.6.2-0.1
|
||||
- see https://github.com/zerotier/ZeroTierOne for release notes
|
||||
|
||||
* Tue Nov 24 2020 Adam Ierymenko <adam.ierymenko@zerotier.com> - 1.6.1-0.1
|
||||
- see https://github.com/zerotier/ZeroTierOne for release notes
|
||||
|
||||
|
||||
Reference in new issue
Block a user