Commit Graph

269 Commits

Author SHA1 Message Date
Adam Ierymenko
505b9c7f56 Makefile reorg to allow core to be built as a library. 2017-05-08 14:36:55 -07:00
Adam Ierymenko
6ef247fb93 More ARM stuff. 2017-05-04 16:00:53 -07:00
Adam Ierymenko
0900fee5d9 Linux build stuff for ARM. 2017-05-04 15:54:08 -07:00
Adam Ierymenko
9e80db0fd1 Cleanup, fix a valgrind error, stack use reduction. 2017-04-27 00:59:36 -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
77796caba6 Static ARM32 build fixes. 2017-04-24 18:12:58 -07:00
Adam Ierymenko
97f1d7ae2e . 2017-04-24 16:56:18 -07:00
Adam Ierymenko
487e89d4d0 Add i486 and i586 to Linux makefile for detection of ia32. 2017-04-24 15:19:03 -07:00
Adam Ierymenko
a376bcc654 ARM NEON Salsa20/12 in build and selftest. Almost 2X speedup on a Raspberry Pi. 2017-04-19 23:49:26 +00:00
Adam Ierymenko
a1c316b940 Makefile cruft. 2017-04-18 09:19:39 -07:00
Adam Ierymenko
02f84b225c Add MIPS architectures to Linux Makefile and add an error if architecture cannot be determined. 2017-04-18 09:14:33 -07:00
Adam Ierymenko
6551c20005 Enable x64 ASM Salsa20/12 on Linux. 2017-04-18 08:57:32 -07:00
Adam Ierymenko
33c3af752b Need to just have a make option for soft float ARM. 2017-04-04 11:26:50 -07:00
Adam Ierymenko
f73a1d2d56 Linux ARM flags. 2017-04-04 09:41:34 -07:00
Adam Ierymenko
470ad39d0d More Linux ARM stuff. 2017-04-04 09:15:38 -07:00
Adam Ierymenko
3d2518f799 crazy formatting fix 2017-03-21 08:21:11 -07:00
Adam Ierymenko
c467c3b7e4 ARM tweaks 2017-03-17 22:26:08 +00:00
Adam Ierymenko
cdc0eaec3a Fix attempt to WHOIS self. 2017-03-17 22:13:34 +00: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
393aa3c527 fix debuild comand 2017-03-07 14:20:06 -08:00
Adam Ierymenko
05d4b0cd94 Update RPM spec file 2017-03-07 14:20:06 -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
967ce78a57 Add static build option so we can build a static Linux binary for ancient distros (wheezy, etc.) 2017-01-26 15:02:03 -08:00
Adam Ierymenko
4d071081bb docs 2017-01-19 15:22:43 -08:00
Adam Ierymenko
0995c1dcaa Encapsulate LZ4 in Packet.cpp to eliminate dependency. 2017-01-19 15:16:04 -08:00
Adam Ierymenko
7612bf3302 Fix LZ4 warning. 2017-01-19 14:54:39 -08:00
Adam Ierymenko
c6b0b07605 More software update work, and settings in local.conf. 2017-01-12 13:18:11 -08:00
Adam Ierymenko
565842b5ec Software updater work. 2017-01-11 14:37:31 -08:00
Adam Ierymenko
6b5d6efe6c Retire old build farm (something new is coming) and update makefile for linux to not auto-build doc. 2016-12-23 14:33:04 -08:00
Adam Ierymenko
5bd8968eb8 Add rules engine debugging switch to make-linux.mk 2016-11-15 11:50:53 -08: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
8afdb0aa65 GitHub issue #346 2016-09-07 17:07:06 -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
Adam Ierymenko
1254dece5b Linux build fixes, and build controller. 2016-08-17 14:19:29 -07:00
Adam Ierymenko
a13f4d8353 We now always build the controller in ZeroTier One, at least for desktop and server targets. Also means that ZeroTier One now requires C++11. (Still keeping C++11 out of the core in node/ though.) 2016-08-17 10:42:32 -07:00
Moritz Warning
76b785c90f fix _FORTIFY_SOURCE warning
warning: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Wcpp]
2016-07-21 23:08:58 +02:00
Adam Ierymenko
56fb08621e amazon-2016.03 docker image 2016-06-29 14:35:53 -07:00
Adam Ierymenko
4457c8218d Auto-detect miniupnpc 2.0 and use it on Linux if present. 2016-06-29 13:27:10 -07:00
Adam Ierymenko
b9e86103cf Docker build farm seems to work! 2016-06-27 16:38:08 -07:00
Adam Ierymenko
af23596c34 Put everything in /usr/sbin on Linux. 2016-06-27 14:45:38 -07:00
Adam Ierymenko
233945e60f More Dockerfile fixes, and do not use "ln -r" since it is not supported on older Linux distributions. 2016-06-27 14:36:58 -07:00
Adam Ierymenko
8de5b2beda RPM build fixes -- use RPM cflags, spec fixes, etc. 2016-06-27 09:25:34 -07:00
Adam Ierymenko
9784393b15 More Linux Docker build farm targets. 2016-06-24 14:45:09 -07:00
Adam Ierymenko
37afa876a7 Linux bug fixes, small controller fix. 2016-06-17 00:21:58 +00:00
Adam Ierymenko
bc3d7d11fe Remove netcon from dev branch. This is moving to its own new ZeroTierSDK repo for future release under the SDK name. 2016-06-16 14:50:08 -07:00
Adam Ierymenko
acbe8ad398 More controller work, and some RedHat fixes. 2016-06-10 08:26:27 -07:00
Adam Ierymenko
56ef9e0643 Add rpm target. 2016-06-08 16:29:30 -07:00
Adam Ierymenko
f9056da6be rpmbuild -ba zerotier-one.spec basically works 2016-06-08 15:33:59 -07:00
Adam Ierymenko
abd7071eaa systemd stuff for debian 2016-06-08 13:19:08 -07:00
Adam Ierymenko
7e68791bee Fix include for system json-parser. 2016-06-08 12:57:22 -07:00
Adam Ierymenko
6c6b18d003 Fix include for system lz4. 2016-06-08 12:50:56 -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
ae87fbf8e3 make install installs man pages 2016-06-08 10:19:46 -07:00
Adam Ierymenko
2e890580fc Stop shipping pre-build man pages since it violates Debian arcane rule #134931e+26 and add manpages build target. 2016-06-08 10:13:31 -07:00
Adam Ierymenko
afda5e684b Make install/uninstall for Linux 2016-06-07 17:11:09 -07:00
Adam Ierymenko
4342b71d7a Upgrade miniupnpc to 2.0 2016-06-02 17:04:15 -07:00
Adam Ierymenko
61d6ada88d . 2016-06-02 15:26:00 -07:00
Adam Ierymenko
5bce3e37ee clean doc node_modules on clean 2016-06-02 13:58:34 -07:00
Adam Ierymenko
f9148bf9cb Finally json-parser. Skip miniupnpc since some Linux distros (even newer ones) ship with an old unsafe crummy version. 2016-06-01 22:26:58 -07:00
Adam Ierymenko
a880f93166 also libnatpmp 2016-06-01 22:06:43 -07:00
Adam Ierymenko
fd81a7fe63 On Linux auto-detect presence of http-parser and lz4 and link against system libs instead of ext/ builtins (for RPM and DEB packaging effort) 2016-06-01 21:55:48 -07:00
Adam Ierymenko
affbca74b4 Clean up Linux makefile and remove doc target from default since it requires rst2man. Add doc target to official instead. 2016-04-19 09:35:32 -07:00
Adam Ierymenko
9b8444fff1 Merge of bignose/manual-pages (Linux man pages) 2016-04-07 12:28:43 -07:00
Ben Finney
c0262d8f76 Add “doc” to the dependencies for the “all” build target. 2016-03-04 17:01:31 +11:00
Ben Finney
cafc46a8e9 Add Makefile module for building documentation. 2016-03-04 16:06:17 +11:00
Adam Ierymenko
ff931e53b5 more makefile stuff 2016-03-03 14:31:43 -08:00
Adam Ierymenko
ef376a7919 Linux make clean fix. 2016-03-03 14:24:52 -08:00
Adam Ierymenko
76f1ab33f0 Make clean rm .depend 2016-01-12 13:44:59 -08:00
Joseph Henry
e2ae9165c6 RPC update 2016-01-12 09:46:49 -08:00
Joseph Henry
de2ba8d0f7 Fixed typo 2015-12-21 05:36:27 -08:00
Joseph Henry
c488fa8461 Tightening of RPC code 2015-12-21 05:03:26 -08:00
Joseph Henry
2d9f1f7857 Added install script for debugging with strace 2015-12-18 13:13:47 -08:00
Joseph Henry
e3eea6fcbd RPC Reliability improvements and partial getsockname() fix 2015-12-16 18:05:47 -08:00
Joseph Henry
617845a7da readme and makefile updates 2015-12-15 14:59:17 -08:00
Joseph Henry
9dc59eff76 Cleaned up, tests updated, readme updated 2015-12-15 14:50:54 -08:00
Joseph Henry
a421e31dd5 send_cmd() retrun value bugfix + minor debug changes 2015-12-14 14:45:25 -08:00
Joseph Henry
f558b088e6 Library functions are now static, RPC return value tuning, and cleanup 2015-12-14 09:06:58 -08:00
Joseph Henry
761bb4fdd0 Stability fix 2015-12-11 12:19:54 -08:00
Adam Ierymenko
9090edebb0 . 2015-12-08 18:17:03 -08:00
Adam Ierymenko
49d76c6311 Stub out getsockname() 2015-12-08 18:07:46 -08:00
Adam Ierymenko
f2078bf986 (WIP) more netcon work 2015-12-08 17:35:37 -08:00
Adam Ierymenko
c2c37f3a63 Merge with fixes of netcon to edge. 2015-12-08 15:15:44 -08:00
Joseph Henry
48d9708abe Combined make-linux.mk and make-intercept.mk's installer section 2015-12-07 06:54:13 -08:00
Joseph Henry
dab13f59e5 Test updates 2015-12-07 05:37:14 -08:00
root
036bbfaff9 Modified test scripts to match new naming conventions 2015-12-07 03:21:46 -08:00
Adam Ierymenko
cebced259e docs 2015-12-04 13:48:53 -08:00
Adam Ierymenko
425d311ce8 Merge of netcon with edge and unification of make processes. 2015-12-04 13:19:31 -08:00
Joseph Henry
201109a7a0 (fixed) make-linux.mk conflicts, updated clean logic 2015-11-23 16:02:39 -08:00
Adam Ierymenko
7e28161638 Merge dev 2015-11-30 15:17:31 -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
6c0de526e8 Merge pull request #261 from janjaapbos/synology
Fix for cross compiling
2015-11-30 11:07:20 -08:00
Adam Ierymenko
95106e2e30 Mare make-self-contained code cleanup. 2015-11-23 13:18:46 -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
Joseph Henry
126fc46dc4 Updated makefile, removed old results directory 2015-11-20 01:22:15 -08:00
Joseph Henry
1f27022fa7 Test/Code Refactor in preparation for merge 2015-11-20 01:08:38 -08:00
Adam Ierymenko
dc8edea0c6 Linux make rules to make libminiupnpc from source. 2015-11-16 18:33:52 -08:00
Adam Ierymenko
906e49ff72 Add make option ZT_ENABLE_CLUSTER and disable it in default Linux build. 2015-11-16 16:22:41 -08:00
Adam Ierymenko
33c132968e GitHub issue #219 -- make Linux makefile cross-compiler aware. 2015-11-12 15:37:32 -08:00
Joseph Henry
d1a22a0878 Streamlined debug output code 2015-11-12 14:32:27 -08:00
Joseph Henry
e5fad005a9 Updated RPC handling 2015-11-12 08:21:05 -08:00
Adam Ierymenko
0b245b031e Allow ZT_TRACE without debug. 2015-11-03 11:20:12 -08:00
Joseph Henry
da462bbd55 Removed curses dependency 2015-11-02 13:21:40 -08:00
Joseph Henry
96eb0ce492 Added state dump, fixed numerous RPC related bugs 2015-10-29 17:57:59 -07:00
Janjaap Bos
82e0abc4be Fix for cross compiling 2015-10-17 00:15:10 +02:00
Adam Ierymenko
a775ee7d31 . 2015-10-14 16:21:39 -07:00
Joseph Henry
7f56678d84 Added liblwip.so and libintercept build files 2015-10-09 17:06:09 -04:00
Joseph Henry
bbfc9359e9 Minor timer changes (~21 Mb/s local) 2015-10-08 17:55:58 -04:00
Joseph Henry
36db5865e7 Refactored tcp_write code - Reduced CPU usage to respectable levels 2015-10-06 20:32:48 -04:00
Joseph Henry
11731af45a it's alive! 2015-09-15 18:27:52 -04:00
Joseph Henry
6f0bc1f676 added debugs, fixed linux makefile 2015-09-11 18:22:41 -04:00
Adam Ierymenko
933b47389d Add Arp to netcon build. 2015-09-11 12:19:48 -07:00
Joseph Henry
5a5a513b18 small method changes 2015-09-11 14:00:42 -04:00
Joseph Henry
cc4a2bb0c3 filled out hendlers 2015-09-10 20:34:48 -04:00
Joseph Henry
20beafedc5 refactor almost complete 2015-09-10 20:02:13 -04:00
Joseph Henry
750352836f initial commit 2015-09-10 13:56:01 -04:00
Adam Ierymenko
1f4c667646 Netcon mode for Linux (in this branch, will make conditional later) 2015-09-02 16:15:22 -07:00
Adam Ierymenko
e3983f8a57 Get rid of -I on Mac and Linux since we include miniupnpc headers by direct path reference. 2015-07-28 16:51:46 -07:00
Adam Ierymenko
559e384130 Linux make support for libminiupnpc. 2015-07-28 15:37:18 -07:00
Adam Ierymenko
a493fc23f4 Fix for make-linux: detect whether CC/CXX were explicitly overridden, and if not then use the gcc/clang selection logic. Otherwise ?= breaks this. 2015-07-23 13:05:18 -07:00
Moritz Warning
21cdfb96de rename LIBS to LDLIBS and make it accessible from outside 2015-07-06 00:09:03 +02:00
Moritz Warning
235d4aba9a allow environment variables to set/extend CC, CXX, CFLAGS and LDFLAGS 2015-07-03 23:21:23 +02:00
Adam Ierymenko
cfdf4e3a49 GitHub issue #171 -- separate CFLAGS and CXXFLAGS in Linux makefile 2015-07-02 09:13:56 -07:00
Adam Ierymenko
753a80d419 Linux auto-update is going away. 2015-06-03 17:53:21 -07:00
Adam Ierymenko
29e3437350 gcc not g++ for CC 2015-06-02 16:30:42 -07:00
Adam Ierymenko
65999611d7 Eliminate "which" dependency in Linux makefile. 2015-06-02 16:29:23 -07:00
Adam Ierymenko
a9a390a930 Apply @marning suggested SSE auto-detect to make builds easier on non-x86 platforms: aa2fd044cb 2015-06-01 19:43:06 -07:00
Adam Ierymenko
d7344871e6 Linux build fix. 2015-06-01 19:27:53 -07:00
Adam Ierymenko
ea419c21d0 Fix installer path, add netconf option to make-linux. 2015-05-28 03:13:23 +00: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
6369c264e2 Rename netconf to controller and NetworkConfigMaster to NetworkController for consistency. 2015-04-15 15:12:09 -07:00
Adam Ierymenko
5572b7ffb6 Simplify Phy<> to get rid of more indirections. 2015-04-10 17:07:06 -07:00
Adam Ierymenko
7576911951 Temporarily shelve testnet/ -- will resurrect self-contained testnet later perhaps, but probably will not by the time next version ships. Was mostly for debugging multicast anyway and that is now quite stable. 2015-04-10 11:42:02 -07:00
Adam Ierymenko
d761330465 No more tap factories. 2015-04-08 18:47:06 -07:00
Adam Ierymenko
a61acf36d2 osnet -> osdep 2015-03-31 14:11:21 -07:00
Adam Ierymenko
60158aa5dd Turns out that node/ likely has no business with or need for the system IP routing table. So shelve that code for now. 2015-03-30 17:48:48 -07:00
Adam Ierymenko
31bf0a4ea6 Netconf build fixes, schema, etc. 2015-03-12 14:03:53 -07:00
Adam Ierymenko
66f29f09da Make clean fixes. 2015-02-26 14:54:56 -08:00
Adam Ierymenko
afea153a0b Build fixes. 2015-01-08 18:17:02 -05:00
Adam Ierymenko
4bf2fa3edb Basic Debian package support in buildinstaller.sh 2014-12-03 21:40:33 +00:00
Adam Ierymenko
4c59497b95 Linux build fixes for testnet. 2014-10-29 16:32:24 -07:00
Adam Ierymenko
023cac4ebb Add -g to optimized crypto code in ZT_DEBUG=1 build mode. 2014-10-14 10:22:27 -07:00
Adam Ierymenko
6316011024 Make crypto and compression build optimized in debug, and also try disabling peers.persist -- might ship this way as it seems more trouble than its worth. 2014-10-12 11:42:49 -07:00
Adam Ierymenko
1952db5069 Only enable SSE Salsa20 on x86 and x86_64 Linux 2014-08-27 20:01:24 -04:00
Adam Ierymenko
721625d512 Add MAC to listnetworks, and some other make stuff. 2014-08-19 14:11:02 -07:00
Adam Ierymenko
282114e96c Makefile changes, and make Topology::getBestSupernode() return the "next" supernode if I am a supernode. Also some comment cleanup. 2014-08-19 10:09:21 -07:00