travis laduke
a6742b7f82
Prevent shadowing VM routes as default route (macOS)
...
If you have a VM host like parallels, sometimes you get these link-local
default routes:
```
netstat -nrfinet | grep "default\|\/1"
0/1 10.2.0.12 UGScg feth4823
default 192.168.82.1 UGScg en1
0/1 192.168.82.1 UGScIg en1
default link#22 UCSIg bridge101 !
128.0/1 10.2.0.12 UGSc feth4823
128.0/1 192.168.82.1 UGScI en1
```
(the link#22 one)
The _getRTEs function inclused these routes in the list it makes as like:
device: bridge101, target: 0.0.0.0/0
If it happens to be first in the list, bridge101 gets
selected as the default route.
Then Full Tunnel Mode doesn't work.
The other routes in the list are like:
device: en1 target: 192.168.1.0/24 via: metric: 0 ifscope: 0
device: en1 target: 192.168.1.1/32 via: metric: 0 ifscope: 0
We only need the device name from this, so either one will work.
2022-12-23 16:18:00 -08:00
Sean OMeara
10170b41c3
Revert "Improve default route on macOS ( #1680 )"
...
This reverts commit 117d7194af
.
2022-12-13 18:32:07 +01:00
Travis LaDuke
117d7194af
Improve default route on macOS ( #1680 )
...
re: issue #1088
and probably: https://discuss.zerotier.com/t/default-route-issue-osx-monterey-m1/6974
// current zerotier.
// allow default adds two sets of routes.
```
netstat -rnfinet | grep "/1\|default" | sort
0/1 10.2.0.2 UGScg feth4823
0/1 192.168.82.1 UGScIg en7
128.0/1 10.2.0.2 UGSc feth4823
128.0/1 192.168.82.1 UGScI en7
default 192.168.82.1 UGScg en7
```
Then, something chaotic happens eventually, and networking stops working.
// after patch
```
netstat -rnfinet | grep "/1\|default" | sort
0/1 10.2.0.2 UGScg feth4823
128.0/1 10.2.0.2 UGSc feth4823
default 192.168.82.1 UGScg en7
```
After the change, I can still:
- use default route
- route to other subnets
I tested on high sierra through monterey
and on freebsd13.1
2022-12-13 11:52:21 +01:00
Adam Ierymenko
ebc1ed4015
Hide warning about readdir_r for now.
2022-12-01 11:07:20 -05:00
Brenton Bostick
3ddaa60de9
prevent: warning: unused variable 'gotViaProc' ( #1797 )
2022-11-29 17:55:33 +01:00
Grant Limberg
9568a4f2b4
netinet6/in6_var.h not available in iOS
2022-11-10 11:35:34 -08:00
Grant Limberg
b41e0910b0
Fun times in ~~cleveland~~ NDK-land
2022-11-09 11:11:10 -08:00
Joseph Henry
bc521504ca
Improved multipath link monitoring
2022-09-20 14:27:34 -07:00
Joseph Henry
a47c3cb16f
Exclude temporary IPv6 check from SDK builds
2022-06-01 14:24:28 -07:00
Grant Limberg
b65c1ed3a0
Add inja
...
Requries update to C++17 standard
2022-05-13 09:34:15 -07:00
Joseph Henry
6c85f8c7a7
Safely handle disappearing bonded interfaces (See issue #1587 )
2022-05-06 14:59:34 -07:00
Adam Ierymenko
56357c077b
Merge pull request #1110 from neheb/patch-1
...
LinuxNetLink: Add cerrno header for (str)errno
2022-03-07 13:53:14 -05:00
Grant Limberg
31c12aebb5
more fun with linux ethernet taps
...
older kernels: must set MTU before IFF_UP.
newer kernels: must set MTU *after* IFF_UP
2022-02-17 09:26:53 -08:00
Adam Ierymenko
bb2b109707
Merge pull request #1559 from zerotier/oldlinux
...
potential fix for 2.6.x kernels
2022-02-11 17:59:53 -05:00
Joseph Henry
c5008031b9
Increase ifname size to accomodate Windows (issue #1560 )
2022-02-11 10:08:56 -08:00
Grant Limberg
5d63ed6739
fix function call
2022-02-07 17:14:43 -08:00
Grant Limberg
fdf4ebd43c
potential fix for 2.6.x kernels
...
detect if the kernel is super old. if so, do not execute the post IF_UP commands on the interface
2022-02-07 17:10:54 -08:00
Sean OMeara
0da00bf546
Merge pull request #1535 from zerotier/linux-route-metric
...
Set a high metric on linux routes that have a via.
2022-01-12 18:41:54 +01:00
Travis LaDuke
692a0e7ac2
Set a high metric on linux routes that have a via.
...
See issue #750 .
zerotier doesn't currently set a metric on routes. Linux
takes this to mean "0", the highest priority.
Every comment in the issue is about routing between zerotier
and lan and how they conflict.
This quick change could fix this problem for most people.
The subnet route for the zerotier network, the one with no
via, is still 0 in this patch. Just the "via" routes get
higher metrics.
If for some reason, you needed your via routes to have
higher priority, you could use a prefix work-around:
192.168.1.0/25 via 10.147.17.1
192.168.1.128/25 via 10.147.17.1
2022-01-07 13:10:36 -08:00
Travis LaDuke
fa25b45198
Keep interface name on via routes on linux
...
See issue #1498
2022-01-07 11:58:42 -08:00
Grant Limberg
cc6c48fca8
Merge pull request #1525 from StephenCWills/lowercase-windows-headers
...
Use lowercase when including Windows headers
2022-01-04 17:11:51 -08:00
Grant Limberg
e556a2ee23
Merge pull request #1528 from StephenCWills/android-miniupnpc
...
[Android] Fix include for miniupnpc
2022-01-04 16:56:05 -08:00
staphen
f83eed9ef9
[Android] Fix include for miniupnpc
2022-01-03 12:15:21 -05:00
staphen
1c956494a4
Use lowercase when including Windows headers
2021-12-29 16:29:08 -05:00
Travis LaDuke
afdc91f21f
Convince macOS to do ipv6 dns lookups
...
Puts a value into System Config, similar to how DNS push works.
closes #1466
https://apple.stackexchange.com/questions/309430/ipv6-dns-resolution-on-macos-high-sierra
2021-12-13 12:34:41 -08:00
Adam Ierymenko
fabfb10b97
Remove managed routes in destructor (regression fix).
2021-11-15 19:48:07 -05:00
Adam Ierymenko
65549cb0da
Fix the FD leak fix, and release notes.
2021-11-15 18:27:14 -05:00
Adam Ierymenko
0e798222a7
Fix FD leak on MacOS.
2021-11-15 17:17:05 -05:00
Adam Ierymenko
c890f1762a
This code is obsolete but remove vfork anyway.
2021-11-15 14:09:52 -05:00
Adam Ierymenko
c16b03c8b8
Set MAC address twice, once before and once after bringing interface up, since different kernels behave differently (Linux).
2021-11-09 13:28:15 -05:00
Adam Ierymenko
357e1aca54
Likely MAC fix for Linux.
2021-11-09 13:24:03 -05:00
Travis LaDuke
37f26beb50
Fix multicast flag on linux interfaces.
...
When we re-ordered the way the interfaces come up, this flag
stopped getting set automatically.
see 9374e45449
and github issue #1477
2021-11-02 11:28:13 -07:00
Grant Limberg
993e58773a
needed in 2 more spots
2021-10-27 14:58:17 -07:00
Grant Limberg
8f4c038e23
fix ifdef
...
wasn't running IPv6 temporary address detection for binding
2021-10-27 14:48:07 -07:00
Adam Ierymenko
594853e251
Remove deprecated vfork call on Mac, and make Mac route application more robust.
2021-10-26 22:15:06 -04:00
Adam Ierymenko
d2c3ea6901
Another route fix on BSD.
2021-09-15 13:31:18 -04:00
Adam Ierymenko
6bb1598fa3
Another fix for routing and interface issues on MacOS
2021-09-15 11:50:54 -04:00
Adam Ierymenko
1b8917a57c
Fix for MacOS interface setup and config timing bugs.
2021-09-09 09:30:48 -04:00
Adam Ierymenko
1a1d7d9ada
Merge branch 'dev' of github.com:zerotier/ZeroTierOne into dev
2021-09-02 15:23:38 -04:00
Adam Ierymenko
d1c88971ae
Possible Mac route borking fix.
2021-09-02 15:23:26 -04:00
Joseph Henry
e1af003e4f
Consolidation of multipath logic. Better system separation
2021-09-01 21:37:49 -07:00
Joseph Henry
b6680b18e7
Merge pull request #1304 from skunkwerks/dev
...
BSD: add debug fprintf for all external commands
2021-08-30 10:11:53 -07:00
Adam Ierymenko
126669b718
MTU fix
2021-08-13 15:12:07 -04:00
Adam Ierymenko
63a44c9268
Fix feth max MTU sysctl.
2021-07-30 18:44:23 -04:00
Travis LaDuke
8866fbd618
Merge branch 'bind' of https://github.com/thoradia/ZeroTierOne into thoradia-bind
2021-06-29 11:22:46 -07:00
Adam Ierymenko
8885149cd3
Revert "Revert "Revert a change to LinuxEthernetTap threading to eliminate out of order packet issues on some systems.""
...
This reverts commit 89ddf2991b
.
2021-06-28 19:29:53 -04:00
Adam Ierymenko
89ddf2991b
Revert "Revert a change to LinuxEthernetTap threading to eliminate out of order packet issues on some systems."
...
This reverts commit 0461b24db3
.
2021-06-28 17:59:28 -04:00
Adam Ierymenko
0461b24db3
Revert a change to LinuxEthernetTap threading to eliminate out of order packet issues on some systems.
2021-06-28 17:15:34 -04:00
Grant Limberg
1859365f9d
same IPv6 temp address detection code for macOS works on FreeBSD.
...
update ifdefs & go
2021-05-27 16:43:12 -04:00
Grant Limberg
ab87b8f881
Don't bind to temporary IPv6 addresses (linux)
2021-05-26 15:50:14 -07:00