Commit Graph

485 Commits

Author SHA1 Message Date
Adam Ierymenko
5da7d6d1ae Merge docker update PR 2018-11-28 08:43:50 -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
Travis LaDuke
133b64679c
Update README.md 2018-09-24 15:02:11 -07:00
Travis LaDuke
79b88a22c3
Update README.md
Document that allowManagementFrom is an array
2018-09-24 14:58:44 -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
Joseph Henry
d74817f79f Added blurb about allowTcpFallbackRelay to README 2018-06-22 16:46:50 -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
94f41e2332 Merge branch 'dev' of github.com:zerotier/ZeroTierOne into dev 2018-04-18 08:08:06 -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
6fdbdf9272
Merge pull request #712 from elmar/master
fix typo in documentation
2018-04-18 08:04:19 -07:00
Elmar S. Heeb
c14f9cc247 fix typo in documentation 2018-04-14 10:52:30 +02: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
Adam Ierymenko
b92ef67e56 Merge pull request #550 from surgicalcoder/patch-2
Peer's role misses a PLANET role
2017-10-24 12:22:38 -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
727ccb1125 Cleanup and stdin/stdout harness mode for controller. 2017-07-18 13:57:37 -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
Monty A
78ee7f6573 Peer's role misses a PLANET role
Peer's role misses a PLANET role in documentation vs what's returned from API.
2017-07-09 15:39:49 +01:00
Adam Ierymenko
f23a43fb81 More cleanup. 2017-07-06 17:32:41 -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
640ad577d1 . 2017-07-06 11:56:46 -07:00
Adam Ierymenko
cd63ecd3f3 . 2017-07-06 11:45:48 -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
Adam Ierymenko
4244cca48c Delete comically named SSL gateway code, which is going elsewhere. 2017-03-27 12:08:38 -07:00
Joseph Henry
683ba79ff0 Added ButtFlare stub code 2017-03-24 17:00:14 -07:00
Adam Ierymenko
78ef2c5f16 Windows build fixes, app about text revisions. 2017-03-17 20:01:58 -07:00
Adam Ierymenko
cc883cc3d8 Merge branch 'master' of http://10.6.6.2/zerotier/ZeroTierOne 2017-03-17 13:56:01 -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
e3feaf3f5d Warning removal, and dev is now 1.2.1 2017-03-16 16:45:11 -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
0fd45a640b Allow multiple architectures in software update dist .json file arch fields. 2017-03-14 15:19:16 -07:00
Adam Ierymenko
0b0d03dbe2 Merge branch 'dev' of http://10.187.63.16/zerotier/ZeroTierOne into dev 2017-03-14 14:40:27 -07:00
Adam Ierymenko
533baf921f Software update cleanup, and a fix for updates on Windows. 2017-03-14 14:40:17 -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
902807ea50 Software update check every 10min. 2017-03-10 22:03:07 -08: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
Adam Ierymenko
9c1a9f984b Clean iddb.d periodically. 2017-03-08 10:18:12 -08:00
Adam Ierymenko
5249ce8fb4 Small amount of cleanup. 2017-03-08 08:45:04 -08:00
Adam Ierymenko
5dbafc2eeb Add config to status in JSON API. 2017-03-07 14:17:51 -08:00
Adam Ierymenko
22f86df606 Merge ControlPlane into OneService to make variable access simpler. 2017-03-07 13:53:11 -08:00
Adam Ierymenko
9980526aaf Consistent field names. 2017-03-07 10:12:05 -08:00
Adam Ierymenko
1d2cb867b2 Close all open FDs before exec in Unix software update code. 2017-03-07 09:26:27 -08:00
Adam Ierymenko
3859533e73 Minor software updater cleanup. 2017-03-07 09:18:00 -08:00
Adam Ierymenko
a577b8d381 Update how controller handles circuit tests -- save results to filesystem. 2017-03-01 16:33:34 -08:00
Adam Ierymenko
39f886ad88 Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev 2017-03-01 14:37:01 -08:00
Adam Ierymenko
1d39be61b2 ZeroTier now has link quality measurement. We are not using this yet but decided to put it in to prep for future QoS support and SD-WAN stuff. 2017-03-01 14:36:52 -08:00
Joseph Henry
4430fc47c6 Added HTTP authorization block for synology builds 2017-02-28 16:30:20 -08:00
Adam Ierymenko
fe19ad328c Windows build fix. 2017-02-23 12:40:21 -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
b5b335a6f8 Route re-add patch for linux build on Synology devices 2017-02-16 16:41:26 -08:00
Adam Ierymenko
61b413b57f Found it in a few other places. 2017-02-16 09:54:52 -08:00
Adam Ierymenko
d2c0203dc9 Fix stupid inverted sense bug. 2017-02-16 09:53:39 -08:00
Adam Ierymenko
cd7b571da0 Add a local.conf option to set the port. 2017-02-13 15:55:38 -08:00
Adam Ierymenko
0052877d2f Add CLI shortcuts for adding federated roots. 2017-02-13 15:41:53 -08:00
Adam Ierymenko
23bb44f2d6 Fix small typo. 2017-02-13 14:28:17 -08:00
Adam Ierymenko
4b11566505 Integrate moon concept into http config bus, and clean up that code quite a bit. 2017-02-13 14:27:08 -08:00
Adam Ierymenko
42f28bce52 Cleanup and make moons (federated roots) a little easier to deal with. 2017-02-13 09:03:48 -08:00
Adam Ierymenko
31db768e4d A bit of code cleanup. 2017-02-04 00:23:31 -08:00
Adam Ierymenko
ff74ec2482 Cluster build fix. 2017-01-30 21:39:44 +00:00
Grant Limberg
49e31ca647 InetAddress.hpp needs to be included in OneService.hpp 2017-01-30 09:16:16 -08:00
Adam Ierymenko
2ceb162df0 Merge pull request #442 from zielmicha/allow-managed
allow user to specify arbitrary allowed IP networks in allowManaged
2017-01-30 06:54:49 -08:00
Adam Ierymenko
9f7919f71f Add comments to join ("orbit") moons. 2017-01-27 15:27:26 -08:00
Adam Ierymenko
0b3b994241 Relay policy can now be computed. 2017-01-27 14:05:09 -08:00
Adam Ierymenko
64774d0d4f Replace piecemeal designation of upstreams with the concept of moons, which is simpler and easier to use and inherits all the cool live update stuff of worlds (now called planets) and global roots. 2017-01-27 13:27:52 -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
Michał Zieliński
8f2a42d1ad allow user to specify arbitrary allowed IP networks in allowManaged 2017-01-23 12:16:40 +01: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
a604294b1b local.conf docs 2017-01-19 16:10:36 -08:00
Adam Ierymenko
89d74cd293 Add a portMappingEnabled flag to local.conf to allow uPnP/NAT-PMP to be disabled. 2017-01-19 15:57:50 -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
0fb3d1d582 Add a build version for software update use so we can do very minor updates within a version. 2017-01-18 09:16:23 -08:00
Adam Ierymenko
81910c1d92 Replace update signing key with real key generated on air-gapped system. 2017-01-13 16:07:57 -08:00