Merge branch 'master' into dev

This commit is contained in:
Adam Ierymenko 2022-03-10 15:48:47 -05:00
commit 68c9398f71
No known key found for this signature in database
GPG Key ID: C8877CF2D7A5D7F3
11 changed files with 58 additions and 32 deletions

View File

@ -1,12 +1,19 @@
ZeroTier Release Notes
======
# 2022-03-04 -- Version 1.8.6
* Fixed an issue that could cause the UI to be non-responsive if not joined to any networks.
* Fix dependency issues in Debian and RedHat packages for some distributions (Fedora, Mint).
* Bumped the peer cache serialization version to prevent "coma" issues on upgrade due to changes in path logic behaving badly with old values.
# 2022-02-22 -- Version 1.8.5
* Plumbing under the hood for endpoint device SSO support.
* Fix in LinuxEthernetTap to tap device support on very old (2.6) Linux kernels.
* Fix an issue that could cause self-hosted roots ("moons") to fail to assist peers in making direct links. (GitHub issue #1512)
* Merge a series of changes by Joseph Henry (of ZeroTier) that should fix some edge cases where ZeroTier would "forget" valid paths.
* Minor multipath improvements for automatic path negotiation.
# 2021-11-30 -- Version 1.8.4

6
debian/changelog vendored
View File

@ -1,3 +1,9 @@
zerotier-one (1.8.6) unstable; urgency=medium
* See RELEASE-NOTES.md for release notes.
-- Adam Ierymenko <adam.ierymenko@zerotier.com> Mon, 07 Mar 2022 01:00:00 -0700
zerotier-one (1.8.5) 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.5</string>
<string>1.8.6</string>
</dict>
<key>TYPE</key>
<integer>0</integer>

View File

@ -117,6 +117,9 @@ jobject createVirtualNetworkStatus(JNIEnv *env, ZT_VirtualNetworkStatus status)
case ZT_NETWORK_STATUS_OK:
fieldName = "NETWORK_STATUS_OK";
break;
case ZT_NETWORK_STATUS_AUTHENTICATION_REQUIRED:
fieldName = "NETWORK_STATUS_AUTHENTICATION_REQUIRED";
break;
case ZT_NETWORK_STATUS_ACCESS_DENIED:
fieldName = "NETWORK_STATUS_ACCESS_DENIED";
break;

View File

@ -37,6 +37,11 @@ public enum VirtualNetworkStatus {
*/
NETWORK_STATUS_OK,
/**
* Netconf master said SSO auth required.
*/
NETWORK_STATUS_AUTHENTICATION_REQUIRED,
/**
* Netconf master told us 'nope'
*/

View File

@ -429,7 +429,7 @@ public:
template<unsigned int C>
inline void serializeForCache(Buffer<C> &b) const
{
b.append((uint8_t)1);
b.append((uint8_t)2);
_id.serialize(b);
@ -457,7 +457,7 @@ public:
{
try {
unsigned int ptr = 0;
if (b[ptr++] != 1)
if (b[ptr++] != 2)
return SharedPtr<Peer>();
Identity id;

View File

@ -13,6 +13,8 @@
#include "../node/Constants.hpp"
#include <cerrno>
//#define ZT_NETLINK_TRACE
#ifdef __LINUX__

View File

@ -1577,37 +1577,31 @@ public:
}
} else if (ps[0] == "network") {
Mutex::Lock _l(_nets_m);
if (!_nets.empty()) {
if (ps.size() == 1) {
// Return [array] of all networks
if (ps.size() == 1) {
// Return [array] of all networks
res = nlohmann::json::array();
for (auto it = _nets.begin(); it != _nets.end(); ++it) {
NetworkState &ns = it->second;
nlohmann::json nj;
_networkToJson(nj, ns);
res.push_back(nj);
}
res = nlohmann::json::array();
for (auto it = _nets.begin(); it != _nets.end(); ++it) {
NetworkState &ns = it->second;
nlohmann::json nj;
_networkToJson(nj, ns);
res.push_back(nj);
}
scode = 200;
} else if (ps.size() == 2) {
// Return a single network by ID or 404 if not found
const uint64_t wantnw = Utils::hexStrToU64(ps[1].c_str());
if (_nets.find(wantnw) != _nets.end()) {
res = json::object();
NetworkState& ns = _nets[wantnw];
_networkToJson(res, ns);
scode = 200;
} else if (ps.size() == 2) {
// Return a single network by ID or 404 if not found
const uint64_t wantnw = Utils::hexStrToU64(ps[1].c_str());
if (_nets.find(wantnw) != _nets.end()) {
res = json::object();
NetworkState& ns = _nets[wantnw];
_networkToJson(res, ns);
scode = 200;
}
} else {
fprintf(stderr, "not found\n");
scode = 404;
}
} else {
fprintf(stderr, "_nets is empty??\n");
scode = 500;
scode = 404;
}
} else if (ps[0] == "peer") {
ZT_PeerList *pl = _node->peers();

View File

@ -27,7 +27,7 @@
/**
* Revision
*/
#define ZEROTIER_ONE_VERSION_REVISION 5
#define ZEROTIER_ONE_VERSION_REVISION 6
/**
* Build version

View File

@ -53,6 +53,8 @@ std::string InstallService(PSTR pszServiceName,
char szPathTmp[MAX_PATH],szPath[MAX_PATH];
SC_HANDLE schSCManager = NULL;
SC_HANDLE schService = NULL;
SERVICE_DESCRIPTION sd;
LPTSTR szDesc = TEXT("ZeroTier network virtualization service.");
if (GetModuleFileName(NULL, szPathTmp, ARRAYSIZE(szPath)) == 0)
{
@ -77,7 +79,7 @@ std::string InstallService(PSTR pszServiceName,
schSCManager, // SCManager database
pszServiceName, // Name of service
pszDisplayName, // Name to display
SERVICE_QUERY_STATUS, // Desired access
SERVICE_ALL_ACCESS, // Desired access
SERVICE_WIN32_OWN_PROCESS, // Service type
dwStartType, // Service start type
SERVICE_ERROR_NORMAL, // Error control type
@ -94,6 +96,9 @@ std::string InstallService(PSTR pszServiceName,
goto Cleanup;
}
// Setup service description
sd.lpDescription = szDesc;
ChangeServiceConfig2(schService, SERVICE_CONFIG_DESCRIPTION, &sd);
Cleanup:
// Centralized cleanup for all allocated resources.
if (schSCManager)

View File

@ -1,5 +1,5 @@
Name: zerotier-one
Version: 1.8.5
Version: 1.8.6
Release: 1%{?dist}
Summary: ZeroTier network virtualization service
@ -15,6 +15,7 @@ BuildRequires: systemd
%endif
Requires: iproute libstdc++ openssl
AutoReqProv: no
%if 0%{?rhel} >= 7
Requires: systemd
@ -164,6 +165,9 @@ esac
%endif
%changelog
* Fri Mar 07 2022 Adam Ierymenko <adam.ierymenko@zerotier.com> - 1.8.6
- see https://github.com/zerotier/ZeroTierOne for release notes
* Fri Dec 17 2021 Adam Ierymenko <adam.ierymenko@zerotier.com> - 1.8.5
- see https://github.com/zerotier/ZeroTierOne for release notes