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
16a878adb1
... route fix test
2020-11-13 16:18:00 -05:00
Adam Ierymenko
020d882e82
Route assignment fix.
2020-11-13 16:02:59 -05:00
Adam Ierymenko
90f18f7ee7
Fix for ZTO-33 (Jira), only assign routes if there is a viable source IP.
2020-11-06 11:01:45 -05:00
Adam Ierymenko
317263b31c
Remove unused variable on non-windows
2020-11-02 19:09:11 -05:00
Adam Ierymenko
52679d2784
Simplify and fix managed route logic.
2020-11-02 19:02:07 -05:00
Grant Limberg
bbb307aff7
DNS is now toggleable via zerotier-cli set <nwid> allowDNS=[0|1]
...
Flag is disabled by default as it should be opt-in on each endpoint
2020-09-10 15:59:18 -07:00
Adam Ierymenko
47e9fb3ddb
Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev
2020-08-25 08:07:23 -07:00
Joseph Henry
b1ddba0438
Remove a few old comments
2020-08-24 18:56:49 -07:00
Adam Ierymenko
06730c7d1d
BSL date bump
2020-08-20 12:51:39 -07:00
Grant Limberg
c0c215c83c
single dns config per network
2020-08-12 13:08:47 -07:00
Grant Limberg
302ac8fefe
DNS config support on macOS
2020-08-05 14:26:11 -07:00
Grant Limberg
88a3c685fb
latest
2020-08-04 13:52:57 -07:00
Grant Limberg
2e52a1eebf
forgot a couple queries in postgres. trying to pull dns of member not network in embedded network controller
...
also some debug logging
2020-08-04 09:45:45 -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
Joseph Henry
9f4985b11a
Add basic bond health status reporting (listbonds)
2020-07-27 23:01:12 -07:00
Joseph Henry
dc784f6213
Comment out Bond and BondController debug traces
2020-07-21 10:22:10 -07:00
Suad Halilovic
ffebcd247f
2020/07/16, Minor optmizations
2020-07-16 18:31:56 +02:00
Joseph Henry
a33a494d60
Adjust terminology
2020-06-17 14:54:13 -07:00
Joseph Henry
5f0ee4fc78
Fix invalid defaultBondingPolicy conditions, Add ZT_MultipathFlowRebalanceStrategy, Add basic hysteresis mechanism to flow re-assignment
2020-06-16 12:30:21 -07:00
Joseph Henry
7266550c22
Remove vestigial constructor, fix typos, clean up code
2020-05-26 17:57:37 -07:00
Joseph Henry
4465952d11
Merge remote-tracking branch 'origin/dev' into multipath
2020-05-14 16:06:55 -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
Grant Limberg
154470b570
add original hiredis
2020-05-11 15:03:56 -07:00
Grant Limberg
73b1d57b13
rip out rabbitMQ
2020-05-11 12:29:06 -07:00
Joseph Henry
b8e70d866a
Compile fix for unterminated conditional directive
2019-11-12 09:46:39 -08:00
Joseph Henry
e1e27eb19d
Bugfix for incorrect port binding of secondary and tertiary ports
2019-11-11 12:03:49 -08:00
Grant Limberg
cc79ec6179
use std::string instead of const char* in rmq struct
2019-10-31 15:08:59 -07:00
Adam Ierymenko
bcdab95e4c
Windows installer version bump, build fix.
2019-09-04 14:13:45 -07:00
Adam Ierymenko
a16377cea5
Add mitigations against borked ARM32 exception unrollers, possibly fix GitHub issue #1003
2019-09-04 12:48:28 -07:00
Joseph Henry
d8de837c60
LinuxEthernetTap addIps virtual function fix for SYNOLOGY builds
2019-08-27 14:43:30 -07:00
Adam Ierymenko
52a166a71f
Relicense: GPLv3 -> ZeroTier BSL 1.1
2019-08-23 09:23:39 -07:00
Joseph Henry
963113b86d
Minor adjustment to how _allowTcpFallbackRelay is disabled when _multipathMode is set
2019-08-20 10:38:18 -07:00
Adam Ierymenko
8b97755fc5
Windows fixes.
2019-08-08 14:08:35 -05:00
Adam Ierymenko
b11627a8bc
add SDK VirtualTap to new factory method
2019-08-07 18:45:04 -05:00
Adam Ierymenko
237c379866
Choose which tap to use (feth or kext) on Mac based on Darwin version.
2019-08-07 18:20:17 -05:00
Adam Ierymenko
f7e8d8f1dd
Fix LFDB path issue when using with Postgress in DBMirrorSet config
2019-08-07 11:23:48 -05:00
Adam Ierymenko
3db0197865
Add try/catch in LFDB and add introspection into multicast subscriptions in client network status API
2019-08-06 15:22:57 -05:00
Adam Ierymenko
fdc708a624
GitHub issue #979
2019-08-02 13:59:03 -07:00
Joseph Henry
389331ca29
Ticket #915 , added allowSecondaryPort to optionally force ZT to use a single port
2019-07-09 10:31:03 -07:00
Adam Ierymenko
bb0808c99c
Remove current multithreaded receive path, which is not that efficient. We will do something better in the future.
2019-06-19 10:19:59 -07:00
Adam Ierymenko
c5a07c7f20
More stack->heap
2019-06-17 15:28:02 -07:00
Adam Ierymenko
523df47a65
Check for null data ptr
2019-06-17 14:02:35 -07:00
Adam Ierymenko
ce2338c24a
Fix null ptr on managed routes if no IPs are set.
2019-06-13 12:52:38 -07: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
Adam Ierymenko
2966eac64f
Get rid of ZT_FAST_MEMCPY because this is not really needed.
2019-03-22 15:50:15 -07:00
Grant Limberg
fcb4221f97
rabbitMQ implementation
2019-03-05 15:11:50 -08:00
Joseph Henry
82a21d4b71
Bugfix for heap-use-after-free in concurrent packet processing code (manifests only after terminate() is called)
2019-01-30 22:29:51 -08:00
Grant Limberg
2294770e56
Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev
2019-01-21 11:18:25 -08:00
Grant Limberg
d98bdb5643
WIP: Pass listen port down to Postgres
2019-01-21 11:18:20 -08:00
Joseph Henry
21f4f16e63
Disable HTTP control plane for libzt builds, introduction of getRoutes() for SDK API
2019-01-14 11:34:46 -08:00
Joseph Henry
0e597191b8
Updated licenses for 2019
2019-01-14 10:25:53 -08:00
Grant Limberg
b59c4a2106
Print error & exit on local.conf parsing error
2019-01-07 11:19:50 -08:00
Grant Limberg
f6e9f0e2a2
cleanup
2018-12-07 01:58:23 -08:00
Grant Limberg
4a89729529
add INCOMING_PACKET_CONCURRENCY environment variable to be able to specify max threads for receive in controller
2018-12-07 00:59:08 -08:00
Adam Ierymenko
6684559cd9
More Mac tap improvements and threading efficiency improvements.
2018-11-13 13:51:25 -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
Adam Ierymenko
f6450cd7e1
Cleanup and a minor performance improvement.
2018-11-13 10:19:51 -08:00
Adam Ierymenko
3b6b1d1674
Make incoming packet processor thread pool dynamic based on core count.
2018-11-13 09:35:20 -08:00
Adam Ierymenko
b937aeb857
cleanup
2018-11-11 23:03:51 -08:00
Adam Ierymenko
1cec4b1c4c
Raise thread count to 8
2018-11-11 22:55:38 -08:00
Adam Ierymenko
c9c17eaddd
Retire RethinkDB, simple receive path multithreading.
2018-11-11 22:35:15 -08:00
Adam Ierymenko
15649334a6
Do not use new "feth" devices for ZT traffic.
2018-11-11 19:22:07 -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
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
Grant Limberg
7c72653385
because Windows....
2018-10-23 13:21:25 -07:00
Joseph Henry
7b87e9c0cb
Added ability for OneService to monitor local.conf for changes and automatically reload
2018-09-11 16:55:46 -07:00
Joseph Henry
0fddebc791
Added ability to manually set secondary and tertiary ports in local.conf
2018-09-10 13:06:05 -07:00
Joseph Henry
76b4ec12a0
Vault-related amendments
2018-08-09 14:32:26 -07:00
Joseph Henry
0e4cfd897b
Multipath-related amendments from merge into edge
2018-08-09 13:40:49 -07:00
Adam Ierymenko
515d7962b0
Build fixes.
2018-08-09 11:39:42 -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
Adam Ierymenko
5b114791e5
Fix a bug that caused a crash on empty HTTP requests (localhost only) and add a lightweight lock to the RX queue to prevent possible threads stepping on each other in parallel receive paths.
2018-07-20 14:01:58 -07:00
Grant Limberg
dce9cb27c1
helps to have an ==0 on a strcmp
2018-06-11 09:53:11 -07:00
Grant Limberg
4199c56e99
cant compare character arrays with ==
2018-06-11 09:53:00 -07:00
Adam Ierymenko
0cd01b6ff8
Fix silly bug where moons and networks were being loaded by the address of an array rather than the proper value.
2018-05-07 12:51:39 -07:00
Adam Ierymenko
42ec780a6f
Merge branch 'dev' into netbsd-support
2018-04-25 06:39:02 -07:00
Adam Ierymenko
c2ffbb8627
Merge pull request #673 from neutronscott/dev
...
check physical blacklist for interface binding as well
2018-04-18 08:05:51 -07:00
Adam Ierymenko
916077012e
Make sure fopen is in binary mode on Windows.
2018-03-16 11:27:11 -07:00
Joseph Henry
db952a050a
Added platform checks for Windows in OneService
2018-02-08 14:15:32 -08:00
neutronscott
73ca9b6373
check physical blacklist for interface binding as well
2018-02-03 14:53:46 -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
Adam Ierymenko
c594351bcc
Remove old code.
2018-01-11 14:32:55 -08:00
Adam Ierymenko
f87326fc21
Fixes for lock ordering -- GitHub issue #573
2018-01-11 14:29:57 -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
Joseph Henry
7e2d614975
Attempted fix for ticket #656 (failes to acknowledge physical blacklists)
2018-01-09 10:16:49 -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
30694f0b20
Allow trusted paths over global IPs for legacy config format too.
2018-01-09 08:59:26 -08:00
Adam Ierymenko
65c07afe05
Copyright updates for 2018.
2018-01-08 14:33:28 -08:00
Adam Ierymenko
0b0b5da240
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2018-01-08 13:06:30 -08:00
Adam Ierymenko
9c7ee5a21e
Tear out old "link quality" stuff since it is not currently used and will be done differently.
2018-01-08 13:06:24 -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
Adam Ierymenko
0608704626
Some micro-optimizations, including a memcpy that is faster than Linux for most distro/compiler versions.
2017-12-15 11:03:20 -08:00
Joseph Henry
382dd82eb6
Fix for local.conf virtual path blacklist (ticket #594 )
2017-11-27 15:31:25 -08:00
Adam Ierymenko
cb550ab4fe
Merge branch 'dev' into edge
2017-11-07 14:59:18 -08:00
Joseph Henry
e5d1243dd2
Minor changes to SDK-related portions of OneService
2017-11-06 13:43:56 -08:00
Adam Ierymenko
92c7070aa8
RethinkDB fixes.
2017-11-03 20:55:16 -04:00
Adam Ierymenko
2cc4dc5a6f
Clean peers.d periodically and delete peers older than 30 days.
2017-10-25 16:08:14 -07:00
Joseph Henry
ee4783e3fb
ifdef omit of deletePersistentTapDevice() in OneService for libzt builds on Windows
2017-10-10 15:01:15 -07:00
Grant Limberg
ceeb35eaac
If lastSend/lastReceive is < 0, just put 0.
2017-10-05 13:19:25 -07:00
Grant Limberg
4177a11522
remove some leftover debug code
2017-10-04 09:18:13 -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
Adam Ierymenko
f8014413a3
Add UDP MTU configurability.
2017-09-01 16:25:34 -07:00
Adam Ierymenko
6418d02572
Fix HTTP DELETE stupid bug.
2017-08-24 15:33:24 -07:00
Adam Ierymenko
2cebe7a5e0
Fix name difference.
2017-08-23 14:09:29 -07:00
Adam Ierymenko
64758c46b6
Implement peer serialization and deserialization.
2017-08-23 13:40:51 -07:00
Adam Ierymenko
4352202349
Reduce TCP relay latency -- see GitHub issue #564
2017-08-18 14:54:10 -07:00
Joseph Henry
59b7cbb591
Rename SocketTap to VirtualTap to prevent confusion on role
2017-08-15 16:22:28 -07:00
Joseph Henry
ee1dc16e8f
Added getRoutes() for libzt
2017-08-10 00:59:15 -07:00
Adam Ierymenko
b62296a40b
Bug fixes in new harness mode.
2017-07-19 14:13:17 -07:00
Adam Ierymenko
4ecc0c59ca
Plumbing through of remote trace into controller code.
2017-07-14 13:03:16 -07:00
Adam Ierymenko
ba6fd16823
More tracing stuff.
2017-07-13 15:08:57 -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
dff8c02cfe
Pull out and deprecate old cluster code. New cluster code will not be merged yet.
2017-07-06 12:33:00 -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
baa10c2995
.
2017-06-30 17:32:07 -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
Adam Ierymenko
2225bb093a
Merge branch 'edge' into dev
2017-06-23 16:06:38 -07:00
Adam Ierymenko
75a6a7baca
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2017-06-23 16:05:58 -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
4f2179b0df
.
2017-06-05 13:42:43 -07:00
Adam Ierymenko
9b287392a4
.
2017-06-05 12:15:28 -07:00
Adam Ierymenko
aa06470cb6
More cleanup for cluster refactor.
2017-06-01 20:32:43 -07:00
Adam Ierymenko
e8d11eb5c5
.
2017-06-01 17:21:04 -07:00
Joseph Henry
7bc9666aac
fix for SDK's route/tap association in getTap()
2017-05-31 13:07:03 -07:00
Adam Ierymenko
e5e90b1f71
Wire MTU through to service.
2017-05-04 20:10:49 -07:00
Joseph Henry
1f26cb98de
updated OneService convenience functions for SDK
2017-05-04 15:26:44 -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
8542ee59db
Windows crash fix.
2017-04-21 12:42:51 -07:00
Adam Ierymenko
ba0d73d102
Windows build fixes.
2017-04-20 10:21:40 -07:00
Adam Ierymenko
bc61357a44
HTTP backend support for JSONDB
2017-04-18 17:37:44 -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
592cac5815
Remove from a few other places.
2017-03-27 12:09:37 -07:00
Joseph Henry
683ba79ff0
Added ButtFlare stub code
2017-03-24 17:00:14 -07:00
Adam Ierymenko
c6a39ed927
Fixes for possible ARM issues, cleanup, fix for spurious meaningless exceptions on NETWORK_CONFIG_REQUEST
2017-03-17 13:55:26 -07:00
Adam Ierymenko
1ef3069a7e
1.2.0 release notes and a few final tweaks and cleanup.
2017-03-14 21:21:12 -07:00
Adam Ierymenko
f99b62c48d
fix stupid thing.
2017-03-14 15:38:24 -07:00
Adam Ierymenko
27d4bedd73
Wait a minute (literally) before doing software update check on startup.
2017-03-14 13:17:10 -07:00
Adam Ierymenko
d0224b3623
Software update fix.
2017-03-10 22:02:08 -08:00
Adam Ierymenko
6194d2af3d
Return 200 from JSON API when moon is POSTed.
2017-03-10 19:37:03 -08:00