Grant Limberg
00ac35ad62
add --no-cache for docker central controller build
2020-02-24 11:06:08 -08:00
Grant Limberg
a993ddc54d
Merge branch 'refs/heads/master' into dev
2019-11-21 15:12:37 -08:00
Grant Limberg
e58a0b3efb
build central controller docker images on macOS
2019-11-21 14:49:24 -08:00
Grant Limberg
74478b24b0
add librabbitmq binaries for macos for testing central controller
2019-10-31 14:04:25 -07:00
Adam Ierymenko
de127056c2
Add notarization to "make official".
2019-09-16 20:13:20 -07: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
af3ec000a0
Merge branch 'dev' into edge
2019-03-22 09:38:41 -07:00
Adam Ierymenko
63ec19674c
.
2019-03-19 16:43:43 -07:00
Travis LaDuke
af60e769b0
Allow mac users to make central-controller
...
Made the smallest change I could figure out.
Had to remove -Werror because something in the postgres adapter woudn't
compile.
brew install postgresql rabbitmq-c
and seems to put the libs in the right place
2019-03-18 17:01:05 -07:00
Adam Ierymenko
c56831767e
Fix Mac tap agent abort on EINTR.
2018-10-25 20:44:32 -07: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
Joseph Henry
46a7a2be2e
Added VERB_ACK and VERB_QOS_MEASUREMENT, refined notion of path quality
2018-05-30 17:45:29 -07:00
Grant Limberg
381857ea49
macOS: add libcurl to libraries when ZT_VAULT_SUPPORT=1 is specified on the make command line
2018-01-03 11:56:20 -08:00
Adam Ierymenko
6fbd15f8b2
cleanup
2018-01-08 15:56:53 -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
ada611d597
Go ahead and load kext so MacOS High Sierra users will see kext auth dialog right away.
2017-12-07 08:56:15 -08:00
Adam Ierymenko
640ad577d1
.
2017-07-06 11:56:46 -07:00
Adam Ierymenko
2a4a50b1da
Add some also-ZeroTier-written ext/ code for use in new clustering, delete some old code, and change Mac to use -Os which is just as fast as -Ofast and may be faster due to cache effects.
2017-05-31 08:36:09 -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
f9ae5938d0
Makefile fix, only bifurcate routes for default, and release notes.
2017-04-20 10:08:46 -07:00
Adam Ierymenko
a1e94154be
Just incorporate the X64 ASM version of Salsa20/12 for X64 platforms. This gives us (for example) 1.5gb/sec encryption on a Core i5 2.8ghz.
2017-04-18 08:45:37 -07:00
Adam Ierymenko
7a94f63058
Back out NaCl since the old one with xmm6 salsa2012 does not support multi-block use and the new one is slower.
2017-04-17 17:54:12 -07:00
Adam Ierymenko
df48738ac9
Enable use of NaCl for faster X64 Salsa20 implementations. Also include binary for OSX for easy build. Blazingly fast.
2017-04-17 16:43:03 -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
712e8e828b
use .exe naming convention
2017-03-07 11:58:17 -08:00
Adam Ierymenko
0995c1dcaa
Encapsulate LZ4 in Packet.cpp to eliminate dependency.
2017-01-19 15:16:04 -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
0e4d3244b2
"make official" for Mac now builds update image as well as pkg (update image is just PKG + SFX script)
2017-01-13 13:09:42 -08:00
Adam Ierymenko
84bfec8329
.
2017-01-12 14:35:52 -08:00
Adam Ierymenko
e1727d6297
Fix to software update repeat downloads.
2017-01-12 14:34:52 -08:00
Adam Ierymenko
ab25c96821
Build fixes.
2017-01-12 13:51:06 -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
6fb49f68fc
Comment out and disable old auto-update code.
2017-01-10 12:20:29 -08:00
Adam Ierymenko
24017659df
Update installer, etc., for Mac.
2016-12-23 15:25:04 -08:00
Adam Ierymenko
c175a5fcd7
Change org names, add makefile rule for Mac to build new UI.
2016-12-23 15:11:44 -08: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
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
Adam Ierymenko
402d99ea8d
C++11 mode build fix.
2016-08-16 14:07:11 -07:00
Adam Ierymenko
b08ca49580
More controller work -- it builds!
2016-08-16 14:05:17 -07:00
Adam Ierymenko
c03ca3c278
VERSION 1.1.6: route management, default route override, new IPv6 mode for Docker, and more!
...
Version 1.1.6 contains several significant improvements for use in complex network
environments along with some minor bug fixes and improvements to path stability and
dead path detection.
ROUTE MANAGEMENT AND FULL TUNNEL SUPPORT
1.1.6 is the first version of ZeroTier One to permit "full tunnel" (default route
override) operation on Linux, Mac, and Windows. This allows all Internet traffic
to be tunneled through ZeroTier while allowing ZeroTier peer-to-peer traffic to
continue to use the physical interface. 1.1.6 also brings route management support
and permissions settings for local networks to control whether networks are allowed
to modify the routing table or override default routing.
This is currently considered a beta/experimental feature and must be enabled via
the command line interface.
Route management and default route override requires support at the network controller.
When my.zerotier.com is updated and ready, we will post more information and testing
instructions at: https://www.zerotier.com/community
HIGHLY SCALABLE CONTAINER NETWORKING
1.1.6 also brings a new multicast-free (NDP emulated) IPv6 private addressing scheme
called "6plane." 6plane provides each host with a private IPv6 /80 and routes *all*
IPv6 traffic for this subnet to the host via transparent NDP emulation. This /80 can
then be assigned to Docker or other container/VM managers to assign a network-wide
IPv6 /128 to every container. Since NDP is emulated and multicast isn't needed, this
system can scale to millions of containers or more on a single backplane network with
a high degree of efficiency and reliability.
6plane also requires controller support. Look for it at my.zerotier.com once we have
upgraded our core infrastructure and web UIs.
(All hosts must be running 1.1.6 for 6plane to work properly. Other IPv6 addresses
or addressing modes are not affected and normal IPv6 NDP will continue to work
alongside 6plane in the same network.)
OTHER CHANGES
* Upgraded bundled miniupnpc, libnatpmp, and http-parser.
* New Debian and RPM packaging that is closer to compliance with distribution
guidelines, and a new Dockerized Linux package build system in linux-build-farm/
that can build every package on actual images of the correct distribution.
* Improvements to dead path detection.
* IPv6 now uses keepalive because a significant number of stateful IPv6 edge
routers have very short timeouts (30 seconds or less!).
* Significant performance improvements to network controllers under high load.
* Enable -fstack-protector-strong for better stack canary (security) support
in binaries. Note that this may require newer gcc/g++ or clang.
COMING SOON
The next version of ZeroTier One should have a new Mac UI. It's a system tray app
that looks and behaves a lot like the Mac WiFi pulldown menu. We'll also be adding
GUI support for default route and route management options and other new features.
Shortly after that we plan on adding full OpenFlow-like SDN rules engine support
to the ZeroTier core, making our planetary Ethernet switch a fully manageable smart
switch and enabling sophisticated security and flow rule management.
2016-06-29 15:53:46 -07:00
Adam Ierymenko
0ad6b4105a
Outline of new CLI with ability to control controllers/central as well as service.
2016-06-22 17:54:07 -07: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
3c655a4b84
Default route ready to test on Mac.
2016-06-15 15:46:57 -07:00
Adam Ierymenko
8c7433a525
.
2016-06-08 17:45:25 -07:00
Adam Ierymenko
4342b71d7a
Upgrade miniupnpc to 2.0
2016-06-02 17:04:15 -07:00
Adam Ierymenko
5bce3e37ee
clean doc node_modules on clean
2016-06-02 13:58:34 -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
ff931e53b5
more makefile stuff
2016-03-03 14:31:43 -08:00
Joseph Henry
95d28494f6
Mac OSX Port - Lightly tested
2016-01-25 12:55:29 -08:00
Adam Ierymenko
425d311ce8
Merge of netcon with edge and unification of make processes.
2015-12-04 13:19: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
6768521330
Ton of uPnP work and adding NAT-PMP support, still testing...
2015-11-30 13:10:22 -08:00
Adam Ierymenko
cf6164e847
Build libminiupnpc from source now, and update version.
2015-11-16 18:28:55 -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
fb3b7a3baa
Take -DZT_ENABLE_CLUSTER out of Mac defaults.
2015-10-27 09:41:12 -07:00
Adam Ierymenko
57e29857cf
Cluster work -- integrating with the rest of the code.
2015-10-20 15:27:53 -07:00
Adam Ierymenko
59389b3dce
Untested cluster code, not enabled.
2015-10-14 14:17:55 -07:00
Adam Ierymenko
619e113748
Work in progress on Cluster for new root infrastructure, multi-homing.
2015-10-14 14:12:12 -07:00
Adam Ierymenko
5d2f523e81
World stuff...
2015-10-13 12:10:44 -07:00
Adam Ierymenko
cae58f43f1
More World stuff, and mkworld.
2015-10-13 08:49:36 -07:00
Adam Ierymenko
0d0039674f
Add new verb names, and fix some Mac compiler flags.
2015-09-30 14:48:07 -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
569c5e77fd
Add binary build of libminiupnpc for Mac x64.
2015-07-28 14:48:26 -07:00
Adam Ierymenko
fe6d5b1402
UPNP/NAT-PMP support with libminiupnpc (if built with it) -- GitHub issue #64
2015-07-28 14:32:02 -07:00
Adam Ierymenko
dba91eaa09
Apply same Linux compiler-picker logic to Mac.
2015-07-24 13:17:41 -07: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
3512402558
OSX .pkg files must be signed with productsign and an installer cert.
2015-06-02 19:17:39 -07:00
Adam Ierymenko
97dd8d864f
Fix paths again in Mac pkg build.
2015-06-02 11:59:05 -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
1213073916
Apple auto-update stuff, now for Windows.
2015-05-20 19:38:49 -07:00
Adam Ierymenko
b6698d8415
Ground work for reincorporating software updater for select platforms.
2015-05-20 16:35:33 -07:00
Adam Ierymenko
89027d78ac
Mac .pkg building using Packages (third party app) instead of old bootstrapping .app and installer script.
2015-05-17 21:24:02 -07:00
Adam Ierymenko
f48509d50c
Mac script to get HTTP proxy settings -- will be used by Mac updater.
2015-05-17 20:28:09 -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
6369c264e2
Rename netconf to controller and NetworkConfigMaster to NetworkController for consistency.
2015-04-15 15:12:09 -07:00
Adam Ierymenko
871473255b
Cleanup, drop 32-bit from Mac build flags since i386 is pretty thoroughly deprecated and dead on OSX. We will have to make our updater stop updating on any 32-bit Macs that might actually still be running ZT1.
2015-04-15 14:54:37 -07:00
Adam Ierymenko
1cfa67bbdd
Bunch more control plane work, and shelve old UI -- React FTW.
2015-04-14 13:56:28 -07:00
Adam Ierymenko
5572b7ffb6
Simplify Phy<> to get rid of more indirections.
2015-04-10 17:07:06 -07:00
Adam Ierymenko
068d311ecc
TRACE compile fixes, other fixes, and it basically works! It says HELLO.
2015-04-09 20:54:00 -07:00
Adam Ierymenko
38200cc6a5
Add data store functions to service/One, and shelve old main.cpp since it will get rebuilt.
2015-04-09 19:58:04 -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
96737368aa
Add MIT-licensed Joyent http-parser lib to ext/ for use with new control plane.
2015-03-20 13:32:31 -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
d73a11b60b
Add netconf build option to Mac build file too.
2015-01-13 16:45:23 -08:00
Adam Ierymenko
60fb28a90a
Cleanup, new C++ netconf code is almost ready to test!
2015-01-06 17:16:54 -08:00
Adam Ierymenko
ee9e6a3c6b
Change path selection logic to exclude non-fixed and non-active paths -- possible fix for "NAT traversal coma" issue. Also fix a typo.
2014-11-20 13:20:16 -08:00
Adam Ierymenko
8bd9f7d51d
Build fix for UI and mac.
2014-10-29 19:54:24 -07:00
Adam Ierymenko
5c7cd53f13
Testnet sort of works! spins up supernodes.
2014-10-24 08:48:44 -07:00
Adam Ierymenko
4fbb098daa
Testnet work... getting there!
2014-10-23 16:46:09 -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