Grant Limberg
5fb814a04f
Merge pull request #1388 from emundo/fix/1387-dns-issue
...
Fix macOS DNS issue
2021-04-28 13:19:09 -07:00
Grant Limberg
c69d2df0a2
Merge pull request #1390 from jonathonf/linux-tap-link-ordering
...
Set MAC address before bringing up Linux TAP link
2021-04-28 13:17:38 -07:00
Adam Ierymenko
46a7136b0d
Merge branch 'dev' of github.com:zerotier/ZeroTierOne into dev
2021-04-28 16:16:17 -04:00
Adam Ierymenko
d2974f2e60
Do not inherit open file descriptors on fork() in MacEthernetTapAgent
2021-04-28 16:16:02 -04:00
Jonathon Fernyhough
bac57e355d
Set MAC address before bringing up Linux TAP link
...
This corrects the flow for bringing up a TAP device under Linux by
setting the device MAC address prior to bringing up the device.
Closes #1314
2021-04-21 20:46:13 +01:00
Jonathon Fernyhough
b8b1f64959
Revert "Reorder Linux TAP link sequence"
...
This reverts commit 9374e45449
.
2021-04-21 20:45:17 +01:00
Robert.Schreib
4e8640b380
Handle case where no old DNS servers exist
2021-04-21 13:49:55 +02:00
Jonathon Fernyhough
9374e45449
Reorder Linux TAP link sequence
...
This corrects the flow for bringing up a TAP device under Linux.
Closes #1314
2021-04-21 12:30:51 +01:00
Robert.Schreib
31ffe4403c
Check if DNS servers need to be Applied on macOS
2021-04-21 12:02:31 +02:00
Dave Cottlehuber
b37e9de24d
BSD: add debug fprintfs for external commands
2021-04-15 06:37:01 +00:00
Adam Ierymenko
79e2fd4586
Automatically detect Ethernet tap friendly name in Windows shouldBind stuff.
2021-03-16 10:12:55 -04:00
Adam Ierymenko
5391e95fce
Typo fix.
2020-11-30 15:52:56 -05:00
Adam Ierymenko
954f6a77e5
Another Linux fix.
2020-11-30 15:46:16 -05:00
Adam Ierymenko
21993819a5
Possible fix for Linux deadlock.
2020-11-30 15:41:47 -05:00
Rosen Penev
2aecb547d9
LinuxNetLink: Add cerrno header for (str)errno
...
Fixes compilation under libcxx.
2020-11-30 01:38:45 -08:00
Grant Limberg
5188c7d41f
com & com security already initialized by here
2020-11-25 20:06:43 -08:00
Grant Limberg
0456a71295
Windows feedback loop fix
2020-11-25 11:05:36 -08:00
Adam Ierymenko
d64c5a92c6
Merge pull request #1233 from dosuperuser/improvement/optimizations
...
Minor C++ optimizations
2020-11-24 19:24:36 -05:00
Grant Limberg
95da2bcbcf
move CoUninitialize to the proper place at the end of the tap thread
2020-11-19 14:13:16 -08:00
Grant Limberg
a9e4fb0ed9
Fix multiple networks on Windows
2020-11-19 14:10:34 -08:00
Adam Ierymenko
a0c78da1ad
Revert "Tune thread count based on hardware concurrency."
...
This reverts commit 7b14aeb53e
.
2020-11-18 22:54:05 -05:00
Adam Ierymenko
7b14aeb53e
Tune thread count based on hardware concurrency.
2020-11-18 22:42:00 -05:00
Adam Ierymenko
f934a09baa
Build fix.
2020-11-18 22:32:57 -05:00
Adam Ierymenko
414c248cc5
Try another approach...
2020-11-18 22:26:06 -05:00
Adam Ierymenko
ca428233ba
Revert "Try another optimization in LinuxEthernetTap."
...
This reverts commit a390629371
.
2020-11-18 22:24:18 -05:00
Adam Ierymenko
3712f9b318
Revert "Shutdown fix."
...
This reverts commit 11545bdb5d
.
2020-11-18 22:24:09 -05:00
Adam Ierymenko
11545bdb5d
Shutdown fix.
2020-11-18 22:13:06 -05:00
Adam Ierymenko
a390629371
Try another optimization in LinuxEthernetTap.
2020-11-18 22:06:17 -05:00
Adam Ierymenko
e3e188109d
Build fix.
2020-11-18 10:14:39 -08:00
Adam Ierymenko
7cbbc38b89
Reduce mutex use in LinuxEthernetTap. Try to squeeze a bit more powah out of it.
2020-11-18 12:50:34 -05:00
Adam Ierymenko
4bd58d47cf
Revert "Try factoring out a mutex to see if its faster."
...
This reverts commit 982c32322b
.
2020-11-17 12:52:48 -08:00
Adam Ierymenko
982c32322b
Try factoring out a mutex to see if its faster.
2020-11-17 15:48:15 -05:00
Adam Ierymenko
2fcc344299
Some buffer tuning.
2020-11-17 15:34:42 -05:00
Adam Ierymenko
3acd901c88
Build fixes.
2020-11-17 12:13:08 -05:00
Adam Ierymenko
0795dbf5f1
Revert "Moar threadz"
...
This reverts commit 101a3a7d74
.
2020-11-16 19:06:52 -08:00
Adam Ierymenko
101a3a7d74
Moar threadz
2020-11-16 21:49:51 -05:00
Adam Ierymenko
2da162bed7
Split Linux tap receive into two threads: one reader, one processor.
2020-11-16 21:40:25 -05:00
Adam Ierymenko
5282e06fd4
Tun/tap flags fix.
2020-11-16 19:08:09 -05:00
Adam Ierymenko
dc806dd718
Try pipelining tap reads on Linux for a little more speed.
2020-11-16 18:56:00 -05:00
Adam Ierymenko
6b67cb0e2a
Linux build fixes.
2020-11-16 11:11:52 -08:00
Adam Ierymenko
250f0ef9db
Remove dead code.
2020-11-16 13:51:27 -05:00
Adam Ierymenko
4aab9121d9
Linux build fixes, and new route code seems to work.
2020-11-13 22:25:12 -05:00
Adam Ierymenko
5ea7ef6b65
Rework Linux route setting to actually consult netlink interface.
2020-11-13 22:06:58 -05:00
Adam Ierymenko
a3875f9965
Add a route DB to LinuxNetLink to make route sync robust.
2020-11-13 21:55:31 -05:00
Adam Ierymenko
3730917dda
LinuxNetLink cleanup
2020-11-13 21:06:34 -05:00
Adam Ierymenko
e8be28734b
Linux netlink and route setting... work in progress.
2020-11-13 19:07:54 -05:00
Adam Ierymenko
6c5a097711
Use LinuxNetLink for routes on Linux... still needs testing/debugging on an actual Linux machine.
2020-11-13 18:16:14 -05:00
Adam Ierymenko
eadca9dd75
Build fix.
2020-11-11 15:29:01 -05:00
Adam Ierymenko
59dd71187e
Build fix.
2020-11-11 15:14:08 -05:00
Adam Ierymenko
36e167013a
More Linux tap shotgun debugging.
2020-11-11 15:12:16 -05:00
Adam Ierymenko
2d489a8679
Another possible workaround for what seems to be a Linux bug in some newer kernels.
2020-11-11 14:42:56 -05:00
Adam Ierymenko
d735a1d04c
Reorder some stuff in LinuxEthernetTap as possible workaround for MAC-set weirdness.
2020-11-11 12:49:56 -05:00
Adam Ierymenko
52679d2784
Simplify and fix managed route logic.
2020-11-02 19:02:07 -05:00
Adam Ierymenko
763d1cc3dc
Some more changes for slow network leaving on Mac.
2020-11-02 14:00:35 -05:00
Adam Ierymenko
fe5aad3cef
Some Mac feth tap changes to hopefully fix slow-leave problem.
2020-10-30 10:40:34 -04:00
Adam Ierymenko
a973a6e10e
Leave feth devices over feth10000 alone.
2020-10-08 12:04:57 -04:00
Adam Ierymenko
69b2fcd5af
Get rid of obsolete musl libc fix.
2020-09-23 21:58:51 -04:00
thoradia
f2734dc3d8
add ports to addresses specified by the bind setting
2020-09-08 01:49:19 +02:00
Adam Ierymenko
06730c7d1d
BSL date bump
2020-08-20 12:51:39 -07:00
Grant Limberg
8d0a3563e4
Merge branch 'dns' into dev
2020-08-12 13:56:21 -07:00
Grant Limberg
c0c215c83c
single dns config per network
2020-08-12 13:08:47 -07:00
Grant Limberg
30b18d925f
clean up some debug logging
2020-08-12 09:16:18 -07:00
Grant Limberg
137d05e799
add setDNS stubs for linux/bsd
2020-08-12 09:14:10 -07:00
Grant Limberg
d9c4e644de
Windows DNS
2020-08-11 18:55:42 -07:00
Joseph Henry
edd960566a
Improve bond tracing, fix bond initialization bugs, remove vestigial debug code
2020-08-06 18:10:40 -07:00
Grant Limberg
6868e98904
Get stuff building on Windows
...
Been a minute since any of this has been updated
2020-08-05 16:04:02 -07:00
Grant Limberg
85a5b0b948
Remove dns config on shutdown
...
Also add calls to MacDNSHelper to the kext tap
2020-08-05 14:49:45 -07:00
Grant Limberg
b9a1719cb1
Let's make sure to clean up our memory
2020-08-05 14:42:19 -07:00
Grant Limberg
d6e3164ea1
remove initial attempt at dns config via scutil
2020-08-05 14:42:09 -07:00
Grant Limberg
302ac8fefe
DNS config support on macOS
2020-08-05 14:26:11 -07:00
Grant Limberg
d098a99d09
fix memory init issue
...
and another place where dns data needs to be copied
2020-07-31 11:42:03 -07:00
Suad Halilovic
ffebcd247f
2020/07/16, Minor optmizations
2020-07-16 18:31:56 +02:00
Joseph Henry
decd5add2a
Fix segfault on unique interface name list generation (for multipath)
2020-07-14 17:05:05 -07:00
Joseph Henry
a33a494d60
Adjust terminology
2020-06-17 14:54:13 -07:00
Joseph Henry
58d567c331
Formatting
2020-05-14 20:09:25 -07:00
Joseph Henry
a50e8e9878
Add Bonds, Slaves, and Flows
2020-05-12 01:35:48 -07:00
Joseph Henry
de9cfbe9b0
Merge dev into multipath
2020-05-12 00:08:52 -07:00
Joseph Henry
32a78b5f61
Fix preprocessor typo in previous commit
2020-03-31 20:34:48 -07:00
Joseph Henry
54f9f2ad53
Add special case for Ubiquiti routers in platformDefaultHomePath()
2020-03-31 20:27:41 -07:00
Adam Ierymenko
1b6b38e395
Add default addIps() implementation to EthernetTap base class to fix build on systems that do not need addIps().
2019-08-28 07:43:18 -07:00
Joseph Henry
d8de837c60
LinuxEthernetTap addIps virtual function fix for SYNOLOGY builds
2019-08-27 14:43:30 -07:00
Adam Ierymenko
de0a5aa840
GitHub issue #994
2019-08-23 12:09:31 -07:00
Adam Ierymenko
52a166a71f
Relicense: GPLv3 -> ZeroTier BSL 1.1
2019-08-23 09:23:39 -07:00
Joseph Henry
15e44f0ddd
Merge remote-tracking branch 'origin/dev' into multipath
2019-08-14 11:25:40 -07:00
Adam Ierymenko
1c7b553331
GitHub issue #1000
2019-08-14 10:47:58 -07:00
Joseph Henry
2e9fa7a811
Merge remote-tracking branch 'origin/dev' into multipath
2019-08-13 12:42:19 -07:00
Joseph Henry
77ae929eb3
Merge master into multipath
2019-08-12 11:40:13 -07:00
Adam Ierymenko
c83a4aef55
cleanup
2019-08-07 21:47:06 -05:00
Adam Ierymenko
4d70640a15
Remove debug line
2019-08-07 19:06:02 -05:00
Adam Ierymenko
b11627a8bc
add SDK VirtualTap to new factory method
2019-08-07 18:45:04 -05:00
Adam Ierymenko
aca31c7055
Put kext back in Mac distro and use on versions older than High Sierra (which lack the feth device)
2019-08-07 18:14:12 -05:00
Adam Ierymenko
632d6e04ad
Mac multicast bug fix -- GitHub issue #986
2019-07-31 13:25:58 -07:00
Joseph Henry
9cf74657e0
Commented out rtnetlink error debug trace
2019-07-22 14:12:21 -07:00
Joseph Henry
a0f47b12b4
Removed Synology-specific home path, changes made elsewhere in SPK
2019-07-19 16:34:31 -07:00
Grant Limberg
d43e810ecb
Finally figured out how to update the network interface names on Windows so that they'll be visible in ipconfig
, Get-NetAdapter
etc.
2019-07-16 15:16:49 -07:00
Adam Ierymenko
d3728d5859
cleanup
2019-07-10 21:30:11 -04:00
Grant Limberg
409406d114
Whoops
2019-07-08 12:36:49 -07:00
Grant Limberg
203414910f
Give up to a second for the interface to appear to assign IP addresses
2019-07-08 12:33:26 -07:00
Adam Ierymenko
9c51ce9c40
Windows build fixes, fix double/float types to get rid of warnings.
2019-06-17 13:32:41 -07:00
Joseph Henry
4743ad0b16
Added convenience swtich for disabling JSON support in SDK build
2019-05-13 12:24:55 -07:00
Adam Ierymenko
02f0eead1c
More new Mac ethernet tap bugs.
2019-03-29 15:14:03 -07:00
Adam Ierymenko
d77846dcea
Add bigness to buffers to prevent overflow on high traffic (Mac tap).
2019-03-29 12:45:02 -07:00
Adam Ierymenko
92c811deb7
Destroy feth devices before creating to delete old ones if they were left behind (MacEthernetTap).
2019-03-29 12:14:03 -07:00
Adam Ierymenko
92f199ab98
More bug fixing for AARCH64.
2019-03-28 22:40:28 +00:00
Adam Ierymenko
b65feeba85
One more AARCH64 fix.
2019-03-28 15:23:53 -07:00
Adam Ierymenko
e3e5137757
Fix more alignment hell in LinuxNetLink for AARCH64 and probably other pedantic architectures.
2019-03-25 22:53:06 +00:00
Adam Ierymenko
d81549a7b1
Various other fixes including removal of more mem*() issues and netlink fixes for AARCH64.
2019-03-25 22:19:52 +00:00
Joseph Henry
0e597191b8
Updated licenses for 2019
2019-01-14 10:25:53 -08:00
Adam Ierymenko
690bd933d5
Support shutdown with postLimit in BlockingQueue
2018-11-13 13:52:45 -08:00
Adam Ierymenko
6684559cd9
More Mac tap improvements and threading efficiency improvements.
2018-11-13 13:51:25 -08:00
Adam Ierymenko
4ed7d20a48
Another stability fix... turns out vfork is problematic here.
2018-11-13 12:46:36 -08:00
Adam Ierymenko
350116c513
Stability improvements for Mac virtual Ethernet tap driver.
2018-11-13 12:42:03 -08:00
Adam Ierymenko
90631adb9b
Improve multithreading support for OneService (faster, dynamic adjustment of thread count based on HW concurrency).
2018-11-13 12:07:58 -08:00
Joseph Henry
c6ae81fac7
Added preprocessor check for __APPLE__ as an attempted fix for ticket #600
2018-11-11 14:23:24 -08:00
Adam Ierymenko
c56831767e
Fix Mac tap agent abort on EINTR.
2018-10-25 20:44:32 -07:00
Adam Ierymenko
72a724f075
Clean up some stuff after new feth tap implementation, and comment agent file.
2018-10-25 13:10:24 -07:00
Adam Ierymenko
2e44b90f63
OSX no longer requires the kext due to feth black magic! The MacEthernetTapAgent must be installed in /Library/Application Support/ZeroTier/One for ZT to work now. Eventually this can let us do an app bundle, get rid of the pkg, and have ZT itself run with normal or reduced privileges. Also fixes GitHub issue #870 (at least for me) and may be faster than the old kext.
2018-10-25 12:43:30 -07:00
Joseph Henry
b8268d894b
Changed home path for Synology
2018-09-17 11:44:56 -07:00
Joseph Henry
258b1c8b55
Merge branch 'edge' into multipath
2018-09-12 13:57:57 -07:00
Joseph Henry
3dd9b1aa9b
Added ability to specify zt home directory via ZEROTIER_HOME - Addresses ticket #829
2018-09-10 16:25:39 -07:00
Adam Ierymenko
553101e8b5
merge dev
2018-08-09 11:31:37 -07:00
Joseph Henry
1e66854b59
Temporarily added SO_REUSEADDR to netlink binding code
2018-08-07 12:57:40 -07:00
Joseph Henry
3cd0ab1b3b
Remove direct include of bits/sockaddr.h
2018-08-03 16:20:08 -07:00
Joseph Henry
e01c0adff2
Added ifdef checks to omit some ManagedRoute code in SDK builds
2018-08-01 17:17:04 -07:00
Adam Ierymenko
fa7e7fc6f9
Revert fix for GitHub issue #600 because it causes route objects to build up forever (at least on Mac). Bleh. #600 is a rare issue and will need some other fix after reliable duplication.
2018-07-20 15:53:19 -07:00
Joseph Henry
62a93c58fd
Added ifdefs surrounding usage of getifaddrs() on Android
2018-07-19 17:50:10 -07:00
Grant Limberg
7c53adbcfe
quieting things down unless ZT_TRACE is defined
2018-06-11 10:47:58 -07:00
Joseph Henry
9681fedbb4
Spellcheck sweep across codebase
2018-06-07 17:25:27 -07:00
Grant Limberg
b9975845ff
Merge branch 'rtnetlink' into edge
2018-06-04 12:24:58 -07:00
Grant Limberg
b22405b64b
rtnetlink integrated. no more callouts to iproute2
2018-06-04 12:24:12 -07:00
Joseph Henry
46a7a2be2e
Added VERB_ACK and VERB_QOS_MEASUREMENT, refined notion of path quality
2018-05-30 17:45:29 -07:00
Grant Limberg
3ace61ef85
comment out addInterface/removeInterface code for now
...
We already have ioctl based code to do this
2018-05-25 15:37:00 -07:00
Grant Limberg
442595d6fc
also store binary representation of mac address in the interface lookup table for later use
2018-05-25 14:25:44 -07:00
Grant Limberg
be469f4dd0
add/remove routes via rtnetlink
2018-05-25 14:18:06 -07:00
Grant Limberg
7da4b0af15
better data localization in LinuxNetLink now that I know what Im doing
2018-05-24 16:15:03 -07:00
Grant Limberg
c24d16e62e
ManagedRoute uses ioctl to add/remove routes on Linux
...
Added LinuxNetLink to talk to the rtnetlink socket for adding interfaces, addresses routes. Not yet complete. Can currently monitor changes on the system.
2018-05-24 15:22:11 -07:00
Joseph Henry
1debe2292d
Cleanup. Misc type conversion and signedness fixes
2018-05-02 11:22:07 -07:00
Joseph Henry
6a2ba4baca
Introduced basic multipath support
2018-05-01 16:32:15 -07:00
Adam Ierymenko
42ec780a6f
Merge branch 'dev' into netbsd-support
2018-04-25 06:39:02 -07:00
Adam Ierymenko
e276b6463e
Release notes, and shorten Linux canonical network ID derived device names a bit.
2018-04-12 10:33:06 -04:00
Joseph Henry
b4e2547052
Minor tweak to QNAP path getter
2018-03-12 11:23:10 -07:00
Grant Limberg
2ee358dbfc
TAP driver requires input and output buffers for calls passed into DeviceIoControl
...
Otherwise the driver returns STATUS_INVALID_PARAMETER and the call fails. This should fix some Multicast issues on Windows
2018-02-23 13:42:02 -08:00
Adam Ierymenko
fe1fa20c6c
Fix build on Intel C/C++ Compiler for Linux.
2018-02-01 12:46:35 -08:00
Adam Ierymenko
d6e8a5f3ca
Fix Windows compile error.
2018-01-30 16:07:41 -08:00
Adam Ierymenko
6d8e1e8783
More cleanup of old stuff.
2018-01-26 21:34:56 -05:00
Adam Ierymenko
f3dfd63634
Clean up some old stuff.
2018-01-26 20:00:37 -05:00
Adam Ierymenko
5f5302e595
More useful to allow arrays of IPs to bind to.
2018-01-25 17:27:08 -05:00
Adam Ierymenko
125ec622ca
Add bindToWildcard local.conf option.
2018-01-25 14:59:11 -05:00
Joseph Henry
6e1823ac81
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2018-01-10 12:43:18 -08:00
Joseph Henry
640cc22749
Added allowTcpFallbackRelay to local.conf, fixed logic in Binder's route enumeration
2018-01-10 12:41:52 -08:00