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
Adam Ierymenko
2751a6d56d
cleanup
2018-01-09 12:31:00 -08:00
Joseph Henry
09e4ab9aa1
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2018-01-09 10:00:01 -08:00
Joseph Henry
2e1bc6e500
Cleaned up old code for attempted fix for ticket #600
2018-01-09 09:59:55 -08:00
Adam Ierymenko
1aea096b63
GitHub issue #492
2018-01-09 09:05:22 -08:00
Adam Ierymenko
65c07afe05
Copyright updates for 2018.
2018-01-08 14:33:28 -08:00
Joseph Henry
f7b3ffe8a0
Commented out block which ignores added routes if there already exists an IP in the route's range. Attempted fix for #600
2018-01-05 17:10:59 -08:00
Joseph Henry
a9c4ce38f0
eh
2017-12-18 15:07:58 -08:00
Joseph Henry
bbc39d7648
Restore managed ZT routes that are deleted or otherwise mangled locally (Attempted fix for ticket #600 )
2017-12-18 15:05:19 -08:00
Adam Ierymenko
cb8e7b4d5e
Make UDP read loop eventually move on.
2017-12-15 10:15:13 -08:00
Joseph Henry
f18d5b2efe
Attempted fix for github issue #597 , leaking sockets. Added call to closenatpmp() after failure to init
2017-11-27 14:23:55 -08:00
Adam Ierymenko
1613f42d00
Re-integrate in-filesystem DB into new controller DB structure.
2017-11-07 14:44:46 -08:00
Adam Ierymenko
4e88c80a22
RethinkDB native connector work, minor fixes.
2017-11-02 07:05:11 -07:00
Adam Ierymenko
2cc4dc5a6f
Clean peers.d periodically and delete peers older than 30 days.
2017-10-25 16:08:14 -07:00
Adam Ierymenko
0d8e134f9f
Warning removal.
2017-10-24 14:54:15 -07:00
Grant Limberg
629a3a2a24
call setFriendlyName() after tap adapter is initialized
2017-10-16 12:16:05 -07:00
Joseph Henry
f2c69ede96
Conditionally omit reference to CancelSynchronousIo in Thread.hp when MINGW32/64 is detected for libzt build - Symbol not supported
2017-10-10 12:21:52 -07:00
Grant Limberg
b1d60df44c
timestamps changed from uint64_t to int64_t
...
There were cases in the code where time calculations and comparisons were overflowing and causing connection instability. This will keep time calculations within expected ranges.
2017-10-02 15:52:57 -07:00
Joseph Henry
f39e2e2a53
Fixed typo of mysterious origin
2017-08-31 11:37:29 -07:00
Adam Ierymenko
a4bc40542b
GCC/G++ build fixes, GitHub issue #563
2017-08-14 11:43:39 -07:00
Adam Ierymenko
b62296a40b
Bug fixes in new harness mode.
2017-07-19 14:13:17 -07:00
Adam Ierymenko
31785f7f6e
Automatic periodic status dump from controller.
2017-07-18 15:36:33 -07:00
Grant Limberg
bcf697cc2b
Wire up PortMapper in Android
...
Enables UPnP port mapping for Android client on networks with UPnP routers
2017-07-17 16:16:25 -07:00
Adam Ierymenko
ba6fd16823
More tracing stuff.
2017-07-13 15:08:57 -07:00
Grant Limberg
0a11dd2d24
Fix NeighborDiscovery code now that ZT_SOCKADDR_NULL doesn’t exist
2017-07-11 15:45:36 -07:00
Adam Ierymenko
69922b6c39
BSD build fix.
2017-07-07 09:29:24 -07:00
Adam Ierymenko
6fc70f7c16
More cleanup, Linux build fixes.
2017-07-07 06:50:40 -07:00
Adam Ierymenko
88997a0314
Windows build fixes.
2017-07-06 16:29:11 -07:00
Adam Ierymenko
d2415dee00
Cleanup.
2017-07-06 16:11:11 -07:00
Adam Ierymenko
f18158a52d
.
2017-07-06 11:45:22 -07:00
Adam Ierymenko
2f20258807
.
2017-07-06 10:25:36 -07:00
Adam Ierymenko
ada2ea3a6b
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into edge
2017-06-27 11:31:39 -07:00
Adam Ierymenko
355cce3938
Rename Utils::snprintf due to it being a #define on one platform.
2017-06-27 11:31:29 -07:00
Joseph Henry
c61440efea
Detect platformDefaultHomePath on QNAP systems
2017-06-25 20:20:30 -07:00
Adam Ierymenko
9a3c34b5b3
Build fix, use -Os on Linux too.
2017-06-07 17:19:33 -07:00
Adam Ierymenko
951d911531
Last bit of new cluster code, ready to test.
2017-06-06 16:11:19 -07:00
Adam Ierymenko
9b287392a4
.
2017-06-05 12:15:28 -07:00
Adam Ierymenko
1f9414a30f
.
2017-06-01 12:38:04 -07:00
Adam Ierymenko
92289c1981
Move to canonical device naming on Linux.
2017-05-19 15:18:47 -07:00
Adam Ierymenko
99e2098a48
Add a way to specify a different interface prefix (for internal use mostly).
2017-05-19 14:00:08 -07:00
Adam Ierymenko
d297d8fe2e
Musl fix
2017-05-09 21:21:56 -07:00
Adam Ierymenko
d5ed025871
Support MTU reconfigure for Windows.
2017-05-04 19:50:02 -07:00
Adam Ierymenko
b55422a528
MTU integration in taps.
2017-05-04 19:31:50 -07:00
Adam Ierymenko
39db45e144
Fix crash on exit (sometimes) in controller.
2017-05-03 09:48:08 -07:00
Adam Ierymenko
fde99e2fcf
Fix for post size limit in Http library.
2017-05-02 12:08:53 -07:00
Adam Ierymenko
1b68d6dbdc
License header update.
2017-04-27 20:47:25 -07:00
Adam Ierymenko
72def658d0
Add a dummy Ethernet tap and a build option to enable it.
2017-04-26 08:42:49 -07:00
Adam Ierymenko
4f2a779769
JSONDB performance improvements, threading fix.
2017-04-24 20:51:02 -07:00
Adam Ierymenko
e700165eba
GitHub issue #465 - Windows route amnesia
2017-04-21 13:26:02 -07:00
Adam Ierymenko
f9ae5938d0
Makefile fix, only bifurcate routes for default, and release notes.
2017-04-20 10:08:46 -07:00
Adam Ierymenko
bc61357a44
HTTP backend support for JSONDB
2017-04-18 17:37:44 -07:00
Adam Ierymenko
f6d92eb737
JSONDB fix.
2017-04-18 13:48:19 -07:00
Adam Ierymenko
48cadcd2fc
More build fixes.
2017-04-18 12:48:56 -07:00
Adam Ierymenko
bd63a840c7
Mac build fix.
2017-04-18 12:44:27 -07:00
Adam Ierymenko
e4896b257f
Add thread PTR that gets passed through the entire ZT core call stack and then passed to handler functions resulting from a call.
2017-03-27 17:03:17 -07:00
Adam Ierymenko
78ef2c5f16
Windows build fixes, app about text revisions.
2017-03-17 20:01:58 -07:00
Adam Ierymenko
4f3f471b4c
GitHub issue #460
2017-03-17 18:19:51 -07:00
Adam Ierymenko
9b001823f6
Add ifdef for synology around synology-only code in Linux Ethernet tap.
2017-03-08 16:12:54 -08:00
Adam Ierymenko
4b511d80a1
Windows directory cleanup and a Windows build fix.
2017-03-08 10:38:43 -08:00
Adam Ierymenko
a74e9e1dd3
remove debug line
2017-03-08 10:27:13 -08:00
Adam Ierymenko
9c1a9f984b
Clean iddb.d periodically.
2017-03-08 10:18:12 -08:00
Joseph Henry
946e413997
properly fill out ifcfg files. also removed route re-add code for synology
2017-02-21 17:55:00 -08:00
Joseph Henry
e4135ffb35
Decreased ZT_BINDER_REFRESH_PERIOD for Synology build
2017-02-16 16:56:23 -08:00
Joseph Henry
b5b335a6f8
Route re-add patch for linux build on Synology devices
2017-02-16 16:41:26 -08:00
Adam Ierymenko
3361b4030b
Integrate and test linux privilege drop code (from contributor PR). It works now if a "zerotier-one" user is present on a Linux system. Does everything automagically.
2017-02-15 16:25:49 -08:00
Adam Ierymenko
471108f2e4
Slightly increase thread stack size for safety (primary Alpine related) possibly GitHub #443
2017-01-30 08:01:36 -08:00
Adam Ierymenko
ec0e8a9a43
Rip out resolver and use anycast address instead. In the long term existing TCP proxy dies anyway. Fixes static build problem for old Linux versions.
2017-01-26 13:59:20 -08:00
Adam Ierymenko
d79f792e6f
OpenBSD fixes, workaround for apparent libstdc++ bug.
2017-01-19 15:05:26 -08:00
Adam Ierymenko
7b231b38b0
Now builds on OpenBSD, but segfaults. So not yet but close. GitHub issue #439
2017-01-19 10:39:42 -08:00
Adam Ierymenko
989cbb4d8d
Merge pull request #434 from zielmicha/fix-ip
...
Binder.hpp: gather all IPv4 interface addresses
2017-01-19 10:47:47 -08:00
Adam Ierymenko
e9007b1f56
NodeJS migration script for old Sqlite controller.db to new controller data format.
2017-01-19 10:44:26 -08:00
Adam Ierymenko
565842b5ec
Software updater work.
2017-01-11 14:37:31 -08:00
Adam Ierymenko
a064e19b8a
Refactor some JSON stuff for performance, and fix a build error.
2017-01-10 13:51:10 -08:00
Grant Limberg
0f6c53589e
remove commented out function declaration
2017-01-05 11:46:33 -08:00
Grant Limberg
e2b1a7157e
Potential fix for routing issue on Windows
...
Move setting _initialized = true until after WindowsEthernetTap::threadMain() has actually created and brought up the adapter. Also in OneService::nodeVirtualNetworkConfigFunction(), wait up to 5 seconds for WindowsEthernatTap::isInitialized() to return true before attempting to configure the interface and managed routes. Without this, the adapter doesnt actually exist yet when trying to add routes
2017-01-05 11:43:26 -08:00
Michał Zieliński
203b7e17de
Binder.hpp: gather all IPv4 interface addresses
2017-01-01 23:57:15 +01:00
Daniel Skowroński
ba07d1f91d
cleanup
2016-12-27 11:57:05 +01:00
Daniel Skowroński
9a2310395d
mimic BSDEthernetTap but with creating/destroying char tap device
2016-12-27 11:42:43 +01:00
Daniel Skowroński
218ace51a7
use /dev/tap{0..3}; it is fully working now
2016-12-26 02:52:07 +01:00
Daniel Skowroński
f09eedbd7a
make it compilable
2016-12-25 22:54:27 +01:00
Adam Ierymenko
4459d5ad54
Remove debug printf
2016-12-12 12:58:39 -08:00
Adam Ierymenko
39fb4b1b42
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2016-12-12 12:55:14 -08:00
Adam Ierymenko
3864a2e111
Use an alternative method for enumerating interface addresses on Linux to avoid poor performance of getifaddrs() when there are many network namespaces.
2016-12-12 12:53:51 -08:00
Grant Limberg
697520f1f5
Dont write IPv6 addresses to IPv4 sections of registry TCPIP settings.
...
Also, dont add the prefix length to the IP addresses in there.
Appears to fix Github Issue #357 . Still waiting on some info from Microsoft for confirmation of a few things.
2016-12-09 11:36:01 -08:00
Grant Limberg
56faf774ff
Store MTU as String instead of DWORD
...
WindowsEthernetTap was storing the MTU for the ZeroTier Adapter as a
DWORD. When changing the value from the network adapter settings UI, it
was stored as a string. Updated the call when creating the adapter to
store it as a string as windows expects.
2016-11-30 15:18:38 -08:00
Adam Ierymenko
ccdd4ffda7
Move split() to OSUtils since it is not used in core.
2016-11-18 15:49:28 -08:00
Adam Ierymenko
e26bee45fb
Multithreading in network controller. Threads are only started if controller is used.
2016-11-10 13:57:01 -08:00
Tsukasa Hiiragi
8e76363ccf
Fix chown on /var/lib/zerotier-one
2016-11-08 16:50:32 +02:00
Adam Ierymenko
b03c7b2f30
Refactor controller to use split-out DB for better performance and less ugly.
2016-11-04 15:18:31 -07:00
Grant Limberg
965399ba0c
fix a few warnings
2016-10-31 15:16:42 -07:00
Michał Zieliński
344a25c133
Run as nonroot user on Linux (with CAP_NET_ADMIN and CAP_NET_RAW added).
...
- ZT will only drop root privileges if zerotier-one user exists. It is created by
Debian postinst script - in other cases the user has to be created by administrator.
- Linux >=4.3 with ambient capabilities is required, otherwise ZT will silently
- "-U" option now also disables privileges dropping
2016-10-16 13:53:44 +02:00
Grant Limberg
e59ed3e68f
Fix size of neighbor solicitation struct
2016-10-07 10:03:07 -07:00
Grant Limberg
69c5976775
fix typo in assert size
2016-10-04 17:35:52 -07:00
Adam Ierymenko
6651b8310e
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2016-09-30 13:47:40 -07:00
Adam Ierymenko
0843ed62fa
Network delete fix.
2016-09-30 13:47:30 -07:00
Grant Limberg
d817039f79
Add IPv6 Neighbor Discovery code. Not yet tested.
2016-09-30 13:18:17 -07:00
Adam Ierymenko
2fc3d12fb6
Minor tweaks to member code in controller, and fix Linux build.
2016-09-29 14:48:39 -07:00
Adam Ierymenko
24fce0be86
No, definitely have to back out GitHub issue #385 (non-bisected routes) since this breaks IPv6 on OSX and probably IPv4 too if you were to encounter a 6-only situation.
2016-09-14 22:23:56 -07:00
Adam Ierymenko
8d0b2b781e
Route management bug fixes.
2016-09-13 16:25:48 -07:00
Adam Ierymenko
5b6d27e659
Implement relay policy, and setting multicast limit to 0 now disables multicast on the network as would be expected.
2016-09-13 14:27:18 -07:00
Adam Ierymenko
ced8dfc639
Try a version of GitHub issue #385 (non-bifurcated default if not present) on Mac. This version adds the bifurcated routes always but also adds a device-specific non-bifurcated route. Will have to see if this still interferes with OSX route settings, since by definition device specific routes should not conflict with general routes.
2016-09-13 11:07:59 -07:00
Adam Ierymenko
34b146f28b
Back out of GitHub issue #385 for now and maybe for this release. Would be nice but it is non-critical and rules are the priority. Current implementation bangs heads with OSX route assignment on WiFi join, etc.
2016-09-12 14:56:18 -07:00
Adam Ierymenko
fb46a546db
Just always do route bifurcation on Linux for now... basically the old behavior.
2016-09-09 12:53:44 -07:00
Adam Ierymenko
d23ade879b
Do not bifurcate if not replacing an existing route. (Still need to tie up Linux and Windows.)
2016-09-08 15:42:46 -07:00
Adam Ierymenko
b08ca49580
More controller work -- it builds!
2016-08-16 14:05:17 -07:00
Adam Ierymenko
22e44c762b
More rules engine work: key/value pair matching for microsegmentation.
2016-07-28 10:58:10 -07:00
Adam Ierymenko
830250759c
Fix for running under MUSL libc (e.g. Alpine Linux)
2016-07-26 16:39:02 -07:00
Adam Ierymenko
13100b245c
Fix for running under MUSL libc (e.g. Alpine Linux)
2016-07-26 16:36:20 -07:00
Adam Ierymenko
ebe7e15475
sys/sysctl.h is required on OSX and probably other BSD
2016-07-21 19:21:51 -07:00
Adam Ierymenko
095aef5f30
Merge pull request #348 from the-maldridge/remove-sysctl
...
Remove explicit sys/sysctl.h includes
2016-07-21 15:16:22 -07:00
Adam Ierymenko
23391ff9da
More OSX IPv6 fixes.
2016-07-12 09:22:04 -07:00
Adam Ierymenko
3f2b21ce71
Do not shadow our own route twice on Mac if there is no default route. (Fix for issue found during IPv6 default route override testing.)
2016-07-12 08:55:57 -07:00
Adam Ierymenko
912ee199ed
Tiny fixes to LinuxEthernetTap
2016-07-07 16:10:36 -07:00
Michael Aldridge
1a89694980
Remove explicit sys/sysctl.h includes
...
Explicitly including sys/sysctl.h breaks the ability to build
against muslc.
2016-07-06 02:38:23 -05:00
Adam Ierymenko
32d9850263
More new CLI work.
2016-06-23 12:37:15 -07:00
Adam Ierymenko
e2ca239be0
Comment cleanup.
2016-06-21 14:38:15 -07:00
Adam Ierymenko
4f237687ce
Route management now works on Windows, including default route override! 1.1.6 very close!
2016-06-21 13:54:03 -07:00
Adam Ierymenko
82473c85e0
Default route override and route management in general now works in Linux.
2016-06-21 12:32:58 -07:00
Adam Ierymenko
51ced0cf41
GitHub issue #338
2016-06-21 09:41:55 -07:00
Adam Ierymenko
6c4a444f29
GitHub issue #339
2016-06-21 09:40:53 -07:00
Adam Ierymenko
b2d048aa0e
Make Dictionary templatable so it can be used where we want a higher capacity.
2016-06-21 07:32:58 -07:00
Adam Ierymenko
3ee15e65aa
Tying up default route and route mgmt loose ends. It now periodically updates shadow routes so hopefully your link will stay up as you move around.
2016-06-17 13:14:48 -07:00
Adam Ierymenko
1bf1c38b30
Default route population works on Mac!
2016-06-16 18:23:33 -07:00
Adam Ierymenko
37afa876a7
Linux bug fixes, small controller fix.
2016-06-17 00:21:58 +00:00
Adam Ierymenko
2113c21fdc
devicemap now works again in OSXEthernetTap
2016-06-16 14:09:09 -07:00
Adam Ierymenko
f41ea24e97
Build fixes.
2016-06-16 00:11:46 +00:00
Adam Ierymenko
3c655a4b84
Default route ready to test on Mac.
2016-06-15 15:46:57 -07:00
Adam Ierymenko
b90e66f7c7
ManagedRoute, which applies C++ RAII to injected routes. Move RoutingTable to attic.
2016-06-15 15:02:40 -07:00
Adam Ierymenko
4446dbde5e
Big refactor in service code to prep for plumbing through route management.
2016-06-14 10:09:26 -07:00
Adam Ierymenko
536feb632c
Support yet another old version of http-parser for CentOS/EPEL.
2016-06-08 15:09:09 -07:00
Adam Ierymenko
7e68791bee
Fix include for system json-parser.
2016-06-08 12:57:22 -07:00
Adam Ierymenko
4da9d4e53a
Fix build against Debian version of libhttp-parser -- its old but it will work.
2016-06-08 12:49:07 -07:00
Adam Ierymenko
0ca764968a
Remove warnings, more Debian stuff, remove obsolete ui/ stuff.
2016-06-08 11:21:01 -07:00
Adam Ierymenko
c278f05181
RoutingTable build fixes.
2016-04-06 17:29:38 -07:00
Adam Ierymenko
61a9c27af0
Consolidate routing table code.
2016-04-06 17:14:05 -07:00
Adam Ierymenko
e9b2613d5f
Put routing table code back in osdep/
2016-04-06 16:57:37 -07:00
Adam Ierymenko
24469a7f43
.
2016-04-06 16:47:11 -07:00
Adam Ierymenko
504738b183
Binder for Windows, and use Binder to get local interface addresses to advertise.
2016-04-05 15:53:19 -07:00
Adam Ierymenko
32cd2a02c9
OneService now binds all ports to specific local interfaces instead of wildcard and rebinds on changes. (default route)
2016-04-05 15:44:08 -07:00
Adam Ierymenko
4a109658ab
More refactoring and prep for explicit interface bindings (for default route support).
2016-04-05 11:59:46 -07:00
Adam Ierymenko
d8b89b0c86
Fix Cluster to send from a designated endpoint address instead of wildcard.
2016-04-05 10:47:13 -07:00
Adam Ierymenko
e0ad854d19
Beginning of local binding manager for default gateway support.
2016-04-04 18:46:41 -07:00
Adam Ierymenko
b6f6ed35fc
More Windows tweaks and a compile fix.
2016-03-02 19:06:29 -08:00
Adam Ierymenko
d3cb063d13
Tweaks to WindowsEthernetTap to attempt to address GitHub issue #308 and/or GitHub issue #277 -- we can't reproduce yet but I found one area where a spin was possible under certain failure conditions. Maybe.
2016-03-02 18:37:24 -08:00
Adam Ierymenko
7526ed705c
Check for /dev/tun as well as /dev/net/tun since some Linux devices put it there.
2016-01-21 16:01:24 -08:00
Joseph Henry
bcaf42e075
Transfer speed increate + stability fixes
2016-01-20 13:38:14 -08:00
Joseph Henry
1783867f96
Print path for user. Removed unused stub Phy methods
2016-01-17 15:13:32 -08:00
Joseph Henry
f52a82d9f2
Updated RX buffer code
2016-01-14 13:23:01 -08:00
Adam Ierymenko
7991a7c50a
Merge branch 'dev' into edge
2016-01-12 14:05:40 -08:00
Adam Ierymenko
4e4fd51117
boring doc stuff
2016-01-12 14:04:55 -08:00
Joseph Henry
3e65ecb93d
Stateless RPC rework
2016-01-11 10:12:59 -08:00
Adam Ierymenko
436c1fac1d
Selectively move over changes from "edge" to "dev" excluding netcon.
2015-12-21 16:15:39 -08:00
Adam Ierymenko
24cc0904fa
1.1.2 Windows build fixes, tweaks, etc.
2015-12-21 13:14:48 -08:00
Adam Ierymenko
e506fda3e4
Only set SO_NO_CHECK on IPv4 UDP sockets for now due to broken V6 stacks that drop zero checksum UDP packets.
2015-12-09 15:02:42 -08:00
Adam Ierymenko
ac8918992b
Merge dev.
2015-12-04 12:45:21 -08:00
Adam Ierymenko
c21882da9c
Put selftest back and turn off tracing in PortMapper.
2015-11-30 16:07:02 -08:00
Adam Ierymenko
f260250580
Simplify IP assignment logic in OSXEthernetTap, also fix for GitHub issue #249
2015-11-30 15:39:34 -08:00
Adam Ierymenko
d862d2868c
... and here.
2015-11-30 14:57:28 -08:00
Adam Ierymenko
1e213b4d4c
Need to close on premature abort too or resources are leaked.
2015-11-30 14:56:36 -08:00
Adam Ierymenko
3d66492828
Also add a timeout for the actual NAT-PMP port mapping step.
2015-11-30 14:17:58 -08:00
Adam Ierymenko
838fdf4d11
ifdef naming fix.
2015-11-30 13:32:30 -08:00
Adam Ierymenko
685c5e9ad1
Fix for uPnP
2015-11-30 13:25:34 -08:00
Adam Ierymenko
66a29a00ee
Merge miniupnpc/libnatpmp build into main build by just adding flags, defs, and objs.
2015-11-30 13:17:43 -08:00
Adam Ierymenko
6768521330
Ton of uPnP work and adding NAT-PMP support, still testing...
2015-11-30 13:10:22 -08:00
Adam Ierymenko
75637f68b3
Merge branch 'dev' of github.com:zerotier/ZeroTierOne into dev
2015-11-24 14:11:31 -08:00
Adrian Frühwirth
038476c412
Fix for GitHub issue #253 .
...
Make 'ip' detection more robust (some distros don't ship the binary in /sbin or /usr/sbin).
Add error handling for cases where an ip add/remove fails.
2015-11-24 22:56:02 +01:00
Adam Ierymenko
7e28161638
Merge dev
2015-11-30 15:17:31 -08:00
Adam Ierymenko
a18336fa18
MERGE current "dev" into "netcon" -- should not affect netcon itself but will retest -- brings ZeroTier core up to 1.1.0
2015-11-23 10:46:52 -08:00
Grant Limberg
764dd1c3d9
ARP packets do need the source IP address in them, as well as the MAC address.
...
Packets wouldn't even show up in WireShark without the source IP in it.
2015-11-21 19:14:59 -08:00
Grant Limberg
ac09c3569a
ARP packet lengths are 28 bytes. This condition required the packet to be 29 or more bytes.
2015-11-21 19:14:06 -08:00
Adam Ierymenko
0f5fb48a0b
Turns out it wasn't hard to add miniupnpc to the VS2012 project and just have it build with the rest of the code.
2015-11-16 19:04:04 -08:00
Adam Ierymenko
0d9f33dc4f
Fix: (1) Windows stack overflow due to buffer too large in peer deserialize, (2) clean up some other stuff seen during debugging and reduce the sizes of some buffers due to Windows small stack size, (3) remove a redundant try/catch.
2015-11-13 12:14:28 -08:00
Adam Ierymenko
a13ba7102a
GitHub issue #242 -- crappy uPnP protocol demands infinite lease time or else
2015-11-10 17:45:05 -08:00
Adam Ierymenko
2cc50bdb10
Try bringing back TTL escalation -- may help with Docker (IP-MASQ) type NAT
2015-11-09 15:44:13 -08:00
Adam Ierymenko
7903f24a8f
Create periodic backup copies of controller.db in network controller from the main process itself to facilitate easier and safer backups of controller.db.
2015-11-03 15:52:10 -08:00
Joseph Henry
bb912cff30
More appropriate phyOnUnixClose handling
2015-11-02 12:50:32 -08:00
Joseph Henry
6338a4933b
Fixed another closure bug. Updated debug levels
2015-11-02 12:30:18 -08:00
Joseph Henry
96eb0ce492
Added state dump, fixed numerous RPC related bugs
2015-10-29 17:57:59 -07:00
Adam Ierymenko
40e0a34a5c
Add set buffer sizes code to Phy<>
2015-10-27 13:04:08 -07:00
Adam Ierymenko
7295fcfa86
Merge Phy<> from netcon.
2015-10-27 12:50:23 -07:00
Adam Ierymenko
7711eba297
More cluster wiring...
2015-10-22 16:02:01 -07:00
Joseph Henry
557c0c29b0
minor changes
2015-09-23 19:45:44 -04:00
Adam Ierymenko
69f006f641
.
2015-09-22 16:02:02 -07:00
Adam Ierymenko
ff7ac0487b
.
2015-09-22 15:16:38 -07:00
Adam Ierymenko
6ce64c2557
Phy<> loses socketpair, gains raw FD monitoring.
2015-09-22 15:11:32 -07:00
Joseph Henry
3ed5edb295
fixed fd-transfer logic bug, needs new write-queue logic
2015-09-22 17:43:20 -04:00
Joseph Henry
8ea83c9548
netif code hooked up
2015-09-15 14:15:59 -04:00
Adam Ierymenko
c1a53a2653
ARP cache and responder agent code for use in netcon and iOS.
2015-09-11 11:45:04 -07:00
Adam Ierymenko
cd3d77987c
.
2015-09-10 15:52:24 -07:00
Adam Ierymenko
9a723be263
Add socketpair support to Phy.
2015-09-10 13:18:57 -07:00
Adam Ierymenko
4838cbc350
Unix domain sockets in Phy<>
2015-09-02 14:32:01 -07:00
Adam Ierymenko
b75bdedaee
Manually set DeviceInstanceID since this registry key is missing on Windows Vista and Server 2008.
2015-08-13 15:52:54 -07:00
Adam Ierymenko
620562f7cf
Because Windows, because Windows. Now it upgrades correctly from 1.0.1, including automatic driver update from NDIS5 to NDIS6. Also a bit more robust on creating new ports, just in case.
2015-07-30 17:00:57 -07:00
Adam Ierymenko
922d9657b9
Save enumeration of statically assigned IPs so they will always be reassigned on device "power cycle."
2015-07-30 14:10:32 -07:00
Adam Ierymenko
1e3d5c4d87
Suppress icacls output on lockDownFile().
2015-07-30 12:05:56 -07:00
Adam Ierymenko
6f46f0e0e1
Because Windows.
2015-07-30 11:57:48 -07:00
Adam Ierymenko
8169b35482
Kill the devcon.exe dependency by dynamically loading cfgmgr32, newdev, and setupapi and using these functions directly.
2015-07-30 11:31:38 -07:00
Adam Ierymenko
14264c2d6f
Add miniupnpc builds for Windows, fix some Windows build warnings.
2015-07-28 16:50:18 -07:00
Adam Ierymenko
fe6d5b1402
UPNP/NAT-PMP support with libminiupnpc (if built with it) -- GitHub issue #64
2015-07-28 14:32:02 -07:00
Adam Ierymenko
40d5c79b62
Enable SO_NO_CHECK if available to skip UDP checksum on packet send for slight performance improvement. We do our own cryptographically secure authentication so UDP checksum is worthless.
2015-07-28 10:29:25 -07:00
Adam Ierymenko
7a15d8a7e3
Fix leaving of networks to actually call Network::destroy().
2015-07-24 14:50:44 -07:00
Adam Ierymenko
56285ec0d4
Another attempt at a fix for all the Windows driver coma issues.
2015-07-06 17:58:04 -07:00
Adam Ierymenko
494681a482
This might be a final fix for GitHub issue #173 and possibly others: ACTIVELY detect borked port status on Windows and if any "cable unplugged" or other wacky states are detected whack the adapter (close and reopen). Tested adding a whole bunch of windows networks, removing, adding more, etc. and it seems to work very well!
2015-06-12 16:02:04 +02:00
Adam Ierymenko
00aa115898
Allow double-close just in case in Phy<>
2015-06-09 16:30:44 +02:00
Adam Ierymenko
17ca5be4c1
Rework Phy<> to clean up _socks entries only in poll() to fix instability in proxy.
2015-06-09 16:27:11 +02:00
Adam Ierymenko
ab720a6f1e
Fix for poll() in Phy<> with no sockets open. Only affects tcp-proxy.
2015-06-05 13:48:33 -07:00
Adam Ierymenko
0f7dcb3ef2
Add some proxy debugging, and auto-resolve and periodically re-resolve TCP fallback tunnel hostname.
2015-05-21 15:22:41 -07:00
Adam Ierymenko
61021fc778
BackgroundResolver test.
2015-05-21 14:11:44 -07:00
Adam Ierymenko
2ad69237cf
Background resolver.
2015-05-21 13:44:33 -07:00