diff --git a/LICENSE.txt b/LICENSE.txt index 205f67af7c..06a3fad643 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -47,7 +47,7 @@ Additional Use Grant: You may make use of the Licensed Work, provided you services, social welfare, senior care, child care, and the care of persons with disabilities. -Change Date: 2025-01-01 +Change Date: 2026-01-01 Change License: Apache License version 2.0 as published by the Apache Software Foundation diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md index efaee04884..dba0e64306 100644 --- a/RELEASE-NOTES.md +++ b/RELEASE-NOTES.md @@ -1,6 +1,15 @@ ZeroTier Release Notes ====== +# 2024-05-02 -- Version 1.14.0 + + * Linux I/O performance improvements under heavy load + * Improvements to multipath + * Fix for port rebinding "coma" bug after periods offline (some laptop users) + * Fixed a rules engine quirk/ambiguity (GitHub Issue #2200) + * Controller API enhancements: node names and other node meta-data + * Other bug fixes + # 2023-09-12 -- Version 1.12.2 * More improvements to macOS full tunnel mode. diff --git a/SECURITY.md b/SECURITY.md index f37df39fbe..c539ed6a20 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -7,11 +7,11 @@ includes all source code repositories managed through our GitHub organization. The following versions of ZeroTier One receive security updates -| Version | Supported | -| ------- | ------------------ | +| Version | Supported | +| -------- | ------------------ | +| 1.14.x | :white_check_mark: | | 1.12.x | :white_check_mark: | -| 1.10.x | :white_check_mark: | -| < 1.10.0 | :x: | +| < 1.12.0 | :x: | ## Reporting a Vulnerability @@ -23,7 +23,6 @@ please encrypt with our PGP key (see below). Please include the following information, or as much as you can provide to help us understand the nature and scope of the issue: - * Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.) * Full paths of source file(s) related to the manifestation of the issue * The location of the affected source code (tag/branch/commit or direct URL) @@ -32,7 +31,6 @@ understand the nature and scope of the issue: * Proof-of-concept or exploit code (if possible) * Impact of the issue, including how an attacker might exploit the issue - ## Preferred Languages We prefer all communications to be in English. diff --git a/controller/ConnectionPool.hpp b/controller/ConnectionPool.hpp index 916f535639..8ccfb6bee1 100644 --- a/controller/ConnectionPool.hpp +++ b/controller/ConnectionPool.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/controller/DB.cpp b/controller/DB.cpp index 239bbfb94e..fe29739902 100644 --- a/controller/DB.cpp +++ b/controller/DB.cpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/controller/DB.hpp b/controller/DB.hpp index 89610f7c5e..50a57be67a 100644 --- a/controller/DB.hpp +++ b/controller/DB.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/controller/DBMirrorSet.cpp b/controller/DBMirrorSet.cpp index 9372eef65d..78fa82a4ae 100644 --- a/controller/DBMirrorSet.cpp +++ b/controller/DBMirrorSet.cpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/controller/DBMirrorSet.hpp b/controller/DBMirrorSet.hpp index e33b63ec93..888144047d 100644 --- a/controller/DBMirrorSet.hpp +++ b/controller/DBMirrorSet.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/controller/EmbeddedNetworkController.cpp b/controller/EmbeddedNetworkController.cpp index d9eb5f7355..bcf1acbd2c 100644 --- a/controller/EmbeddedNetworkController.cpp +++ b/controller/EmbeddedNetworkController.cpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/controller/EmbeddedNetworkController.hpp b/controller/EmbeddedNetworkController.hpp index 4ea00b65a0..aa3f162f16 100644 --- a/controller/EmbeddedNetworkController.hpp +++ b/controller/EmbeddedNetworkController.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/controller/FileDB.cpp b/controller/FileDB.cpp index e38aa8909d..e410c15679 100644 --- a/controller/FileDB.cpp +++ b/controller/FileDB.cpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/controller/FileDB.hpp b/controller/FileDB.hpp index 545d26e3d1..4e1bbe09e5 100644 --- a/controller/FileDB.hpp +++ b/controller/FileDB.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/controller/LFDB.cpp b/controller/LFDB.cpp index b935ecf5df..efccff65cd 100644 --- a/controller/LFDB.cpp +++ b/controller/LFDB.cpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/controller/LFDB.hpp b/controller/LFDB.hpp index 9f654bfb78..64933f7d81 100644 --- a/controller/LFDB.hpp +++ b/controller/LFDB.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/controller/PostgreSQL.cpp b/controller/PostgreSQL.cpp index 0ab721dcd4..abfdbd31df 100644 --- a/controller/PostgreSQL.cpp +++ b/controller/PostgreSQL.cpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/controller/PostgreSQL.hpp b/controller/PostgreSQL.hpp index c350df70d5..b583bd69dd 100644 --- a/controller/PostgreSQL.hpp +++ b/controller/PostgreSQL.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/debian/changelog b/debian/changelog index 6f93576102..8138072214 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +zerotier-one (1.14.0) unstable; urgency=medium + + * See RELEASE-NOTES.md for release notes. + + -- Adam Ierymenko Tue, 19 Mar 2024 01:00:00 -0700 + zerotier-one (1.12.2) unstable; urgency=medium * See RELEASE-NOTES.md for release notes. diff --git a/debian/copyright b/debian/copyright index d22affa295..da3678d52a 100644 --- a/debian/copyright +++ b/debian/copyright @@ -12,7 +12,7 @@ License: ZeroTier BSL 1.1 Use of this software is governed by the Business Source License included in the LICENSE.TXT file in the project's root directory. - Change Date: 2025-01-01 + Change Date: 2026-01-01 On the date above, in accordance with the Business Source License, use of this software will be governed by version 2.0 of the Apache License. diff --git a/ext/installfiles/mac/ZeroTier One.pkgproj b/ext/installfiles/mac/ZeroTier One.pkgproj index b4ac69c2b6..68f4594f5a 100755 --- a/ext/installfiles/mac/ZeroTier One.pkgproj +++ b/ext/installfiles/mac/ZeroTier One.pkgproj @@ -701,7 +701,7 @@ USE_HFS+_COMPRESSION VERSION - 1.12.2 + 1.14.0 TYPE 0 diff --git a/ext/installfiles/windows/ZeroTier One.aip b/ext/installfiles/windows/ZeroTier One.aip index 71e89975d5..0870201e63 100644 --- a/ext/installfiles/windows/ZeroTier One.aip +++ b/ext/installfiles/windows/ZeroTier One.aip @@ -24,10 +24,10 @@ - + - + @@ -62,7 +62,7 @@ - + @@ -124,7 +124,7 @@ - + @@ -498,10 +498,10 @@ - + - + diff --git a/include/ZeroTierDebug.h b/include/ZeroTierDebug.h index 27f6549355..3d1942fd1b 100644 --- a/include/ZeroTierDebug.h +++ b/include/ZeroTierDebug.h @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/include/ZeroTierOne.h b/include/ZeroTierOne.h index d905078a16..4482346938 100644 --- a/include/ZeroTierOne.h +++ b/include/ZeroTierOne.h @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/make-linux.mk b/make-linux.mk index 865da2d8b5..bfa416aa04 100644 --- a/make-linux.mk +++ b/make-linux.mk @@ -62,7 +62,7 @@ ifeq ($(ZT_DEBUG),1) override CFLAGS+=-Wall -Wno-deprecated -g -O -pthread $(INCLUDES) $(DEFS) override CXXFLAGS+=-Wall -Wno-deprecated -g -O -std=c++17 -pthread $(INCLUDES) $(DEFS) ZT_TRACE=1 - RUSTFLAGS= + ZT_CARGO_FLAGS= # The following line enables optimization for the crypto code, since # C25519 in particular is almost UNUSABLE in -O0 even on a 3ghz box! node/Salsa20.o node/SHA512.o node/C25519.o node/Poly1305.o: CXXFLAGS=-Wall -O2 -g -pthread $(INCLUDES) $(DEFS) @@ -72,7 +72,7 @@ else CXXFLAGS?=-O3 -fstack-protector override CXXFLAGS+=-Wall -Wno-deprecated -std=c++17 -pthread $(INCLUDES) -DNDEBUG $(DEFS) LDFLAGS=-pie -Wl,-z,relro,-z,now - RUSTFLAGS=--release + ZT_CARGO_FLAGS=--release endif ifeq ($(ZT_QNAP), 1) @@ -438,8 +438,7 @@ debug: FORCE ifeq ($(ZT_SSO_SUPPORTED), 1) ifeq ($(ZT_EMBEDDED),) zeroidc: FORCE -# export PATH=/root/.cargo/bin:$$PATH; cd zeroidc && cargo build -j1 $(RUSTFLAGS) - export PATH=/${HOME}/.cargo/bin:$$PATH; cd rustybits && cargo build $(RUSTFLAGS) -p zeroidc + export PATH=/${HOME}/.cargo/bin:$$PATH; cd rustybits && cargo build $(ZT_CARGO_FLAGS) -p zeroidc endif else zeroidc: @@ -447,7 +446,7 @@ endif ifeq ($(ZT_CONTROLLER), 1) smeeclient: FORCE - export PATH=/${HOME}/.cargo/bin:$$PATH; cd rustybits && cargo build $(RUSTFLAGS) -p smeeclient + export PATH=/${HOME}/.cargo/bin:$$PATH; cd rustybits && cargo build $(ZT_CARGO_FLAGS) -p smeeclient else smeeclient: endif diff --git a/make-mac.mk b/make-mac.mk index 2fcc2cdeb8..018fb83254 100644 --- a/make-mac.mk +++ b/make-mac.mk @@ -12,7 +12,8 @@ PRODUCTSIGN=echo CODESIGN_APP_CERT= CODESIGN_INSTALLER_CERT= NOTARIZE=echo -NOTARIZE_USER_ID=null +NOTARIZE_APPLE_ID=null +NOTARIZE_TEAM_ID=null ZT_BUILD_PLATFORM=3 ZT_BUILD_ARCHITECTURE=2 @@ -38,8 +39,9 @@ ifeq ($(ZT_OFFICIAL_RELEASE),1) PRODUCTSIGN=productsign CODESIGN_APP_CERT="Developer ID Application: ZeroTier, Inc (8ZD9JUCZ4V)" CODESIGN_INSTALLER_CERT="Developer ID Installer: ZeroTier, Inc (8ZD9JUCZ4V)" - NOTARIZE=xcrun altool - NOTARIZE_USER_ID="adam.ierymenko@gmail.com" + NOTARIZE=xcrun notarytool + NOTARIZE_APPLE_ID="adam.ierymenko@gmail.com" + NOTARIZE_TEAM_ID="8ZD9JUCZ4V" else DEFS+=-DZT_SOFTWARE_UPDATE_DEFAULT="\"download\"" endif @@ -166,7 +168,7 @@ mac-dist-pkg: FORCE if [ -f "ZeroTier One Signed.pkg" ]; then mv -f "ZeroTier One Signed.pkg" "ZeroTier One.pkg"; fi rm -f zt1_update_$(ZT_BUILD_PLATFORM)_$(ZT_BUILD_ARCHITECTURE)_* cat ext/installfiles/mac-update/updater.tmpl.sh "ZeroTier One.pkg" >zt1_update_$(ZT_BUILD_PLATFORM)_$(ZT_BUILD_ARCHITECTURE)_$(ZT_VERSION_MAJOR).$(ZT_VERSION_MINOR).$(ZT_VERSION_REV)_$(ZT_VERSION_BUILD).exe - $(NOTARIZE) -t osx -f "ZeroTier One.pkg" --primary-bundle-id com.zerotier.pkg.ZeroTierOne --output-format xml --notarize-app -u $(NOTARIZE_USER_ID) + $(NOTARIZE) submit --apple-id "adam.ierymenko@gmail.com" --team-id "8ZD9JUCZ4V" --wait "ZeroTier One.pkg" echo '*** When Apple notifies that the app is notarized, run: xcrun stapler staple "ZeroTier One.pkg"' # For ZeroTier, Inc. to build official signed packages diff --git a/node/AES.cpp b/node/AES.cpp index 90247b4685..739e888990 100644 --- a/node/AES.cpp +++ b/node/AES.cpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/AES.hpp b/node/AES.hpp index 0cae08656a..70a6884128 100644 --- a/node/AES.hpp +++ b/node/AES.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/AES_aesni.cpp b/node/AES_aesni.cpp index 31b046608c..c8de46dfef 100644 --- a/node/AES_aesni.cpp +++ b/node/AES_aesni.cpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/AES_armcrypto.cpp b/node/AES_armcrypto.cpp index 2f20c23de0..2319ae855c 100644 --- a/node/AES_armcrypto.cpp +++ b/node/AES_armcrypto.cpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/Address.hpp b/node/Address.hpp index b6ccd86d79..69847b9119 100644 --- a/node/Address.hpp +++ b/node/Address.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/AtomicCounter.hpp b/node/AtomicCounter.hpp index cbfc578439..5d0b21f311 100644 --- a/node/AtomicCounter.hpp +++ b/node/AtomicCounter.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/Buffer.hpp b/node/Buffer.hpp index 7211f1879c..8dbc51efe9 100644 --- a/node/Buffer.hpp +++ b/node/Buffer.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/C25519.hpp b/node/C25519.hpp index d9a15f84b0..410ad723d9 100644 --- a/node/C25519.hpp +++ b/node/C25519.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/Capability.cpp b/node/Capability.cpp index d4350ebf73..6e19fca30a 100644 --- a/node/Capability.cpp +++ b/node/Capability.cpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/Capability.hpp b/node/Capability.hpp index 9e2409b93b..e57eec5bc9 100644 --- a/node/Capability.hpp +++ b/node/Capability.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/CertificateOfMembership.cpp b/node/CertificateOfMembership.cpp index 94effd028f..65820c29d3 100644 --- a/node/CertificateOfMembership.cpp +++ b/node/CertificateOfMembership.cpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/CertificateOfMembership.hpp b/node/CertificateOfMembership.hpp index eadfbb090f..2c289bfa76 100644 --- a/node/CertificateOfMembership.hpp +++ b/node/CertificateOfMembership.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/CertificateOfOwnership.cpp b/node/CertificateOfOwnership.cpp index 11be4fe91e..db5b2eb00a 100644 --- a/node/CertificateOfOwnership.cpp +++ b/node/CertificateOfOwnership.cpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/CertificateOfOwnership.hpp b/node/CertificateOfOwnership.hpp index e7d549fdcc..e7b80f72cd 100644 --- a/node/CertificateOfOwnership.hpp +++ b/node/CertificateOfOwnership.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/Constants.hpp b/node/Constants.hpp index dacba21c5d..e310cc9471 100644 --- a/node/Constants.hpp +++ b/node/Constants.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/Credential.hpp b/node/Credential.hpp index fcc7773bb0..7fb98ba795 100644 --- a/node/Credential.hpp +++ b/node/Credential.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/DNS.hpp b/node/DNS.hpp index 778680ff74..3c28c69fba 100644 --- a/node/DNS.hpp +++ b/node/DNS.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/Dictionary.hpp b/node/Dictionary.hpp index c6a3c7bea8..746c2b8523 100644 --- a/node/Dictionary.hpp +++ b/node/Dictionary.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/Hashtable.hpp b/node/Hashtable.hpp index 5fc6e0bb79..0656246be0 100644 --- a/node/Hashtable.hpp +++ b/node/Hashtable.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/Identity.cpp b/node/Identity.cpp index 5e85e9a7db..f47de79c12 100644 --- a/node/Identity.cpp +++ b/node/Identity.cpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/Identity.hpp b/node/Identity.hpp index 4db4d2ee79..b7580a8029 100644 --- a/node/Identity.hpp +++ b/node/Identity.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/IncomingPacket.cpp b/node/IncomingPacket.cpp index a5dd770173..d939fa0a1f 100644 --- a/node/IncomingPacket.cpp +++ b/node/IncomingPacket.cpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/IncomingPacket.hpp b/node/IncomingPacket.hpp index 1e6bb8f151..aa5936ff28 100644 --- a/node/IncomingPacket.hpp +++ b/node/IncomingPacket.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/InetAddress.cpp b/node/InetAddress.cpp index dcde34ec9c..31100d6430 100644 --- a/node/InetAddress.cpp +++ b/node/InetAddress.cpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/InetAddress.hpp b/node/InetAddress.hpp index 4a3dd80cb1..7e2a15db09 100644 --- a/node/InetAddress.hpp +++ b/node/InetAddress.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/MAC.hpp b/node/MAC.hpp index ca4eacf6f8..4520adc019 100644 --- a/node/MAC.hpp +++ b/node/MAC.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/Membership.cpp b/node/Membership.cpp index 1b317d94f7..0c5d9cc7a3 100644 --- a/node/Membership.cpp +++ b/node/Membership.cpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/Membership.hpp b/node/Membership.hpp index 35b341fd45..d7c98e5b3d 100644 --- a/node/Membership.hpp +++ b/node/Membership.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/Metrics.cpp b/node/Metrics.cpp index 0b4d3495b2..b41120bbe7 100644 --- a/node/Metrics.cpp +++ b/node/Metrics.cpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/Metrics.hpp b/node/Metrics.hpp index 055288f683..5906f18e46 100644 --- a/node/Metrics.hpp +++ b/node/Metrics.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/MulticastGroup.hpp b/node/MulticastGroup.hpp index e9ab9c07f0..abd6f0aada 100644 --- a/node/MulticastGroup.hpp +++ b/node/MulticastGroup.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/Multicaster.cpp b/node/Multicaster.cpp index 1306a53f2f..3a771972ec 100644 --- a/node/Multicaster.cpp +++ b/node/Multicaster.cpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/Multicaster.hpp b/node/Multicaster.hpp index 5809c67fc6..381171440e 100644 --- a/node/Multicaster.hpp +++ b/node/Multicaster.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/Mutex.hpp b/node/Mutex.hpp index 29e10fe465..8c5be7a8f4 100644 --- a/node/Mutex.hpp +++ b/node/Mutex.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/Network.cpp b/node/Network.cpp index 1f49c651cc..2e03b2482e 100644 --- a/node/Network.cpp +++ b/node/Network.cpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/Network.hpp b/node/Network.hpp index a3bce14af2..cc85b7d1f4 100644 --- a/node/Network.hpp +++ b/node/Network.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/NetworkConfig.cpp b/node/NetworkConfig.cpp index d2fa844c2f..b1c687c682 100644 --- a/node/NetworkConfig.cpp +++ b/node/NetworkConfig.cpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/NetworkConfig.hpp b/node/NetworkConfig.hpp index 859d7212d8..416bbfd784 100644 --- a/node/NetworkConfig.hpp +++ b/node/NetworkConfig.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/NetworkController.hpp b/node/NetworkController.hpp index 3bf570c97e..bae63c8c03 100644 --- a/node/NetworkController.hpp +++ b/node/NetworkController.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/Node.cpp b/node/Node.cpp index f8d0401f22..5c561fedc7 100644 --- a/node/Node.cpp +++ b/node/Node.cpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/Node.hpp b/node/Node.hpp index 1f74b83405..81c78249bc 100644 --- a/node/Node.hpp +++ b/node/Node.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/OutboundMulticast.cpp b/node/OutboundMulticast.cpp index a46a9575ee..754c48536c 100644 --- a/node/OutboundMulticast.cpp +++ b/node/OutboundMulticast.cpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/OutboundMulticast.hpp b/node/OutboundMulticast.hpp index 023f798e3a..38c8043ec0 100644 --- a/node/OutboundMulticast.hpp +++ b/node/OutboundMulticast.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/Packet.cpp b/node/Packet.cpp index b37cc26407..f0430c2973 100644 --- a/node/Packet.cpp +++ b/node/Packet.cpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/Packet.hpp b/node/Packet.hpp index e28fec6abf..f607d1f521 100644 --- a/node/Packet.hpp +++ b/node/Packet.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/Path.cpp b/node/Path.cpp index f655e37307..00ea90f9de 100644 --- a/node/Path.cpp +++ b/node/Path.cpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/Path.hpp b/node/Path.hpp index c35bafdd13..d6167ce84d 100644 --- a/node/Path.hpp +++ b/node/Path.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/Peer.cpp b/node/Peer.cpp index 2040a3b4d9..f77b4e6fd1 100644 --- a/node/Peer.cpp +++ b/node/Peer.cpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/Peer.hpp b/node/Peer.hpp index e29975b197..777a1e9668 100644 --- a/node/Peer.hpp +++ b/node/Peer.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/Poly1305.hpp b/node/Poly1305.hpp index 36425e341d..2ba57f0407 100644 --- a/node/Poly1305.hpp +++ b/node/Poly1305.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/Revocation.cpp b/node/Revocation.cpp index 9af6d5681f..44e22e3652 100644 --- a/node/Revocation.cpp +++ b/node/Revocation.cpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/Revocation.hpp b/node/Revocation.hpp index dd717168d7..7c4523cd7c 100644 --- a/node/Revocation.hpp +++ b/node/Revocation.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/RingBuffer.hpp b/node/RingBuffer.hpp index 53834b4f70..ac4cb2c083 100644 --- a/node/RingBuffer.hpp +++ b/node/RingBuffer.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/RuntimeEnvironment.hpp b/node/RuntimeEnvironment.hpp index 0196455136..eefa2eedad 100644 --- a/node/RuntimeEnvironment.hpp +++ b/node/RuntimeEnvironment.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/SHA512.hpp b/node/SHA512.hpp index 12ac9583a1..93236a853b 100644 --- a/node/SHA512.hpp +++ b/node/SHA512.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/SelfAwareness.cpp b/node/SelfAwareness.cpp index c87f4e3e83..dab19c6b25 100644 --- a/node/SelfAwareness.cpp +++ b/node/SelfAwareness.cpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/SelfAwareness.hpp b/node/SelfAwareness.hpp index e0fbf91d07..2f7352825d 100644 --- a/node/SelfAwareness.hpp +++ b/node/SelfAwareness.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/SharedPtr.hpp b/node/SharedPtr.hpp index 1116be40ae..e172b578d6 100644 --- a/node/SharedPtr.hpp +++ b/node/SharedPtr.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/Switch.cpp b/node/Switch.cpp index 5ea1653c2a..4fea0d0e90 100644 --- a/node/Switch.cpp +++ b/node/Switch.cpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/Switch.hpp b/node/Switch.hpp index 83ba306b21..0fd9804427 100644 --- a/node/Switch.hpp +++ b/node/Switch.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/Tag.cpp b/node/Tag.cpp index 537da11c92..effb690760 100644 --- a/node/Tag.cpp +++ b/node/Tag.cpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/Tag.hpp b/node/Tag.hpp index c8d00b0c66..c3af4725c7 100644 --- a/node/Tag.hpp +++ b/node/Tag.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/Topology.cpp b/node/Topology.cpp index c2e5bb4b3d..fc272ce547 100644 --- a/node/Topology.cpp +++ b/node/Topology.cpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/Topology.hpp b/node/Topology.hpp index 248b117824..53c2b6d5b1 100644 --- a/node/Topology.hpp +++ b/node/Topology.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/Trace.cpp b/node/Trace.cpp index 8a9b7b2842..b6e72e31bd 100644 --- a/node/Trace.cpp +++ b/node/Trace.cpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/Trace.hpp b/node/Trace.hpp index f06b4001b4..963941d73b 100644 --- a/node/Trace.hpp +++ b/node/Trace.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/Utils.cpp b/node/Utils.cpp index be39aa0aac..4e53cb590c 100644 --- a/node/Utils.cpp +++ b/node/Utils.cpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/Utils.hpp b/node/Utils.hpp index d13674c1f3..67aa77739f 100644 --- a/node/Utils.hpp +++ b/node/Utils.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/node/World.hpp b/node/World.hpp index a13d59a25f..1c27b85e66 100644 --- a/node/World.hpp +++ b/node/World.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/one.cpp b/one.cpp index 8d37ebdf26..2e4e638478 100644 --- a/one.cpp +++ b/one.cpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/osdep/Arp.cpp b/osdep/Arp.cpp index 1f25a44d50..036d7df6d4 100644 --- a/osdep/Arp.cpp +++ b/osdep/Arp.cpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/osdep/Arp.hpp b/osdep/Arp.hpp index dc777fdb65..9453997f65 100644 --- a/osdep/Arp.hpp +++ b/osdep/Arp.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/osdep/BSDEthernetTap.cpp b/osdep/BSDEthernetTap.cpp index b2e1a8760d..3114306ee5 100644 --- a/osdep/BSDEthernetTap.cpp +++ b/osdep/BSDEthernetTap.cpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/osdep/BSDEthernetTap.hpp b/osdep/BSDEthernetTap.hpp index fc4e4908e9..9700fb3654 100644 --- a/osdep/BSDEthernetTap.hpp +++ b/osdep/BSDEthernetTap.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/osdep/Binder.hpp b/osdep/Binder.hpp index 614c6e725b..23e6393af2 100644 --- a/osdep/Binder.hpp +++ b/osdep/Binder.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/osdep/BlockingQueue.hpp b/osdep/BlockingQueue.hpp index c3695e7089..c9417b74e1 100644 --- a/osdep/BlockingQueue.hpp +++ b/osdep/BlockingQueue.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/osdep/EthernetTap.cpp b/osdep/EthernetTap.cpp index 445a5fe438..fdda8fe15b 100644 --- a/osdep/EthernetTap.cpp +++ b/osdep/EthernetTap.cpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/osdep/EthernetTap.hpp b/osdep/EthernetTap.hpp index 893e70c340..e6833c33d2 100644 --- a/osdep/EthernetTap.hpp +++ b/osdep/EthernetTap.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/osdep/Http.cpp b/osdep/Http.cpp index 173e719859..d392cd5405 100644 --- a/osdep/Http.cpp +++ b/osdep/Http.cpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/osdep/Http.hpp b/osdep/Http.hpp index 0854fa1aac..6e669ab25e 100644 --- a/osdep/Http.hpp +++ b/osdep/Http.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/osdep/LinuxEthernetTap.cpp b/osdep/LinuxEthernetTap.cpp index a888db9d90..11dd8c0cf3 100644 --- a/osdep/LinuxEthernetTap.cpp +++ b/osdep/LinuxEthernetTap.cpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/osdep/LinuxEthernetTap.hpp b/osdep/LinuxEthernetTap.hpp index 424a6d37e1..6353f8661b 100644 --- a/osdep/LinuxEthernetTap.hpp +++ b/osdep/LinuxEthernetTap.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/osdep/LinuxNetLink.cpp b/osdep/LinuxNetLink.cpp index d5886dfa68..00b79b1a1c 100644 --- a/osdep/LinuxNetLink.cpp +++ b/osdep/LinuxNetLink.cpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/osdep/LinuxNetLink.hpp b/osdep/LinuxNetLink.hpp index 22222e4687..f7d8ba2d41 100644 --- a/osdep/LinuxNetLink.hpp +++ b/osdep/LinuxNetLink.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/osdep/MacEthernetTap.cpp b/osdep/MacEthernetTap.cpp index 37f27f87a2..fdb584eeee 100644 --- a/osdep/MacEthernetTap.cpp +++ b/osdep/MacEthernetTap.cpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/osdep/MacEthernetTap.hpp b/osdep/MacEthernetTap.hpp index 8ba378022b..e9ea0879b0 100644 --- a/osdep/MacEthernetTap.hpp +++ b/osdep/MacEthernetTap.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/osdep/MacEthernetTapAgent.c b/osdep/MacEthernetTapAgent.c index ca75ed0542..0b2fcb85b1 100644 --- a/osdep/MacEthernetTapAgent.c +++ b/osdep/MacEthernetTapAgent.c @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/osdep/MacEthernetTapAgent.h b/osdep/MacEthernetTapAgent.h index d5f24ccda7..da6e341957 100644 --- a/osdep/MacEthernetTapAgent.h +++ b/osdep/MacEthernetTapAgent.h @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/osdep/MacKextEthernetTap.cpp b/osdep/MacKextEthernetTap.cpp index fce0c121de..d52d679474 100644 --- a/osdep/MacKextEthernetTap.cpp +++ b/osdep/MacKextEthernetTap.cpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/osdep/MacKextEthernetTap.hpp b/osdep/MacKextEthernetTap.hpp index 4c61c28435..46b0915f18 100644 --- a/osdep/MacKextEthernetTap.hpp +++ b/osdep/MacKextEthernetTap.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/osdep/ManagedRoute.cpp b/osdep/ManagedRoute.cpp index d51e548bb3..9be2eda11b 100644 --- a/osdep/ManagedRoute.cpp +++ b/osdep/ManagedRoute.cpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/osdep/ManagedRoute.hpp b/osdep/ManagedRoute.hpp index 004aea48ff..4cadedaa77 100644 --- a/osdep/ManagedRoute.hpp +++ b/osdep/ManagedRoute.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/osdep/NeighborDiscovery.cpp b/osdep/NeighborDiscovery.cpp index d5a0219bac..5e03282d99 100644 --- a/osdep/NeighborDiscovery.cpp +++ b/osdep/NeighborDiscovery.cpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/osdep/NeighborDiscovery.hpp b/osdep/NeighborDiscovery.hpp index d8b32ac949..b25dafb919 100644 --- a/osdep/NeighborDiscovery.hpp +++ b/osdep/NeighborDiscovery.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/osdep/NetBSDEthernetTap.cpp b/osdep/NetBSDEthernetTap.cpp index 7b3c101f9c..5627f5f113 100644 --- a/osdep/NetBSDEthernetTap.cpp +++ b/osdep/NetBSDEthernetTap.cpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/osdep/NetBSDEthernetTap.hpp b/osdep/NetBSDEthernetTap.hpp index c25e5a1654..1809d1f60a 100644 --- a/osdep/NetBSDEthernetTap.hpp +++ b/osdep/NetBSDEthernetTap.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/osdep/OSUtils.cpp b/osdep/OSUtils.cpp index 67536c56a3..e98a2c70b7 100644 --- a/osdep/OSUtils.cpp +++ b/osdep/OSUtils.cpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/osdep/OSUtils.hpp b/osdep/OSUtils.hpp index 43df98cb89..f8214efa98 100644 --- a/osdep/OSUtils.hpp +++ b/osdep/OSUtils.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/osdep/Phy.hpp b/osdep/Phy.hpp index fc94ae97dc..14cf92ca75 100644 --- a/osdep/Phy.hpp +++ b/osdep/Phy.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/osdep/PortMapper.cpp b/osdep/PortMapper.cpp index 1228a95a20..49e88c8a3c 100644 --- a/osdep/PortMapper.cpp +++ b/osdep/PortMapper.cpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/osdep/PortMapper.hpp b/osdep/PortMapper.hpp index c05021346f..c74df0c109 100644 --- a/osdep/PortMapper.hpp +++ b/osdep/PortMapper.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/osdep/Thread.hpp b/osdep/Thread.hpp index 0c357cd2de..96d257f442 100644 --- a/osdep/Thread.hpp +++ b/osdep/Thread.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/osdep/WindowsEthernetTap.cpp b/osdep/WindowsEthernetTap.cpp index d41b1155bd..9d644b1714 100644 --- a/osdep/WindowsEthernetTap.cpp +++ b/osdep/WindowsEthernetTap.cpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/osdep/WindowsEthernetTap.hpp b/osdep/WindowsEthernetTap.hpp index a79dac0eca..13721d6519 100644 --- a/osdep/WindowsEthernetTap.hpp +++ b/osdep/WindowsEthernetTap.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/pkg/asustor/zerotier/CONTROL/license.txt b/pkg/asustor/zerotier/CONTROL/license.txt index 205f67af7c..06a3fad643 100644 --- a/pkg/asustor/zerotier/CONTROL/license.txt +++ b/pkg/asustor/zerotier/CONTROL/license.txt @@ -47,7 +47,7 @@ Additional Use Grant: You may make use of the Licensed Work, provided you services, social welfare, senior care, child care, and the care of persons with disabilities. -Change Date: 2025-01-01 +Change Date: 2026-01-01 Change License: Apache License version 2.0 as published by the Apache Software Foundation diff --git a/rule-compiler/rule-compiler.js b/rule-compiler/rule-compiler.js index d7771169cf..81bd5e06c7 100644 --- a/rule-compiler/rule-compiler.js +++ b/rule-compiler/rule-compiler.js @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. @@ -208,13 +208,12 @@ const MATCH_ARG_COUNTS = { const INTL_ALPHANUM_REGEX = new RegExp('[0-9A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]'); // Checks whether something is a valid capability, tag, or macro name -function _isValidName(n) -{ - if ((typeof n !== 'string')||(n.length === 0)) return false; +function _isValidName(n) { + if ((typeof n !== 'string') || (n.length === 0)) return false; if ("0123456789".indexOf(n.charAt(0)) >= 0) return false; - for(let i=0;i 2)&&(n.substr(0,2) === '0x')) - n = parseInt(n.substr(2),16); - else n = parseInt(n,10); - return (((typeof n === 'number')&&(n !== null)&&(!isNaN(n))) ? n : -1); + if ((n.length > 2) && (n.substr(0, 2) === '0x')) + n = parseInt(n.substr(2), 16); + else n = parseInt(n, 10); + return (((typeof n === 'number') && (n !== null) && (!isNaN(n))) ? n : -1); } catch (e) { return -1; } } -function _cleanMac(m) -{ +function _cleanMac(m) { m = m.toLowerCase(); var m2 = ''; let charcount = 0; - for(let i=0;((i= 0) { m2 += c; charcount++; - if ((m2.length > 0)&&(m2.length !== 17)&&(charcount >= 2) ) { + if ((m2.length > 0) && (m2.length !== 17) && (charcount >= 2)) { m2 += ':'; - charcount=0; + charcount = 0; } } } return m2; } -function _cleanHex(m) -{ +function _cleanHex(m) { m = m.toLowerCase(); var m2 = ''; - for(let i=0;i= 0) m2 += c; @@ -269,13 +265,12 @@ function _cleanHex(m) return m2; } -function _renderMatches(mtree,rules,macros,caps,tags,params) -{ +function _renderMatches(mtree, rules, macros, caps, tags, params) { let not = false; let or = false; - for(let k=0;k= mtree.length) - return [ mtree[k - 1][1],mtree[k - 1][2],'Missing argument(s) to match.' ]; + return [mtree[k - 1][1], mtree[k - 1][2], 'Missing argument(s) to match.']; let arg = mtree[k][0]; - if ((typeof arg !== 'string')||(arg in RESERVED_WORDS)||(arg.length === 0)) - return [ mtree[k - 1][1],mtree[k - 1][2],'Missing argument(s) to match (invalid argument or argument is reserved word).' ]; + if ((typeof arg !== 'string') || (arg in RESERVED_WORDS) || (arg.length === 0)) + return [mtree[k - 1][1], mtree[k - 1][2], 'Missing argument(s) to match (invalid argument or argument is reserved word).']; if (arg.charAt(0) === '$') { let tmp = params[arg]; if (typeof tmp === 'undefined') - return [ mtree[k][1],mtree[k][2],'Undefined variable name.' ]; - args.push([ tmp,mtree[k][1],mtree[k][2] ]); + return [mtree[k][1], mtree[k][2], 'Undefined variable name.']; + args.push([tmp, mtree[k][1], mtree[k][2]]); } else { args.push(mtree[k]); } } - switch(match) { + switch (match) { case 'ztsrc': case 'ztdest': { let zt = _cleanHex(args[0][0]); if (zt.length !== 10) - return [ args[0][1],args[0][2],'Invalid ZeroTier address.' ]; + return [args[0][1], args[0][2], 'Invalid ZeroTier address.']; rules.push({ 'type': KEYWORD_TO_API_MAP[match], 'not': not, 'or': or, 'zt': zt }); - } break; + } break; case 'vlan': case 'vlanpcp': @@ -328,14 +323,14 @@ function _renderMatches(mtree,rules,macros,caps,tags,params) } if (typeof num !== 'number') num = _parseNum(args[0][0]); - if ((typeof num !== 'number')||(num < 0)||(num > 0xffffffff)||(num === null)) - return [ args[0][1],args[0][2],'Invalid numeric value.' ]; + if ((typeof num !== 'number') || (num < 0) || (num > 0xffffffff) || (num === null)) + return [args[0][1], args[0][2], 'Invalid numeric value.']; let r = { 'type': KEYWORD_TO_API_MAP[match], 'not': not, 'or': or }; - switch(match) { + switch (match) { case 'vlan': r['vlanId'] = num; break; case 'vlanpcp': r['vlanPcp'] = num; break; case 'vlandei': r['vlanDei'] = num; break; @@ -343,10 +338,10 @@ function _renderMatches(mtree,rules,macros,caps,tags,params) case 'ipprotocol': r['ipProtocol'] = num; break; } rules.push(r); - } break; + } break; case 'random': { - let num = parseFloat(args[0][0])||0.0; + let num = parseFloat(args[0][0]) || 0.0; if (num < 0.0) num = 0.0; if (num > 1.0) num = 1.0; rules.push({ @@ -355,28 +350,28 @@ function _renderMatches(mtree,rules,macros,caps,tags,params) 'or': or, 'probability': Math.floor(4294967295 * num) }); - } break; + } break; case 'macsrc': case 'macdest': { let mac = _cleanMac(args[0][0]); if (mac.length !== 17) - return [ args[0][1],args[0][2],'Invalid MAC address.' ]; + return [args[0][1], args[0][2], 'Invalid MAC address.']; rules.push({ 'type': KEYWORD_TO_API_MAP[match], 'not': not, 'or': or, 'mac': mac }); - } break; + } break; case 'ipsrc': case 'ipdest': { let ip = args[0][0]; let slashIdx = ip.indexOf('/'); if (slashIdx <= 0) - return [ args[0][1],args[0][2],'Missing /bits netmask length designation in IP.' ]; - let ipOnly = ip.substr(0,slashIdx); + return [args[0][1], args[0][2], 'Missing /bits netmask length designation in IP.']; + let ipOnly = ip.substr(0, slashIdx); if (IPV6_REGEX.test(ipOnly)) { rules.push({ 'type': ((match === 'ipsrc') ? 'MATCH_IPV6_SOURCE' : 'MATCH_IPV6_DEST'), @@ -392,17 +387,17 @@ function _renderMatches(mtree,rules,macros,caps,tags,params) 'ip': ip }); } else { - return [ args[0][1],args[0][2],'Invalid IP address (not valid IPv4 or IPv6).' ]; + return [args[0][1], args[0][2], 'Invalid IP address (not valid IPv4 or IPv6).']; } - } break; + } break; case 'icmp': { let icmpType = _parseNum(args[0][0]); - if ((icmpType < 0)||(icmpType > 0xff)) - return [ args[0][1],args[0][2],'Missing or invalid ICMP type.' ]; + if ((icmpType < 0) || (icmpType > 0xff)) + return [args[0][1], args[0][2], 'Missing or invalid ICMP type.']; let icmpCode = _parseNum(args[1][0]); // -1 okay, indicates don't match code if (icmpCode > 0xff) - return [ args[1][1],args[1][2],'Invalid ICMP code (use -1 for none).' ]; + return [args[1][1], args[1][2], 'Invalid ICMP code (use -1 for none).']; rules.push({ 'type': 'MATCH_ICMP', 'not': not, @@ -410,7 +405,7 @@ function _renderMatches(mtree,rules,macros,caps,tags,params) 'icmpType': icmpType, 'icmpCode': ((icmpCode < 0) ? null : icmpCode) }); - } break; + } break; case 'sport': case 'dport': @@ -421,7 +416,7 @@ function _renderMatches(mtree,rules,macros,caps,tags,params) if (arg.indexOf('-') > 0) { let asplit = arg.split('-'); if (asplit.length !== 2) { - return [ args[0][1],args[0][2],'Invalid numeric range.' ]; + return [args[0][1], args[0][2], 'Invalid numeric range.']; } else { fn = _parseNum(asplit[0]); tn = _parseNum(asplit[1]); @@ -430,8 +425,8 @@ function _renderMatches(mtree,rules,macros,caps,tags,params) fn = _parseNum(arg); tn = fn; } - if ((fn < 0)||(fn > 0xffff)||(tn < 0)||(tn > 0xffff)||(tn < fn)) - return [ args[0][1],args[0][2],'Invalid numeric range.' ]; + if ((fn < 0) || (fn > 0xffff) || (tn < 0) || (tn > 0xffff) || (tn < fn)) + return [args[0][1], args[0][2], 'Invalid numeric range.']; rules.push({ 'type': KEYWORD_TO_API_MAP[match], 'not': not, @@ -439,19 +434,19 @@ function _renderMatches(mtree,rules,macros,caps,tags,params) 'start': fn, 'end': tn }); - } break; + } break; case 'iptos': { let mask = _parseNum(args[0][0]); - if ((typeof mask !== 'number')||(mask < 0)||(mask > 0xff)||(mask === null)) - return [ args[0][1],args[0][2],'Invalid mask.' ]; + if ((typeof mask !== 'number') || (mask < 0) || (mask > 0xff) || (mask === null)) + return [args[0][1], args[0][2], 'Invalid mask.']; let arg = args[1][0]; let fn = null; let tn = null; if (arg.indexOf('-') > 0) { let asplit = arg.split('-'); if (asplit.length !== 2) { - return [ args[1][1],args[1][2],'Invalid value range.' ]; + return [args[1][1], args[1][2], 'Invalid value range.']; } else { fn = _parseNum(asplit[0]); tn = _parseNum(asplit[1]); @@ -460,8 +455,8 @@ function _renderMatches(mtree,rules,macros,caps,tags,params) fn = _parseNum(arg); tn = fn; } - if ((fn < 0)||(fn > 0xff)||(tn < 0)||(tn > 0xff)||(tn < fn)) - return [ args[1][1],args[1][2],'Invalid value range.' ]; + if ((fn < 0) || (fn > 0xff) || (tn < 0) || (tn > 0xff) || (tn < fn)) + return [args[1][1], args[1][2], 'Invalid value range.']; rules.push({ 'type': 'MATCH_IP_TOS', 'not': not, @@ -470,18 +465,18 @@ function _renderMatches(mtree,rules,macros,caps,tags,params) 'start': fn, 'end': tn }); - } break; + } break; case 'chr': { let chrb = args[0][0].split(/[,]+/); let maskhi = 0; let masklo = 0; - for(let i=0;i 0) { let tmp = CHARACTERISTIC_BITS[chrb[i]]; let bit = (typeof tmp === 'number') ? tmp : _parseNum(chrb[i]); - if ((bit < 0)||(bit > 63)) - return [ args[0][1],args[0][2],'Invalid bit index (range 0-63) or unrecognized name.' ]; + if ((bit < 0) || (bit > 63)) + return [args[0][1], args[0][2], 'Invalid bit index (range 0-63) or unrecognized name.']; if (bit >= 32) maskhi |= Math.abs(1 << (bit - 32)); else masklo |= Math.abs(1 << bit); @@ -497,7 +492,7 @@ function _renderMatches(mtree,rules,macros,caps,tags,params) 'or': or, 'mask': (maskhi + masklo) }); - } break; + } break; case 'tand': case 'tor': @@ -521,10 +516,10 @@ function _renderMatches(mtree,rules,macros,caps,tags,params) tagId = _parseNum(args[0][0]); tagValue = _parseNum(args[1][0]); } - if ((tagId < 0)||(tagId > 0xffffffff)) - return [ args[0][1],args[0][2],'Undefined tag name and invalid tag value.' ]; - if ((tagValue < 0)||(tagValue > 0xffffffff)) - return [ args[1][1],args[1][2],'Invalid tag value or unrecognized flag/enum name.' ]; + if ((tagId < 0) || (tagId > 0xffffffff)) + return [args[0][1], args[0][2], 'Undefined tag name and invalid tag value.']; + if ((tagValue < 0) || (tagValue > 0xffffffff)) + return [args[1][1], args[1][2], 'Invalid tag value or unrecognized flag/enum name.']; rules.push({ 'type': KEYWORD_TO_API_MAP[match], 'not': not, @@ -532,7 +527,7 @@ function _renderMatches(mtree,rules,macros,caps,tags,params) 'id': tagId, 'value': tagValue }); - } break; + } break; } not = false; @@ -542,15 +537,14 @@ function _renderMatches(mtree,rules,macros,caps,tags,params) return null; } -function _renderActions(rtree,rules,macros,caps,tags,params) -{ - for(let k=0;k= rtree.length) - return [ rtree[k][1],rtree[k][2],'Include directive is missing a macro name.' ]; + return [rtree[k][1], rtree[k][2], 'Include directive is missing a macro name.']; let macroName = rtree[k + 1][0]; ++k; @@ -558,47 +552,47 @@ function _renderActions(rtree,rules,macros,caps,tags,params) let parenIdx = macroName.indexOf('('); if (parenIdx > 0) { let pns = macroName.substr(parenIdx + 1).split(/[,)]+/); - for(let k=0;k 0) macroParamArray.push(pns[k]); } - macroName = macroName.substr(0,parenIdx); + macroName = macroName.substr(0, parenIdx); } let macro = macros[macroName]; if (!macro) - return [ rtree[k][1],rtree[k][2],'Macro name not found.' ]; + return [rtree[k][1], rtree[k][2], 'Macro name not found.']; let macroParams = {}; - for(let param in macro.params) { + for (let param in macro.params) { let pidx = macro.params[param]; if (pidx >= macroParamArray.length) - return [ rtree[k][1],rtree[k][2],'Missing one or more required macro parameter.' ]; + return [rtree[k][1], rtree[k][2], 'Missing one or more required macro parameter.']; macroParams[param] = macroParamArray[pidx]; } - let err = _renderActions(macro.rules,rules,macros,caps,tags,macroParams); + let err = _renderActions(macro.rules, rules, macros, caps, tags, macroParams); if (err !== null) return err; - } else if ((action === 'drop')||(action === 'accept')||(action === 'break')) { // actions without arguments - if (((k + 1) < rtree.length)&&(Array.isArray(rtree[k + 1][0]))) { + } else if ((action === 'drop') || (action === 'accept') || (action === 'break')) { // actions without arguments + if (((k + 1) < rtree.length) && (Array.isArray(rtree[k + 1][0]))) { let mtree = rtree[k + 1]; ++k; - let err = _renderMatches(mtree,rules,macros,caps,tags,params); + let err = _renderMatches(mtree, rules, macros, caps, tags, params); if (err !== null) return err; } rules.push({ 'type': KEYWORD_TO_API_MAP[action] }); - } else if ((action === 'tee')||(action === 'watch')) { // actions with arguments (ZeroTier address) - if (((k + 1) < rtree.length)&&(Array.isArray(rtree[k + 1][0]))&&(rtree[k + 1][0].length >= 2)) { + } else if ((action === 'tee') || (action === 'watch')) { // actions with arguments (ZeroTier address) + if (((k + 1) < rtree.length) && (Array.isArray(rtree[k + 1][0])) && (rtree[k + 1][0].length >= 2)) { let mtree = rtree[k + 1]; ++k; let maxLength = _parseNum(mtree[0][0]); - if ((maxLength < -1)||(maxLength > 0xffff)) - return [ mtree[0][1],mtree[1][2],'Tee/watch max packet length to forward invalid or out of range.' ]; + if ((maxLength < -1) || (maxLength > 0xffff)) + return [mtree[0][1], mtree[1][2], 'Tee/watch max packet length to forward invalid or out of range.']; let target = mtree[1][0]; - if ((typeof target !== 'string')||(target.length !== 10)) - return [ mtree[1][1],mtree[1][2],'Missing or invalid ZeroTier address target for tee/watch.' ]; - let err = _renderMatches(mtree.slice(2),rules,macros,caps,tags,params); + if ((typeof target !== 'string') || (target.length !== 10)) + return [mtree[1][1], mtree[1][2], 'Missing or invalid ZeroTier address target for tee/watch.']; + let err = _renderMatches(mtree.slice(2), rules, macros, caps, tags, params); if (err !== null) return err; rules.push({ @@ -607,15 +601,15 @@ function _renderActions(rtree,rules,macros,caps,tags,params) 'length': maxLength }); } else { - return [ rtree[k][1],rtree[k][2],'The tee and watch actions require two paremters (max length or 0 for all, target).' ]; + return [rtree[k][1], rtree[k][2], 'The tee and watch actions require two paremters (max length or 0 for all, target).']; } } else if (action === 'redirect') { - if (((k + 1) < rtree.length)&&(Array.isArray(rtree[k + 1][0]))&&(rtree[k + 1][0].length >= 1)) { + if (((k + 1) < rtree.length) && (Array.isArray(rtree[k + 1][0])) && (rtree[k + 1][0].length >= 1)) { let mtree = rtree[k + 1]; ++k; let target = mtree[0][0]; - if ((typeof target !== 'string')||(target.length !== 10)) - return [ mtree[0][1],mtree[0][2],'Missing or invalid ZeroTier address target for redirect.' ]; - let err = _renderMatches(mtree.slice(1),rules,macros,caps,tags,params); + if ((typeof target !== 'string') || (target.length !== 10)) + return [mtree[0][1], mtree[0][2], 'Missing or invalid ZeroTier address target for redirect.']; + let err = _renderMatches(mtree.slice(1), rules, macros, caps, tags, params); if (err !== null) return err; rules.push({ @@ -623,39 +617,38 @@ function _renderActions(rtree,rules,macros,caps,tags,params) 'address': target }); } else { - return [ rtree[k][1],rtree[k][2],'The redirect action requires a target parameter.' ]; + return [rtree[k][1], rtree[k][2], 'The redirect action requires a target parameter.']; } } else { - return [ rtree[k][1],rtree[k][2],'Unrecognized action or directive in rule set.' ]; + return [rtree[k][1], rtree[k][2], 'Unrecognized action or directive in rule set.']; } } return null; } -function compile(src,rules,caps,tags) -{ +function compile(src, rules, caps, tags) { try { if (typeof src !== 'string') - return [ 0,0,'"src" parameter must be a string.' ]; + return [0, 0, '"src" parameter must be a string.']; // Pass 1: parse source into a tree of arrays of elements. Each element is a 3-item // tuple consisting of string, line number, and character index in line to enable // informative error messages to be returned. - var blockStack = [ [] ]; - var curr = [ '',-1,-1 ]; + var blockStack = [[]]; + var curr = ['', -1, -1]; var skipRestOfLine = false; - for(let idx=0,lineNo=1,lineIdx=0;idx 0) { blockStack[blockStack.length - 1].push(curr); } - if ((endOfBlock)&&(blockStack.length > 1)&&(blockStack[blockStack.length - 1].length > 0)) { + if ((endOfBlock) && (blockStack.length > 1) && (blockStack[blockStack.length - 1].length > 0)) { blockStack[blockStack.length - 2].push(blockStack[blockStack.length - 1]); blockStack.pop(); } else if (curr[0] in OPEN_BLOCK_KEYWORDS) { blockStack.push([]); } - curr = [ '',-1,-1 ]; + curr = ['', -1, -1]; } break; default: @@ -700,11 +693,11 @@ function compile(src,rules,caps,tags) if (curr[0].length > 0) { if (curr[0].charAt(curr[0].length - 1) === ';') - curr[0] = curr[0].substr(0,curr[0].length - 1); + curr[0] = curr[0].substr(0, curr[0].length - 1); if (curr[0].length > 0) blockStack[blockStack.length - 1].push(curr); } - while ((blockStack.length > 1)&&(blockStack[blockStack.length - 1].length > 0)) { + while ((blockStack.length > 1) && (blockStack[blockStack.length - 1].length > 0)) { blockStack[blockStack.length - 2].push(blockStack[blockStack.length - 1]); blockStack.pop(); } @@ -714,13 +707,13 @@ function compile(src,rules,caps,tags) let baseRuleTree = []; let macros = {}; - for(let i=0;i= parsed.length) || (!Array.isArray(parsed[i + 1])) || (parsed[i + 1].length < 1) || (!Array.isArray(parsed[i + 1][0])) ) - return [ parsed[i][1],parsed[i][2],'Macro definition is missing name.' ]; + if (((i + 1) >= parsed.length) || (!Array.isArray(parsed[i + 1])) || (parsed[i + 1].length < 1) || (!Array.isArray(parsed[i + 1][0]))) + return [parsed[i][1], parsed[i][2], 'Macro definition is missing name.']; let macro = parsed[++i]; let macroName = macro[0][0].toLowerCase(); @@ -728,20 +721,20 @@ function compile(src,rules,caps,tags) let parenIdx = macroName.indexOf('('); if (parenIdx > 0) { let pns = macroName.substr(parenIdx + 1).split(/[,)]+/); - for(let k=0;k 0) params[pns[k]] = k; } - macroName = macroName.substr(0,parenIdx); + macroName = macroName.substr(0, parenIdx); } if (!_isValidName(macroName)) - return [ macro[0][1],macro[0][2],'Invalid macro name.' ]; + return [macro[0][1], macro[0][2], 'Invalid macro name.']; if (macroName in RESERVED_WORDS) - return [ macro[0][1],macro[0][2],'Macro name is a reserved word.' ]; + return [macro[0][1], macro[0][2], 'Macro name is a reserved word.']; if (macroName in macros) - return [ macro[0][1],macro[0][2],'Multiple definition of macro name.' ]; + return [macro[0][1], macro[0][2], 'Multiple definition of macro name.']; macros[macroName] = { params: params, @@ -750,81 +743,81 @@ function compile(src,rules,caps,tags) } else if (keyword === 'tag') { // Define tags - if ( ((i + 1) >= parsed.length) || (!Array.isArray(parsed[i + 1])) || (parsed[i + 1].length < 1) || (!Array.isArray(parsed[i + 1][0])) ) - return [ parsed[i][1],parsed[i][2],'Tag definition is missing name.' ]; + if (((i + 1) >= parsed.length) || (!Array.isArray(parsed[i + 1])) || (parsed[i + 1].length < 1) || (!Array.isArray(parsed[i + 1][0]))) + return [parsed[i][1], parsed[i][2], 'Tag definition is missing name.']; let tag = parsed[++i]; let tagName = tag[0][0].toLowerCase(); if (!_isValidName(tagName)) - return [ tag[0][1],tag[0][2],'Invalid tag name.' ]; + return [tag[0][1], tag[0][2], 'Invalid tag name.']; if (tagName in RESERVED_WORDS) - return [ tag[0][1],tag[0][2],'Tag name is a reserved word.' ]; + return [tag[0][1], tag[0][2], 'Tag name is a reserved word.']; if (tagName in tags) - return [ tag[0][1],tag[0][2],'Multiple definition of tag name.' ]; + return [tag[0][1], tag[0][2], 'Multiple definition of tag name.']; let flags = {}; let enums = {}; let id = -1; let dfl = null; - for(let k=1;k= 0) - return [ tag[k][1],tag[k][2],'Duplicate tag id definition.' ]; + return [tag[k][1], tag[k][2], 'Duplicate tag id definition.']; if ((k + 1) >= tag.length) - return [ tag[k][1],tag[k][2],'Missing numeric value for ID.' ]; + return [tag[k][1], tag[k][2], 'Missing numeric value for ID.']; id = _parseNum(tag[++k][0]); - if ((id < 0)||(id > 0xffffffff)) - return [ tag[k][1],tag[k][2],'Invalid or out of range tag ID.' ]; + if ((id < 0) || (id > 0xffffffff)) + return [tag[k][1], tag[k][2], 'Invalid or out of range tag ID.']; } else if (tkeyword === 'default') { if (dfl !== null) - return [ tag[k][1],tag[k][2],'Duplicate tag default directive.' ]; + return [tag[k][1], tag[k][2], 'Duplicate tag default directive.']; if ((k + 1) >= tag.length) - return [ tag[k][1],tag[k][2],'Missing value for default.' ]; + return [tag[k][1], tag[k][2], 'Missing value for default.']; dfl = tag[++k][0]; } else if (tkeyword === 'flag') { if ((k + 2) >= tag.length) - return [ tag[k][1],tag[k][2],'Missing tag flag name or bit index.' ]; + return [tag[k][1], tag[k][2], 'Missing tag flag name or bit index.']; ++k; let bits = tag[k][0].split(/[,]+/); let mask = 0; - for(let j=0;j 31)) - return [ tag[k][1],tag[k][2],'Bit index invalid, out of range, or references an undefined flag name.' ]; + if ((b < 0) || (b > 31)) + return [tag[k][1], tag[k][2], 'Bit index invalid, out of range, or references an undefined flag name.']; mask |= (1 << b); } } let flagName = tag[++k][0].toLowerCase(); if (!_isValidName(flagName)) - return [ tag[k][1],tag[k][2],'Invalid or reserved flag name.' ]; + return [tag[k][1], tag[k][2], 'Invalid or reserved flag name.']; if (flagName in flags) - return [ tag[k][1],tag[k][2],'Duplicate flag name in tag definition.' ]; + return [tag[k][1], tag[k][2], 'Duplicate flag name in tag definition.']; flags[flagName] = mask; } else if (tkeyword === 'enum') { if ((k + 2) >= tag.length) - return [ tag[k][1],tag[k][2],'Missing tag enum name or value.' ]; + return [tag[k][1], tag[k][2], 'Missing tag enum name or value.']; ++k; let value = _parseNum(tag[k][0]); - if ((value < 0)||(value > 0xffffffff)) - return [ tag[k][1],tag[k][2],'Tag enum value invalid or out of range.' ]; + if ((value < 0) || (value > 0xffffffff)) + return [tag[k][1], tag[k][2], 'Tag enum value invalid or out of range.']; let enumName = tag[++k][0].toLowerCase(); if (!_isValidName(enumName)) - return [ tag[k][1],tag[k][2],'Invalid or reserved tag enum name.' ]; + return [tag[k][1], tag[k][2], 'Invalid or reserved tag enum name.']; if (enumName in enums) - return [ tag[k][1],tag[k][2],'Duplicate enum name in tag definition.' ]; + return [tag[k][1], tag[k][2], 'Duplicate enum name in tag definition.']; enums[enumName] = value; } else { - return [ tag[k][1],tag[k][2],'Unrecognized keyword in tag definition.' ]; + return [tag[k][1], tag[k][2], 'Unrecognized keyword in tag definition.']; } } if (id < 0) - return [ tag[0][1],tag[0][2],'Tag definition is missing a numeric ID.' ]; + return [tag[0][1], tag[0][2], 'Tag definition is missing a numeric ID.']; if (typeof dfl === 'string') { let dfl2 = enums[dfl]; @@ -835,7 +828,7 @@ function compile(src,rules,caps,tags) if (typeof dfl2 === 'number') { dfl = dfl2; } else { - dfl = Math.abs(parseInt(dfl)||0) & 0xffffffff; + dfl = Math.abs(parseInt(dfl) || 0) & 0xffffffff; } } } else if (typeof dfl === 'number') { @@ -851,35 +844,35 @@ function compile(src,rules,caps,tags) } else if (keyword === 'cap') { // Define capabilities - if ( ((i + 1) >= parsed.length) || (!Array.isArray(parsed[i + 1])) || (parsed[i + 1].length < 1) || (!Array.isArray(parsed[i + 1][0])) ) - return [ parsed[i][1],parsed[i][2],'Capability definition is missing name.' ]; + if (((i + 1) >= parsed.length) || (!Array.isArray(parsed[i + 1])) || (parsed[i + 1].length < 1) || (!Array.isArray(parsed[i + 1][0]))) + return [parsed[i][1], parsed[i][2], 'Capability definition is missing name.']; let cap = parsed[++i]; let capName = cap[0][0].toLowerCase(); if (!_isValidName(capName)) - return [ cap[0][1],cap[0][2],'Invalid capability name.' ]; + return [cap[0][1], cap[0][2], 'Invalid capability name.']; if (capName in RESERVED_WORDS) - return [ cap[0][1],cap[0][2],'Capability name is a reserved word.' ]; + return [cap[0][1], cap[0][2], 'Capability name is a reserved word.']; if (capName in caps) - return [ cap[0][1],cap[0][2],'Multiple definition of capability name.' ]; + return [cap[0][1], cap[0][2], 'Multiple definition of capability name.']; let capRules = []; let id = -1; let dfl = false; - for(let k=1;k= 0) - return [ cap[k][1],cap[k][2],'Duplicate id directive in capability definition.' ]; + return [cap[k][1], cap[k][2], 'Duplicate id directive in capability definition.']; if ((k + 1) >= cap.length) - return [ cap[k][1],cap[k][2],'Missing value for ID.' ]; + return [cap[k][1], cap[k][2], 'Missing value for ID.']; id = _parseNum(cap[++k][0]); - if ((id < 0)||(id > 0xffffffff)) - return [ cap[k - 1][1],cap[k - 1][2],'Invalid or out of range capability ID.' ]; - for(let cn in caps) { + if ((id < 0) || (id > 0xffffffff)) + return [cap[k - 1][1], cap[k - 1][2], 'Invalid or out of range capability ID.']; + for (let cn in caps) { if (caps[cn].id === id) - return [ cap[k - 1][1],cap[k - 1][2],'Duplicate capability ID.' ]; + return [cap[k - 1][1], cap[k - 1][2], 'Duplicate capability ID.']; } } else if (dn === 'default') { dfl = true; @@ -888,7 +881,7 @@ function compile(src,rules,caps,tags) } } if (id < 0) - return [ cap[0][1],cap[0][2],'Capability definition is missing a numeric ID.' ]; + return [cap[0][1], cap[0][2], 'Capability definition is missing a numeric ID.']; caps[capName] = { 'id': id, @@ -902,22 +895,22 @@ function compile(src,rules,caps,tags) // Pass 3: render low-level ZeroTier rules arrays for capabilities and base. - for(let capName in caps) { + for (let capName in caps) { let r = []; - let err = _renderActions(caps[capName].rules,r,macros,caps,tags,{}); + let err = _renderActions(caps[capName].rules, r, macros, caps, tags, {}); if (err !== null) return err; caps[capName].rules = r; } - let err = _renderActions(baseRuleTree,rules,macros,caps,tags,{}); + let err = _renderActions(baseRuleTree, rules, macros, caps, tags, {}); if (err !== null) return err; return null; } catch (e) { console.log(e.stack); - return [ 0,0,'Unexpected exception: '+e.toString() ]; + return [0, 0, 'Unexpected exception: ' + e.toString()]; } } diff --git a/rustybits/smeeclient/src/ext.rs b/rustybits/smeeclient/src/ext.rs index f0d5c0d99c..01753442c0 100644 --- a/rustybits/smeeclient/src/ext.rs +++ b/rustybits/smeeclient/src/ext.rs @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/rustybits/smeeclient/src/lib.rs b/rustybits/smeeclient/src/lib.rs index 8743791d0f..d48876e2a2 100644 --- a/rustybits/smeeclient/src/lib.rs +++ b/rustybits/smeeclient/src/lib.rs @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/rustybits/zeroidc/src/error.rs b/rustybits/zeroidc/src/error.rs index a3907c2d65..4495254d1d 100644 --- a/rustybits/zeroidc/src/error.rs +++ b/rustybits/zeroidc/src/error.rs @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/rustybits/zeroidc/src/ext.rs b/rustybits/zeroidc/src/ext.rs index 28d88dc1f7..089ceccf36 100644 --- a/rustybits/zeroidc/src/ext.rs +++ b/rustybits/zeroidc/src/ext.rs @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/rustybits/zeroidc/src/lib.rs b/rustybits/zeroidc/src/lib.rs index edf20481be..9f4c783df5 100644 --- a/rustybits/zeroidc/src/lib.rs +++ b/rustybits/zeroidc/src/lib.rs @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/selftest.cpp b/selftest.cpp index f2d1d14dfd..0a18caa743 100644 --- a/selftest.cpp +++ b/selftest.cpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/service/OneService.cpp b/service/OneService.cpp index b06bcb9bdb..88a516ebdd 100644 --- a/service/OneService.cpp +++ b/service/OneService.cpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/service/OneService.hpp b/service/OneService.hpp index b9c2cee553..3f8947ae69 100644 --- a/service/OneService.hpp +++ b/service/OneService.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/service/SoftwareUpdater.cpp b/service/SoftwareUpdater.cpp index 8294e63c12..8335e3894b 100644 --- a/service/SoftwareUpdater.cpp +++ b/service/SoftwareUpdater.cpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/service/SoftwareUpdater.hpp b/service/SoftwareUpdater.hpp index a1ec340e3a..59e62d5b60 100644 --- a/service/SoftwareUpdater.hpp +++ b/service/SoftwareUpdater.hpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/version.h b/version.h index 2eb7c2bc3f..5c6c93dc97 100644 --- a/version.h +++ b/version.h @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/windows/ZeroTierOne/ZeroTierOneService.cpp b/windows/ZeroTierOne/ZeroTierOneService.cpp index c1de4ed97e..033a9d219d 100644 --- a/windows/ZeroTierOne/ZeroTierOneService.cpp +++ b/windows/ZeroTierOne/ZeroTierOneService.cpp @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/windows/ZeroTierOne/ZeroTierOneService.h b/windows/ZeroTierOne/ZeroTierOneService.h index ac91248563..8fe20996a8 100644 --- a/windows/ZeroTierOne/ZeroTierOneService.h +++ b/windows/ZeroTierOne/ZeroTierOneService.h @@ -4,7 +4,7 @@ * Use of this software is governed by the Business Source License included * in the LICENSE.TXT file in the project's root directory. * - * Change Date: 2025-01-01 + * Change Date: 2026-01-01 * * On the date above, in accordance with the Business Source License, use * of this software will be governed by version 2.0 of the Apache License. diff --git a/zerotier-one.spec b/zerotier-one.spec index 87329705c4..5c2c9d8108 100644 --- a/zerotier-one.spec +++ b/zerotier-one.spec @@ -1,5 +1,5 @@ Name: zerotier-one -Version: 1.12.2 +Version: 1.14.0 Release: 1%{?dist} Summary: ZeroTier network virtualization service @@ -15,20 +15,32 @@ Requires(pre): /usr/sbin/useradd, /usr/bin/getent %endif %if "%{?dist}" == ".fc36" -BuildRequires: systemd clang openssl1.1 openssl1.1-devel -Requires: systemd openssl1.1 +BuildRequires: systemd clang openssl openssl-devel +Requires: systemd openssl Requires(pre): /usr/sbin/useradd, /usr/bin/getent %endif %if "%{?dist}" == ".fc37" -BuildRequires: systemd clang openssl1.1 openssl1.1-devel -Requires: systemd openssl1.1 +BuildRequires: systemd clang openssl openssl-devel +Requires: systemd openssl Requires(pre): /usr/sbin/useradd, /usr/bin/getent %endif %if "%{?dist}" == ".fc38" -BuildRequires: systemd clang openssl1.1 openssl1.1-devel -Requires: systemd openssl1.1 +BuildRequires: systemd clang openssl openssl-devel +Requires: systemd openssl +Requires(pre): /usr/sbin/useradd, /usr/bin/getent +%endif + +%if "%{?dist}" == ".fc39" +BuildRequires: systemd clang openssl openssl-devel +Requires: systemd openssl +Requires(pre): /usr/sbin/useradd, /usr/bin/getent +%endif + +%if "%{?dist}" == ".fc40" +BuildRequires: systemd clang openssl openssl-devel +Requires: systemd openssl Requires(pre): /usr/sbin/useradd, /usr/bin/getent %endif @@ -143,6 +155,9 @@ chmod 0755 $RPM_BUILD_ROOT/etc/init.d/zerotier-one %endif %changelog +* Tue Mar 19 2024 Adam Ierymenko - 1.14.0 +- see https://github.com/zerotier/ZeroTierOne for release notes + * Tue Sep 12 2023 Adam Ierymenko - 1.12.2 - see https://github.com/zerotier/ZeroTierOne for release notes