ZeroTierOne/osdep
Adam Ierymenko 1c5897895b
1.10.4 merge into main (#1893)
* add note about forceTcpRelay

* Create a sample systemd unit for tcp proxy

* set gitattributes for rust & cargo so hashes dont conflict on Windows

* Revert "set gitattributes for rust & cargo so hashes dont conflict on Windows"

This reverts commit 032dc5c108.

* Turn off autocrlf for rust source

Doesn't appear to play nice well when it comes to git and vendored cargo package hashes

* Fix #1883 (#1886)

Still unknown as to why, but the call to `nc->GetProperties()` can fail
when setting a friendly name on the Windows virtual ethernet adapter.
Ensure that `ncp` is not null before continuing and accessing the device
GUID.

* Don't vendor packages for zeroidc (#1885)

* Added docker environment way to join networks (#1871)

* add StringUtils

* fix headers
use recommended headers and remove unused headers

* move extern "C"
only JNI functions need to be exported

* cleanup

* fix ANDROID-50: RESULT_ERROR_BAD_PARAMETER typo

* fix typo in log message

* fix typos in JNI method signatures

* fix typo

* fix ANDROID-51: fieldName is uninitialized

* fix ANDROID-35: memory leak

* fix missing DeleteLocalRef in loops

* update to use unique error codes

* add GETENV macro

* add LOG_TAG defines

* ANDROID-48: add ZT_jnicache.cpp

* ANDROID-48: use ZT_jnicache.cpp and remove ZT_jnilookup.cpp and ZT_jniarray.cpp

* add Event.fromInt

* add PeerRole.fromInt

* add ResultCode.fromInt

* fix ANDROID-36: issues with ResultCode

* add VirtualNetworkConfigOperation.fromInt

* fix ANDROID-40: VirtualNetworkConfigOperation out-of-sync with ZT_VirtualNetworkConfigOperation enum

* add VirtualNetworkStatus.fromInt

* fix ANDROID-37: VirtualNetworkStatus out-of-sync with ZT_VirtualNetworkStatus enum

* add VirtualNetworkType.fromInt

* make NodeStatus a plain data class

* fix ANDROID-52: synchronization bug with nodeMap

* Node init work: separate Node construction and init

* add Node.toString

* make PeerPhysicalPath a plain data class

* remove unused PeerPhysicalPath.fixed

* add array functions

* make Peer a plain data class

* make Version a plain data class

* fix ANDROID-42: copy/paste error

* fix ANDROID-49: VirtualNetworkConfig.equals is wrong

* reimplement VirtualNetworkConfig.equals

* reimplement VirtualNetworkConfig.compareTo

* add VirtualNetworkConfig.hashCode

* make VirtualNetworkConfig a plain data class

* remove unused VirtualNetworkConfig.enabled

* reimplement VirtualNetworkDNS.equals

* add VirtualNetworkDNS.hashCode

* make VirtualNetworkDNS a plain data class

* reimplement VirtualNetworkRoute.equals

* reimplement VirtualNetworkRoute.compareTo

* reimplement VirtualNetworkRoute.toString

* add VirtualNetworkRoute.hashCode

* make VirtualNetworkRoute a plain data class

* add isSocketAddressEmpty

* add addressPort

* add fromSocketAddressObject

* invert logic in a couple of places and return early

* newInetAddress and newInetSocketAddress work
allow newInetSocketAddress to return NULL if given empty address

* fix ANDROID-38: stack corruption in onSendPacketRequested

* use GETENV macro

* JniRef work
JniRef does not use callbacks struct, so remove
fix NewGlobalRef / DeleteGlobalRef mismatch

* use PRId64 macros

* switch statement work

* comments and logging

* Modifier 'public' is redundant for interface members

* NodeException can be made a checked Exception

* 'NodeException' does not define a 'serialVersionUID' field

* 'finalize()' should not be overridden
this is fine to do because ZeroTierOneService calls close() when it is done

* error handling, error reporting, asserts, logging

* simplify loadLibrary

* rename Node.networks -> Node.networkConfigs

* Windows file permissions fix (#1887)

* Allow macOS interfaces to use multiple IP addresses (#1879)

Co-authored-by: Sean OMeara <someara@users.noreply.github.com>
Co-authored-by: Grant Limberg <glimberg@users.noreply.github.com>

* Fix condition where full HELLOs might not be sent when necessary (#1877)

Co-authored-by: Grant Limberg <glimberg@users.noreply.github.com>

* 1.10.4 version bumps

* Add security policy to repo (#1889)

* [+] add e2k64 arch (#1890)

* temp fix for ANDROID-56: crash inside newNetworkConfig from too many args

* 1.10.4 release notes

---------

Co-authored-by: travis laduke <travisladuke@gmail.com>
Co-authored-by: Grant Limberg <grant.limberg@zerotier.com>
Co-authored-by: Grant Limberg <glimberg@users.noreply.github.com>
Co-authored-by: Leonardo Amaral <leleobhz@users.noreply.github.com>
Co-authored-by: Brenton Bostick <bostick@gmail.com>
Co-authored-by: Sean OMeara <someara@users.noreply.github.com>
Co-authored-by: Joseph Henry <joseph-henry@users.noreply.github.com>
Co-authored-by: Roman Peshkichev <roman.peshkichev@gmail.com>
2023-03-07 16:50:34 -05:00
..
Arp.cpp BSL date bump 2020-08-20 12:51:39 -07:00
Arp.hpp BSL date bump 2020-08-20 12:51:39 -07:00
Binder.hpp prevent: warning: unused variable 'gotViaProc' (#1797) 2022-11-29 17:55:33 +01:00
BlockingQueue.hpp Split Linux tap receive into two threads: one reader, one processor. 2020-11-16 21:40:25 -05:00
BSDEthernetTap.cpp BSD: add debug fprintfs for external commands 2021-04-15 06:37:01 +00:00
BSDEthernetTap.hpp BSL date bump 2020-08-20 12:51:39 -07:00
EthernetTap.cpp Automatically detect Ethernet tap friendly name in Windows shouldBind stuff. 2021-03-16 10:12:55 -04:00
EthernetTap.hpp Automatically detect Ethernet tap friendly name in Windows shouldBind stuff. 2021-03-16 10:12:55 -04:00
freebsd_getifmaddrs.c cleanup 2016-12-27 11:57:05 +01:00
freebsd_getifmaddrs.h Updated licenses for 2019 2019-01-14 10:25:53 -08:00
Http.cpp BSL date bump 2020-08-20 12:51:39 -07:00
Http.hpp Use lowercase when including Windows headers 2021-12-29 16:29:08 -05:00
LinuxEthernetTap.cpp Fix setMtu() on Linux. Add error checking (#1860) 2023-01-26 10:26:12 -08:00
LinuxEthernetTap.hpp Revert "Revert "Revert a change to LinuxEthernetTap threading to eliminate out of order packet issues on some systems."" 2021-06-28 19:29:53 -04:00
LinuxNetLink.cpp Merge pull request #1110 from neheb/patch-1 2022-03-07 13:53:14 -05:00
LinuxNetLink.hpp Linux build fixes. 2020-11-16 11:11:52 -08:00
MacDNSHelper.hpp Convince macOS to do ipv6 dns lookups 2021-12-13 12:34:41 -08:00
MacDNSHelper.mm Convince macOS to do ipv6 dns lookups 2021-12-13 12:34:41 -08:00
MacEthernetTap.cpp Convince macOS to do ipv6 dns lookups 2021-12-13 12:34:41 -08:00
MacEthernetTap.hpp Some Mac feth tap changes to hopefully fix slow-leave problem. 2020-10-30 10:40:34 -04:00
MacEthernetTapAgent.c Remove deprecated vfork call on Mac, and make Mac route application more robust. 2021-10-26 22:15:06 -04:00
MacEthernetTapAgent.h BSL date bump 2020-08-20 12:51:39 -07:00
MacKextEthernetTap.cpp This code is obsolete but remove vfork anyway. 2021-11-15 14:09:52 -05:00
MacKextEthernetTap.hpp BSL date bump 2020-08-20 12:51:39 -07:00
ManagedRoute.cpp Prevent shadowing VM routes as default route (macOS) 2022-12-23 16:18:00 -08:00
ManagedRoute.hpp Simplify and fix managed route logic. 2020-11-02 19:02:07 -05:00
NeighborDiscovery.cpp BSL date bump 2020-08-20 12:51:39 -07:00
NeighborDiscovery.hpp BSL date bump 2020-08-20 12:51:39 -07:00
NetBSDEthernetTap.cpp BSL date bump 2020-08-20 12:51:39 -07:00
NetBSDEthernetTap.hpp BSL date bump 2020-08-20 12:51:39 -07:00
OSUtils.cpp 1.10.4 merge into main (#1893) 2023-03-07 16:50:34 -05:00
OSUtils.hpp Add inja 2022-05-13 09:34:15 -07:00
Phy.hpp Improved multipath link monitoring 2022-09-20 14:27:34 -07:00
PortMapper.cpp [Android] Fix include for miniupnpc 2022-01-03 12:15:21 -05:00
PortMapper.hpp BSL date bump 2020-08-20 12:51:39 -07:00
README.md docs 2015-03-31 14:12:33 -07:00
Thread.hpp Use lowercase when including Windows headers 2021-12-29 16:29:08 -05:00
WinDNSHelper.cpp clean up some debug logging 2020-08-12 09:16:18 -07:00
WinDNSHelper.hpp Windows DNS 2020-08-11 18:55:42 -07:00
WindowsEthernetTap.cpp 1.10.4 merge into main (#1893) 2023-03-07 16:50:34 -05:00
WindowsEthernetTap.hpp Automatically detect Ethernet tap friendly name in Windows shouldBind stuff. 2021-03-16 10:12:55 -04:00
WinFWHelper.cpp enable ICMP in windows firewall 2022-12-21 15:38:46 -08:00
WinFWHelper.hpp enable ICMP in windows firewall 2022-12-21 15:38:46 -08:00

OS-Dependent and OS-Interface Things

This folder contains stuff that interfaces with the base operating system like Phy for network access and the various OS-specific Ethernet tap drivers.