Commit Graph

140 Commits

Author SHA1 Message Date
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
c148a23df4 Added preprocessor check for ZT_NO_CAPABILITIES around header includes 2018-10-26 11:59:55 -07:00
Joseph Henry
7dbccf08ae Removed unnecessary block before get request. Possible bug fix for Synology NAS ticket #27 2018-10-23 10:58:25 -07:00
Joseph Henry
04de2302a7 More insightful errors for get command 2018-10-03 14:24:21 -07:00
Joseph Henry
535ba8a207 Consolidated powerpc64le machine types, added 32-bit powerpc machine type and a flag to disable use of Linux capabilities 2018-05-09 13:51:32 -07:00
Adam Ierymenko
f12c0e79c9 GitHub issue #723 2018-04-23 14:11:26 -07:00
Adam Ierymenko
54218f6c3c
Merge pull request #690 from Pablohn26/master
Warn about invalid network id instead of help
2018-04-18 08:05:28 -07:00
Pablo Hinojosa
a9778549f2
Warn about invalid network id instead of help 2018-03-11 03:39:13 +01:00
Grant Limberg
1bec8ddce4 Better error messages when the ZeroTier service can't be contacted
Fixes #681
2018-02-13 16:41:21 -08:00
Grant Limberg
4878d8ec15 Add CAP_NET_BIND_SERVICE to capabilities 2018-01-30 10:47:31 -08:00
Adam Ierymenko
f3dfd63634 Clean up some old stuff. 2018-01-26 20:00:37 -05:00
Joseph Henry
57077e4607 Added (get) command blurb in cli help 2018-01-10 14:40:31 -08:00
Joseph Henry
98b07f7f3c Added (get) command to cli to single out JSON fields 2018-01-10 14:05:28 -08:00
Adam Ierymenko
65c07afe05 Copyright updates for 2018. 2018-01-08 14:33:28 -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
Adam Ierymenko
249c27afd5 Fix old bug invoking idtool personality with -i 2017-12-08 11:17:07 -08: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
d2415dee00 Cleanup. 2017-07-06 16:11:11 -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
fb71a6e2b4 skipRootCheck should also prevent dropping of privs on Linux 2017-05-19 16:16:10 -07:00
Adam Ierymenko
1b68d6dbdc License header update. 2017-04-27 20:47:25 -07:00
Adam Ierymenko
aaf597f020 Cleanup, Windows fixes, Self test fix 2017-04-18 12:22:44 -07:00
Adam Ierymenko
78ef2c5f16 Windows build fixes, app about text revisions. 2017-03-17 20:01:58 -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
533baf921f Software update cleanup, and a fix for updates on Windows. 2017-03-14 14:40:17 -07:00
Adam Ierymenko
6d6719da27 Clarify key semantics. 2017-03-08 17:03:32 -08:00
Adam Ierymenko
20085cd15b No need to put time in .moon filename. 2017-03-08 16:51:12 -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
Adam Ierymenko
b989c03416 Fix build on Linux if PR_CAP_AMBIENT is not defined, which is the case for some libc-dev installs. 2017-02-16 00:57:33 +00: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
0052877d2f Add CLI shortcuts for adding federated roots. 2017-02-13 15:41:53 -08:00
Adam Ierymenko
c95bae2d73 Small fixes to moon-management code in CLI. 2017-02-13 10:05:00 -08:00
Adam Ierymenko
88cba48f45 Eliminate warning. 2017-02-01 15:24:41 -08:00
Adam Ierymenko
5fa1d9796c zerotier-idtool commands to init and generate moons 2017-01-27 17:34:39 -08:00
Adam Ierymenko
77a1dd4737 Dead code removal, fix minor issue in upstream endpoint check. 2017-01-27 16:25:53 -08:00
Adam Ierymenko
d79f792e6f OpenBSD fixes, workaround for apparent libstdc++ bug. 2017-01-19 15:05:26 -08:00
Adam Ierymenko
1346e31a8e Windows build fixes, Software update fix, warning removal. 2017-01-13 14:22:36 -08:00
Adam Ierymenko
a064e19b8a Refactor some JSON stuff for performance, and fix a build error. 2017-01-10 13:51:10 -08:00
Adam Ierymenko
890f6f0d35 Make allow management from a local.conf parameters. 2016-12-12 16:25:41 -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
b6c99ba3ef Add (currently undocumented) option to allow management from certain networks. 2016-11-14 15:47:06 -08:00
Grant Limberg
8ffae313fd add new files & remove old ones from VS project. Now builds & runs on Windows again 2016-11-03 12:10:50 -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
Adam Ierymenko
eebcf08084 Tweaks to new Path code for dual-stack operation, and other fixes. 2016-09-03 15:39:05 -07:00
Adam Ierymenko
ded5a53a6c Documentation updates, add rules engine revision to network config request meta-data. 2016-08-26 10:38:43 -07:00
Adam Ierymenko
2cdda38dc4 It basically works... at least on current controllers. 2016-08-24 15:26:18 -07:00
Adam Ierymenko
8e3463d47a Add length limit to TEE and REDIRECT, and completely factor out old C json-parser to eliminate a dependency. 2016-08-24 13:37:57 -07:00
Moritz Warning
bcdd158ad8 C++11 requires a space between literal and string macro 2016-07-21 22:41:02 +02:00
Adam Ierymenko
7918b26f65 Hack settings into old CLI. 2016-06-29 12:22:37 -07:00
Adam Ierymenko
7e68791bee Fix include for system json-parser. 2016-06-08 12:57:22 -07:00
Adam Ierymenko
68d950c344 Hack in zerotier-idtool to allow generation of vanity addresses. 2016-05-26 09:26:03 -07:00
Ben Finney
c9d3f3ab96 Correct license grant to match “GPL v3 or later” grant in source. 2016-03-04 16:45:15 +11:00
Ben Finney
72797c25d5 Update copyright notice. 2016-03-04 16:44:23 +11:00
Ben Finney
ea6ce47345 Refactor the program name to a pre-processor directive. 2016-03-04 16:42:30 +11:00
Ben Finney
10855b451d Refactor the copyright notice text to a pre-processor directive. 2016-03-04 16:40:09 +11:00
Ben Finney
3265b3594b Refactor the license grant text to a pre-processor directive. 2016-03-04 16:37:36 +11:00
Adam Ierymenko
4e4fd51117 boring doc stuff 2016-01-12 14:04:55 -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
9169b6c999 Fix crash on exit in Windows (does not affect other OSes) and revert debugging tweak in Windows version that prevented service from starting after real install. 2015-11-17 09:56:19 -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
cae58f43f1 More World stuff, and mkworld. 2015-10-13 08:49:36 -07:00
Adam Ierymenko
f69454ec98 (1) Make ZT_ naming convention consistent (get rid of ZT1_), (2) Make local interface a full sockaddr_storage instead of an int identifier, which turns out to be better for multi-homing and other uses. 2015-09-24 16:21:36 -07:00
Adam Ierymenko
80dc7fb675 Pick random port on -p0 2015-09-23 14:38:16 -07:00
Adam Ierymenko
facb009a1d Add security notice to auto-update info in -h output, and fix a missing paren. 2015-07-31 09:50:55 -07:00
Adam Ierymenko
c826cec1d4 Bring back _winPokeAHole() to dynamically allocate firewall exception. Shouldn't be needed but seems to help on Windows 8. 2015-07-30 17:52:35 -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
2599b1bacc Add CLI support for /explicit/urls (automatically outputs JSON in this case), and some cleanup. 2015-07-28 17:10:56 -07:00
Adam Ierymenko
a2690047bb docs 2015-06-02 16:16:14 -07:00
Adam Ierymenko
b6698d8415 Ground work for reincorporating software updater for select platforms. 2015-05-20 16:35:33 -07:00
Adam Ierymenko
9682f50b15 Get rid of old _winPokeAHole() hack in one.cpp and use Advanced Installer to configure firewall rules (because we can now). 2015-05-19 16:26:41 -07:00
Adam Ierymenko
c76b9d1340 Respect user home directory copies of authtoken.secret or ~/.zeroTierOneAuthToken in CLI like we do in GUI wrappers. 2015-05-17 19:13:22 -07:00
Adam Ierymenko
086f21ed70 Refactor and simplify controller integration with JSON API and OneService. 2015-05-17 15:51:07 -07:00
Adam Ierymenko
27c5f04d68 Add -U option to skip root check and permit run as non-privileged user. 2015-05-16 14:52:09 -07:00
Adam Ierymenko
e2c65bf16a Bring Windows service code up to date and into sync. 2015-04-24 15:44:39 -07:00
Adam Ierymenko
60f05518aa (1) now builds and works on Linux, (2) fix a threading problem causing carsh on shutdown, (3) cleanup in selftest, re-enable Phy and Http tests. 2015-04-20 15:12:31 -07:00
Adam Ierymenko
8715242e7f build fix 2015-04-16 16:43:35 -07:00
Adam Ierymenko
1f5700191f zerotier-cli suspiciously working... that didn't hurt *too* badly. 2015-04-16 16:12:10 -07:00
Adam Ierymenko
c4c5fa63d1 Almost done with JSON parsing for tabular output. 2015-04-16 15:51:56 -07:00
Adam Ierymenko
13d5073e5b CLI work and Makefile cleanup. 2015-04-16 15:07:58 -07:00
Adam Ierymenko
8333bf065e Basic CLI working with JSON output. Now to parse and support old tabular form. 2015-04-16 14:55:36 -07:00
Adam Ierymenko
53cbe485f0 Some cleanup, and bite the bullet and go ahead and write a simple Http client. Need a cross-platform built-in one to do cli right. 2015-04-16 14:13:44 -07:00
Adam Ierymenko
4e5d2d2c72 Write a zerotier-one.port file to the home path to make CLI easy to write, and do a backward compatiable CLI in bash instead of as part of the executable. 2015-04-15 19:38:01 -07:00
Adam Ierymenko
21a7e774bb Wire API auth token stuff. 2015-04-15 19:14:12 -07:00
Adam Ierymenko
d2503172d8 Add some additional detail to the peer record in CAPI and JSON control plane. 2015-04-15 19:00:26 -07:00
Adam Ierymenko
91ca238163 Compile fixes. 2015-04-15 18:47:38 -07:00
Adam Ierymenko
33c8d3c50b Compile fixes. 2015-04-15 18:36:32 -07:00
Adam Ierymenko
ea1859541c More cleanup, and fix for the extremely unlikely case of identity collision. 2015-04-15 18:32:25 -07:00
Adam Ierymenko
f7b1437154 Putting the main binary back together... 2015-04-15 17:00:26 -07:00
Adam Ierymenko
a0f8685453 cleanup 2015-04-15 14:44:30 -07:00
Adam Ierymenko
8639538299 Rename One to OneService, create separate sources for other tools. 2015-04-15 14:42:26 -07:00