Commit Graph

335 Commits

Author SHA1 Message Date
Aleksandar Topuzović
9ccbe85923
Fix compiling on Raspberry PI Zero W on Arch Linux
* Should also fix it for Raspberry PI 1
* "gcc -dumpmachine | cut -d '-' -f 1" reports armv6l
2019-07-01 14:56:02 +01:00
Joseph Henry
ebadc6f203 Added s390x arch flags to makefile and ZeroTierOne.h for ticket #950 2019-06-11 10:54:06 -07:00
Grant Limberg
de1fc43cc5 added librabbitmq library for central controller 2019-03-04 16:27:39 -08:00
Grant Limberg
3d21f0a91f update docker registry used 2019-02-08 10:40:57 -08:00
Adam Ierymenko
e6f9ab929d More speed stuff. 2018-12-06 12:47:58 -08:00
Grant Limberg
ccb856749f back to plain old libpq in dev 2018-11-30 10:40:57 -08:00
Grant Limberg
01c18cc442 update makefile for libpqxx controller 2018-11-13 16:01:43 -08:00
Joseph Henry
7c0331997a Ticket #739 - Fixed what appears to be a copy-paste error for machine type detection in linux makefile, added line for armv7hl 2018-10-03 15:40:16 -07:00
Grant Limberg
417aa9547b Working controller & docker container for GKE 2018-09-28 10:55:39 -07:00
Grant Limberg
0510f85a8f Merge branch 'dev' into libpq 2018-09-25 10:19:59 -07:00
Grant Limberg
17af09a5cc Postgres Integration has begun 2018-08-31 14:58:15 -07:00
Joseph Henry
f302fac423 Minor tweak to linux makefile 2018-07-11 16:32:49 -07:00
Adam Ierymenko
73e4286fbf Fix two controller bugs: filesystem bug and another possible infinite recursion bug. 2018-07-03 12:51:41 -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
Adam Ierymenko
8199dbd0dc Merge branch 'dev' into edge 2018-05-30 11:19:12 -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
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
Joseph Henry
43331d3fe8 Merge branch 'master' into dev 2018-05-09 10:31:19 -07:00
Joseph Henry
22301a4599 Added override directive to CFLAGS for Synology builds in make-linux.mk 2018-05-04 14:31:34 -07:00
Joseph Henry
c8a907fd71 Added override directive to CXXFLAGS for Synology builds in make-linux.mk 2018-05-04 13:03:52 -07:00
Joseph Henry
d01b1ffde5 Added -fPIC for Synology builds 2018-05-04 12:09:04 -07:00
Adam Ierymenko
f4e993c814 Debian clean fix and CentOS 6 upgrade fix. 2018-05-03 12:51:49 -07:00
Adam Ierymenko
740b0fbbf6 Merge branch 'dev' into edge 2018-04-30 13:08:24 -07:00
Adam Ierymenko
020bbed935 ARM32 fix. 2018-04-30 13:07:32 -07:00
Adam Ierymenko
381bbb0e5e Merge branch 'dev' into edge 2018-04-30 08:47:51 -07:00
Adam Ierymenko
caf849fcba Typo. 2018-04-27 16:22:36 -07:00
Adam Ierymenko
7533d244a9 Debian build fix. 2018-04-27 16:21:22 -07:00
Adam Ierymenko
05bfafbce8 Merge branch 'master' into edge 2018-04-25 06:41:44 -07:00
Adam Ierymenko
4608880fb0 Re-enable faster ed25519 signatures on x64 thanks to PR from @jonathonf 2018-04-25 06:34:34 -07:00
Adam Ierymenko
86637cda9f Disable ASM ed25519 by default (it only helps significantly on controllers) so fPIE will work -- GitHub issue #717 2018-04-20 11:35:50 -07:00
Adam Ierymenko
3d2a50f811
Merge pull request #654 from atopuzov/armv7l
Add support for armv7l
2018-04-18 08:06:53 -07:00
Adam Ierymenko
2021f8cb5f Merge branch 'dev' into edge 2018-03-29 13:34:54 -07:00
Adam Ierymenko
8c1b73b29c GitHub issue #701 2018-03-29 10:25:29 -07:00
Adam Ierymenko
209f6d9d2d Merge branch 'dev' into edge 2018-03-19 11:18:54 -07:00
Adam Ierymenko
beb170e4fb Use X64 ASM ed25519 signatures on Linux/x64, which are about 10X faster. Will matter a lot for network controllers, not so much for other things. 2018-03-13 06:51:17 -07:00
Grant Limberg
bdb2cc7c85 Linux: link system libcurl when compiling with ZT_VAULT_SUPPORT=1
Requires libcurl and development headers to be installed
2018-02-16 15:08:04 -08:00
Adam Ierymenko
82f383be43 A few other make changes. 2018-02-01 15:58:58 -08:00
Adam Ierymenko
26aaf253ac Allow us to build a semi-dynamic official binary that works back to CentOS 6, at least on x64, and is very fast since we can build it with newer clang or icc. 2018-02-01 15:52:41 -08:00
Adam Ierymenko
51715376bf Use Intel icc if available on Linux. 2018-02-01 13:05:17 -08:00
Adam Ierymenko
fe1fa20c6c Fix build on Intel C/C++ Compiler for Linux. 2018-02-01 12:46:35 -08:00
Aleksandar Topuzovic
50aef368f6
Add support for armv7l
* GCC running on Raspberry Pi 3 on Arch linux ARM reports arch as
  armv7l-unknown-linux-gnueabihf
2018-01-02 11:32:17 +01:00
Adam Ierymenko
1f0b3a32d5 Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev 2017-12-15 11:03:27 -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
346fa4d7f4 Added ZT_SANITIZE option to makefiles. This your new memory debugging best friend 2017-12-14 13:27:49 -08:00
Adam Ierymenko
e4a10cc510 Member commit bug fix. 2017-12-08 19:00:38 -05:00
Adam Ierymenko
cf30b1fcdf GitHub issue #589 2017-12-07 17:13:24 -05:00
Adam Ierymenko
750e36993f GitHub issue #617 2017-11-09 11:35:46 -05:00
Adam Ierymenko
ef224c3547 RethinkDB build fix. 2017-11-08 19:52:36 -05:00
Adam Ierymenko
92c7070aa8 RethinkDB fixes. 2017-11-03 20:55:16 -04:00
Adam Ierymenko
b68bca35db Linux build fixes, linux build rule for RethinkDB mode controller, also force disable shitty allocators in libstdc++. 2017-11-03 16:59:36 -04:00
Adam Ierymenko
e87ef18826 cleanup 2017-10-24 12:21:56 -07:00
Adam Ierymenko
7b78d4f11f Merge pull request #605 from oneguynick/patch-1
Update make-linux.mk to include support for Armv7l
2017-10-24 12:21:32 -07:00
Nicholas Schmidt
65ac61b2ea Update make-linux.mk to include support for Armv7l
When running ArchlinuxARM with 64bit support on Raspberry Pi3, the default build fails due to the architecture look-up at the beginning of the build process. A simple addition of the Armv7l section above allows the build to continue and successfully run.
2017-10-19 09:21:24 -04:00
Adam Ierymenko
ba07a60c44 Fix PPC PR. 2017-08-18 14:40:10 -07:00
Adam Ierymenko
72bfe0953a Merge pull request #560 from andyfangdz/patch-1
Add `ppc64le` arch
2017-08-18 14:38:41 -07:00
Adam Ierymenko
bab5647522 Add make rule for official-static. 2017-08-18 14:00:35 -07:00
Dezhi “Andy” Fang
48d2017629 Add ppc64le arch
I've only tested locally, on a power8 box running Ubuntu 16.10, but everything (and earth) checks out.

Let me know if more testing infrastructure is needed.
2017-08-06 02:06:00 -07:00
Adam Ierymenko
640ad577d1 . 2017-07-06 11:56:46 -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
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
d297d8fe2e Musl fix 2017-05-09 21:21:56 -07:00
Adam Ierymenko
b3dd5c0e3a Build fix. 2017-05-08 14:51:12 -07:00
Adam Ierymenko
cf49e511a5 More makefile changes. 2017-05-08 14:46:45 -07:00
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