Adam Ierymenko
7d951783ca
A bunch of little warning removal and format fix things.
2020-12-04 15:52:30 -05:00
Adam Ierymenko
ec76f6e1d2
Mirror over a few more AES fixes.
2020-12-03 22:29:38 -05:00
Adam Ierymenko
c943d0e807
InetAddress fix ported from 1.6
2020-12-03 22:28:40 -05:00
Adam Ierymenko
a1ceccaf6e
Port back over some improvements from 1.6
2020-11-18 21:56:16 -05:00
Adam Ierymenko
326a871fac
Mirror over Mac fixes.
2020-11-02 19:57:57 -05:00
Adam Ierymenko
e462750bdd
Remove unnecessary includes that are not needed.
2020-10-30 16:14:44 -04:00
Adam Ierymenko
7c599fe83e
Typo / thinko
2020-10-27 10:41:46 -04:00
Adam Ierymenko
d7e4404c17
A little more clarity to locator display.
2020-10-26 22:41:49 -04:00
Adam Ierymenko
441f4986ac
Locator CLI plumbing.
2020-10-26 22:33:01 -04:00
Adam Ierymenko
d70cfe6850
typo
2020-10-26 20:32:27 -04:00
Adam Ierymenko
4ed77e0c0f
Upgrade Go modules.
2020-10-26 19:41:55 -04:00
Adam Ierymenko
f8e3251efe
Locator CGo API fixes.
2020-10-26 19:35:10 -04:00
Adam Ierymenko
1bb43476e8
Build fix, add Go unit tests for CGo Locator interface.
2020-10-26 18:44:45 -04:00
Adam Ierymenko
387d293793
Use Base32 everywhere for blobs to be consistent with core.
2020-10-23 18:10:25 -04:00
Adam Ierymenko
bd96e53bcc
Remove redundant includes.
2020-10-22 16:18:18 -04:00
Adam Ierymenko
bab9a7f508
Fix and modernize API peer list function.
2020-10-22 15:53:35 -04:00
Adam Ierymenko
31eb950750
Missing flag.
2020-10-20 18:53:11 -04:00
Adam Ierymenko
31ef205828
ARM build fixes.
2020-10-16 18:29:16 -04:00
Adam Ierymenko
a7350bc312
Bust out ARM crypto extensions AES into a separate file too.
2020-10-16 17:41:03 -04:00
Adam Ierymenko
0e396526e4
Some small Go stuff, and break out AES-NI into its own .cpp file for easier management.
2020-10-16 15:04:22 -04:00
Adam Ierymenko
8e5f8140a2
One more thing to move to CAPI.cpp.
2020-10-14 19:02:32 -04:00
Adam Ierymenko
8f746f5099
Move C API into its own source file, and fix some build flags to mirror fix in 1.6.0 to run on old Atom processors.
2020-10-14 18:10:59 -04:00
Adam Ierymenko
bc8aa6c359
Mirror over some AES function attribute changes.
2020-10-13 16:10:53 -04:00
Adam Ierymenko
00714f5f2e
cleanup
2020-10-08 19:03:46 -04:00
Adam Ierymenko
d20470d30f
cleanup
2020-09-18 19:54:27 -04:00
Adam Ierymenko
c2d14599c5
Make protocol versions same as 1.x series.
2020-08-25 08:06:59 -07:00
Adam Ierymenko
896656115f
Build fix for Go 1.15
2020-08-17 14:53:34 -07:00
Adam Ierymenko
72114e4cf8
Remove HTTP stuff from core API. This will be handled entirely in the service.
2020-08-13 17:46:58 -07:00
Adam Ierymenko
2abf2c5695
More certificate stuff...
2020-08-12 21:28:06 -07:00
Adam Ierymenko
fe01352412
Cert CLI stuff, module bump.
2020-08-12 16:40:17 -07:00
Adam Ierymenko
782f15f8c9
Small software GMAC optimization.
2020-08-11 20:50:36 +00:00
Adam Ierymenko
e0492a7e69
More Go CLI work, and some cleanup.
2020-08-11 13:24:27 -07:00
Adam Ierymenko
cb147a3e8a
Documentation in CLI, indicate what commands require a running node.
2020-08-10 16:04:05 -07:00
Adam Ierymenko
f97e9e1f5d
Warning removal, Go work...
2020-08-10 12:35:26 -07:00
Adam Ierymenko
f1b6cb2ace
GMAC is faster in software now.
2020-08-07 17:33:27 +00:00
Adam Ierymenko
27939a5233
AES performance on rpi4 is now at least acceptable.
2020-08-06 23:09:34 +00:00
Adam Ierymenko
7d5ba6f739
AES on pi4
2020-08-06 14:34:34 -07:00
Adam Ierymenko
37360d5e2e
More test timing fixes.
2020-08-06 09:53:33 -07:00
Adam Ierymenko
ae13983b10
Fix benchmarks to not take forever on slower chips.
2020-08-06 09:48:07 -07:00
Adam Ierymenko
78670aea58
AES software optimizations to make rpi4 faster.
2020-08-06 09:34:37 -07:00
Adam Ierymenko
d0cc3ac333
Small AES optimizations on ARM64.
2020-08-03 23:14:02 +00:00
Adam Ierymenko
4273d89373
Linux/GCC fixes.
2020-07-31 16:18:06 -07:00
Adam Ierymenko
9ef780e05c
Build fix-- these are not needed.
2020-07-31 15:48:18 -07:00
Adam Ierymenko
9da0b43d2d
Fix some JSON names, regularize use of IP/port info in service code.
2020-07-31 15:32:09 -07:00
Adam Ierymenko
7c929099b3
Change date bump for v2.0
2020-07-31 14:26:55 -07:00
Adam Ierymenko
ea2f95ed70
Optimizations, make Locator deserialize the same regardless of serialized field order.
2020-07-31 14:05:54 -07:00
Adam Ierymenko
fc39894541
Small fix to reduce memory use a little bit more.
2020-07-31 13:53:11 -07:00
Adam Ierymenko
1fc4dce835
A bunch of cleanup, make Location serialization format saner, reduce core memory use.
2020-07-31 13:27:27 -07:00
Adam Ierymenko
0c56d7c769
Don't kick in AVX2/AVX512 VTEC unless the packet is larger than 256 bytes.
2020-07-30 10:02:37 -07:00
Adam Ierymenko
1f2a107d1d
Some formatting.
2020-07-29 22:10:54 -07:00
Adam Ierymenko
4474303b01
Indent fix.
2020-07-29 21:59:53 -07:00
Adam Ierymenko
3b773da8bc
Add separate accelerated() function for AES::GMAC.
2020-07-29 21:52:07 -07:00
Adam Ierymenko
7efaab2af1
Add 4X parallel ARM AES so VTEC will kick in, yo. Seems to help on Graviton, not much on small chips but thats okay.
2020-07-30 04:17:01 +00:00
Adam Ierymenko
064cb6dad7
AES-GMAC for ARM crypto extensions (pmull)
2020-07-30 03:45:40 +00:00
Adam Ierymenko
d5afba2610
ARM auto-detection (unfinished)
2020-07-29 21:17:17 +00:00
Adam Ierymenko
b4d0307d9e
Some AES NEON reorg.
2020-07-29 13:37:32 -07:00
Adam Ierymenko
71b72a1ef2
AES (but not yet GMAC) for ARM64 native AES intrinsics, performs really well!
2020-07-29 20:10:27 +00:00
Adam Ierymenko
b0e8bac310
Add CMake options to automatically add AArch64 flags for crypto enable, etc.
2020-07-29 09:13:55 -07:00
Adam Ierymenko
9a501a76d1
Starting on AES ARM intrinsics work.
2020-07-28 20:44:19 -07:00
Adam Ierymenko
becc4aa8ea
More certificate plumbing.
2020-07-28 14:38:41 -07:00
Adam Ierymenko
95d7970f34
Compiler flags, docs.
2020-07-28 09:41:43 -07:00
Adam Ierymenko
81530e5990
Certificate plumbing in Go.
2020-07-27 16:45:43 -07:00
Adam Ierymenko
825b19aedc
Code readability improvement.
2020-07-23 15:13:42 -07:00
Adam Ierymenko
0f04b5afc7
Add CRL fields to Go shadow of Certificate.
2020-07-23 15:05:12 -07:00
Adam Ierymenko
189dea7c96
Certificate work, and add an Endpoint attributes field to Locator for future use.
2020-07-22 20:38:57 -07:00
Adam Ierymenko
85ef9535d5
So that's where those NULLs came from...
2020-07-17 21:12:28 -07:00
Adam Ierymenko
71a2206c5d
Move a few things.
2020-07-17 10:57:01 -07:00
Adam Ierymenko
641d1a52c8
Warning removal.
2020-07-17 10:49:53 -07:00
Adam Ierymenko
407f737212
A bunch of Topology simplification, integrate some cert and root changes.
2020-07-16 20:04:05 -07:00
Adam Ierymenko
0d58865061
Fix certificte self-test.
2020-07-16 12:30:09 -07:00
Adam Ierymenko
cfb0bc4f8e
Better CRL implementation, AES fix.
2020-07-16 12:01:24 -07:00
Adam Ierymenko
dfe230be8b
CRL support
2020-07-16 10:51:54 -07:00
Adam Ierymenko
75ecfffd52
More tweaks.
2020-07-15 16:51:39 -07:00
Adam Ierymenko
883cbd182d
Some optimization work on crypto code.
2020-07-15 14:33:02 -07:00
Adam Ierymenko
866a20e85b
More small stuff.
2020-07-14 16:34:46 -07:00
Adam Ierymenko
a19bc1e826
Cleanup, remove legacy accessors, formatting.
2020-07-14 16:23:53 -07:00
Adam Ierymenko
a117c92a1e
Module update for Go code.
2020-07-13 15:53:49 -07:00
Adam Ierymenko
65ef40b091
Some Go reorg.
2020-07-13 15:44:54 -07:00
Adam Ierymenko
15f5125c8c
Hide some low-level stuff from public certificate API in Go.
2020-07-13 14:54:53 -07:00
Adam Ierymenko
e5f2314055
Fix another not-fun bug. Also exterminate a memory leak and do a few optimizations.
2020-07-10 16:38:32 -07:00
Adam Ierymenko
f018fefeb4
Even less bugs!
2020-07-09 20:08:08 -07:00
Adam Ierymenko
04d8c3dd79
Now with less bugs!
2020-07-09 14:57:44 -07:00
Adam Ierymenko
7994e3aa78
Merge branch 'edge' of http://git.int.zerotier.com/zerotier/ZeroTierOne into edge
2020-07-09 10:12:31 -07:00
Adam Ierymenko
1eacbdf374
Some cleanup, and fix a really obscure bug in Certificate.
2020-07-09 10:12:24 -07:00
Grant Limberg
492e78e2cf
back to not building all archs by default
2020-07-08 10:27:41 -07:00
Adam Ierymenko
8b1c691a5e
Merge branch 'edge' of http://git.int.zerotier.com/zerotier/ZeroTierOne into edge
2020-07-07 10:12:49 -07:00
Adam Ierymenko
b02fc1f28b
CGo hell, fix a thinko in CMakeFile.
2020-07-07 10:12:38 -07:00
Grant Limberg
ecf1fe9aa5
had these transposed
2020-07-07 08:57:53 -07:00
Adam Ierymenko
7e341ed397
More certificate plumbing.
2020-07-06 19:28:43 -07:00
Adam Ierymenko
e5e6f82a8e
Windows build fix.
2020-07-06 15:28:25 -07:00
Adam Ierymenko
eca929faef
Merge branch 'edge' of http://git.int.zerotier.com/zerotier/ZeroTierOne into edge
2020-07-06 15:16:05 -07:00
Adam Ierymenko
b027a83789
Minor stuff...
2020-07-06 15:15:21 -07:00
Grant Limberg
1ad0fbdb76
Revert "fix compilation of zt_service_tests on Windows"
...
This reverts commit 8f1e6a2fde .
2020-07-06 15:04:46 -07:00
Grant Limberg
8f1e6a2fde
fix compilation of zt_service_tests on Windows
2020-07-06 12:45:06 -07:00
Adam Ierymenko
451e6be180
Evil not very fun CGO glue for Certificate works! Also added a self-test project for Go code. Not using "go test" because of CMake build and CGO linking requirements that make it a pain in the derriere.
2020-07-03 16:05:43 -07:00
Adam Ierymenko
7b869684c6
More cert Go plumbing.
2020-07-03 14:42:29 -07:00
Adam Ierymenko
0d764f5a3d
CGO glue for certificates, and Go formatting and other boring stuff.
2020-07-03 13:08:40 -07:00
Adam Ierymenko
899f0c9749
Certificate API
2020-07-02 22:22:31 -07:00
Adam Ierymenko
727aa8e71f
Warning removal.
2020-07-02 15:03:12 -07:00
Adam Ierymenko
404b7a5493
Even more clever... and would crash if something weird happened, which is desirable.
2020-07-02 13:58:31 -07:00
Adam Ierymenko
befc50ac3a
Merge branch 'edge' of http://git.int.zerotier.com/zerotier/ZeroTierOne into edge
2020-07-02 13:57:32 -07:00
Adam Ierymenko
94c35d395e
A bit more optimization/cleanup.
2020-07-02 13:57:19 -07:00
Grant Limberg
7883e5d8ad
Fix cast order of operations
2020-07-02 13:28:58 -07:00
Adam Ierymenko
97cd184211
cleanup
2020-07-02 13:09:59 -07:00
Adam Ierymenko
c17ac16728
Windows fix.
2020-07-02 11:53:47 -07:00
Adam Ierymenko
b696ab12b8
Merge branch 'edge' of http://git.int.zerotier.com/zerotier/ZeroTierOne into edge
2020-07-02 11:52:34 -07:00
Adam Ierymenko
e7ccd74a9e
Disable functions missing in MinGW
2020-07-02 11:52:20 -07:00
Grant Limberg
676a3444cd
fix s390x static section of jenkinsfile
2020-07-02 11:19:35 -07:00
Adam Ierymenko
bd0299f392
Some cleanup and optimization.
2020-07-02 10:33:34 -07:00
Adam Ierymenko
e213317532
-lm is needed on some platforms, harmless on others
2020-07-01 12:38:22 -07:00
Adam Ierymenko
206524b9e6
BSD fixes.
2020-07-01 12:30:41 -07:00
Adam Ierymenko
7a458e0138
BSD fixes.
2020-07-01 12:28:44 -07:00
Adam Ierymenko
9db9211ed3
Fix method name problem.
2020-07-01 11:14:01 -07:00
Adam Ierymenko
2ee550bbfd
Some optimization.
2020-06-30 23:44:24 -07:00
Adam Ierymenko
9029570452
Test certificate copy/construct.
2020-06-30 23:20:50 -07:00
Adam Ierymenko
6af39da61a
Some formatting and optimization.
2020-06-30 22:23:57 -07:00
Adam Ierymenko
ad692b07c3
Add CPUID output to self-test.
2020-06-30 20:51:14 -07:00
Adam Ierymenko
3f4809457f
A bunch of compile fixes, and an edge case fix in Dictionary.
2020-06-30 20:31:41 -07:00
Adam Ierymenko
53b85a2bbb
Merge branch 'edge' of http://git.int.zerotier.com/zerotier/ZeroTierOne into edge
2020-06-30 11:20:50 -07:00
Adam Ierymenko
92d2bbc63c
Some symbol renaming, performance improvements, a bug fix for compiling on some platforms, and some Topology work.
2020-06-30 11:20:44 -07:00
Grant Limberg
536be73006
s390x all static
2020-06-30 11:06:33 -07:00
Grant Limberg
115187204f
remove debug output
2020-06-30 10:04:19 -07:00
Grant Limberg
b482064a55
reenable some temporarily disabled stuff
2020-06-30 09:59:18 -07:00
Grant Limberg
722a50f7be
armel image build shortcut
2020-06-29 17:15:18 -07:00
Grant Limberg
623213ea0b
fix wheezy symlink
2020-06-29 17:13:56 -07:00
Grant Limberg
0589c4ab6a
fix stretch symlink
2020-06-29 17:12:52 -07:00
Grant Limberg
46c4a11a7a
fix jessie symlink
2020-06-29 17:11:55 -07:00
Grant Limberg
16d27dfddb
fix buster ld symlink
2020-06-29 17:09:15 -07:00
Grant Limberg
aee344fe47
kill a couple docker images
2020-06-29 15:18:01 -07:00
Grant Limberg
696c77f5c8
no static builds for armel
...
no support in Alpine, can't build it
2020-06-29 14:50:52 -07:00
Grant Limberg
8921914098
force use of vendored modules
2020-06-29 14:24:06 -07:00
Grant Limberg
f33574dfbc
needed on Jessie, too
2020-06-29 13:29:33 -07:00
Grant Limberg
e2bc081740
hack to run go on armel containers
2020-06-29 13:17:20 -07:00
Grant Limberg
a6d7f7cac2
-latomic for armel
2020-06-29 12:19:25 -07:00
Grant Limberg
c714112e00
fix building cmake on arm32
2020-06-29 09:23:48 -07:00
Adam Ierymenko
bae91724a1
Certificate passes all tests.
2020-06-27 14:52:55 -07:00
Adam Ierymenko
daef6a24d1
Now with less bugs, and less limits that could pose an issue later.
2020-06-27 13:52:12 -07:00
Adam Ierymenko
661ebfee94
Merge branch 'edge' of http://git.int.zerotier.com/zerotier/ZeroTierOne into edge
2020-06-26 13:09:35 -07:00
Adam Ierymenko
73d0e2e7e0
Interim commit of some cert and cert testing work, also other cleanup in Utils.
2020-06-26 13:09:24 -07:00
Grant Limberg
917cc58560
Only build problems left are the compiler errors adam has tickets for
2020-06-25 18:01:27 -07:00
Grant Limberg
1eea80194b
apparently not in backports as advertised
2020-06-25 15:40:10 -07:00
Grant Limberg
d569217ff5
echo, not cat
2020-06-25 15:38:21 -07:00
Grant Limberg
d823725eb6
update alpine base image
2020-06-25 15:23:09 -07:00
Grant Limberg
f08d20560b
stretch has mips golang 1.11 in backports
...
don't know if it'll work though
2020-06-25 15:15:16 -07:00
Grant Limberg
c0385466e2
no golang packages for buster or stretch on mips64
...
no mips on stretch at all
2020-06-25 15:07:12 -07:00
Grant Limberg
c22b002226
Looks like we have to turn off bullseye 32-bit ARM too
2020-06-25 14:55:01 -07:00
Grant Limberg
9aac1fc47f
default BUILD_ALL flag to true for now
...
since that's what I"m testing now
2020-06-25 14:52:08 -07:00
Grant Limberg
39d4fadf90
add mips64le to debian native build lists
2020-06-25 11:56:32 -07:00
Grant Limberg
4968afb89a
no 32-bit arm on sid for the time being
2020-06-25 11:41:09 -07:00
Grant Limberg
8b45018f28
remove ldflag on windows
2020-06-25 09:39:06 -07:00
Grant Limberg
007b3bd10b
openssl dev for sid
2020-06-25 08:49:23 -07:00
Adam Ierymenko
5e1b7f2ba6
Certificate stuff, but not plumbled through to CLI yet to actually make them.
2020-06-25 07:40:21 -07:00
Adam Ierymenko
40820ddea9
Merge branch 'edge' of http://git.int.zerotier.com/zerotier/ZeroTierOne into edge
2020-06-24 17:08:19 -07:00
Adam Ierymenko
4fbc29158d
A few more things to manually merge in CMakeLists.txt
2020-06-24 17:08:11 -07:00
Adam Ierymenko
6e1115ea03
More cert work, support certs in data store, and manually merge CMakefile.
2020-06-24 17:05:34 -07:00
Grant Limberg
d5d1f4a313
forgot the -y on apt-get
2020-06-24 14:59:38 -07:00
Grant Limberg
1e65aad95b
args
2020-06-24 14:53:02 -07:00
Grant Limberg
495ac17346
debian mips64 image fixes
2020-06-24 14:51:59 -07:00
Grant Limberg
2f82db97ed
blah
2020-06-24 14:46:30 -07:00
Grant Limberg
35f3d16084
bullseye base version
2020-06-24 14:23:30 -07:00
Grant Limberg
29dfe240e4
mips64le updates
2020-06-24 14:21:47 -07:00
Adam Ierymenko
aa9ca845e8
Merge edge, still need to resolve CMakeLists.txt
2020-06-24 10:50:16 -07:00
Adam Ierymenko
05a3831acb
Certificates, and rename credentials to credential since they are not truly certificates (according to the common definition).
2020-06-24 10:46:59 -07:00
Grant Limberg
9a7d26cd9e
fix package name
2020-06-24 10:07:08 -07:00
Grant Limberg
ab36607a48
docker & build parallelization
2020-06-24 09:57:38 -07:00
Grant Limberg
02a810b8d6
same issue on sid, apparently
2020-06-23 17:18:54 -07:00
Grant Limberg
2d1ca5f346
cmake version from debian-bullseye doesn't like ARM
...
so let's build the latest from src
2020-06-23 17:12:52 -07:00
Grant Limberg
65aca7d84a
let's not force the build server to swap out when building releases
2020-06-23 16:48:50 -07:00
Grant Limberg
d3a9ce95bc
more flag fixes
2020-06-23 16:41:55 -07:00
Grant Limberg
ee53f056ce
fix flags
2020-06-23 16:29:35 -07:00
Grant Limberg
f3defdf3a6
one more
2020-06-23 14:42:18 -07:00
Grant Limberg
6d88a13407
fix variable
2020-06-23 14:28:32 -07:00
Grant Limberg
9722bdef75
fix variable name
2020-06-23 13:33:59 -07:00
Grant Limberg
f87e41abee
jenkinsfile armhf/armel stuff
2020-06-23 12:56:29 -07:00
Grant Limberg
d7c6f8ae3f
armel/armhf differentiation in builds
2020-06-23 11:49:43 -07:00
Grant Limberg
4d80f7c41d
more go static build flags
2020-06-23 09:53:46 -07:00
Grant Limberg
de00486b80
no armhf for ubuntu focal
2020-06-23 09:41:45 -07:00
Grant Limberg
c2664033bc
try to force 32-bit package for centos7 i386
2020-06-23 09:04:45 -07:00
Grant Limberg
f96a9f63ea
.
2020-06-23 08:53:13 -07:00
Grant Limberg
78b18f2bdb
remove centos6 from jenkinsfile
2020-06-23 08:40:24 -07:00
Grant Limberg
8bb0753f62
get cmake from yum for centos8
2020-06-22 16:23:34 -07:00
Grant Limberg
0c5d1a793c
fix docker images for static targets
2020-06-22 15:58:49 -07:00
Grant Limberg
34692489cb
RIP Centos 6
2020-06-22 15:18:30 -07:00
Grant Limberg
52b619b38f
temporarily disable builds of Debian Stretch, FreeBSD, Ubuntu Bionic AMD64, and Ubuntu Xenial
2020-06-22 14:34:23 -07:00
Grant Limberg
9009a864ab
re-enable static build packaging with updates
2020-06-22 14:03:27 -07:00
Grant Limberg
09a8b66d3b
enable -DPACKAGE_STATIC=1 builds
...
Only configures the project for packaging of the statically built binary placed in build/
2020-06-22 13:50:35 -07:00
Grant Limberg
7c6f5e2c37
make install works on Linux
2020-06-22 11:00:48 -07:00
Grant Limberg
930bd91598
finish up rpm generation
2020-06-22 09:49:25 -07:00
Grant Limberg
050615f2d2
fix centos7 x64
2020-06-19 16:50:42 -07:00
Grant Limberg
05cc4ea36a
dont use __has_include
2020-06-19 16:36:04 -07:00
Grant Limberg
4cafc1b776
extraneous ` in rpm building
2020-06-19 16:32:43 -07:00
Grant Limberg
fb559434b6
jenkins builds rpms
2020-06-19 16:24:32 -07:00
Grant Limberg
02493d473f
basic RPM package
...
still needs systemd/init scripts
2020-06-19 16:21:47 -07:00
Grant Limberg
1abcb5adf5
parallelize make
2020-06-19 15:42:33 -07:00
Grant Limberg
1b8703db95
add cmake package args
2020-06-19 15:40:48 -07:00
Grant Limberg
517a171a6c
dont split debian description over multiple lines
2020-06-19 15:35:42 -07:00
Grant Limberg
b126bf727a
non-static build debian packages
2020-06-19 15:33:08 -07:00
Adam Ierymenko
cfc2a43f51
A whole bunch of minor refactoring, and rename a bunch of classes to be more canonical. A credential really is not a certficiate, so just call IdentificationCertificate Certificate and call the network auth stuff credentials.
2020-06-18 17:02:36 -07:00
Grant Limberg
0477e16860
freebsd doesn't like the root makefile
2020-06-18 16:31:15 -07:00
Grant Limberg
cc13bf1049
fix jenkinsfile
2020-06-18 15:35:35 -07:00
Grant Limberg
a66b4a6f5e
add freebsd build target
2020-06-18 15:26:29 -07:00
Grant Limberg
f989758159
parallelize windows build
2020-06-18 13:46:57 -07:00
Grant Limberg
ade8373c0c
because reasons
2020-06-18 13:44:19 -07:00
Grant Limberg
fa4ecea095
wtf
2020-06-18 13:34:01 -07:00
Grant Limberg
7ae9c6d55c
.
2020-06-18 13:19:30 -07:00
Grant Limberg
b369d4b9a1
fix 32-bit windows build
2020-06-18 13:01:05 -07:00
Grant Limberg
ea5bb43cf9
windows 32bit builds
2020-06-18 11:58:00 -07:00
Grant Limberg
6ea60bc429
let's see if paths with no spaces works
2020-06-18 11:26:57 -07:00
Grant Limberg
b094278b64
explicitly set SHELL environment variable
2020-06-18 10:59:46 -07:00
Grant Limberg
f21384e499
windows fun
2020-06-18 10:54:31 -07:00
Grant Limberg
620fa9ab54
🤷♂️
2020-06-17 13:26:36 -07:00
Grant Limberg
d8c83dbb08
pita
2020-06-17 13:18:01 -07:00
Grant Limberg
992d1471b8
add CMake and Go to Windows PATH
2020-06-17 12:29:03 -07:00
Grant Limberg
27b14aefcd
help it find cmd.exe
2020-06-17 12:19:06 -07:00
Grant Limberg
a7fee6b02f
playing with paths
2020-06-17 12:14:50 -07:00
Grant Limberg
cea297b69d
enable windows builds
2020-06-17 12:04:29 -07:00
Adam Ierymenko
c348bfff30
Fix quote craziness.
2020-06-16 22:33:43 -07:00
Adam Ierymenko
224c468aa3
OMG Windows builds!
2020-06-16 22:26:47 -07:00
Adam Ierymenko
a472aafb3e
Windows now builds at least to the point of running zt_core_tests. Go will need a revision to the command in CMake files.
2020-06-16 21:21:24 -07:00
Grant Limberg
b165b9dd4f
another fix
2020-06-16 17:46:22 -07:00
Grant Limberg
7d388e0c79
fix mac jenkins
2020-06-16 17:34:58 -07:00
Grant Limberg
4036657e32
add macos build to jenkins
2020-06-16 16:13:01 -07:00
Grant Limberg
d50c6ee1ce
need ssl dev
2020-06-16 15:07:31 -07:00
Adam Ierymenko
143f4bef9f
Select the right C++ library, hopefully.
2020-06-16 15:00:59 -07:00
Adam Ierymenko
765dc413db
Merge branch 'edge' of http://git.int.zerotier.com/zerotier/ZeroTierOne into edge
2020-06-16 15:00:25 -07:00
Grant Limberg
423b0d891c
need stdint.h on Windows, too
2020-06-16 14:48:27 -07:00
Grant Limberg
3db0e9d068
use correct dockerfile for Xenial x64
2020-06-16 14:07:40 -07:00
Grant Limberg
1f3f9bc341
for ptrdiff_t
2020-06-16 13:52:26 -07:00
Grant Limberg
e84bfca5a5
xenial needs newer cmake, too
2020-06-16 13:45:35 -07:00
Adam Ierymenko
bd488a08f8
Merge branch 'edge' of http://git.int.zerotier.com/zerotier/ZeroTierOne into edge
2020-06-16 13:36:48 -07:00
Adam Ierymenko
3c6448a717
Move all CGO flags into CMakeLists.txt so they can inherit all our system detection and stuff.
2020-06-16 13:36:43 -07:00
Grant Limberg
0a2dfc719a
fix centos 7 & debian stretch
2020-06-16 13:33:05 -07:00
Adam Ierymenko
f0fc4713d8
Merge branch 'edge' of http://git.int.zerotier.com/zerotier/ZeroTierOne into edge
2020-06-16 13:01:20 -07:00
Grant Limberg
b2132aa975
needs libssl dev
2020-06-16 12:19:31 -07:00
Grant Limberg
7739984c56
typo
2020-06-16 12:11:48 -07:00
Grant Limberg
034188b0ee
reset WORKDIR back to root once built
2020-06-16 12:07:20 -07:00
Grant Limberg
98ea27ecb0
have to build & install cmake on non-x64 versions of debian stretch
2020-06-16 11:59:08 -07:00
Adam Ierymenko
8d2a0f764b
Some minor reorg.
2020-06-16 11:51:41 -07:00
Grant Limberg
6c43e0b946
add scl-utils
2020-06-16 11:28:42 -07:00
Grant Limberg
77342f8571
try setting scl_source on centos7 for newer compilers
2020-06-16 10:40:01 -07:00
Grant Limberg
e808b4b45f
add ubuntu focal builds
2020-06-16 10:26:48 -07:00
Grant Limberg
86d91cb625
no ubuntu 20.04 for ArmV7
2020-06-16 10:10:51 -07:00
Grant Limberg
3f21e59ab4
more DEBIAN_FRONTEND=noninteractive
2020-06-16 09:53:42 -07:00
Grant Limberg
3669cac3c9
apparently apt now asks for your region interactively. Even in a docker image
2020-06-16 09:50:16 -07:00
Grant Limberg
b919f5a95b
helps to load the correct dockerfile
2020-06-16 09:46:42 -07:00
Grant Limberg
5e6484ff5a
add docker images for ubuntu 20.04
2020-06-16 09:08:26 -07:00
Adam Ierymenko
ecb09aa2e1
Fix bounds check bug.
2020-06-15 16:30:52 -07:00
Adam Ierymenko
346d4b572b
Fix symbol issues in static build.
2020-06-15 15:02:07 -07:00
Grant Limberg
1a38dfdbde
back to go main
2020-06-15 13:51:24 -07:00
Adam Ierymenko
69f1c8701b
Define uint since that is not a standard symbol.
2020-06-15 13:13:03 -07:00
Adam Ierymenko
9daf4540de
Certificates, and it builds again.
2020-06-15 11:17:24 -07:00
Adam Ierymenko
f447608d6b
Certificates, etc... work in progress.
2020-06-13 21:41:39 -07:00
Grant Limberg
001fb54b15
fix go static command line
2020-06-12 16:08:34 -07:00
Grant Limberg
ffc786d796
update make call for static
2020-06-12 15:59:53 -07:00
Grant Limberg
a1649d6cda
trying again for static build. also add static go flags
2020-06-12 15:58:00 -07:00
Grant Limberg
541b2cbef0
.
2020-06-12 15:49:28 -07:00
Grant Limberg
5166aa6913
added static build option
2020-06-12 15:43:12 -07:00
Grant Limberg
b88000c349
.
2020-06-12 15:39:02 -07:00
Grant Limberg
49eefe7e78
rename error for static
2020-06-12 15:31:34 -07:00
Grant Limberg
bfdac7a8f0
use alpine go package
2020-06-12 15:21:48 -07:00
Grant Limberg
d9dd77bc6e
let cgo find versionl.h
2020-06-12 15:09:31 -07:00
Grant Limberg
e46a342e17
ensure version.h is in the include path
2020-06-12 14:57:41 -07:00
Grant Limberg
760607f58a
static alpine builds reenabled
2020-06-12 14:46:48 -07:00
Grant Limberg
35b5780907
remove __has_include
2020-06-12 14:44:25 -07:00
Grant Limberg
51159601b0
one more time
2020-06-12 14:27:34 -07:00
Grant Limberg
4cb35a2975
yes pipe too
2020-06-12 13:58:50 -07:00
Grant Limberg
405250ce79
tell curl to follow redirects
2020-06-12 13:56:44 -07:00
Grant Limberg
81b11168c9
centos 8 update
2020-06-12 13:48:31 -07:00
Grant Limberg
066cdfe2ac
alternate newer cmake install
2020-06-12 13:46:40 -07:00
Grant Limberg
062189b589
add sid 32bit
2020-06-12 11:40:34 -07:00
Grant Limberg
a11d0027ce
cast to uintptr_t instead
...
should fix non 64-bit platforms
2020-06-12 09:22:58 -07:00
Grant Limberg
c9ae7e811f
Should fix non x64 platforms
...
Need adam to check
2020-06-12 09:22:17 -07:00
Grant Limberg
47ec246520
try to force 32 bit with BUILD_32BIT flag. force VERBOSE=1 cmake build too
2020-06-10 16:19:39 -07:00
Grant Limberg
42104cfc4c
go wrangling
2020-06-10 15:56:16 -07:00
Grant Limberg
1bab9b202f
default off
2020-06-10 15:40:14 -07:00
Grant Limberg
74ce98f39b
set CMAKE_SYSTEM_PROCESSOR to x86
2020-06-10 15:39:48 -07:00
Grant Limberg
3268effabf
enable 32bit builds on 64-bit hosts
2020-06-10 15:31:40 -07:00
Grant Limberg
96965647bc
wtf
2020-06-10 14:51:44 -07:00
Grant Limberg
808ab715d9
forgot to save a few files
2020-06-10 13:02:38 -07:00
Grant Limberg
fa1e16085b
permissions in docker containers
2020-06-10 12:40:44 -07:00
Grant Limberg
dd46e56af2
add include <mmintrin.h>
2020-06-10 12:27:22 -07:00
Grant Limberg
d8d871745e
add cmake
2020-06-10 10:50:01 -07:00
Grant Limberg
09c9e338bc
needs /bin?
2020-06-10 09:51:57 -07:00
Grant Limberg
df9483408d
CMake error if go not found
2020-06-10 09:33:48 -07:00
Grant Limberg
cb342bfb12
make GCC happy
2020-06-09 15:30:01 -07:00
Grant Limberg
04266a1180
don't build static binaries yet. Don't have the build config in there for it yet
2020-06-09 14:49:37 -07:00
Grant Limberg
86eda5fe65
use zerotier as binary name for 2.0
2020-06-09 14:31:00 -07:00
Grant Limberg
bc1fa3bf20
make it easier to update go version for docker build containers
2020-06-09 14:29:40 -07:00
Grant Limberg
e63920404c
copy over dockerbuild files for releases
2020-06-09 14:16:36 -07:00
Grant Limberg
4833478eee
Fix linux link ordering and add Dockerfile for central controllers
...
Builds but obviously won't actually do anything yet
2020-06-09 14:14:11 -07:00
Grant Limberg
c8b6850520
add central controller build target
2020-06-09 14:14:06 -07:00
Adam Ierymenko
938cbba449
Root set stuff, code formatting and other boring stuff.
2020-06-09 12:26:52 -07:00
Grant Limberg
c8f640f3f2
compile go code to static library & call via main.cpp
...
This allows CMake to manage the linkage of C/C++ libraries rather than an exponentially growing list of cgo directives based on build options
2020-06-09 12:03:16 -07:00
Grant Limberg
2272189955
macOS: link static versions of lipq and libhiredis on mac
...
will need to grab them via homebrew
2020-06-08 16:14:01 -07:00
Grant Limberg
736edeeed0
figure out conditional compilation & cgo based on go build tags
2020-06-08 15:54:10 -07:00
Adam Ierymenko
bf33368add
Merge branch 'edge' of http://git.int.zerotier.com/zerotier/ZeroTierOne into edge
2020-06-08 14:45:08 -07:00
Adam Ierymenko
40d48c969c
Some cleanup, revision to Endpoint string format, stub out HTTP API callbacks.
2020-06-08 14:41:13 -07:00
Grant Limberg
17f0dc9ba2
2.0 compiles with postgres/redis controller code
...
Probably doesn't work yet
2020-06-08 14:11:07 -07:00
Adam Ierymenko
016d85b169
Code formatting and similar.
2020-06-08 11:47:28 -07:00
Grant Limberg
2bceabdfa5
add redis dependencies for central controller
2020-06-08 11:23:41 -07:00
Adam Ierymenko
d18c33d6df
Code cleanup, Linux build fixes.
2020-06-05 22:18:58 -07:00
Adam Ierymenko
e2ca065f28
Cleanup, revise join command
2020-06-05 16:36:31 -07:00
Adam Ierymenko
fe28501126
Also clean CLion directories.
2020-06-05 14:40:04 -07:00
Adam Ierymenko
73795d05eb
Reorg done and builds
2020-06-05 14:38:35 -07:00
Adam Ierymenko
af846f7e3f
Fix clean
2020-06-05 13:45:43 -07:00
Adam Ierymenko
a0374da4f3
Reorg.
2020-06-05 13:42:34 -07:00
Adam Ierymenko
4e44fa009c
Clean up gitignore
2020-06-05 13:31:10 -07:00
Adam Ierymenko
3dd2c94f4e
Moar reorganization.
2020-06-05 13:26:35 -07:00
Adam Ierymenko
6da8f2bb05
Temporarily stash stuff in attic that needs update before beta/release.
2020-06-05 13:06:01 -07:00
Adam Ierymenko
e21fcb8104
Reorg.
2020-06-05 13:05:28 -07:00
Adam Ierymenko
3c11c13af4
More reorg, work in progress.
2020-06-05 13:04:37 -07:00
Adam Ierymenko
d3cf7b2202
Reorg.
2020-06-05 12:56:20 -07:00
Adam Ierymenko
03bcdf74a8
Some CLI help updates, some code formatting, pre-reorg.
2020-06-05 12:49:35 -07:00
Adam Ierymenko
45b90a0dfa
Formatting and boring stuff
2020-06-05 10:41:32 -07:00
Adam Ierymenko
9babfcb9b6
A bunch more go plumbing.
2020-06-04 16:03:11 -07:00
Adam Ierymenko
1b2a4f00f2
Take like ten on the addRoot thing, making it even simpler. Explicit locator commands are still present but they will remain just for use in creating subscriptions etc.
2020-06-04 10:32:13 -07:00
Adam Ierymenko
90b5acfca6
Docs, simplification.
2020-06-04 07:16:15 -07:00
Adam Ierymenko
741f7814c2
Various build fixes.
2020-06-03 22:15:19 -07:00
Adam Ierymenko
a4ae4941c3
Try to ignore temporary IPv6 addresses, fix Peer serialization, add an endpoint cache to Peer, some more Go stuff.
2020-06-03 22:03:34 -07:00
Adam Ierymenko
8a6ef33c4a
revert
2020-06-03 12:27:35 -07:00
Adam Ierymenko
5ac2596429
More CLI work, link go.mod and go.sum for some Go editors to work.
2020-06-03 11:59:24 -07:00
Adam Ierymenko
5dac2e82a7
A bunch of tweaks around CLI parameters and string formats of things.
2020-06-02 11:37:04 -07:00
Adam Ierymenko
8e29acd664
Causes build problems, revert.
2020-06-01 16:24:12 -07:00
Adam Ierymenko
1d29bc3e8e
Move go.mod and go.sum into base.
2020-06-01 16:07:49 -07:00
Adam Ierymenko
dc1ef0c49e
Code formatting and other boring stuff.
2020-06-01 15:40:00 -07:00
Adam Ierymenko
1003455160
Cleanup.
2020-05-31 15:30:24 -07:00
Adam Ierymenko
20ae12d385
Clean up some NAT traversal code, modify algorithm to eliminate the need for toggle-able options.
2020-05-31 15:11:47 -07:00
Adam Ierymenko
dcc686a3a7
Docs, YAGNI removal, use locator endpoints in peer contact attempts.
2020-05-31 06:47:56 -07:00
Adam Ierymenko
89c27c112a
Flesh out tests, fix a signing bug.
2020-05-30 19:08:45 -07:00
Adam Ierymenko
3621fe8897
Some AES cleanup and include controller with Go build.
2020-05-30 17:03:12 -07:00
Adam Ierymenko
33269cd29d
Some CGo fixes.
2020-05-30 12:07:52 -07:00
Adam Ierymenko
1970dab13d
Move some toString/fromString to C++ since any ZT code base would need it, and stub out the controller commands.
2020-05-30 11:42:59 -07:00
Adam Ierymenko
a5390b1bc8
Plumb new locator code through to Go, fix some cgo issues, fix some compiler warnings.
2020-05-29 10:16:38 -07:00
Adam Ierymenko
864e33cf2d
A bunch of build fixes.
2020-05-29 07:06:00 -07:00
Adam Ierymenko
b9bf6d1242
Simplification of addRoot/removeRoot, and some code reformatting and other cleanup across multiple files.
2020-05-29 06:30:02 -07:00
Adam Ierymenko
caad356b93
A bunch of go fixes, wire up root add/delete.
2020-05-25 18:05:34 -07:00
Adam Ierymenko
964c235ecf
Golang fixes
2020-05-25 14:23:48 -07:00
Adam Ierymenko
c881094202
Warning removal.
2020-05-25 09:55:47 -07:00
Adam Ierymenko
6051c973d3
A bunch of warning removal, build fixes, and cleanup.
2020-05-25 09:48:18 -07:00
Adam Ierymenko
1f9717250c
Update release notes, rip out trusted paths which were clunky and rarely used and of dubious value, and some other cleanup.
2020-05-21 13:04:27 -07:00
Adam Ierymenko
8ebbbc33cc
Clean up and revise how roots are added/specced.
2020-05-21 11:21:39 -07:00
Adam Ierymenko
98bcff1928
Warning fix.
2020-05-19 15:03:30 -07:00
Adam Ierymenko
cef708c8ad
Build fixes.
2020-05-19 15:01:52 -07:00
Adam Ierymenko
a925e2d783
Build fixes.
2020-05-19 14:02:32 -07:00
Adam Ierymenko
a1193f0e30
A few AES-GMAC-SIV tweaks to use a bit more IV state.
2020-05-19 12:18:50 -07:00
Adam Ierymenko
f209037efe
Cleanup, slightly slow down V1 identity generation, faster Salsa20 (by a bit).
2020-05-19 10:13:12 -07:00
Adam Ierymenko
b99dd7d916
Fix code generation for AES stuff so it runs on chips that do not have AVX or VAES.
2020-05-18 16:50:05 -07:00
Adam Ierymenko
aad21cf395
Blazing fast VAES (256 and 512) AES-CTR, Identity fixes, test fixes.
2020-05-18 16:29:41 -07:00
Adam Ierymenko
d537428421
Build fixes.
2020-05-18 09:44:23 -07:00
Adam Ierymenko
996589894d
Build fixes
2020-05-14 11:53:45 -07:00
Adam Ierymenko
d3777b3eb4
A bunch of boring formattings stuff, etc.
2020-05-14 10:55:41 -07:00
Adam Ierymenko
52e1f5502d
More VL1 work after re-re-re-refactor...
2020-05-13 14:26:53 -07:00
Adam Ierymenko
664a128e9e
Yet more work in progress... mostly cleanup and re-implementation without depending on struture padding.
2020-05-11 13:08:55 -07:00
Adam Ierymenko
666d44b14a
More endless work in progress...
2020-05-06 10:42:09 -07:00
Adam Ierymenko
b533c300d8
A ton more work... almost there
2020-04-28 19:52:09 -07:00
Adam Ierymenko
78d223d709
A bunch more cleanup, remove a ton of reinterpret_cast cruft in favor of a simple union in InetAddress.
2020-04-16 16:01:39 -07:00
Adam Ierymenko
2b0127c26d
Work in progress on crypto stuff, refactoring to back out of use of structs for encode/decode as it is questionably portable.
2020-04-16 12:34:51 -07:00
Adam Ierymenko
16a3c14c53
A bunch of cleanup and refactoring, implementation of prep for forward secrecy still in progress.
2020-04-13 12:22:08 -07:00
Adam Ierymenko
c65391a344
Add symmetric key container, tons of cleanup.
2020-04-06 16:54:35 -07:00
Adam Ierymenko
fbf4ae823b
Clean up timing stuff in Peer and make it more rational, implement some more P2P stuff, rename some methods, cleanup cleanup cleanup.
2020-04-03 10:18:46 -07:00
Adam Ierymenko
3d6d9c5808
LINT cleanliness.
2020-03-31 14:30:02 -07:00
Adam Ierymenko
64c533c189
More warning removal.
2020-03-31 14:09:17 -07:00
Adam Ierymenko
7fd78a87d1
Use static_assert more.
2020-03-31 13:45:05 -07:00
Adam Ierymenko
b9f60fc3c2
A bunch of warning removal and LINT cleanliness.
2020-03-31 12:35:54 -07:00
Adam Ierymenko
afa01074c5
File this idea away.
2020-03-31 11:03:02 -07:00
Adam Ierymenko
1f85b0402e
Just use unordered_map, and some other cleanup.
2020-03-31 09:01:58 -07:00
Adam Ierymenko
b3314cd34f
Small build fixes.
2020-03-30 18:09:11 -07:00
Adam Ierymenko
9428fc53f6
A bunch of cleanup, bug fix, just use unordered_map, etc.
2020-03-30 17:28:23 -07:00
Adam Ierymenko
0d05e4bcae
Remove capability chain of custody stuff which was never used and was really overly complex and a potential source of security problems.
2020-03-28 12:06:10 -07:00
Adam Ierymenko
87da45b3f5
Faster hash table, various other optimizations and simplification.
2020-03-28 01:06:29 -07:00
Adam Ierymenko
cbf174f96d
Warning removal.
2020-03-27 19:35:37 -07:00
Adam Ierymenko
0aa78d0ecb
Small fixes.
2020-03-27 19:03:09 -07:00
Adam Ierymenko
a87d4f1864
Build fix.
2020-03-27 17:26:49 -07:00
Adam Ierymenko
c0e86de6db
Forgot one spot.
2020-03-27 17:25:05 -07:00
Adam Ierymenko
60fa07bff2
Implement fingerprint option on join in Go land
2020-03-27 17:02:44 -07:00
Adam Ierymenko
1df7f21f5f
Add ability to fully specify controller fingerprint on join for the paranoid.
2020-03-27 16:36:38 -07:00
Adam Ierymenko
674edab814
docs
2020-03-27 15:09:09 -07:00
Adam Ierymenko
369df245e3
Some perf stuff, docs, HELLO design tweaks for ephemeral keys.
2020-03-27 13:09:37 -07:00
Adam Ierymenko
1f2e94a51d
Some optimization and raw memory access cleanup.
2020-03-27 07:40:14 -07:00
Adam Ierymenko
3f32cffc40
dead code removal
2020-03-26 15:56:26 -07:00
Adam Ierymenko
3914964a35
AES docs
2020-03-26 15:55:31 -07:00
Adam Ierymenko
bedf63e257
Some minor security tightening stuff and AES fixes.
2020-03-26 13:54:15 -07:00
Adam Ierymenko
d151d731a6
(1) Mask bit 31 of AES-CTR nonce to disallow uint32 overflow, (2) get rid of handling of uint32/uint64 overflow in our AES-CTR code to optimize, (3) optimize AES software a bit
2020-03-26 10:28:59 -07:00
Adam Ierymenko
2d862f1d32
Little comments and stuff
2020-03-26 08:38:23 -07:00
Adam Ierymenko
f92fca03a0
Update SIV diagram, length pad AAD.
2020-03-25 15:09:49 -07:00
Adam Ierymenko
b5c01999b8
More tweaks to COM stuff.
2020-03-25 14:10:26 -07:00
Adam Ierymenko
e9da35bac3
Harden some stuff around COMs and members of networks.
2020-03-25 13:21:50 -07:00
Adam Ierymenko
d3a7468e83
Implement AES-GMAC-SIV and benchmark, rework COM and add a lot of comments and docs, and comments and docs elsewhere too.
2020-03-25 09:05:44 -07:00
Adam Ierymenko
f3540a5c7c
Linux build fixes, warning removal.
2020-03-24 08:39:54 -07:00
Adam Ierymenko
8cf6808c50
build fix
2020-03-23 16:24:39 -07:00
Adam Ierymenko
274db26339
Fix accidentally removed file.
2020-03-23 16:15:36 -07:00
Adam Ierymenko
490b9c4d79
Moar build fixes, clock perf improvement.
2020-03-23 16:12:45 -07:00
Adam Ierymenko
2da096944d
Everything but root builds now. Back to testing.
2020-03-18 07:20:04 -07:00
Adam Ierymenko
83f830618f
It almost builds!
2020-03-17 16:27:31 -07:00
Adam Ierymenko
cdbb86b830
ARM64 stuff
2020-03-16 09:57:51 -07:00
Adam Ierymenko
483b47474d
ARM64 stuff
2020-03-16 09:51:18 -07:00
Adam Ierymenko
1d314858ef
ARM64 build fixes
2020-03-16 09:27:56 -07:00
Adam Ierymenko
37d4e83fad
ARM64 build fixes
2020-03-16 09:24:57 -07:00
Adam Ierymenko
c7f3f3add9
Small fix, docs, warning removal.
2020-03-16 06:14:41 -07:00
Adam Ierymenko
1c7baa544b
Reduce PoW cost just a bit.
2020-03-15 20:14:35 -07:00
Adam Ierymenko
3408839b33
build fix
2020-03-15 20:07:21 -07:00
Adam Ierymenko
a7409486bb
minor stuff
2020-03-15 19:44:40 -07:00
Adam Ierymenko
cf24ed4108
This PoW seems decent
2020-03-15 14:08:53 -07:00
Adam Ierymenko
8a379ba0a1
The MIMC thing was neat but unfortunately is amenable to too much GPU acceleration.
2020-03-14 20:29:44 -07:00
Adam Ierymenko
4b20638568
more test fixes
2020-03-14 15:27:01 -07:00
Adam Ierymenko
eebe2046f0
docs
2020-03-14 12:17:30 -07:00
Adam Ierymenko
1e457dbd76
Fix tests, fix identity issue
2020-03-14 12:08:40 -07:00
Adam Ierymenko
a20aebaaf8
Some work on delay function... which is delaying us... but need to get it right because its hard as hell to change later.
2020-03-09 15:19:58 -07:00
Adam Ierymenko
5463c70aaf
Minor stuff, and some docs
2020-03-06 12:18:20 -08:00
Adam Ierymenko
24e30a684b
A bunch of little nit-picky header and name cleanup.
2020-03-04 08:16:44 -08:00
Adam Ierymenko
05e52493a4
Go module update
2020-03-03 07:41:15 -08:00
Adam Ierymenko
d8f1e01b77
cleanup
2020-03-03 07:40:19 -08:00
Adam Ierymenko
da5b11bf2d
Rename version constants to something more canonical, and more cleanup.
2020-03-03 07:38:51 -08:00
Adam Ierymenko
b824ea7bcf
Add buffer life cycle stuff to API for fewer memcpys.
2020-03-02 17:15:00 -08:00
Adam Ierymenko
b96ea5ae03
Fingerprint string conversion, API stuff
2020-03-02 15:13:34 -08:00
Adam Ierymenko
fbd3e10488
cleanup
2020-03-02 14:41:15 -08:00
Adam Ierymenko
51f0882849
comments
2020-03-02 14:39:42 -08:00
Adam Ierymenko
416068f68e
Regularize use of fingerprint concept across code.
2020-03-02 12:09:38 -08:00
Adam Ierymenko
a8db4a8d2d
Minor future proofing and cleanup in CertificateOfMembership, improve comments in a few places.
2020-03-02 10:25:15 -08:00
Adam Ierymenko
6b49148d4e
More cross-platform build fixes and add tests for hton/ntoh/other byte order stuff because breakage there would be annoying.
2020-02-28 11:27:30 -08:00
Adam Ierymenko
77e59818a3
dead code removal
2020-02-27 15:59:39 -08:00
Adam Ierymenko
6262374205
Add tests for identity marshal/unmarshal and fix an issue found.
2020-02-27 15:40:31 -08:00
Adam Ierymenko
ed8271530f
cleanup
2020-02-27 14:54:15 -08:00
Adam Ierymenko
8e4d7c56d8
Stub out a protocol field in Endpoint INETADDR types for future use.
2020-02-27 14:24:11 -08:00
Adam Ierymenko
0598315d68
Fix V1 sample ID
2020-02-27 12:59:00 -08:00
Adam Ierymenko
05e5d08959
A little more delay margin
2020-02-27 12:13:12 -08:00
Adam Ierymenko
ca33eaf28d
FPU trick seems to always be faster
2020-02-27 12:09:26 -08:00
Adam Ierymenko
13e86fdb6c
lalala build fixes
2020-02-27 11:57:45 -08:00
Adam Ierymenko
ffbd18f4ef
build fix
2020-02-27 11:52:32 -08:00
Adam Ierymenko
fabb0f734a
build fix
2020-02-27 11:47:01 -08:00
Adam Ierymenko
1e59d92df3
warning removal
2020-02-27 11:45:56 -08:00
Adam Ierymenko
ecd09946e6
warning removal
2020-02-27 11:45:06 -08:00
Adam Ierymenko
789b8b8454
compile fix
2020-02-27 11:43:54 -08:00
Adam Ierymenko
f107a71796
docs, compile fixes.
2020-02-27 11:42:00 -08:00
Adam Ierymenko
066b4c27a4
tweaks
2020-02-27 10:31:55 -08:00
Adam Ierymenko
fbfa99fac5
Speed up V1 identity verification a little, and add some comments.
2020-02-27 09:43:58 -08:00
Adam Ierymenko
c5bd21a23e
various optimization
2020-02-26 17:00:03 -08:00
Adam Ierymenko
1c7e1da4d1
cleanup, docs
2020-02-26 12:40:29 -08:00
Adam Ierymenko
5cec5fe6b1
Make Fingerprint (a full length identity hash) a first class type
2020-02-26 11:39:18 -08:00
Adam Ierymenko
ea0961dfd2
docs
2020-02-26 11:32:54 -08:00
Adam Ierymenko
f20905b08a
Throw some more mulmod52 implementations in there (but currently disabled) for future use so we do not have to hunt them down again.
2020-02-26 11:31:03 -08:00
Adam Ierymenko
83e79e1a1b
V1 identities now use a VDF (verifiable delay function)
2020-02-26 11:08:03 -08:00
Adam Ierymenko
c6a7b5774c
MIMC52
2020-02-26 09:58:28 -08:00
Adam Ierymenko
27ab88db1e
little stuff
2020-02-25 16:21:51 -08:00
Adam Ierymenko
1b71b6d01a
hash() -> fingerprint()
2020-02-25 16:15:14 -08:00
Adam Ierymenko
dcb3d49d35
Cleanup, Address refactoring, tweak V1 identity generation a bit.
2020-02-25 16:08:27 -08:00
Adam Ierymenko
5c14a072d5
rename
2020-02-25 06:03:24 -08:00
Adam Ierymenko
4eb491065b
clean out old files
2020-02-25 06:03:04 -08:00
Adam Ierymenko
b87e8d8e41
readability++
2020-02-25 06:00:52 -08:00
Adam Ierymenko
a58f11e601
Tweak protocol getPacketId(), unit tests for defragmenter, AES fix.
2020-02-25 05:36:48 -08:00
Adam Ierymenko
547f39bb49
Fixes for Buf, unit test
2020-02-24 15:40:19 -08:00
Adam Ierymenko
df99f5e3f3
More crypto benchmarks
2020-02-24 14:44:20 -08:00
Adam Ierymenko
15e88a8b7e
MOAR AES V-TEC
2020-02-24 13:53:50 -08:00
Adam Ierymenko
61b72d42b8
More AES tweaks
2020-02-24 13:30:35 -08:00
Adam Ierymenko
56bf504ec2
Small AES tweak
2020-02-24 12:48:56 -08:00
Adam Ierymenko
1f02250dd8
Ridiculously fast AES-CTR
2020-02-24 11:56:37 -08:00
Adam Ierymenko
5d0c6db19c
Crypto fixes and benchmarks.
2020-02-21 19:32:36 -08:00
Adam Ierymenko
4af3467757
AES-CTR test vectors and fixes to CTR code.
2020-02-21 17:22:26 -08:00
Adam Ierymenko
87890565f3
It builds, and basic stuff and crypto passes tests.
2020-02-21 16:43:12 -08:00
Adam Ierymenko
d603a73715
Build fixes.
2020-02-21 15:58:28 -08:00
Adam Ierymenko
55b0555aa0
A bunch more build fixes.
2020-02-21 14:46:01 -08:00
Adam Ierymenko
1a2378a3d4
More crypto unit tests.
2020-02-21 12:20:57 -08:00
Adam Ierymenko
c6ce6b46ce
build fixes
2020-02-21 08:44:53 -08:00
Adam Ierymenko
f109f2e612
Identity v1 hash tweak
2020-02-21 08:10:43 -08:00
Adam Ierymenko
8f8e3f4960
OS/platform include cleanup
2020-02-21 08:01:58 -08:00
Adam Ierymenko
1d885cf810
Build fixes, put uint128_t detection in one place.
2020-02-21 07:25:43 -08:00
Adam Ierymenko
5275a34b0b
more refactoring
2020-02-21 07:11:16 -08:00
Adam Ierymenko
c3b5c45fea
Fix InetAddress sizing by delving into crazy C++ weeds, fix Peer compile issues.
2020-02-20 13:55:09 -08:00
Adam Ierymenko
565a686be7
include cleanup
2020-02-20 13:25:56 -08:00
Adam Ierymenko
12cfb6501d
Cleanup in ECC384 including const-correctness, etc.
2020-02-20 13:11:51 -08:00
Adam Ierymenko
de1b54821e
Starting to (re)write unit tests.
2020-02-20 12:54:46 -08:00
Adam Ierymenko
320c8429c2
Yet more perf, security hardening, and compile fix tweaks.
2020-02-20 09:33:11 -08:00
Adam Ierymenko
a4e24c8390
Build fixes
2020-02-19 11:32:16 -08:00
Adam Ierymenko
0589964f99
Yet more cleanup, and add meters to paths.
2020-02-19 11:06:05 -08:00
Adam Ierymenko
1affb6814c
A little more cleanup and build fixes.
2020-02-19 10:32:02 -08:00
Adam Ierymenko
b70ab0d354
Include file cleanup, docs, and build fixes.
2020-02-19 10:18:52 -08:00
Adam Ierymenko
4a9266feef
Comment out not-yet-refactored code in Network
2020-02-19 09:42:11 -08:00
Adam Ierymenko
1e0a930d23
Create a container for identity hashes, replace some "volatile" hacky junk with std::atomic, clean up some security checks, rename raw data in Buf to unsafeData to permit search for unsafe.
2020-02-19 09:28:18 -08:00
Adam Ierymenko
46d3780e89
AES stuff, port sending network credentials to new packet format.
2020-02-18 17:17:10 -08:00
Adam Ierymenko
311c98e24e
Various other small things.
2020-02-18 14:20:49 -08:00
Adam Ierymenko
9ad8dd3700
Add Peer method for getting preferred cipher, various cleanup in VL1
2020-02-18 12:38:48 -08:00
Adam Ierymenko
0dc476518b
Documentation changes, and move HMAC auth on HELLO to before object decoding since this is good cryptographic practice.
2020-02-18 10:31:31 -08:00
Adam Ierymenko
8c8a3c58ec
Various little things...
2020-02-18 06:33:31 -08:00
Adam Ierymenko
a0ac4a744e
Change the type 1 identity a bit to make locallyValidate() super fast, eliminating a scaling issue with v0.
2020-02-17 15:09:26 -08:00
Adam Ierymenko
3448e6fc76
Yet MORE refactoring, including moving expected-reply-to out of Node and into its own class for cleanliness.
2020-02-14 14:12:42 -08:00
Adam Ierymenko
e5c7366e71
Yet more minor refactoring and redesign Meter to be more thread-safe.
2020-02-14 11:34:47 -08:00
Adam Ierymenko
e236d6f743
More minor refactoring
2020-02-14 10:19:45 -08:00
Adam Ierymenko
5db0d9438c
More built-in AES and GMAC primitive work.
2020-02-14 09:05:48 -08:00
Adam Ierymenko
08e06f9b8f
More refactoring and a bunch of AES goodness.
2020-02-13 14:44:18 -08:00
Adam Ierymenko
018fe04163
More nit-picky refactoring.
2020-02-12 14:14:31 -08:00
Adam Ierymenko
f21ecb3762
Yet more major and very nit-picky refactoring for performance, etc. Also use std::atomic<> now with a TODO to implement a shim if we ever do need to build this on a pre-c++11 compiler.
2020-02-12 14:04:25 -08:00
Adam Ierymenko
60de5ed3dd
It almost compiles again
2020-02-07 13:54:17 -08:00
Adam Ierymenko
df4b1e9b12
Yet more work on VL1/VL2
2020-02-07 00:02:29 -08:00
Adam Ierymenko
c3d3605f70
Merge branch 'edge' of http://git.int.zerotier.com/zerotier/ZeroTierOne into edge
2020-02-06 18:07:22 -08:00
Adam Ierymenko
a9003d16f2
Put Switch in attic too
2020-02-06 18:07:17 -08:00
Adam Ierymenko
84619a7788
A bunch more refactoring including splitting Switch into VL1 and VL2
2020-02-06 18:06:50 -08:00
Grant Limberg
db127887b6
libssl-dev on trusty images
2020-02-05 10:57:29 -08:00
Grant Limberg
e0588b89b2
libssl-dev
2020-02-04 12:48:58 -08:00
Grant Limberg
7d2eceef01
no building cmake on wheezy either
2020-02-04 12:36:39 -08:00
Grant Limberg
e5e444c7ae
can't even build cmake on Centos 6. Will need another method for packaging
2020-02-04 12:08:47 -08:00
Grant Limberg
4b083b8c41
more dependencies
2020-02-04 12:06:26 -08:00
Grant Limberg
245d92b40c
add openssl-devel to centos images
2020-02-04 11:46:09 -08:00
Grant Limberg
931ad1aca8
Add CMake to all the docker images
2020-02-04 11:38:42 -08:00
Grant Limberg
5e488d3aa0
fix PATH
2020-02-04 10:33:18 -08:00
Grant Limberg
cc52835ce3
remove unneeded output
2020-02-04 09:39:13 -08:00
Adam Ierymenko
7d11522768
Just about everything refactored for new Protocol/Buf code except Switch.
2020-02-03 16:18:33 -08:00
Grant Limberg
417cdc17dc
Skip generating packages on edge as that's not reimplemented in CMake yet
2020-02-03 14:00:46 -08:00
Grant Limberg
c537955c65
ensure go is in the PATH for jenkins builds
2020-02-03 13:57:03 -08:00
Grant Limberg
a0efea8e0f
Merge branch 'dev' into edge
...
# Conflicts:
# .gitignore
# Jenkinsfile
# attic/macui/ZeroTier One.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
# attic/service/OneService.cpp
2020-02-03 13:54:49 -08:00
Grant Limberg
cce51cea5d
Merge branch 'pipeline' into dev
2020-02-03 13:48:46 -08:00
Adam Ierymenko
df346a6df6
Work in progress... clean up memcpy and create an annotation for that, lots more porting to new Buf/Protocol code, etc.
2020-02-03 13:00:13 -08:00
Grant Limberg
ba4324f992
Update jenkinsfile for new build process
2020-02-03 12:51:46 -08:00
Grant Limberg
81e982991b
add kali rolling
2020-02-03 10:46:39 -08:00
Grant Limberg
f6f4fba90e
Add docker configs for multi arch jenkins builds
2020-02-03 09:57:48 -08:00
root
23d5a972ba
disable lintian because sid/bullseye are sitting there running /bin/sleep 3 endlessly on this step
2020-01-31 13:15:23 -08:00
Adam Ierymenko
cdc6c42375
Take Dictionary behind the barn...
2020-01-25 18:02:11 -08:00
Adam Ierymenko
d5b9a54c55
Continuing work on new buffer type...
2020-01-25 01:17:56 -08:00
Adam Ierymenko
59da359b06
More porting to new Buf system.
2020-01-24 23:36:08 -08:00
Adam Ierymenko
91ce4c4ea6
Refactoring protocol marshal/unmarshal code...
2020-01-24 21:16:07 -08:00
Adam Ierymenko
e9656ecf11
More wiring up of addroot/removeroot etc.
2020-01-24 13:27:01 -08:00
Adam Ierymenko
5c6bf9d0a4
Wiring up addroot/removeroot
2020-01-23 18:05:34 -08:00
Adam Ierymenko
0de194dab3
It builds again
2020-01-23 14:41:59 -08:00
Adam Ierymenko
33bb61c63d
Loads of refactoring, integration of new version of Trace.
2020-01-23 13:05:33 -08:00
Grant Limberg
5faf0f8ab6
whoops
2020-01-23 09:46:15 -08:00
Grant Limberg
0f17cd4791
Update to jenkinsfile for multi-platform release builds
2020-01-23 09:41:17 -08:00
Grant Limberg
e0518ab176
testing armv5t instead of armv5 flag
2020-01-22 16:36:26 -08:00
Adam Ierymenko
e6273b3300
cleanup
2020-01-21 13:12:07 -08:00
Adam Ierymenko
d7b31fe014
Warning removal and build fixes.
2020-01-21 12:55:51 -08:00
Adam Ierymenko
5aae5f95bf
Merge commit 'bba132414527f1742dd1ca550dad5ecce94dfa40' into edge
2020-01-21 11:05:12 -08:00
Adam Ierymenko
bba1324145
One more sanity check.
2020-01-21 11:04:18 -08:00
Adam Ierymenko
182561f7e6
Port checking fixes.
2020-01-21 11:00:06 -08:00
Adam Ierymenko
41871c8b1e
Merge commit 'ff655292fba09c0a0d1ed4b4dda738c165ad4404' into edge
2020-01-21 10:59:44 -08:00
Adam Ierymenko
ff655292fb
Allocate packet on heap, add extra sanity checks on packet size.
2020-01-21 10:58:41 -08:00
Adam Ierymenko
782b75a64e
Linux build fixes
2020-01-20 21:27:51 -08:00
Adam Ierymenko
0c58901469
cleanup
2020-01-20 21:05:29 -08:00
Adam Ierymenko
73b23f1b16
Go code cleanup and fixes, other cleanup.
2020-01-20 16:03:19 -08:00
Adam Ierymenko
5a29f9ba2d
cleanup
2020-01-20 11:18:38 -08:00
Adam Ierymenko
03190c5a55
Bunch of build fixes, some docs
2020-01-20 10:40:31 -08:00
Adam Ierymenko
dab968ed96
Put LZ4 in its own file.
2020-01-20 09:38:05 -08:00
Adam Ierymenko
b598263261
More 2.x notice updates.
2020-01-20 08:49:10 -08:00
Adam Ierymenko
eef70e198b
Version 2.x notice updates and other boring stuff.
2020-01-20 08:46:20 -08:00
Adam Ierymenko
89c41f88a4
Module version bump, vendor, cleanup
2020-01-20 08:23:30 -08:00
Adam Ierymenko
53b7c8f725
Make Peer bootstrap field an Endpoint even though we only support InetAddress right now, and a bunch more stuff.
2020-01-20 08:08:38 -08:00
Adam Ierymenko
d471142908
Merge branch 'edge' of http://git.int.zerotier.com/zerotier/ZeroTierOne into edge
2020-01-17 14:01:32 -08:00
Adam Ierymenko
3ff9ffd5d4
A bunch of wiring up of stuff...
2020-01-17 14:01:22 -08:00
Grant Limberg
2558bd1b9b
include iomanip
2020-01-16 09:11:12 -08:00
Grant Limberg
95d0944b9f
add /metrics endpoint for exposing root metrics to Prometheus
2020-01-16 09:08:52 -08:00
Grant Limberg
6e72b6fb37
Merge branch 'edge' of http://git.int.zerotier.com/zerotier/ZeroTierOne into edge
2020-01-15 16:12:51 -08:00
Grant Limberg
0c9be4de14
add /metrics endpoint for exposing root metrics to Prometheus
2020-01-15 16:12:34 -08:00
Adam Ierymenko
b53b7f4950
.
2020-01-14 15:34:06 -08:00
Adam Ierymenko
b2f0b35608
Move self-test so it can be called from CLI and always builds, implement Endpoint and Locator deserialization in Go as well as C++.
2020-01-14 14:37:49 -08:00
Adam Ierymenko
cba7a5d4d7
Self test is back, wiring up roots again.
2020-01-13 16:35:49 -08:00
Grant Limberg
8e1a88c2fb
Merge branch 'edge' of http://git.int.zerotier.com/zerotier/ZeroTierOne into edge
2020-01-13 15:32:31 -08:00
Adam Ierymenko
ee5a988f14
Wiring back up PUSH_DIRECT_PATHS and friends.
2020-01-13 14:04:17 -08:00
Adam Ierymenko
f814a07ab3
Go build works now
2020-01-10 22:12:56 -08:00
Adam Ierymenko
a5aea2f3bb
Everything but the Go code builds now!
2020-01-10 21:09:13 -08:00
Adam Ierymenko
7291ac2093
A bunch more cleanup and build fixes, and remove old version of multipath code to prep for new version.
2020-01-10 20:40:14 -08:00
Adam Ierymenko
790fe50fac
Go code cleanup for new changes
2020-01-10 16:54:01 -08:00
Adam Ierymenko
83eacdfada
New Buffer implementation (not used yet) and cleanup
2020-01-10 15:28:27 -08:00
Adam Ierymenko
2fbeaaf148
Bunch more fixes, implement C API for Identity operations.
2020-01-09 13:50:51 -08:00
Adam Ierymenko
57710cbc38
.
2020-01-09 08:39:47 -08:00
Adam Ierymenko
8bae0acaf9
More cleanup and build fixes, almost builds again!
2020-01-08 21:48:01 -08:00
Adam Ierymenko
ef64e6a336
Build fixes, cleanup
2020-01-08 21:24:47 -08:00
Adam Ierymenko
9642ff5fb9
.
2020-01-08 18:08:41 -08:00
Adam Ierymenko
263798d1c3
cleanup
2020-01-07 14:04:08 -08:00
Adam Ierymenko
3fbfad5585
cleanup
2020-01-07 14:03:50 -08:00
Adam Ierymenko
627533cf48
.
2020-01-07 13:24:15 -08:00
Adam Ierymenko
19899de5a6
.
2020-01-06 18:14:35 -08:00
Adam Ierymenko
c1b2c7903c
.
2020-01-02 19:04:36 -05:00
Grant Limberg
28df0c2e38
Merge branch 'dev' of github.com:zerotier/ZeroTierOne into dev
2019-12-17 10:56:53 -08:00
Grant Limberg
7696d45093
Fix handling of invalid conf file
...
Fixes GitHub issue #1068
2019-12-17 10:51:01 -08:00
Grant Limberg
2a7d4fcde5
update vs project settings
2019-12-17 10:49:21 -08:00
Adam Ierymenko
3b94ef99ae
Bunch of new-gen serialization work
2019-12-16 11:57:33 -08:00
Adam Ierymenko
6267c67888
A bunch of cleanup and refactoring toward 2.x
2019-12-12 16:15:49 -08:00
Adam Ierymenko
23d6a3aacd
Moar refactoring
2019-12-11 13:46:44 -08:00
Adam Ierymenko
72361fb1c8
Cleanup and refactor
2019-12-11 13:27:11 -08:00
Adam Ierymenko
b55f98b813
wip
2019-12-11 12:04:22 -08:00
Grant Limberg
995fa4a76c
Merge branch 'refs/heads/master' into dev
2019-11-22 15:00:39 -08:00
Grant Limberg
d8597884f6
jenkins windows
2019-11-22 11:25:31 -08:00
Grant Limberg
a993ddc54d
Merge branch 'refs/heads/master' into dev
2019-11-21 15:12:37 -08:00
Grant Limberg
54e25084fe
re-enable CI on master
2019-11-21 14:51:33 -08:00
Grant Limberg
e58a0b3efb
build central controller docker images on macOS
2019-11-21 14:49:24 -08:00
Grant Limberg
381f15382c
Convert central-controller docker build to use a builder subcontainer
2019-11-20 13:56:26 -08:00
Adam Ierymenko
5a4d681af8
Build fixes.
2019-11-19 16:45:53 -08:00
Adam Ierymenko
a16a0a8ce5
Warning removal.
2019-11-19 16:22:11 -08:00
Grant Limberg
91d679af15
Merge pull request #1087 from skunkwerks/dev
...
drop -Werror from DEBUG builds
2019-11-19 08:47:38 -08:00
Dave Cottlehuber
8396f16dd2
drop -Werror from DEBUG builds
...
Appease compilers. Thanks @glimberg for the diff.
Closes #1086
2019-11-19 16:45:06 +00:00
Grant Limberg
203df51752
ignore workspace/ folder
...
It's where I usually put temporary identity, etc. files for testing
2019-11-13 12:48:32 -08:00
Grant Limberg
dc19deb6c3
.
2019-11-13 12:46:52 -08:00
Grant Limberg
86abd31659
fix log line
2019-11-13 12:46:16 -08:00
Joseph Henry
b8e70d866a
Compile fix for unterminated conditional directive
2019-11-12 09:46:39 -08:00
Joseph Henry
e1e27eb19d
Bugfix for incorrect port binding of secondary and tertiary ports
2019-11-11 12:03:49 -08:00
Adam Ierymenko
47b4efd49b
Work in progress...
2019-11-04 14:24:37 -08:00
Grant Limberg
088dab4f04
Let's not print this to the logs
2019-10-31 15:13:20 -07:00
Grant Limberg
cc79ec6179
use std::string instead of const char* in rmq struct
2019-10-31 15:08:59 -07:00
Grant Limberg
74478b24b0
add librabbitmq binaries for macos for testing central controller
2019-10-31 14:04:25 -07:00
Adam Ierymenko
14fab11081
Merge dev, clean up old files
2019-10-16 06:05:29 -07:00
Adam Ierymenko
4c55f3eaa5
Work in progress
2019-10-16 06:03:32 -07:00
Travis LaDuke
bad95d7c67
Update cli help to say <network ID> instead of <network>
...
Closes #1054
2019-10-15 13:15:45 -07:00
Adam Ierymenko
891bf99894
work in progress
2019-10-15 12:49:03 -07:00
Adam Ierymenko
22e95b3bcb
.
2019-10-09 10:00:30 -07:00
Adam Ierymenko
4da315fab2
Plumb through external interface stuff
2019-10-03 10:43:28 -07:00
Adam Ierymenko
507ba7d26a
Go build stuff, root stuff
2019-10-02 17:55:15 -07:00
Adam Ierymenko
68ac884d47
.
2019-10-02 14:30:46 -07:00
Adam Ierymenko
e2f3996843
Fix callbacks
2019-10-02 13:39:48 -07:00
Adam Ierymenko
57ade250af
.
2019-10-02 12:19:37 -07:00
Adam Ierymenko
c3e0f262d1
Regularize JSON stuff
2019-10-02 09:34:44 -07:00
Adam Ierymenko
b9911d0db7
More plumbing
2019-10-02 07:09:54 -07:00
Adam Ierymenko
d1b780c7be
addroot
2019-10-01 13:09:53 -07:00
Adam Ierymenko
1711cced3e
.
2019-09-30 20:31:48 -07:00
Adam Ierymenko
63e6693255
.
2019-09-30 20:10:53 -07:00
Adam Ierymenko
9b8d191bb1
Locator fix
2019-09-30 20:09:35 -07:00
Adam Ierymenko
6db2b8c66d
.
2019-09-30 20:03:03 -07:00
Adam Ierymenko
47a08ccbd4
Identity management plumbing to Go
2019-09-30 18:59:57 -07:00
Adam Ierymenko
7fc78129f4
A bunch of CLI work
2019-09-30 16:12:08 -07:00
Adam Ierymenko
c4504fd3ff
Vendor Go modules
2019-09-30 12:41:21 -07:00
Adam Ierymenko
e4799ff8c4
Bunch of small warnings and stylistic things...
2019-09-30 11:10:47 -07:00
Adam Ierymenko
f680924585
Build fixes
2019-09-30 09:48:44 -07:00
Adam Ierymenko
b0d222768a
Root admin stuff
2019-09-30 09:32:00 -07:00
Adam Ierymenko
4303c43db7
.
2019-09-27 14:55:46 -07:00
Adam Ierymenko
3b3e6d2bfc
Simplify root API
2019-09-26 13:35:56 -07:00
Adam Ierymenko
7061f13b24
.
2019-09-26 09:34:31 -07:00
Adam Ierymenko
5175636d36
.
2019-09-25 14:31:08 -07:00
Adam Ierymenko
570032484f
.
2019-09-25 14:16:55 -07:00
Adam Ierymenko
9c37fc1a5f
.
2019-09-25 13:32:46 -07:00
Adam Ierymenko
105023bd87
Build fix
2019-09-25 12:43:14 -07:00
Adam Ierymenko
8a9669f130
.
2019-09-25 12:36:49 -07:00
Adam Ierymenko
e5bd230fb0
.
2019-09-24 16:44:29 -07:00
Adam Ierymenko
e3d47e588a
.
2019-09-24 12:32:35 -07:00
Adam Ierymenko
f4a5abeed9
Go CLI work
2019-09-24 12:19:28 -07:00
Adam Ierymenko
a7e38d2b00
.
2019-09-23 16:58:55 -07:00
Adam Ierymenko
84ba396ed3
.
2019-09-23 16:47:13 -07:00
Adam Ierymenko
6683280a37
.
2019-09-23 16:46:58 -07:00
Adam Ierymenko
1edf680464
.
2019-09-23 16:46:31 -07:00
Adam Ierymenko
4df090469a
Clean out obsolete dependencies.
2019-09-23 16:42:23 -07:00
Adam Ierymenko
3c63f58532
Build fix.
2019-09-23 16:21:43 -07:00
Adam Ierymenko
64c8171e13
Port binding check.
2019-09-23 16:21:02 -07:00
Adam Ierymenko
b6175bd408
Gogogogogogogo
2019-09-23 15:18:52 -07:00
Adam Ierymenko
b44bd19c53
.
2019-09-22 22:33:11 -07:00
Adam Ierymenko
536bc59abb
.
2019-09-22 22:25:55 -07:00
Adam Ierymenko
70d5da1e2a
.
2019-09-22 19:25:40 -07:00
Adam Ierymenko
90d4d79828
Peers and paths
2019-09-22 17:41:15 -07:00
Adam Ierymenko
ccc9be2d4d
All that cgo crap compiles!
2019-09-22 00:06:07 -07:00
Adam Ierymenko
3341c4a670
Rooting around
2019-09-21 22:54:58 -07:00
Adam Ierymenko
bcb9df9cdf
Network config stuff in Go
2019-09-21 20:40:06 -07:00
Adam Ierymenko
2eef9d22e6
getting there...
2019-09-21 18:22:25 -07:00
Adam Ierymenko
5e35346f17
Gogog
2019-09-21 15:35:27 -07:00
Adam Ierymenko
bb53ee9567
Going once... going twice!
2019-09-21 15:04:00 -07:00
Adam Ierymenko
9934a856dd
More go
2019-09-21 12:54:45 -07:00
Adam Ierymenko
24904c5083
Go F yourself
2019-09-21 11:56:31 -07:00
Adam Ierymenko
6ce4663a31
GoGoGo
2019-09-21 00:19:20 -07:00
Adam Ierymenko
fbf74d3baa
Go! Go! https://www.youtube.com/watch?v=hyGYdqMfrQQ
2019-09-20 21:00:54 -07:00
Adam Ierymenko
b540181990
Go! Go! Go! - Moby
2019-09-20 20:34:31 -07:00
Adam Ierymenko
02a6b15e6b
Moar Go
2019-09-20 19:51:57 -07:00
Adam Ierymenko
b34aa10bf8
Go code!
2019-09-20 18:48:48 -07:00
Adam Ierymenko
e0ddbc2f28
Update build process, Go glue builds now.
2019-09-20 15:00:53 -07:00
Adam Ierymenko
ed2024285d
More Go boilerplate.
2019-09-20 14:11:15 -07:00
Adam Ierymenko
ae2120eb96
New service, work in progress
2019-09-20 09:09:05 -07:00
Adam Ierymenko
3ceb2257e5
Plumb through roots via API.
2019-09-19 09:47:12 -07:00
Adam Ierymenko
624efde7e4
Make sure threads dont exit on spurious return values from recvfrom unless we are really dying.
2019-09-16 20:41:23 -07:00
Adam Ierymenko
50009fef6f
Merge branch 'dev' into edge
2019-09-16 20:26:41 -07:00
Adam Ierymenko
de127056c2
Add notarization to "make official".
2019-09-16 20:13:20 -07:00
Adam Ierymenko
dde937e197
cleanup
2019-09-16 19:58:21 -07:00
Adam Ierymenko
07a480b37a
Build fix.
2019-09-16 18:04:32 -07:00
Adam Ierymenko
9f5bccec30
Add a recv timeout to root
2019-09-16 18:03:17 -07:00
Adam Ierymenko
ade52bf81e
Fix RENDEZVOUS issue and possibly improve GeoIP resolution.
2019-09-16 17:04:13 -07:00
Adam Ierymenko
71c766a3b2
Build fix
2019-09-16 15:09:56 -07:00
Adam Ierymenko
eef66aee9a
build fix
2019-09-16 14:51:02 -07:00
Adam Ierymenko
e245eb1eb5
Trim some unnecessary locks from root, and cleanup elsewhere.
2019-09-16 14:48:27 -07:00
Adam Ierymenko
e08fc81397
More threading improvements in root, more DNS TXT and multicast work (in progress)
2019-09-16 10:33:59 -07:00
Adam Ierymenko
9f9032ae36
Cleanup and warning removal.
2019-09-13 16:24:02 -07:00
Adam Ierymenko
063a16fcd6
Ensure SSE is enabled for Salsa20 on x64
2019-09-13 11:16:21 -07:00
Adam Ierymenko
0db4151492
cleanup
2019-09-13 11:10:56 -07:00
Adam Ierymenko
e44d7a553f
The root technically does not need to do this, and its slow.
2019-09-13 10:29:11 -07:00
Adam Ierymenko
53a2de98de
Packet ID fix
2019-09-13 10:23:35 -07:00
Adam Ierymenko
2deaaeef28
Some root cleanup and more lock contention reduction.
2019-09-13 10:20:29 -07:00
Adam Ierymenko
1f9e16f63e
AES optimization rabbit hole
2019-09-13 09:37:09 -07:00
Adam Ierymenko
87fe69c27c
AES optimization rabbit hole
2019-09-13 09:35:49 -07:00
Adam Ierymenko
2d1eeda188
Cleanup, optimization
2019-09-12 14:32:37 -07:00
Adam Ierymenko
5c06d40358
cleanup
2019-09-12 10:37:26 -07:00
Adam Ierymenko
31e193756d
cleanup
2019-09-12 09:59:46 -07:00
Adam Ierymenko
5aa744db84
Simplification and further concurrency improvements.
2019-09-12 08:41:34 -07:00
Adam Ierymenko
0ad82dad80
Linux build fix
2019-09-12 08:25:26 -07:00
Adam Ierymenko
99c36ed2f2
Parallelization improvements
2019-09-12 08:20:38 -07:00
Adam Ierymenko
44878e583a
Bug fixes
2019-09-11 16:10:06 -07:00
Adam Ierymenko
0723a85ab3
Build fixes.
2019-09-11 15:52:18 -07:00
Adam Ierymenko
d8dae365f6
Cleanup, optimization, multicast stuff, and it now compiles again.
2019-09-11 15:34:55 -07:00
Adam Ierymenko
bccb86a401
More multicast work...
2019-09-10 16:20:28 -07:00
Adam Ierymenko
592e743349
Yet more multicast work.
2019-09-09 15:49:17 -07:00
Adam Ierymenko
fb6161e9ac
May as well make it a full self-signature.
2019-09-09 10:45:49 -07:00
Adam Ierymenko
787277d282
More multicast work, add a signature in identity for safety margin, cleanup.
2019-09-09 10:44:31 -07:00
Adam Ierymenko
540ee69773
A bunch of multicast work... in progress.
2019-09-07 19:15:21 -07:00
Adam Ierymenko
0d2c87fe4e
map fix
2019-09-06 08:54:27 -07:00
Adam Ierymenko
2460de9713
map fix
2019-09-06 08:50:36 -07:00
Adam Ierymenko
0d32f42d26
map fix
2019-09-06 08:47:32 -07:00
Adam Ierymenko
277497684e
Revert "map fix"
...
This reverts commit f4a83e516c .
2019-09-06 08:45:39 -07:00
Adam Ierymenko
f4a83e516c
map fix
2019-09-06 08:41:03 -07:00
Adam Ierymenko
d2eb1ed9a5
map fix
2019-09-06 08:27:03 -07:00
Adam Ierymenko
a3ec5846df
map fix
2019-09-06 08:18:11 -07:00
Adam Ierymenko
b6047899a8
map fix
2019-09-06 08:12:46 -07:00
Adam Ierymenko
3516070b6e
map fix
2019-09-06 08:11:20 -07:00
Adam Ierymenko
56ec87e00e
map fix
2019-09-06 08:03:59 -07:00
Adam Ierymenko
fe0b896665
map fix
2019-09-06 07:58:43 -07:00
Adam Ierymenko
e4721417e6
map fix
2019-09-06 07:55:36 -07:00
Adam Ierymenko
45f5b3b648
map fix
2019-09-06 07:40:32 -07:00
Adam Ierymenko
3123102211
root cleanup and add nifty geoip thing
2019-09-06 07:37:44 -07:00
Adam Ierymenko
c6141ffbc7
cleanup
2019-09-05 18:06:48 -07:00
Adam Ierymenko
c0e92d06a5
faster without const variable second-guessing of the compiler
2019-09-05 17:31:12 -07:00
Adam Ierymenko
274b2682d6
cleanup and docs
2019-09-05 15:09:20 -07:00
Adam Ierymenko
171d661b84
cleanup
2019-09-05 12:17:04 -07:00
Adam Ierymenko
5cea8da664
Optimization and naming cleanup
2019-09-05 12:03:11 -07:00
Adam Ierymenko
44dd52d08f
KBKDF
2019-09-05 11:39:16 -07:00
Adam Ierymenko
70648d006d
Merge branch 'dev' into edge
2019-09-05 11:06:27 -07:00
Adam Ierymenko
0767ea5d69
* Update default root list to latest
...
* ARM32 platform build and flag fixes
* Add a clarification line to LICENSE.txt
* Fix license message in CLI
* Windows service now looks for service command line arguments
* Fixed a bug that could cause excessive queued multicasts
2019-09-05 11:02:16 -07:00
Adam Ierymenko
43e6a9e9ee
more fastitude
2019-09-05 09:54:30 -07:00
Adam Ierymenko
0599c1710b
Merge branch 'dev' into edge
2019-09-04 16:41:05 -07:00
Adam Ierymenko
abf218a9cd
cleanup
2019-09-04 16:38:55 -07:00
Adam Ierymenko
55f4f9aaeb
cleanup
2019-09-04 16:15:10 -07:00
Adam Ierymenko
82b7e1dbcb
HMAC fix
2019-09-04 15:22:15 -07:00
Adam Ierymenko
e8f8b0f8e5
cleanup
2019-09-04 14:40:36 -07:00
Adam Ierymenko
7566d4fbab
Merge dev
2019-09-04 14:38:35 -07:00
Adam Ierymenko
3a0d385119
Implement changes to AES-GMAC-CTR: four keys with one for each role/purpose instead of just two, and simpler CTR-IV calculation.
2019-09-04 14:37:38 -07:00
Adam Ierymenko
8454a14eac
new Windows GUID for build #2
2019-09-04 14:25:57 -07:00
Adam Ierymenko
ecee310087
Update built-in root list.
2019-09-04 14:17:41 -07:00
Adam Ierymenko
bcdab95e4c
Windows installer version bump, build fix.
2019-09-04 14:13:45 -07:00
Adam Ierymenko
a16377cea5
Add mitigations against borked ARM32 exception unrollers, possibly fix GitHub issue #1003
2019-09-04 12:48:28 -07:00
Adam Ierymenko
ef69f1bb27
ARM wrestling
2019-09-04 12:37:54 -07:00
Adam Ierymenko
27c8eb0d6d
GitHub issue #1019
2019-09-04 12:21:51 -07:00
Adam Ierymenko
a465afa83d
Merge branch 'dev' into edge
2019-09-04 08:19:39 -07:00
Adam Ierymenko
3c0f54257b
Debian typo fix
2019-09-04 08:19:33 -07:00
Adam Ierymenko
185e90c40f
AES-GMAC-CTR tweaks, self test tweaks, debian typo fix.
2019-09-04 08:19:12 -07:00
Adam Ierymenko
e29c2d0260
Fix field headers
2019-09-03 15:59:34 -07:00
Adam Ierymenko
acf6425ae9
Formatting fix
2019-09-03 15:55:23 -07:00
Adam Ierymenko
5e8d49de0f
Stats, tweak P2P success rate stat.
2019-09-03 15:48:10 -07:00
Adam Ierymenko
1f9456a462
Estimate P2P Success Rate
2019-09-03 15:19:17 -07:00
Adam Ierymenko
a7d8285c3a
Don't require siblings field
2019-09-03 14:57:54 -07:00
Adam Ierymenko
5f1dc4b851
cleanup
2019-09-03 14:57:02 -07:00
Adam Ierymenko
b1c22949c5
Cleanup, add support for distributing a new planet file
2019-09-03 14:44:13 -07:00
Adam Ierymenko
29be175743
Make relay max hops configurable on roots
2019-09-03 13:17:12 -07:00
Adam Ierymenko
b6c5ba264b
One more fix for discarding hops exceeded packets.
2019-09-03 13:01:01 -07:00
Adam Ierymenko
8e7e3c2b11
Fix max hops.
2019-09-03 12:58:23 -07:00
Adam Ierymenko
0e7df129d8
Fix variable shadowing bug.
2019-09-03 12:51:32 -07:00
Adam Ierymenko
50709cbd21
Fix siblings in peers list, fix meter.
2019-09-03 12:44:09 -07:00
Adam Ierymenko
fd6e8d8c5c
Add instrumentation to root, add capability to forward to siblings if no path is known to a peer.
2019-09-03 12:21:57 -07:00
Adam Ierymenko
2e7496130c
Fix silly thinko in root that harms p2p establishment.
2019-08-30 21:17:34 -07:00
Adam Ierymenko
9666ab5797
Merge branch 'dev' into edge
2019-08-30 17:57:11 -07:00
Adam Ierymenko
e6ead35884
docs
2019-08-30 17:48:22 -07:00
Adam Ierymenko
a6dff8ff2f
Add an extra catch as workaround for possible cause of ARM crash.
2019-08-30 17:47:13 -07:00
Adam Ierymenko
4281b6b448
Ignore MULTICAST_GATHER replies with the wrong count.
2019-08-30 17:45:10 -07:00
Adam Ierymenko
4c08ac7873
Fix MULTICAST_GATHER reply problem in root
2019-08-30 17:34:05 -07:00
Adam Ierymenko
5435ec7545
Merge dev
2019-08-30 15:40:00 -07:00
Adam Ierymenko
6897f602bf
1.4.6 version bump
2019-08-30 15:30:37 -07:00
Adam Ierymenko
8764d50179
Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into edge
2019-08-30 15:16:21 -07:00
Adam Ierymenko
075321fd0d
debian build version bump
2019-08-30 15:16:05 -07:00
Adam Ierymenko
62cdb8dc94
cleanup
2019-08-30 12:47:19 -07:00
Adam Ierymenko
5e8e935189
world!
2019-08-30 11:57:18 -07:00
Adam Ierymenko
ebb5f1256f
ARM wrestling
2019-08-30 10:03:07 -07:00
Adam Ierymenko
7c6d0d3c0f
ARM wrestling
2019-08-30 09:50:37 -07:00
Adam Ierymenko
9918a1092f
JSON fix
2019-08-30 09:39:46 -07:00
Adam Ierymenko
7d89511fda
JSON fix
2019-08-30 09:38:18 -07:00
Adam Ierymenko
795b6d13d1
Simple status output on root of HTTP tree
2019-08-30 09:29:06 -07:00
Adam Ierymenko
8328b6f657
Lib fix
2019-08-30 09:10:11 -07:00
Adam Ierymenko
9994e591bd
More root work and CMake-ify root
2019-08-30 09:08:39 -07:00
Adam Ierymenko
b27a38e55e
Implement WHOIS
2019-08-29 14:27:41 -07:00
Adam Ierymenko
f6d747a5a0
Fix some more multicast stuff (minor)
2019-08-29 12:02:37 -07:00
Adam Ierymenko
b7da7574d1
Helps to decompress the packet
2019-08-29 11:40:31 -07:00
Adam Ierymenko
dbad9585cd
Fix parsing of MULTICAST_GATHER
2019-08-29 11:23:23 -07:00
Adam Ierymenko
2d7a97bb94
Fix V4/V6 forwarding issue in root
2019-08-29 10:58:47 -07:00
Adam Ierymenko
da19da0360
RENDEZVOUS works now
2019-08-29 08:00:54 -07:00
Adam Ierymenko
ee7361ee2e
crash fix
2019-08-29 07:25:16 -07:00
Adam Ierymenko
6e3e09bed4
Add RENDEZVOUS to high throughput root
2019-08-29 07:17:18 -07:00
Adam Ierymenko
86762d2b40
high throughput root is working!
2019-08-28 15:52:18 -07:00
Adam Ierymenko
ef12c5af99
.
2019-08-28 15:22:28 -07:00
Adam Ierymenko
933404b1dd
.
2019-08-28 15:20:34 -07:00
Adam Ierymenko
ccec49e444
.
2019-08-28 15:17:16 -07:00
Adam Ierymenko
e5f1bf81f7
.
2019-08-28 15:15:21 -07:00
Adam Ierymenko
0e627f4f68
.
2019-08-28 15:07:38 -07:00
Adam Ierymenko
d33f7d2bf5
.
2019-08-28 14:49:16 -07:00
Adam Ierymenko
e07a019615
.
2019-08-28 14:47:05 -07:00
Adam Ierymenko
34ca3012e6
.
2019-08-28 14:43:37 -07:00
Adam Ierymenko
62634ca2da
.
2019-08-28 14:39:31 -07:00
Adam Ierymenko
846c96e8d5
.
2019-08-28 14:36:29 -07:00
Adam Ierymenko
63775723c1
.
2019-08-28 14:28:07 -07:00
Adam Ierymenko
2f7d3e655a
.
2019-08-28 14:26:13 -07:00
Adam Ierymenko
b19634d7e4
.
2019-08-28 14:21:02 -07:00
Adam Ierymenko
a92967a7c1
.
2019-08-28 14:16:14 -07:00
Adam Ierymenko
8915b88de5
.
2019-08-28 14:06:45 -07:00
Adam Ierymenko
7bca81464b
.
2019-08-28 14:04:42 -07:00
Adam Ierymenko
b974ece24f
.
2019-08-28 13:59:23 -07:00
Adam Ierymenko
b1c8e6ad59
.
2019-08-28 13:51:13 -07:00
Adam Ierymenko
64f7185e3a
.
2019-08-28 13:44:15 -07:00
Adam Ierymenko
807cc9afc3
.
2019-08-28 13:40:49 -07:00
Adam Ierymenko
0adf306dd4
.
2019-08-28 13:38:52 -07:00
Adam Ierymenko
db0f602e86
.
2019-08-28 13:10:36 -07:00
Adam Ierymenko
17ec47f5c0
.
2019-08-28 13:09:14 -07:00
Adam Ierymenko
cf831d9cd3
.
2019-08-28 13:04:58 -07:00
Adam Ierymenko
5e3c633f74
root work
2019-08-28 11:59:13 -07:00
Adam Ierymenko
4e4b27b6ab
build fix
2019-08-28 11:54:09 -07:00
Adam Ierymenko
c0c9590904
High throughput root stuff
2019-08-28 11:49:45 -07:00
Adam Ierymenko
24c9577e39
cleanup
2019-08-28 11:28:51 -07:00
Adam Ierymenko
59ee0cfe88
Safety upgrades to code
2019-08-28 10:34:32 -07:00
Adam Ierymenko
1977b9b764
Use -flto on Mac for release
2019-08-28 07:45:49 -07:00
Adam Ierymenko
6f9d1fc14c
Merge branch 'dev' into edge
2019-08-28 07:43:36 -07:00
Adam Ierymenko
1b6b38e395
Add default addIps() implementation to EthernetTap base class to fix build on systems that do not need addIps().
2019-08-28 07:43:18 -07:00
Adam Ierymenko
8ac59ae2be
cleanup
2019-08-28 07:40:13 -07:00
Adam Ierymenko
46db37e06c
Yield in ticket lock
2019-08-28 07:34:24 -07:00
Adam Ierymenko
9d1207b339
Merge branch 'dev' into edge
2019-08-28 07:31:33 -07:00
Adam Ierymenko
6e730cfad1
Cleanup, multicast fingerprint, benchmark asymmetric crypto
2019-08-28 07:31:17 -07:00
Grant Limberg
1cf953c046
working docker image for end users.
...
GitHub Issue #1013
2019-08-27 16:57:07 -07:00
Grant Limberg
e5bf4565da
readme in central controller docker folder
2019-08-27 15:43:11 -07:00
Grant Limberg
ddc904a502
remove docker line from readme
2019-08-27 15:27:41 -07:00
Grant Limberg
5cda292d15
comment out docker docker target from makefile because broken
2019-08-27 15:16:05 -07:00
Grant Limberg
e51cf0d4d2
moved elsewhere for controller builds
2019-08-27 15:14:55 -07:00
Joseph Henry
d8de837c60
LinuxEthernetTap addIps virtual function fix for SYNOLOGY builds
2019-08-27 14:43:30 -07:00
Adam Ierymenko
199b3345a0
cleanup
2019-08-27 14:42:49 -07:00
Adam Ierymenko
b7f504b8a4
cleanup
2019-08-27 14:40:01 -07:00
Adam Ierymenko
1b459b0560
cleanup
2019-08-27 14:31:04 -07:00
Adam Ierymenko
40803a4dc1
cleanup
2019-08-27 14:25:11 -07:00
Adam Ierymenko
6f22570648
Optimization and cleanup
2019-08-26 20:18:28 -07:00
Adam Ierymenko
8203547cfc
Warning removal.
2019-08-26 20:01:54 -07:00
Adam Ierymenko
dad160209e
Add -mmacosx-version-min=10.9
2019-08-26 19:54:24 -07:00
Adam Ierymenko
8faaaec710
Add check for PCLMUL instruction too. Virtually all CPUs with AES-NI have it but good to be sure.
2019-08-26 19:48:56 -07:00
Adam Ierymenko
012fba617d
Set SSE/AES-NI flags only on x86/x64 targets.
2019-08-26 19:40:22 -07:00
Adam Ierymenko
9ca495229b
Revert "optimization stuff"
...
This reverts commit e63f624d3a .
2019-08-26 19:03:09 -07:00
Adam Ierymenko
e63f624d3a
optimization stuff
2019-08-26 19:02:28 -07:00
Adam Ierymenko
e1dd413266
cleanup
2019-08-26 18:44:56 -07:00
Adam Ierymenko
b9ef09dd58
Optimization stuff
2019-08-26 18:15:32 -07:00
Adam Ierymenko
990333e7ec
cleanup, re-enable AES-NI check
2019-08-26 16:35:28 -07:00
Adam Ierymenko
ec9582f3f2
More test vectors, software mode GCM.
2019-08-26 16:24:42 -07:00
Adam Ierymenko
ea65386e15
Merge branch 'dev' into edge
2019-08-26 12:22:20 -07:00
Adam Ierymenko
ca89695270
Fix make central-controller-docker
2019-08-26 12:19:50 -07:00
Adam Ierymenko
a0fd4ad23f
Cleanup, Linux build fix.
2019-08-26 12:17:23 -07:00
Adam Ierymenko
b6d7a95028
Merge branch 'dev' into edge
2019-08-26 11:09:19 -07:00
Adam Ierymenko
91b16310ea
* Change license from GPL3 to BSL 1.1, see LICENSE.txt
...
* Fix an issue with the "ipauth" rule and auto-generated unforgeable IPv6 addresses
* Fix socket/bind errors setting IPs and routes on Linux
2019-08-26 10:33:26 -07:00
Adam Ierymenko
609873e6d1
Windows version bump
2019-08-23 22:10:15 -07:00
Adam Ierymenko
4c616621c2
Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev
2019-08-23 21:38:15 -07:00
Adam Ierymenko
05470bf202
Fix RPM targets
2019-08-23 21:38:04 -07:00
Adam Ierymenko
633cf9ec04
Warning removal
2019-08-23 21:28:26 -07:00
Adam Ierymenko
f3c3a90393
Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev
2019-08-23 21:24:34 -07:00
Adam Ierymenko
25a48f2f44
Fix RedHat sub-version.
2019-08-23 21:24:05 -07:00
Adam Ierymenko
1d8f3cee62
cleanup
2019-08-23 21:12:24 -07:00
Adam Ierymenko
5ba6e21967
cleanup
2019-08-23 20:34:09 -07:00
Adam Ierymenko
52f7f6e6cf
Fully implement the packet encryption/decryption algorithms.
2019-08-23 20:20:32 -07:00
Adam Ierymenko
9fd5ec673b
Get rid of complicated AES-GCM + scramble construct in favor of a simpler construct thanks to "Squeamish Ossifrage" on crypto.stackexchange.com
2019-08-23 18:41:21 -07:00
Adam Ierymenko
e905b3c963
cleanup
2019-08-23 17:22:23 -07:00
Adam Ierymenko
d214a5437f
Bump Mac pkg version
2019-08-23 15:24:52 -07:00
Adam Ierymenko
f12370c348
more opt
2019-08-23 12:40:08 -07:00
Adam Ierymenko
b727e2a67a
More opt stuff
2019-08-23 12:34:45 -07:00
Adam Ierymenko
8e87319925
Optimization stuff
2019-08-23 12:18:02 -07:00
Adam Ierymenko
1ab29b1ab0
Merge branch 'dev' into edge
2019-08-23 12:11:07 -07:00
Adam Ierymenko
de0a5aa840
GitHub issue #994
2019-08-23 12:09:31 -07:00
Adam Ierymenko
52d55e34e6
Licenses, and use full strength AES-128 in scramble.
2019-08-23 12:03:13 -07:00
Adam Ierymenko
c79360f58b
Merge dev
2019-08-23 11:37:40 -07:00
Adam Ierymenko
6f9e3e3b78
Back out unnecessary hack
2019-08-23 11:14:17 -07:00
Adam Ierymenko
5c5e7fc7ff
Merge branch 'dev' of https://github.com/zerotier/ZeroTierOne into dev
2019-08-23 11:13:13 -07:00
Adam Ierymenko
43e98930e9
distro cleanup
2019-08-23 11:12:25 -07:00
Adam Ierymenko
51ebefc3ab
Ifdef these to stop non-Windows IDEs from complaining.
2019-08-23 10:34:37 -07:00
Adam Ierymenko
86add4a6d3
Tolerate any libstdc++6 package "version" for Mint and other distros with weird versions on libstdc++6.
2019-08-23 10:31:12 -07:00
Adam Ierymenko
221a3f9a08
Merge branch 'dev' of http://10.187.0.8/zerotier/ZeroTierOne into dev
2019-08-23 10:20:04 -07:00
Adam Ierymenko
2f74bd5150
Add "make docker" for GitHub issue #1013
2019-08-23 10:19:59 -07:00
Adam Ierymenko
e8ae333443
Version bumps, license fixed, and GitHub issue #990 take two
2019-08-23 10:15:13 -07:00
Adam Ierymenko
8057c826bc
cleanup
2019-08-23 09:34:26 -07:00
Adam Ierymenko
6f6138c500
Merge relicensing change from dev
2019-08-23 09:27:13 -07:00
Adam Ierymenko
52a166a71f
Relicense: GPLv3 -> ZeroTier BSL 1.1
2019-08-23 09:23:39 -07:00
Adam Ierymenko
903a18db1d
work in progress
2019-08-23 08:41:22 -07:00
Adam Ierymenko
0731f3f1a9
wiring more stuff up, and simplification of timing loops
2019-08-23 07:04:20 -07:00
Adam Ierymenko
37047a39f9
More cleanup, and fix SHA384 built-in C code.
2019-08-22 14:52:47 -07:00
Adam Ierymenko
91d0cbe892
cleanup
2019-08-22 13:08:10 -07:00
Adam Ierymenko
b66431bc29
Work in progress...
2019-08-22 13:06:08 -07:00
Adam Ierymenko
0e18b14087
Merge branch 'dev' into edge
2019-08-21 14:58:26 -07:00
Adam Ierymenko
31bd413166
stub out new verbs
2019-08-21 14:57:57 -07:00
Adam Ierymenko
95a6fce2b4
Yet more cleanup, it builds again now.
2019-08-21 14:36:56 -07:00
Adam Ierymenko
0b5472f9fb
Tons and tons of cleanup and cruft removal
2019-08-21 14:24:45 -07:00
Adam Ierymenko
5280d28505
cleanup
2019-08-21 10:44:52 -07:00
Adam Ierymenko
67a9898a99
Bunch more work on DNS, cleanup, removal of obsolete cruft.
2019-08-21 09:27:45 -07:00
Adam Ierymenko
509da3ac34
Merge pull request #1012 from wendelb/wendelb-patch-1
...
Controller-Docs little cleanup
2019-08-21 08:14:38 -07:00
Adam Ierymenko
fe8815f80f
cleanup
2019-08-20 15:36:18 -07:00
Adam Ierymenko
3a21fdc304
Crypto work, packet work
2019-08-20 15:34:30 -07:00
Adam Ierymenko
83d723eb79
type 1 (P-384) identities
2019-08-20 13:32:23 -07:00
Adam Ierymenko
6e771607c0
cleanup
2019-08-19 20:35:16 -07:00
Adam Ierymenko
e73b220104
cleanup
2019-08-19 20:30:34 -07:00
Adam Ierymenko
5c1fc43610
cleanup
2019-08-19 20:29:24 -07:00
Adam Ierymenko
cfbd7e3bf5
Add stubs to easily build and include all of libnatpmp and miniupnpc in osdep/
2019-08-19 20:28:44 -07:00
Adam Ierymenko
c8ca1cfa3c
Kill old inline software update, we will use https and secondary auth for new versions.
2019-08-19 19:24:23 -07:00
Adam Ierymenko
5cfbb0a423
Clean up dead stuff from OneService and fix build errors.
2019-08-19 19:21:33 -07:00
Adam Ierymenko
900ec143a8
.
2019-08-19 16:45:29 -07:00
Adam Ierymenko
7bda3d0f74
put sse4.1 back
2019-08-19 15:49:13 -07:00
Adam Ierymenko
7650786fb5
cleanup, Locator fix and self-test
2019-08-19 15:43:15 -07:00
Adam Ierymenko
ca60d08621
cleanup, scrambler functions
2019-08-19 12:49:33 -07:00
Adam Ierymenko
b34218c8c2
auto-set -j option in makefile, and split out cmake setup rule
2019-08-19 10:06:39 -07:00
Adam Ierymenko
b14a59629c
cleanup
2019-08-19 06:58:42 -07:00
wendelb
fe18579061
Removed duplicate line creationTime
2019-08-17 22:50:13 +02:00
Adam Ierymenko
0914bf8cf0
Some ARM NEON code (not finished)
2019-08-16 19:22:03 -07:00
Adam Ierymenko
7bdca83de3
Add decrypt
2019-08-16 18:40:22 -07:00
Adam Ierymenko
846f03504e
Add DNS TXT resolver (need one for Windows)
2019-08-16 16:49:30 -07:00
Adam Ierymenko
01e8fd0b07
The newer C ed25519 is the same speed as the old ASM, so drop it to simplify.
2019-08-16 14:42:38 -07:00
Adam Ierymenko
7f301c44b7
more cleanup
2019-08-16 14:26:45 -07:00
Adam Ierymenko
51a25fdec9
Remove ASM Salsa20 since it will not be the default in 2.x any more... reduce build complexity.
2019-08-16 14:26:25 -07:00
Grant Limberg
2b681c37ac
Consolidate common compiler flags
2019-08-16 11:42:43 -07:00
Grant Limberg
cb4ebfdbd2
Dragging adam into CMake kicking and screaming :)
2019-08-16 10:45:14 -07:00
Grant Limberg
206c85222c
Fix Constants.hpp inclusion of version.h
2019-08-16 09:52:13 -07:00
ZeroTier
18071e038e
Fix MacEthernetTapAgent & Cmake integration
2019-08-16 09:44:31 -07:00
Grant Limberg
39f7ce15ad
mac compiler flags
2019-08-15 17:40:21 -07:00
Grant Limberg
e39b42bbd3
fixing some CMake stuff on Linux
2019-08-15 17:29:33 -07:00
Adam Ierymenko
607d8f72e8
cruftectomy
2019-08-15 15:43:35 -07:00
Adam Ierymenko
c483f75fb4
cleanup
2019-08-15 15:32:16 -07:00
Adam Ierymenko
81f0175251
cleanup
2019-08-15 14:14:49 -07:00
Adam Ierymenko
f753519729
A bit more optimization
2019-08-15 14:07:52 -07:00
Adam Ierymenko
f39693f97e
cleanup
2019-08-15 13:52:23 -07:00
Adam Ierymenko
f83ae0e39e
Add self-test for AES and AES-GCM using public test vectors.
2019-08-15 13:47:43 -07:00
Adam Ierymenko
521d371b5d
A bunch more refactoring to rip out obsolete stuff related to old root system and general cleanup.
2019-08-15 10:49:50 -07:00
Adam Ierymenko
b23d551d00
cleanup
2019-08-14 16:05:09 -07:00
Adam Ierymenko
1b20cc6075
More optimization and cleanup
2019-08-14 15:59:45 -07:00
Adam Ierymenko
2043e12ac2
.
2019-08-14 15:50:25 -07:00
Adam Ierymenko
9461bc948f
.
2019-08-14 15:28:10 -07:00
Adam Ierymenko
9740ab8bd6
more cleanup
2019-08-14 15:17:06 -07:00
Adam Ierymenko
6947a6b1d4
more cleanup
2019-08-14 15:12:49 -07:00
Adam Ierymenko
4da8036222
More refactor
2019-08-14 15:00:18 -07:00
Adam Ierymenko
e6b4006c70
Refactoring to eliminate duplicated code
2019-08-14 14:55:37 -07:00
Adam Ierymenko
8f5f7f1baa
More work in progress
2019-08-14 12:48:45 -07:00
Adam Ierymenko
573d3eea87
Merge branch 'dev' into edge
2019-08-14 10:53:03 -07:00
Adam Ierymenko
2ec53df7ab
Put a limit on the multicast TX queue to prevent memory use ridiculousness.
2019-08-14 10:52:21 -07:00
Adam Ierymenko
eb84eec0f4
Merge branch 'dev' into edge
2019-08-14 10:48:07 -07:00
Adam Ierymenko
1c7b553331
GitHub issue #1000
2019-08-14 10:47:58 -07:00
Adam Ierymenko
d7a31088ba
Cleanup, warning removal, cppcheck informed cleanup.
2019-08-14 10:35:57 -07:00
Adam Ierymenko
a028e04ab9
Merge branch 'dev' into edge
2019-08-13 15:51:19 -07:00
Adam Ierymenko
a0fb519696
Make sure libstdc++ is in RH spec file
2019-08-13 12:58:14 -07:00
Adam Ierymenko
83e6864b78
Version bump in Linux packages for new binaries.
2019-08-13 09:34:56 -07:00
Adam Ierymenko
a0520536df
.
2019-08-13 08:49:25 -07:00
Adam Ierymenko
af137fd5d3
Merge branch 'edge' of http://git.int.zerotier.com/zerotier/ZeroTierOne into edge
2019-08-12 15:37:55 -07:00
Adam Ierymenko
f7bc9f01c9
More AES stuff
2019-08-12 15:37:50 -07:00
Grant Limberg
e4ce1ffd85
Windows detection of AES-NI
2019-08-12 15:28:42 -07:00
Grant Limberg
2384b49156
set cmake windows build target to Windows 7
2019-08-12 15:28:30 -07:00
Adam Ierymenko
f5e71f64ed
Merge branch 'edge' of http://git.int.zerotier.com/zerotier/ZeroTierOne into edge
2019-08-12 13:27:07 -07:00
Adam Ierymenko
927ef22cf8
Merge branch 'dev' into edge
2019-08-12 13:27:00 -07:00
Grant Limberg
b6eaec1278
run selftest
2019-08-12 13:26:34 -07:00
Grant Limberg
c7d1eb71da
build & run selftest as part of jenkins
2019-08-12 13:25:14 -07:00
Adam Ierymenko
98af3c0dc1
* Fix high CPU use bug on some platforms
...
* Fix issues with PostgreSQL controller DB (only affects Central)
* Restore backward compatibility with MacOS versions prior to 10.13
2019-08-12 13:25:12 -07:00
Grant Limberg
7d41d267a3
silencing warnings for code paths that will never be hit
2019-08-12 13:18:21 -07:00
Grant Limberg
0ead65ad2d
change this
2019-08-12 13:11:43 -07:00
Grant Limberg
8c5481a3d5
Merge branch 'edge' of http://git.int.zerotier.com/zerotier/ZeroTierOne into edge
2019-08-12 12:58:20 -07:00
Grant Limberg
741258051e
this should work better
2019-08-12 12:58:10 -07:00
Adam Ierymenko
0f4fc8635b
Merge branch 'edge' of http://git.int.zerotier.com/zerotier/ZeroTierOne into edge
2019-08-12 12:51:38 -07:00
Adam Ierymenko
d02d3f72fe
AES-GCM code
2019-08-12 12:51:32 -07:00
Grant Limberg
710b69fc75
kill build dir before jenkins build
2019-08-12 12:44:47 -07:00
Grant Limberg
4fae382ffd
Auto-generate version.h
2019-08-12 12:43:51 -07:00
Grant Limberg
68b94a3188
CMake for edge branch
2019-08-12 12:35:07 -07:00
Grant Limberg
8e04f83232
Merge branch 'edge' into cmake
2019-08-12 12:24:25 -07:00
Grant Limberg
cc9fd9f8ce
Merge branch 'dev' into cmake
2019-08-12 12:23:36 -07:00
Adam Ierymenko
1e8fcf1344
Add AES to build
2019-08-09 13:42:40 -05:00
Adam Ierymenko
809c8305b1
AES code
2019-08-09 10:54:08 -05:00
Adam Ierymenko
652c7e8f37
Locator work
2019-08-08 23:23:16 -05:00
Adam Ierymenko
beebca98fe
Merge branch 'dev' into edge
2019-08-08 19:42:16 -05:00
Adam Ierymenko
5341c216a7
Comment ugly query
2019-08-08 19:20:01 -05:00
Adam Ierymenko
96a0c3d764
ugly query is ugly
2019-08-08 19:16:11 -05:00
Adam Ierymenko
783b49e383
more worky less not worky
2019-08-08 18:58:22 -05:00
Adam Ierymenko
ce67abc32f
Merge branch 'dev' into edge
2019-08-08 18:49:03 -05:00
Adam Ierymenko
d4dc983a01
fix bad column name
2019-08-08 18:31:41 -05:00
Adam Ierymenko
72ccd1020a
Another exception fix
2019-08-08 18:11:06 -05:00
Adam Ierymenko
6a9a577c59
rulesSource needs to be required in network or pgsql has issues
2019-08-08 17:56:27 -05:00
Adam Ierymenko
730305ecc7
One more sync fix.
2019-08-08 17:31:32 -05:00
Adam Ierymenko
f8f2432ece
Shutdown fix
2019-08-08 17:22:20 -05:00
Adam Ierymenko
55087521f6
Add periodic sync check when syncing LF<>another DB
2019-08-08 17:20:50 -05:00
Adam Ierymenko
760ae07d72
Sync bug fix
2019-08-08 16:30:52 -05:00
Adam Ierymenko
52cc482521
Merge branch 'dev' into edge
2019-08-08 15:59:58 -05:00
Adam Ierymenko
28d0070ce2
Fix race in multiple DB mirroring configurations.
2019-08-08 15:29:13 -05:00
Adam Ierymenko
ad2a7c2590
More windows build fixes
2019-08-08 15:15:12 -05:00
Adam Ierymenko
5eacad444d
workinprogress
2019-08-08 15:03:52 -05:00
Adam Ierymenko
8b97755fc5
Windows fixes.
2019-08-08 14:08:35 -05:00
Adam Ierymenko
e8155cbbeb
Merge dev
2019-08-08 13:05:28 -05:00
Adam Ierymenko
7bb0d9be1b
warning removal
2019-08-08 11:04:11 -05:00
Adam Ierymenko
6c44fcc290
more warning cleanup
2019-08-08 10:28:57 -05:00
Adam Ierymenko
c8e7031198
warning cleanup
2019-08-08 10:01:57 -05:00
Adam Ierymenko
fb3b2820b5
centos 7 docs
2019-08-08 09:50:05 -05:00
Adam Ierymenko
663376e385
cleanup
2019-08-08 08:42:27 -05:00
Adam Ierymenko
3c590994db
Finish up ECC384 identity generation.
2019-08-07 23:50:47 -05:00
Adam Ierymenko
14c8564893
Merge branch 'dev' into edge
2019-08-07 22:35:27 -05:00
Adam Ierymenko
91a37f8868
Add base64 code (unpadded standard alphabet)
2019-08-07 22:35:17 -05:00
Adam Ierymenko
c83a4aef55
cleanup
2019-08-07 21:47:06 -05:00
Adam Ierymenko
af7a70bf02
cleanup
2019-08-07 21:11:48 -05:00
Adam Ierymenko
1a2ff884b3
Merge branch 'dev' into edge
2019-08-07 19:08:35 -05:00
Adam Ierymenko
4d70640a15
Remove debug line
2019-08-07 19:06:02 -05:00
Adam Ierymenko
b11627a8bc
add SDK VirtualTap to new factory method
2019-08-07 18:45:04 -05:00
Adam Ierymenko
7436f85ad0
Require MacOS 10.10
2019-08-07 18:22:03 -05: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
aca31c7055
Put kext back in Mac distro and use on versions older than High Sierra (which lack the feth device)
2019-08-07 18:14:12 -05:00
Adam Ierymenko
0298719be0
Use SHA384 with ECC384 to match FIPS / Suite B recommendation.
2019-08-07 17:06:03 -05:00
Adam Ierymenko
d0746da5e2
Add SHA384 support, more cleanup
2019-08-07 16:41:58 -05:00
Adam Ierymenko
5b1cf33b1b
Merge branch 'dev' into edge
2019-08-07 11:31:32 -05:00
Adam Ierymenko
6073e7972f
Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev
2019-08-07 11:24:04 -05:00
Adam Ierymenko
f7e8d8f1dd
Fix LFDB path issue when using with Postgress in DBMirrorSet config
2019-08-07 11:23:48 -05:00
Adam Ierymenko
54a1bbd016
.
2019-08-07 11:20:12 -05:00
Grant Limberg
87016ae815
network update to upsert
2019-08-06 15:30:50 -07:00
Adam Ierymenko
455cd5551b
.
2019-08-06 17:06:39 -05:00
Adam Ierymenko
3ed8e46782
Use devtoolset-8 on RHEL/CentOS 7
2019-08-06 16:46:41 -05:00
Adam Ierymenko
b3e1783658
.
2019-08-06 16:46:13 -05:00
Adam Ierymenko
906c83af83
Merge branch 'dev' into edge
2019-08-06 15:47:54 -05:00
Adam Ierymenko
3db0197865
Add try/catch in LFDB and add introspection into multicast subscriptions in client network status API
2019-08-06 15:22:57 -05:00
Adam Ierymenko
f9900cc6fb
Merge dev to edge
2019-08-06 14:13:07 -05:00
Adam Ierymenko
6174c0c103
Fix deadlock bug.
2019-08-06 13:20:37 -05:00
Adam Ierymenko
8898cb342b
.
2019-08-06 13:12:45 -05:00
Adam Ierymenko
9cc76d1115
Remove debug line
2019-08-06 11:01:08 -05:00
Adam Ierymenko
5289d3327c
Build fixes
2019-08-06 11:00:35 -05:00
Adam Ierymenko
00fb9c475e
More work on DB mirroring.
2019-08-06 10:42:54 -05:00
Adam Ierymenko
3c776675b3
Cruftectomy, work in progress on mirrorring
2019-08-06 08:51:23 -05:00
Adam Ierymenko
37d508ab96
Refactoring in prep for mirroring
2019-08-06 07:51:50 -05:00
Adam Ierymenko
f4f8fef82e
LFDB fix
2019-08-05 15:30:03 -05:00
Adam Ierymenko
cd2e3c79f2
Windows AIP version bump
2019-08-04 20:27:09 -07:00
Adam Ierymenko
7722350178
Version bump to 1.4.2 for all but Windows AIP
2019-08-04 20:13:12 -07:00
Adam Ierymenko
a77b4ecddb
Add optional function in DB change listener for member online events.
2019-08-04 19:55:52 -07:00
Adam Ierymenko
818b7e4a2e
GitHub issue #993 (???)
2019-08-04 15:35:43 -07:00
Adam Ierymenko
00d63f6046
GitHub issue #993 (???)
2019-08-04 15:15:02 -07:00
Adam Ierymenko
639fc60257
GitHub issue #990
2019-08-04 15:08:33 -07:00
Grant Limberg
21467596bc
Merge branch 'remove_network_status_table' into dev
2019-08-04 12:38:12 -07:00
Adam Ierymenko
75ebe5172f
Fix for sharing of capabilities in 1.4 (problem introduced when push frequency was reduced)
2019-08-02 20:43:02 -07:00
Adam Ierymenko
4a9030b4a0
Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev
2019-08-02 13:59:10 -07:00
Adam Ierymenko
fdc708a624
GitHub issue #979
2019-08-02 13:59:03 -07:00
ZeroTier
8e20187d8c
set OS X deployment target to 10.9
2019-08-01 15:58:32 -07:00
ZeroTier
28dac7ff0e
build MacEthernetTapAgent
2019-08-01 15:41:50 -07:00
Grant Limberg
e385b3d377
Merge branch 'dev' into cmake
2019-08-01 15:16:31 -07:00
Grant Limberg
7e5c68c553
update jenkins to use cmake for builds
2019-08-01 15:13:06 -07:00
Grant Limberg
39ad7bc741
update cmake to add LFDB and force C++11
2019-08-01 14:36:35 -07:00
Grant Limberg
c2f9aab068
Merge branch 'master' into cmake
2019-08-01 13:49:30 -07:00
Adam Ierymenko
67beea1e3d
Batch file to clean Windows build dir
2019-08-01 13:21:36 -07:00
Adam Ierymenko
34364ab8ee
Bump version
2019-07-31 16:41:35 -07:00
Adam Ierymenko
bb99ef1351
Get rid of online status stuff in FileDB, not necessary at all.
2019-07-31 16:41:12 -07:00
Adam Ierymenko
b3891e5506
Version 1.4.0.1: bug fix for Mac multicast and IPv4 issues, no change for other platforms
2019-07-31 13:27:08 -07:00
Adam Ierymenko
632d6e04ad
Mac multicast bug fix -- GitHub issue #986
2019-07-31 13:25:58 -07:00
Adam Ierymenko
db813db7e8
2019-07-29 -- Version 1.4.0
...
Major Changes
* Mac version no longer requires a kernel extension, instead making use of the [feth interfaces](https://apple.stackexc
* Added support for concurrent multipath (multiple paths at once) with traffic weighting by link quality and faster rec
* Added under-the-hood support for QoS (not yet exposed) that will eventually be configurable via our rules engine.
Minor Changes and Bug Fixes
* Experimental DB driver for [LF](https://github.com/zerotier/lf ) to store network controller data (LFDB.cpp / LFDB.hpp
* Modified credential push and direct path push timings and algorithms to somewhat reduce "chattiness" of the protocol
* Removed our beta/half-baked integration of Central with the Windows UI. We're going to do a whole new UI of some kind
* Fixed stack overflow issues on Linux versions using musl libc.
* Fixed some alignment problems reported on ARM and ARM64, but some reports we could not reproduce so please report any
* Fixed numerous other small issues and bugs such as ARM alignment issues causing crashes on some devices.
* Windows now sets the adapter name such that it is consistent in both the Windows UI and command line utilities.
2019-07-29 16:11:06 -07:00
Adam Ierymenko
837c6270f2
More docs
2019-07-29 15:14:37 -07:00
Adam Ierymenko
8c3c07cb5d
docs
2019-07-29 13:50:02 -07:00
Adam Ierymenko
5cc0dd7f55
Windows installer version bump
2019-07-29 12:36:10 -07:00
Adam Ierymenko
79c4d98b61
docs
2019-07-29 12:10:39 -07:00
Adam Ierymenko
678e11530e
1.4 bump
2019-07-29 12:07:44 -07:00
Adam Ierymenko
a8f2b39f15
Windows project fixes
2019-07-29 11:05:46 -07:00
Adam Ierymenko
add2ac0369
Merge pull request #963 from atopuzov/armv6l
...
Fix compiling on Raspberry PI Zero W on Arch Linux
2019-07-29 10:23:09 -07:00
Adam Ierymenko
1e475edd1c
Merge pull request #973 from unquietwiki/patch-1
...
Update Dockerfile
2019-07-29 10:22:36 -07:00
Adam Ierymenko
745483708a
Merge pull request #974 from squeakbat/master
...
Don't relink zerotier-one every time.
2019-07-29 10:21:35 -07:00
Adam Ierymenko
d9432f2f1e
cleanup
2019-07-29 10:19:20 -07:00
Adam Ierymenko
eb7081d2a3
Fix for detecting changes in LF from other instances of the same controller.
2019-07-26 19:28:09 -07:00
Adam Ierymenko
d9befe3fb3
Debug code removal
2019-07-26 18:51:50 -07:00
Adam Ierymenko
0618452615
LF masking key should be a secret
2019-07-26 17:44:05 -07:00
Adam Ierymenko
f6b080b8a2
Abstract out change listener from controller itself to permit DBs to shadow changes from other DBs.
2019-07-26 17:39:00 -07:00
Adam Ierymenko
c8c33db1d1
.
2019-07-26 16:03:21 -07:00
Adam Ierymenko
196bac726c
Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev
2019-07-23 16:06:40 -07:00
Adam Ierymenko
ac2688de58
More LFDB work
2019-07-23 16:06:35 -07:00
Joseph Henry
d2af12b6a0
Forgot to add ZT_DISABLE_COMPRESSION to linux makefile
2019-07-23 13:33:25 -07:00
Joseph Henry
6958ba9557
Added ZT_DISABLE_COMPRESSION build flag for SDK and low-end NAS builds
2019-07-23 12:39:07 -07:00
Adam Ierymenko
5f11daadf2
Build fix
2019-07-23 09:30:40 -07:00
Adam Ierymenko
99df3fe433
Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev
2019-07-23 09:29:12 -07:00
Adam Ierymenko
d4d350a285
Work in progress
2019-07-23 09:29:08 -07:00
Joseph Henry
8a0b75c83a
Added LFDB.o to objects.mk
2019-07-22 15:24:16 -07:00
Joseph Henry
9cf74657e0
Commented out rtnetlink error debug trace
2019-07-22 14:12:21 -07:00
Adam Ierymenko
5edd04638d
LFDB work in progress
2019-07-22 13:43:06 -07:00
Ellen Wang
eb2f851e65
Don't relink zerotier-one every time.
...
Because zerotier-one depends on "one", which is a phony target,
making it relinks zerotier-one every time, which is probably
not the desired behavior.
In any case, zerotier-one, zerotier-cli, and zerotier-idtool are
real target, so they should have real dependencies and actions.
The "one" target now depends on these three files.
Behavior is mostly unchanged otherwise.
2019-07-21 21:37:01 -07:00
Joseph Henry
a0f47b12b4
Removed Synology-specific home path, changes made elsewhere in SPK
2019-07-19 16:34:31 -07:00
Adam Ierymenko
1b2d9e202e
Remove 44/8 as pseudoprivate since it is now partly global.
2019-07-19 13:33:14 -07:00
Michael Adams
daa8839005
Update Dockerfile
...
Update Dockerfile to use Debian 10 + pull the main.sh directly from Github; works for Portainer use.
2019-07-18 17:48:41 -07:00
Adam Ierymenko
7e105343e2
WIP
2019-07-17 16:53:33 -05:00
Adam Ierymenko
fe2215df00
TON of refactoring, moon/planet is DEAD, ECC P-384 is integrated (but not enabled), and multicast work and cleanup. Whew.
2019-07-17 10:52:08 -05:00
Grant Limberg
80124bb753
Update release notes
2019-07-16 15:34:26 -07:00
Adam Ierymenko
640bbaabbf
Safer value
2019-07-16 17:28:42 -05:00
Adam Ierymenko
da2965cb4e
P-384 test vectors
2019-07-16 17:25:25 -05:00
Grant Limberg
861a319014
Merge branch 'dev' of github.com:zerotier/ZeroTierOne into dev
2019-07-16 15:20:05 -07:00
Grant Limberg
d43e810ecb
Finally figured out how to update the network interface names on Windows so that they'll be visible in ipconfig, Get-NetAdapter etc.
2019-07-16 15:16:49 -07:00
Adam Ierymenko
94ba242c33
Nist P-384 guts and glory
2019-07-16 16:09:14 -05:00
Grant Limberg
7afcc17024
no usleep() on Windows
2019-07-16 13:09:10 -07:00
Grant Limberg
2ab2f68725
Add a central database schema version check to central controller startup
2019-07-16 12:15:38 -07:00
Adam Ierymenko
debd5a5c5e
Add capability for P2P multicast propagation, and some cleanup.
2019-07-16 13:33:11 -05:00
Adam Ierymenko
98bbb84a63
Merge branch 'dev' into edge
2019-07-15 19:40:52 -05:00
Adam Ierymenko
90872c906f
Fix FileDB stuff and latency measurement.
2019-07-15 16:30:34 -05:00
Adam Ierymenko
bdc2ec1f5e
Track online status in FileDB
2019-07-15 15:27:53 -05:00
Grant Limberg
692733fffb
Don't write to ztc_network_status table anymore in central controller
2019-07-15 13:00:16 -07:00
Adam Ierymenko
9d908a11ed
Some new stuff, may not live forever...
2019-07-15 13:57:42 -05:00
Adam Ierymenko
d3728d5859
cleanup
2019-07-10 21:30:11 -04:00
Joseph Henry
389331ca29
Ticket #915 , added allowSecondaryPort to optionally force ZT to use a single port
2019-07-09 10:31:03 -07:00
Adam Ierymenko
b2c4b7e99f
Version bunmp
2019-07-09 10:36:25 -04:00
Adam Ierymenko
fee6aae442
Drop in faster C25519 agreement code.
2019-07-09 10:31:08 -04:00
Grant Limberg
409406d114
Whoops
2019-07-08 12:36:49 -07:00
Grant Limberg
203414910f
Give up to a second for the interface to appear to assign IP addresses
2019-07-08 12:33:26 -07:00
Travis LaDuke
ac0082a67e
Update README.md
2019-07-02 11:56:19 -07:00
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
Adam Ierymenko
dffbd2113a
Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev
2019-06-28 11:20:49 -07:00
Adam Ierymenko
7db073d993
Start 1.4.0 release notes.
2019-06-28 11:20:38 -07:00
Adam Ierymenko
3c02c2e4bd
Windows installer bump
2019-06-28 08:48:06 -07:00
Adam Ierymenko
a17c760181
Fix Mac installer
2019-06-27 14:36:31 -07:00
Adam Ierymenko
54d2fa65dd
Version bump, cleanup
2019-06-27 14:31:10 -07:00
Adam Ierymenko
a019c3dd5d
Tighten up credential push just a bit for faster up-time with older nodes, should not have significant impact on bandwidth. Also some cleanup and push direct path timing fixes.
2019-06-25 13:42:20 -07:00
Adam Ierymenko
a3ef9b8a15
Cleanup
2019-06-25 10:06:50 -07:00
Grant Limberg
4d599e2f9f
Linux build with CMake
2019-06-21 15:16:20 -07:00
Grant Limberg
d3b33e5512
Can now build the Windows UI via CMake as well
2019-06-21 12:54:53 -07:00
Grant Limberg
c8487cc395
no message
2019-06-20 16:15:19 -07:00
Grant Limberg
0b3b5f6174
Beginning CMake configuration for ZT
...
Only tested on Windows so far
2019-06-20 16:13:52 -07:00
Adam Ierymenko
554e0b7c6d
Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev
2019-06-20 15:20:46 -07:00
Adam Ierymenko
fd74e2a583
Windows build changes for 1.2.99 (1.4.0pre)
2019-06-20 15:20:42 -07:00
Grant Limberg
af5d3a7f0b
dockerfile updates
2019-06-20 14:17:38 -07:00
Adam Ierymenko
bb0808c99c
Remove current multithreaded receive path, which is not that efficient. We will do something better in the future.
2019-06-19 10:19:59 -07:00
Adam Ierymenko
f0295b154b
Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev
2019-06-17 15:50:11 -07:00
Adam Ierymenko
b041de831a
More stack->heap
2019-06-17 15:50:05 -07:00
Grant Limberg
21e844cd82
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2019-06-17 15:32:27 -07:00
Grant Limberg
4e2439bd12
Don't call _phy->getIfName if localSocket is -1
2019-06-17 15:32:21 -07:00
Adam Ierymenko
c5a07c7f20
More stack->heap
2019-06-17 15:28:02 -07:00
Adam Ierymenko
e2900f4f3c
Fix valgrind warning... not sure if it is an actual issue.
2019-06-17 15:23:52 -07:00
Adam Ierymenko
aa831dd843
More stack->heap...
2019-06-17 14:55:33 -07:00
Adam Ierymenko
2dc783214c
Allocate outp on heap in Peer.
2019-06-17 14:38:27 -07:00
Adam Ierymenko
523df47a65
Check for null data ptr
2019-06-17 14:02:35 -07:00
Adam Ierymenko
f66fac3982
Win32 build fix
2019-06-17 13:48:42 -07:00
Adam Ierymenko
9c51ce9c40
Windows build fixes, fix double/float types to get rid of warnings.
2019-06-17 13:32:41 -07:00
Adam Ierymenko
9797540212
merge
2019-06-13 12:53:05 -07:00
Adam Ierymenko
ce2338c24a
Fix null ptr on managed routes if no IPs are set.
2019-06-13 12:52:38 -07:00
Grant Limberg
3b188ba672
no message
2019-06-13 10:38:42 -07:00
Grant Limberg
eb84d61deb
remove these from jenkins for now
2019-06-13 10:35:54 -07:00
Grant Limberg
47d29ddcaf
Compiler warning cleanup
2019-06-13 10:28:09 -07:00
Grant Limberg
f411eb1651
Remove old RethinkDB.cpp/.hpp files from visual studio project
2019-06-13 10:15:45 -07:00
Joseph Henry
94bd2918fa
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2019-06-12 13:14:23 -07:00
Joseph Henry
c3bfcf560b
Removed check for port number in multipath path replacement logic
2019-06-12 13:14:14 -07:00
Adam Ierymenko
5b2b088714
Cleanup, version bump.
2019-06-11 14:58:23 -07:00
Adam Ierymenko
0bdfad52e7
docs
2019-06-11 13:51:10 -07:00
Adam Ierymenko
cf046a4039
Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev
2019-06-11 11:01:20 -07:00
Adam Ierymenko
700cc92083
Indent fix
2019-06-11 11:01:12 -07:00
Joseph Henry
2eb9c0924a
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2019-06-11 10:54:14 -07:00
Joseph Henry
ebadc6f203
Added s390x arch flags to makefile and ZeroTierOne.h for ticket #950
2019-06-11 10:54:06 -07:00
Adam Ierymenko
87bce1a36b
GitHub issue #886
2019-06-11 10:53:35 -07:00
Adam Ierymenko
848f822171
.
2019-06-06 10:04:11 -07:00
Joseph Henry
d4199ddb3e
Commented out RingBuffer::dump() as an alternative solution to PR #952
2019-06-03 11:00:04 -07:00
Grant Limberg
e4abc91d35
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2019-05-31 15:10:53 -07:00
Grant Limberg
37d321afc8
dont spin as much in the onlineNotificationThread
2019-05-31 15:10:45 -07:00
Joseph Henry
541e5c510e
CLI improvements (peers, and get/set ip, ip4, ip6, etc)
2019-05-31 11:41:24 -07:00
Joseph Henry
90d324ae96
Fixed ZT_SDK build issue. Moved ZT_SDK preprocessor directives to more permanent homes
2019-05-17 10:15:40 -07:00
Adam Ierymenko
cacdb445c7
Bump protocol version to 10
2019-05-14 13:54:27 -07:00
Joseph Henry
4743ad0b16
Added convenience swtich for disabling JSON support in SDK build
2019-05-13 12:24:55 -07:00
Joseph Henry
2d5c6fa975
Disabled compression for outbound packets in SDK build
2019-05-13 12:24:22 -07:00
Joseph Henry
95ef13f7a1
Added divisor for ZT_PEER_ACTIVITY_TIMEOUT, gives quicker indication to status change in SDK
2019-05-13 12:24:01 -07:00
Joseph Henry
298e1d5a74
Added 90x90 AppIcon
2019-05-01 12:53:50 -07:00
Grant Limberg
87c75d033e
pt 2
2019-04-22 11:36:14 -07:00
Grant Limberg
71ae678930
Make things compile with Android NDK again
2019-04-22 11:35:35 -07:00
Grant Limberg
6a027c9c0a
amqp_consume_message now has a timeout
...
RabbitMQ::consume() will return an empty string if the call to amqp_consume_message times out
2019-04-18 14:57:06 -07:00
Grant Limberg
6014df2847
fix compile & sql errors
2019-04-04 15:11:01 -07:00
Grant Limberg
55a9e6e05e
Queue up inserts in onlineNotificationThread() into a multiple insert statement
2019-04-04 12:40:49 -07:00
Adam Ierymenko
02f0eead1c
More new Mac ethernet tap bugs.
2019-03-29 15:14:03 -07:00
Adam Ierymenko
d77846dcea
Add bigness to buffers to prevent overflow on high traffic (Mac tap).
2019-03-29 12:45:02 -07:00
Adam Ierymenko
92c811deb7
Destroy feth devices before creating to delete old ones if they were left behind (MacEthernetTap).
2019-03-29 12:14:03 -07:00
Adam Ierymenko
92f199ab98
More bug fixing for AARCH64.
2019-03-28 22:40:28 +00:00
Adam Ierymenko
b65feeba85
One more AARCH64 fix.
2019-03-28 15:23:53 -07:00
Adam Ierymenko
6914425b03
cleanup
2019-03-28 13:58:19 -07:00
Adam Ierymenko
89f57124b2
Never mind, only unused on some builds so leave them there.
2019-03-27 09:30:45 -07:00
Adam Ierymenko
65823332d4
Comment out some unused functions.
2019-03-27 09:29:34 -07:00
Adam Ierymenko
ee8682ac75
Temporarily disable the symmetric NAT port prediction code since the current version adds protocol overhead and probably is not that effective.
2019-03-26 15:23:51 -07:00
Adam Ierymenko
e3e5137757
Fix more alignment hell in LinuxNetLink for AARCH64 and probably other pedantic architectures.
2019-03-25 22:53:06 +00:00
Adam Ierymenko
d81549a7b1
Various other fixes including removal of more mem*() issues and netlink fixes for AARCH64.
2019-03-25 22:19:52 +00:00
Adam Ierymenko
d5ac8512e3
...
2019-03-25 12:58:43 -07:00
Adam Ierymenko
f23e354272
Nope, more...
2019-03-25 12:56:03 -07:00
Adam Ierymenko
6475e1faf6
I think this is the last one.
2019-03-25 12:53:31 -07:00
Adam Ierymenko
752fc0742e
More mem*() stuff... sigh...
2019-03-25 12:52:19 -07:00
Adam Ierymenko
e1091611da
More mem*() stuff...
2019-03-25 12:41:59 -07:00
Adam Ierymenko
678116b6d1
One more.
2019-03-25 12:36:54 -07:00
Adam Ierymenko
0a9e2227e8
... and more
2019-03-25 12:00:54 -07:00
Adam Ierymenko
2600b1f144
Removal of more mem*() calls.
2019-03-25 11:59:14 -07:00
Adam Ierymenko
b56753ea9f
Get rid of some mem* calls that are bad C++ form (but worked fine) and cause warnings.
2019-03-25 11:45:32 -07:00
Adam Ierymenko
97046b265c
Kill ZT_FAST_MEMCPY in selftest.
2019-03-22 15:52:16 -07:00
Adam Ierymenko
2966eac64f
Get rid of ZT_FAST_MEMCPY because this is not really needed.
2019-03-22 15:50:15 -07:00
Adam Ierymenko
d530356055
RingBuffer<> is now templated with size, buffer is now static.
2019-03-22 14:39:52 -07:00
Adam Ierymenko
af3ec000a0
Merge branch 'dev' into edge
2019-03-22 09:38:41 -07:00
Adam Ierymenko
8051127c3b
Update credits.
2019-03-21 16:43:53 -07:00
Adam Ierymenko
e37eb0aa54
More cleanup of old stuff no longer used.
2019-03-21 16:42:52 -07:00
Adam Ierymenko
130fa35bb1
cleanup
2019-03-21 16:39:56 -07:00
Adam Ierymenko
39e1021f62
Replace certificate based gating of multicast like/gather with a simpler more efficient method, fix some minor issues with request based com/cert push, and clean up some other random stuff.
2019-03-21 16:18:49 -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
087c75d5ee
More cleanup.
2019-03-14 16:40:22 -07:00
Adam Ierymenko
e03102dbcb
Clean out some unnecessarily pedantic auth stuff in favor of a simpler way of gating multicast gathers.
2019-03-14 14:29:15 -07:00
Adam Ierymenko
9d7b7c72b2
Merge branch 'dev' into edge
2019-03-14 13:49:49 -07:00
Travis LaDuke
99c3f02343
Update controller readme
...
Delete `/controller/network/<network ID>/active` docs
re: #921
2019-03-12 13:02:49 -07:00
Grant Limberg
95bfc29c92
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2019-03-11 12:26:57 -07:00
Grant Limberg
e3cc7c9a80
fix non-central controller builds
2019-03-11 11:16:44 -07:00
Grant Limberg
d4c0349de9
Revert "#ifdef'd out multipath/QoS statistics buffers allocations for ZT_PROTOCOL_VERSION<10"
...
This reverts commit 270debb3fc .
2019-03-11 09:44:40 -07:00
Adam Ierymenko
d7a6357393
Merge branch 'dev' into edge
2019-03-08 13:16:02 -08:00
Adam Ierymenko
6fbf21b4f0
Use a smaller MTU, which should not impact throughput since 2800+overhead/2 still fits in two of these.
2019-03-08 13:15:47 -08:00
Grant Limberg
993d850f69
more logs
2019-03-08 10:50:33 -08:00
Grant Limberg
cda07b20a2
add mutex to channel numbering
2019-03-08 10:29:36 -08:00
Grant Limberg
52c85aa605
now with more -fPIC
2019-03-08 10:29:19 -08:00
Grant Limberg
e5155df6d5
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2019-03-08 10:21:19 -08:00
Grant Limberg
293d2064c4
librabbitmq built with same clang version as zt
2019-03-08 10:20:53 -08:00
Grant Limberg
171cc3e01a
reorder a couple of things
2019-03-08 10:20:19 -08:00
Grant Limberg
8141043560
finish up rabbitmq integration
2019-03-06 16:16:49 -08:00
Grant Limberg
9a3cc93d74
update dockerfile to generate rabbitmq config settings when necessary
2019-03-05 15:47:04 -08:00
Grant Limberg
fcb4221f97
rabbitMQ implementation
2019-03-05 15:11:50 -08:00
Grant Limberg
1f13374a4f
added struct for rabbitmq config
2019-03-04 17:01:16 -08:00
Grant Limberg
801401a6e7
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2019-03-04 16:31:36 -08:00
Grant Limberg
de1fc43cc5
added librabbitmq library for central controller
2019-03-04 16:27:39 -08:00
Joseph Henry
270debb3fc
#ifdef'd out multipath/QoS statistics buffers allocations for ZT_PROTOCOL_VERSION<10
2019-03-01 13:28:00 -08:00
Grant Limberg
59a0a25f35
Merge branch 'controller-live' into dev
2019-03-01 11:13:49 -08:00
Grant Limberg
a788486803
Remove /controller/network/<network ID>/active from controller documentation as that path no longer exists.
...
GitHub Issue #921
2019-02-25 12:13:55 -08:00
Grant Limberg
3d21f0a91f
update docker registry used
2019-02-08 10:40:57 -08:00
Grant Limberg
f726044e29
no message
2019-02-05 11:48:03 -08:00
Grant Limberg
a4b1917361
Fixed a bug where UI elements were attempting to be updated in a background thread.
...
Also code cleanup & removed confusing startup UI
2019-02-05 11:47:37 -08:00
Adam Ierymenko
a3b2aeb001
Take netmask bits from most specific route.
2019-02-01 14:06:34 -08:00
Adam Ierymenko
5b1ef2fb03
Take netmask bits from most specific route.
2019-02-01 14:05:29 -08:00
Joseph Henry
d0f78f1e03
Bugfix for heap-use-after-free in concurrent packet processing code (manifests only after terminate() is called)
2019-02-01 11:50:52 -08:00
Joseph Henry
541e91ed8e
Fixed potential memory leak in RingBuffer
2019-02-01 11:44:43 -08:00
Adam Ierymenko
321cada1d7
Wrong criteria was wrong. Now with less wrong.
2019-02-01 11:38:19 -08:00
Adam Ierymenko
34c1023ba7
Wrong criteria was wrong. Now with less wrong.
2019-02-01 11:37:30 -08:00
Joseph Henry
82a21d4b71
Bugfix for heap-use-after-free in concurrent packet processing code (manifests only after terminate() is called)
2019-01-30 22:29:51 -08:00
Joseph Henry
23996c7e6b
Fixed potential memory leak in RingBuffer
2019-01-27 14:43:29 -08:00
Joseph Henry
d7091a0bac
Fixed sign-comparison compile warnings in QoS code
2019-01-25 13:24:31 -08:00
Grant Limberg
7414418e2e
insert/update host_port on controller start
2019-01-21 11:29:13 -08:00
Grant Limberg
2294770e56
Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev
2019-01-21 11:18:25 -08:00
Grant Limberg
d98bdb5643
WIP: Pass listen port down to Postgres
2019-01-21 11:18:20 -08:00
Joseph Henry
21f4f16e63
Disable HTTP control plane for libzt builds, introduction of getRoutes() for SDK API
2019-01-14 11:34:46 -08:00
Joseph Henry
0e597191b8
Updated licenses for 2019
2019-01-14 10:25:53 -08:00
Travis LaDuke
001ba1a4a7
Update link to knowledge base.
2019-01-09 10:19:02 -08:00
Grant Limberg
b59c4a2106
Print error & exit on local.conf parsing error
2019-01-07 11:19:50 -08:00
Grant Limberg
c35933cd1e
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2018-12-10 12:27:00 -08:00
Grant Limberg
0da2efa633
add application_name to pgbouncer connectio string
2018-12-10 12:26:20 -08:00
Grant Limberg
e23d95bf03
sleep 60 seconds between deployments
2018-12-07 15:17:12 -08:00
Grant Limberg
f6e9f0e2a2
cleanup
2018-12-07 01:58:23 -08:00
Grant Limberg
4a89729529
add INCOMING_PACKET_CONCURRENCY environment variable to be able to specify max threads for receive in controller
2018-12-07 00:59:08 -08:00
Grant Limberg
56a58f2b11
more logging of exits from the central controller
2018-12-06 13:26:53 -08:00
Grant Limberg
e959908c51
log message
2018-12-06 13:19:36 -08:00
Grant Limberg
6e3144370a
exit controller if onlinenotification thread exits while _run == 1
2018-12-06 13:10:59 -08:00
Grant Limberg
20f02bb772
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2018-12-06 13:08:39 -08:00
Grant Limberg
1c86f25fab
update # of threads for Postgres
2018-12-06 13:08:31 -08:00
Adam Ierymenko
e6f9ab929d
More speed stuff.
2018-12-06 12:47:58 -08:00
Adam Ierymenko
18d1772bb4
stuff for speed and stuff (testing)
2018-12-06 12:00:49 -08:00
Adam Ierymenko
5535cad773
Revert mutex change.
2018-12-04 16:15:46 -08:00
Adam Ierymenko
ec84934d48
Disable spinlock to check CPU usage implications on multithreaded controllers.
2018-12-04 15:59:39 -08:00
Grant Limberg
328d08781a
finish pgbouncer integration
2018-12-03 16:12:15 -08:00
Grant Limberg
c8d5215870
add handling for PGBOUNCER_CONNSTR environment variable.
...
alows Central controllers to connect to PGBouncer on some threads. LISTEN threads still require a direct connection to the DB
2018-12-03 15:19:15 -08:00
Grant Limberg
62ccb48a0b
allow alternative ports for central controllers
2018-12-03 15:06:26 -08:00
Grant Limberg
82409eb345
add script to cycle central controllers
2018-12-03 15:04:46 -08:00
Grant Limberg
b75f212d70
Replace RethinkDB section in controller/README with PostgreSQL
2018-11-30 10:41:54 -08:00
Grant Limberg
ccb856749f
back to plain old libpq in dev
2018-11-30 10:40:57 -08:00
Adam Ierymenko
9d2bc9bf4e
Merge branch 'master' into dev
2018-11-28 08:44:45 -08:00
Adam Ierymenko
52c4385c16
Merge branch 'master' of http://git.int.zerotier.com/zerotier/ZeroTierOne
2018-11-28 08:44:12 -08:00
Adam Ierymenko
5da7d6d1ae
Merge docker update PR
2018-11-28 08:43:50 -08:00
Adam Ierymenko
65e0a74718
Merge pull request #869 from bltavares/patch-2
...
Update ZeroTier version on Docker
2018-11-28 08:41:42 -08:00
Grant Limberg
01d5d7d78b
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2018-11-13 16:20:01 -08:00
Grant Limberg
e3381a4c1f
fix member init query
2018-11-13 16:19:55 -08:00
Adam Ierymenko
03e35b25b8
Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev
2018-11-13 16:02:31 -08:00
Adam Ierymenko
e2b0fb26b1
self-test build fix.
2018-11-13 16:02:26 -08:00
Grant Limberg
01c18cc442
update makefile for libpqxx controller
2018-11-13 16:01:43 -08:00
Grant Limberg
01e6df4d46
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2018-11-13 16:00:17 -08:00
Grant Limberg
882b03436d
WIP: libpxx instead of libpq
2018-11-13 16:00:13 -08:00
Adam Ierymenko
690bd933d5
Support shutdown with postLimit in BlockingQueue
2018-11-13 13:52:45 -08:00
Adam Ierymenko
6684559cd9
More Mac tap improvements and threading efficiency improvements.
2018-11-13 13:51:25 -08:00
Adam Ierymenko
4ed7d20a48
Another stability fix... turns out vfork is problematic here.
2018-11-13 12:46:36 -08:00
Adam Ierymenko
350116c513
Stability improvements for Mac virtual Ethernet tap driver.
2018-11-13 12:42:03 -08:00
Adam Ierymenko
7bde2c089d
Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev
2018-11-13 12:08:02 -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
Grant Limberg
33d7b22abe
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2018-11-11 23:06:31 -08:00
Grant Limberg
2f9712e6a7
utility script to update public controllers
2018-11-11 23:06:24 -08:00
Adam Ierymenko
b937aeb857
cleanup
2018-11-11 23:03:51 -08:00
Grant Limberg
f3d8846df3
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2018-11-11 22:55:57 -08:00
Grant Limberg
2729db9555
exceptions
2018-11-11 22:55:53 -08:00
Adam Ierymenko
1cec4b1c4c
Raise thread count to 8
2018-11-11 22:55:38 -08:00
Adam Ierymenko
7048c77ebc
Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev
2018-11-11 22:35:26 -08:00
Adam Ierymenko
c9c17eaddd
Retire RethinkDB, simple receive path multithreading.
2018-11-11 22:35:15 -08:00
Grant Limberg
f1b82b734a
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2018-11-11 21:09:35 -08:00
Grant Limberg
4c0e7aa8b0
more error checking
2018-11-11 21:08:51 -08:00
Adam Ierymenko
296e4616cc
Migrate Windows to use Visual Studio 2017 Community instead of 2015.
2018-11-11 20:31:31 -08:00
Adam Ierymenko
15649334a6
Do not use new "feth" devices for ZT traffic.
2018-11-11 19:22:07 -08:00
Adam Ierymenko
b3c2c0866f
Times should be int64_t, not uint64_t
2018-11-11 17:38:17 -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
Joseph Henry
79086f0858
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2018-10-26 12:00:01 -07:00
Joseph Henry
c148a23df4
Added preprocessor check for ZT_NO_CAPABILITIES around header includes
2018-10-26 11:59:55 -07:00
Adam Ierymenko
c56831767e
Fix Mac tap agent abort on EINTR.
2018-10-25 20:44:32 -07:00
Adam Ierymenko
72a724f075
Clean up some stuff after new feth tap implementation, and comment agent file.
2018-10-25 13:10:24 -07:00
Adam Ierymenko
96e1df5854
Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev
2018-10-25 12:43:35 -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
Grant Limberg
5a0adba798
Setup docker container to use jemalloc
2018-10-24 13:36:21 -07:00
Grant Limberg
761cc5c923
remove another noisy log line
2018-10-24 13:36:07 -07:00
Grant Limberg
f901b9dd6b
Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev
2018-10-24 12:08:48 -07:00
Grant Limberg
d87fcca176
Fully operational pgsql controller
2018-10-24 12:06:17 -07:00
Grant Limberg
7c72653385
because Windows....
2018-10-23 13:21:25 -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
Bruno Tavares
2d21c18ebd
Update ZeroTier version on Docker
...
This commit changes the Dockerfile ot use the multi-stage build and help
to get an automated build on Docker.
The idea of the multi-stage build is to use the already stable Debian
distribution channel to provide up-to-date versions of ZeroTier.
The benefit is that it would be possible to automate the image build,
either on Docker Hub, Travis or taking advantage of the [docker-library/official-images] infrastructure.
This changes follows the best-practices suggested by
[docker-library/official-images], such as using a High Availability GPG
keyserver, providing a default CMD, allowing "bash" on `docker run` and
others.
Given that both the builder `debian:stretch` and `alpine:latest` are
official messages and have [manifests], this means that this Dockerfile
is also multi-platform. This means that this same Dockerfile will
pick-up the correct Debian package according to the architecture of the
running system during build.
With this changes we could try to promote the image to be parte of
[docker-library/official-images], and take advantage of automated
publishing of multi-architecture images. Others would be able to use
`docker run zerotier` and download the latest version appropriate to
their system.
Related to #682
[docker-library/official-images]: https://github.com/docker-library/official-images
[manifests]: https://blog.docker.com/2017/09/docker-official-images-now-multi-platform/
2018-10-21 11:28:04 -03:00
Adam Ierymenko
15d0aad3c0
Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev
2018-10-19 10:06:06 -05:00
Adam Ierymenko
f0fc9b1766
Merge branch 'master' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev
2018-10-19 10:05:51 -05: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
Joseph Henry
04de2302a7
More insightful errors for get command
2018-10-03 14:24:21 -07:00
Grant Limberg
1da1409db2
get rid of a noisy log line
2018-09-28 10:58:26 -07:00
Grant Limberg
c1ea1329c1
Merge branch 'dev' into libpq
2018-09-28 10:56:40 -07:00
Grant Limberg
417aa9547b
Working controller & docker container for GKE
2018-09-28 10:55:39 -07:00
Adam Ierymenko
60d5a3c631
Merge pull request #853 from darkain/dev
...
Fix IPv6 address string representation
2018-09-25 15:32:39 -07:00
Adam Ierymenko
7a42416a78
Merge pull request #822 from dschulz/controller-patch1-dschulz
...
Add functionality to erase members from networks using file backend i…
2018-09-25 11:38:25 -07:00
Adam Ierymenko
2a143a7505
Merge pull request #858 from tommyang/fix/mac-uninstall-script
...
macOS uninstall script: remove symlinks from the actual location
2018-09-25 11:36:28 -07:00
Grant Limberg
0510f85a8f
Merge branch 'dev' into libpq
2018-09-25 10:19:59 -07:00
Grant Limberg
5b222d0a09
cleanup connections after errors
2018-09-25 10:17:15 -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
Tommy Yang
88d879987d
Remove symlinks from the actual location
...
Binary symlinks are in `/usr/local/bin` instead of `/usr/bin` since commit 0cf4ddd
2018-09-23 16:53:30 -07:00
Joseph Henry
27c37a18f3
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2018-09-17 14:42:33 -07:00
Joseph Henry
b8268d894b
Changed home path for Synology
2018-09-17 11:44:56 -07:00
Vincent Milum Jr
79b47b055a
Only null terminate the first character
2018-09-15 12:13:06 -07:00
Vincent Milum Jr
8e260bae11
Correcting conversion to/from IP address / string
...
1) Use existing standard libraries to convert to/from IPv4/IPv6 strings and binary representation.
2) Move null terminator assignment InetAddress::toIpString to top of function, this way if ANY errors occurs that don't write content to the buffer, we're not passing a potentially dangerous buffer around.
2018-09-14 22:42:58 -07:00
Adam Ierymenko
af61ee6f3a
Merge pull request #836 from skunkwerks/feature/add-freebsd-debugs
...
add support for debug flags in FreeBSD
2018-09-14 08:08:59 -07:00
Adam Ierymenko
04d7a1df96
Merge pull request #837 from skunkwerks/feature/update-ext-json
...
update external JSON dependency to address libc++ compatibility
2018-09-14 08:08:21 -07:00
Adam Ierymenko
b9fd50e348
Merge pull request #845 from asbjornenge/docker-updates
...
Using multi-stage build for Dockerfile
2018-09-14 08:07:36 -07:00
Adam Ierymenko
ef48d11266
Merge pull request #848 from darkain/master
...
Fix compile on FreeBSD targeting ARMv6 (Raspberry Pi)
2018-09-14 08:05:39 -07:00
Adam Ierymenko
a47559d9e3
dev should have odd minor version
2018-09-14 08:05:07 -07:00
Vincent Milum Jr
cffb992ae8
Adding ARM/NEON detection for non-Linux targets
2018-09-12 19:51:28 -07:00
Vincent Milum Jr
39e720e811
Adding proper EABI target for ARM32/Salsa
2018-09-12 19:49:14 -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
3dd9b1aa9b
Added ability to specify zt home directory via ZEROTIER_HOME - Addresses ticket #829
2018-09-10 16:25:39 -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
Asbjørn Enge
701d64936d
Using builder pattern to build in container while keeping final image small
2018-09-07 14:11:25 +02:00
Grant Limberg
0ec6215493
Send member/network change notifications via Postgres
2018-09-06 15:14:16 -07:00
Grant Limberg
de45bdb448
quieting things down a little bit
2018-09-05 17:03:49 -07:00
Grant Limberg
7b608c6ca3
Fix testing for true/false. Dont attempt to update member status on networks that we know dont exist
2018-09-05 16:54:23 -07:00
Grant Limberg
6ff78c9c26
fix crashes
2018-09-05 16:08:06 -07:00
Grant Limberg
d701f4e331
Added some exception hadling. Dont want to live *too* dangerously here
2018-09-05 11:49:07 -07:00
Grant Limberg
92abc92463
Theoretically we have PostgreSQL support now
2018-09-05 11:30:17 -07:00
Grant Limberg
a4be9ceb5a
dont insert/update creation time. Let the database handle it with the default value
2018-09-04 16:08:26 -07:00
Grant Limberg
e21b6e1daf
commit thread WIP
2018-09-04 16:05:34 -07:00
Grant Limberg
2e3b03fff9
members initialized
2018-09-04 14:51:35 -07:00
Grant Limberg
cd657da431
Online Update/Notify thread
2018-09-04 14:00:02 -07:00
Grant Limberg
17af09a5cc
Postgres Integration has begun
2018-08-31 14:58:15 -07:00
Travis LaDuke
ceff48b07c
Update bug_report.md
2018-08-29 10:15:10 -07:00
Travis LaDuke
199566965e
Update issue templates
2018-08-29 09:39:18 -07:00
Travis LaDuke
46e46e9b7b
Update issue templates
2018-08-29 09:37:39 -07:00
Dave Cottlehuber
8b292d2dc7
ext: update nlohmann/json to v3.2.0
...
- include libc++7 compatibility for FreeBSD
- see https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=230629
2018-08-24 08:19:38 +00:00
Dave Cottlehuber
88abd6ffc6
add support for debug flags in FreeBSD
2018-08-24 08:18:25 +00: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
Adam Ierymenko
553101e8b5
merge dev
2018-08-09 11:31:37 -07:00
Joseph Henry
3cd0ab1b3b
Remove direct include of bits/sockaddr.h
2018-08-03 16:20:08 -07:00
Diego Schulz
fc6dba0797
Add functionality to erase members from networks using file backend in controller microservice
...
Signed-off-by: Diego Schulz <dschulz@gmail.com >
2018-08-02 17:13:55 -04: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
e75a093a8c
2018-07-27 -- Version 1.2.12
...
* Fixed a bug that caused exits to take a long time on Mac due to huge numbers of redundant attempts to delete managed routes.
* Fixed a socket limit problem on Windows that caused the ZeroTier service to run out of sockets, causing the UI and CLI to be unable to access the API.
* Fixed a threading bug in the ZeroTier Core, albeit one that never manifested on the regular ZeroTier One service/client.
* Fixed a bug that could cause the service to crash if an authorized local client accessed an invalid URL via the control API. (Not exploitable since you needed admin access anyway.)
2018-07-27 14:14:09 -07:00
Adam Ierymenko
dcffb042ff
Windows Advanced Installer to 1.2.12
2018-07-27 13:35:20 -07:00
Adam Ierymenko
d724af6a99
Replace Sao Paolo root with Buenos Aires in default planet def (will push to network too)
2018-07-25 15:03:01 -07:00
Adam Ierymenko
b30f423fc9
.
2018-07-25 12:11:59 -07:00
Adam Ierymenko
1fc14292fe
Version bumps.
2018-07-25 12:09:31 -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
Adam Ierymenko
9bc11a369c
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2018-07-20 07:41:52 -07:00
Adam Ierymenko
ac40f2191c
.
2018-07-20 07:41:47 -07:00
Joseph Henry
62a93c58fd
Added ifdefs surrounding usage of getifaddrs() on Android
2018-07-19 17:50:10 -07:00
Joseph Henry
65b0030342
Added basic QoS rule handling
2018-07-11 16:55:13 -07:00
Joseph Henry
f302fac423
Minor tweak to linux makefile
2018-07-11 16:32:49 -07:00
Adam Ierymenko
f94aea8119
Return error 503 if RethinkDB is down when built as RethinkDB-based controller.
2018-07-11 10:42:31 -07:00
Joseph Henry
28cb40529d
Rough draft of fq-codel implementation
2018-07-10 16:50:12 -07:00
Adam Ierymenko
37ae3b2b80
Remote debug printf.
2018-07-03 12:52:35 -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
4e6151ebd9
Added "Create and Join Network" menu item to windows system tray UI
2018-06-28 15:24:45 -07:00
Grant Limberg
fc225401a5
use easy mode for network creation
2018-06-28 15:05:24 -07:00
Joseph Henry
d74817f79f
Added blurb about allowTcpFallbackRelay to README
2018-06-22 16:46:50 -07:00
Joseph Henry
bdcdccfcc3
Improved path selection, more efficient traffic allocation, lower QoS/ACK overhead
2018-06-22 16:30:20 -07:00
Grant Limberg
352ec3430f
Add a define to set FD_SETSIZE=1024 on Windows
...
Default on Windows is extremely low at 64 and is the likely culprit behind the UI and CLI not being able to talk to the background service
2018-06-21 12:11:10 -07:00
Grant Limberg
978d2fcb56
Optimize C25519 and Poly1305 on Windows even in debug.
2018-06-21 12:08:15 -07:00
Joseph Henry
52264d5e28
Fixed aggregateLinkLatency(). Also changed unit for throughput from byte to bit
2018-06-14 16:48:35 -07:00
Joseph Henry
17fbb020e7
Added multipath field to zerotier-cli status output. Adjusted how path estimates are computed and cached
2018-06-14 16:34:45 -07:00
Joseph Henry
f8005b88ad
Minor cleanup. More efficient push() operation for RingBuffer
2018-06-13 14:50:37 -07:00
Joseph Henry
0faa655b83
Reduced how often relative path qualities and aggregate link allocations are computed
2018-06-12 16:30:46 -07:00
Joseph Henry
6fddf31db3
Improved rate limit logic for QoS/ACK packets. Also reduced how often processBackgroundPathMeasurements() is called
2018-06-12 15:24:12 -07:00
Adam Ierymenko
01257a461e
Merge branch 'dev' of github.com:zerotier/ZeroTierOne into dev
2018-06-12 09:39:15 -07:00
Adam Ierymenko
817b9d012e
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2018-06-12 09:38:52 -07:00
Adam Ierymenko
04b3525e0f
Merge pull request #755 from skunkwerks/fix/c++-17-deprecation
...
fix clang C++17 deprecation when building with ZT_DEBUG=1
2018-06-12 09:38:26 -07:00
Adam Ierymenko
d55c732e19
Merge pull request #764 from Elfe/master
...
fix MAC address rule parsing as even/uneven switches at every colon
2018-06-12 09:37:28 -07:00
Adam Ierymenko
d223427e22
Merge pull request #773 from alexforencich/master
...
Add UFW firewall application preset
2018-06-12 09:37:01 -07:00
Adam Ierymenko
64856adc3c
Merge pull request #776 from Wykks/patch-1
...
Improve debian service requirements
2018-06-12 09:36:46 -07:00
Grant Limberg
7c53adbcfe
quieting things down unless ZT_TRACE is defined
2018-06-11 10:47:58 -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
Joseph Henry
9681fedbb4
Spellcheck sweep across codebase
2018-06-07 17:25:27 -07:00
Joseph Henry
b6d97af451
Added rate gates for QOS and ACK packets
2018-06-07 15:26:18 -07:00
Joseph Henry
a9ca26c698
Added TX queue cap for issue #769
2018-06-07 12:58:07 -07:00
Grant Limberg
9463d4abe4
Fix for issue #778
...
Double quote before member name in `/controller/network/network_id/member` API
2018-06-05 12:55:39 -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
Grant Limberg
62210e57f1
helps to have an ==0 on a strcmp
2018-06-04 11:24:24 -07:00
Grant Limberg
4dd093efc9
cant compare character arrays with ==
2018-06-04 11:07:12 -07:00
Joseph Henry
91a22a686a
Added auto-escalation to multipath if both peers support it. Improved QoS/ACK tracking. Related bug fixes
2018-06-01 18:03:59 -07:00
Guillaume de Jabrun
a307dff3b7
Improve debian service requirements
2018-05-31 23:55:36 +02:00
Alex Forencich
20f0bed2f6
Add UFW firewall application preset
2018-05-30 19:10:51 -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
Karsten Elfenbein
dfe426e4e0
fix MAC address rule parsing as even/uneven switches at every colon
2018-05-26 21:00:09 +02:00
Grant Limberg
3ace61ef85
comment out addInterface/removeInterface code for now
...
We already have ioctl based code to do this
2018-05-25 15:37:00 -07:00
Grant Limberg
442595d6fc
also store binary representation of mac address in the interface lookup table for later use
2018-05-25 14:25:44 -07:00
Grant Limberg
be469f4dd0
add/remove routes via rtnetlink
2018-05-25 14:18:06 -07:00
Grant Limberg
7da4b0af15
better data localization in LinuxNetLink now that I know what Im doing
2018-05-24 16:15:03 -07:00
Grant Limberg
2fff651378
whoops. committed a binary
2018-05-24 16:14:32 -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
Dave Cottlehuber
c36c92e077
node: remove deprecated register hint for C++17 compatibility
...
when building with `ZT_DEBUG=1` this hint produces a warning:
> node/Packet.cpp:335:43: error: 'register' storage class specifier is deprecated and incompatible with C++17 [-Werror,-Wdeprecated-register]
See http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4340
2018-05-18 09:09:27 +00:00
Adam Ierymenko
c0efba79c7
Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev
2018-05-11 13:40:22 -07:00
Adam Ierymenko
5809941ae9
Windows 1.2.10
2018-05-11 13:40:03 -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
Adam Ierymenko
9765ba334a
1.2.10
2018-05-08 13:07:20 -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
5f85e33510
GitHub issue #734 (warning removal)
2018-05-07 12:15:55 -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
Joseph Henry
91c8e82c42
Adjusted locking order of _paths_m for path pruning. Other minor multipath changes
2018-05-02 15:24:14 -07:00
Adam Ierymenko
776ff46db7
User useradd not adduser on Debian.
2018-05-02 14:12:10 -07:00
Adam Ierymenko
9001ab5858
Do not add zerotier-one user if it does not exist (Debian)
2018-05-02 14:08:42 -07:00
Joseph Henry
1debe2292d
Cleanup. Misc type conversion and signedness fixes
2018-05-02 11:22:07 -07:00
Joseph Henry
6a2ba4baca
Introduced basic multipath support
2018-05-01 16:32:15 -07:00
Joseph Henry
836d897aec
Re-ordered local.conf and node init logic, also split software update config into separate method to fix bad node pointer reference
2018-05-01 13:39:06 -07:00
Adam Ierymenko
740b0fbbf6
Merge branch 'dev' into edge
2018-04-30 13:08:24 -07:00
Adam Ierymenko
92e716d93d
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2018-04-30 13:08:16 -07:00
Adam Ierymenko
c7115a0671
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into edge
2018-04-30 13:07:52 -07:00
Adam Ierymenko
020bbed935
ARM32 fix.
2018-04-30 13:07:32 -07:00
Grant Limberg
0c60963a94
app icon with no alpha channel
2018-04-30 12:08:09 -07:00
Travis LaDuke
d704f5f2d2
Remove alpha channel from app store icon
2018-04-30 12:06:41 -07:00
Adam Ierymenko
381bbb0e5e
Merge branch 'dev' into edge
2018-04-30 08:47:51 -07:00
Adam Ierymenko
0ebd19c14a
Merge branch 'dev' of /media/psf/Code/ZeroTier/ZeroTierOne into dev
2018-04-27 20:49:46 -07:00
Adam Ierymenko
d4160afac8
Another squeeze fix to see if we can make this work.
2018-04-27 19:51:27 -07:00
Adam Ierymenko
fffb037873
Fix for packaging on old Debian squeeze.
2018-04-27 18:53:55 -07:00
Adam Ierymenko
1df5d0453d
Remove separate dh-systemd dependency since this is obsolete on newer Debian anyway.
2018-04-27 18:50:40 -07:00
Travis LaDuke
19d453cb90
Add some more icon sizes
...
20x20, 60x60, 1024x1024 pngs
getting ready for an iOS release
2018-04-27 16:48:34 -07:00
Travis LaDuke
6e7437a0d0
Add some more icon sizes
...
20x20, 60x60, 1024x1024 pngs
getting ready for an iOS release
2018-04-27 16:40:36 -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
0a52840fa3
1.2.8 Windows Advanced Installer update.
2018-04-27 13:52:33 -07:00
Adam Ierymenko
a7d0905b74
1.2.8 bump for all but Windows install files.
2018-04-27 13:06:00 -07:00
Adam Ierymenko
05bfafbce8
Merge branch 'master' into edge
2018-04-25 06:41:44 -07:00
Adam Ierymenko
d32a26f780
Merge pull request #428 from danielskowronski/netbsd-support
...
NetBSD support (we still consider this unsupported, but it might work -- thanks!)
2018-04-25 06:39:37 -07:00
Adam Ierymenko
42ec780a6f
Merge branch 'dev' into netbsd-support
2018-04-25 06:39:02 -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
7492e2789f
Merge pull request #722 from jonathonf/dev
...
Fix ed25519-amd64-asm PIC compatibility
2018-04-25 06:08:12 -07:00
Adam Ierymenko
9564a8eaf6
Delete junk.
2018-04-23 14:56:22 -07:00
Adam Ierymenko
f12c0e79c9
GitHub issue #723
2018-04-23 14:11:26 -07:00
Jonathon Fernyhough
e4e0be979e
Fix ed25519-amd64-asm PIC compatibility
...
The Hyperledger implementation (https://github.com/hyperledger/iroha-ed25519 )
contains changes to the assembly code to allow PIC. This in turn fixes
compilation/linking of ZeroTier One when "full hardening" flags are used.
2018-04-21 16:18:00 +01: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
94f41e2332
Merge branch 'dev' of github.com:zerotier/ZeroTierOne into dev
2018-04-18 08:08:06 -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
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
54218f6c3c
Merge pull request #690 from Pablohn26/master
...
Warn about invalid network id instead of help
2018-04-18 08:05:28 -07:00
Adam Ierymenko
6fdbdf9272
Merge pull request #712 from elmar/master
...
fix typo in documentation
2018-04-18 08:04:19 -07:00
Adam Ierymenko
3de7691af3
Merge branch 'master' of github.com:zerotier/ZeroTierOne
...
* Features and Core Improvements
* Path selection has been overhauled to improve path stability, simplify code, and prepare for multi-path and trunking in the next major release.
* This version introduces remote tracing for remote diagnostics. Network controllers can set a node (usually the controller itself) to receive remote tracing events from all members of the network or from select members. Events are only sent if they pertain to a given network for security reasons.
* Multicast replication can now be done by designated multicast replicators on a network (flagged as such at the controller) rather than by the sender. Most users won't want this, but it's useful for specialized use cases on hub-and-spoke networks and for low-power devices.
* Cryptographic performance improvements on several platforms.
* Multithreaded performance improvements throughout the code base, including the use of an inline lightweight spinlock for low-contention resources.
* Bugs fixed
* Disappearing routes on Mac (GitHub issue #600 )
* Route flapping and path instability in some dual-stack V4/V6 networks
* Blacklist (in local.conf) doesn't work reliably (GitHub issue #656 )
* Connection instabilities due to unsigned integer overflows in timing comparisons (use int64_t instead of uint64_t)
* Binaries don't run on some older or lower-end 32-bit ARM chips (build problem)
* ARM NEON crypto code crashes (build problem)
* Fixed some lock ordering issues revealed by "valgrind" tool
* The "zerotier-idtool" command could not be accessed from "zerotier-one" via command line switch
* Leaking sockets on some platforms when uPnP/NAT-PMP is enabled
* Fixed two very rare multithreading issues that were only observed on certain systems
* Platform-Specific Changes
* MacOS
* Installer now loads the kernel extension right away so that High Sierra users will see the prompt to authorize it. This is done in the "Security & Privacy" preference pane and must be done driectly on the console (not via remote desktop). On High Sierra and newer kexts must be authorized at the console via security settings system preferences pane.
* Windows
* The Windows installer should now install the driver without requiring a special prompt in most cases. This should make it easier for our packages to be accepted into and updated in the Chocolatey repository and should make it easier to perform remote installs across groups of machines using IT management and provisioning tools.
* The Windows official packages are now signed with an EV certificate (with hardware key).
* The Windows UI can now log into ZeroTier Central and join networks via the Central API.
* The `zerotier-idtool` command should now work on Windows without ugly hacks.
* Upgraded the installer version.
* Made a few changes to hopefully fix sporadic "will not uninstall" problems, though we cannot duplicate these issues ourselves.
* Linux
* Device names are now generated deterministically based on network IDs for all newly joined networks.
* Android
* Multicast now works on Android in most cases! Android apps can send and receive multicast and subscribe to multicast group IPs. Note that in some cases the app must bind to the specific correct interface for this to work.
* IPv6 can be disabled in UI for cases where it causes problems.
2018-04-17 13:32:39 -07:00
Adam Ierymenko
bbed93bcf4
* Features and Core Improvements
...
* Path selection has been overhauled to improve path stability, simplify code, and prepare for multi-path and trunking in the next major release.
* This version introduces remote tracing for remote diagnostics. Network controllers can set a node (usually the controller itself) to receive remote tracing events from all members of the network or from select members. Events are only sent if they pertain to a given network for security reasons.
* Multicast replication can now be done by designated multicast replicators on a network (flagged as such at the controller) rather than by the sender. Most users won't want this, but it's useful for specialized use cases on hub-and-spoke networks and for low-power devices.
* Cryptographic performance improvements on several platforms.
* Multithreaded performance improvements throughout the code base, including the use of an inline lightweight spinlock for low-contention resources.
* Bugs fixed
* Disappearing routes on Mac (GitHub issue #600 )
* Route flapping and path instability in some dual-stack V4/V6 networks
* Blacklist (in local.conf) doesn't work reliably (GitHub issue #656 )
* Connection instabilities due to unsigned integer overflows in timing comparisons (use int64_t instead of uint64_t)
* Binaries don't run on some older or lower-end 32-bit ARM chips (build problem)
* ARM NEON crypto code crashes (build problem)
* Fixed some lock ordering issues revealed by "valgrind" tool
* The "zerotier-idtool" command could not be accessed from "zerotier-one" via command line switch
* Leaking sockets on some platforms when uPnP/NAT-PMP is enabled
* Fixed two very rare multithreading issues that were only observed on certain systems
* Platform-Specific Changes
* MacOS
* Installer now loads the kernel extension right away so that High Sierra users will see the prompt to authorize it. This is done in the "Security & Privacy" preference pane and must be done driectly on the console (not via remote desktop). On High Sierra and newer kexts must be authorized at the console via security settings system preferences pane.
* Windows
* The Windows installer should now install the driver without requiring a special prompt in most cases. This should make it easier for our packages to be accepted into and updated in the Chocolatey repository and should make it easier to perform remote installs across groups of machines using IT management and provisioning tools.
* The Windows official packages are now signed with an EV certificate (with hardware key).
* The Windows UI can now log into ZeroTier Central and join networks via the Central API.
* The `zerotier-idtool` command should now work on Windows without ugly hacks.
* Upgraded the installer version.
* Made a few changes to hopefully fix sporadic "will not uninstall" problems, though we cannot duplicate these issues ourselves.
* Linux
* Device names are now generated deterministically based on network IDs for all newly joined networks.
* Android
* Multicast now works on Android in most cases! Android apps can send and receive multicast and subscribe to multicast group IPs. Note that in some cases the app must bind to the specific correct interface for this to work.
* IPv6 can be disabled in UI for cases where it causes problems.
2018-04-17 13:30:37 -07:00
Adam Ierymenko
8900b30b6e
Windows installer tweaks and version bumps.
2018-04-17 12:47:33 -07:00
Adam Ierymenko
ae4fb799e4
More versioning
2018-04-17 12:14:59 -07:00
Adam Ierymenko
3f1d1fb3c3
'versioning'
2018-04-17 12:12:49 -07:00
Adam Ierymenko
f0a23ae0ea
docs
2018-04-17 10:48:00 -07:00
Elmar S. Heeb
c14f9cc247
fix typo in documentation
2018-04-14 10:52:30 +02:00
Adam Ierymenko
e276b6463e
Release notes, and shorten Linux canonical network ID derived device names a bit.
2018-04-12 10:33:06 -04:00
Adam Ierymenko
9da7967197
Merge branch 'dev' into edge
2018-04-12 09:08:48 -04:00
Adam Ierymenko
74f2b78c04
Refactor some potentially unsafe SharedPtr<> code.
2018-04-06 08:10:34 -07:00
Adam Ierymenko
2021f8cb5f
Merge branch 'dev' into edge
2018-03-29 13:34:54 -07:00
Adam Ierymenko
40a9ebd078
GitHub issue #675
2018-03-29 10:44:57 -07:00
Adam Ierymenko
8c1b73b29c
GitHub issue #701
2018-03-29 10:25:29 -07:00
Adam Ierymenko
6679a55693
certutil needs -f in case TrustedProvider store is not yet created
2018-03-27 19:15:14 -07:00
Adam Ierymenko
1101c1d919
Works on 32-bit too now.
2018-03-27 18:46:06 -07:00
Adam Ierymenko
fcb529b348
Take two on unattended driver installs. I think it works now.'
2018-03-27 17:53:28 -07:00
Adam Ierymenko
680b1ca208
Upgrade installer AIP versions and redo how we bundle the driver sub-installer to allow unattended driver installs (hopefully).
2018-03-27 14:19:45 -07:00
Adam Ierymenko
af74fe1711
Merge branch 'dev' into edge
2018-03-21 15:32:04 -07:00
Adam Ierymenko
494cf4049e
Add specification of anchor and multicast hub address (optional) to new multicast and IPv4 enabled ad-hoc network ID format.
2018-03-21 15:31:48 -07:00
Adam Ierymenko
c908b9f67a
Add anchor and multicast hub address field to new multicast enabled ad-hoc address format.
2018-03-21 15:27:26 -07:00
Adam Ierymenko
209f6d9d2d
Merge branch 'dev' into edge
2018-03-19 11:18:54 -07:00
Adam Ierymenko
916077012e
Make sure fopen is in binary mode on Windows.
2018-03-16 11:27:11 -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
Adam Ierymenko
a59912f3af
SHA512 using libcrypto (not enabled by default)
2018-03-12 16:56:47 -07:00
Adam Ierymenko
610e594a50
Speed tweaks for signatures, etc.
2018-03-12 16:16:20 -07:00
Joseph Henry
b4e2547052
Minor tweak to QNAP path getter
2018-03-12 11:23:10 -07:00
Pablo Hinojosa
a9778549f2
Warn about invalid network id instead of help
2018-03-11 03:39:13 +01:00
Adam Ierymenko
b601041b5b
Merge branch 'edge' of http://10.6.6.2/zerotier/ZeroTierOne into edge
2018-03-09 07:51:43 -08:00
Adam Ierymenko
0945d6ec0d
Merge branch 'dev' into edge
2018-03-09 07:50:38 -08:00
Adam Ierymenko
78d9cee416
Other fixes to IPv4 ad-hoc networks.
2018-03-09 00:10:01 -08:00
Adam Ierymenko
bbdb2aa672
Some work on IPv4 enabled ad-hoc networks.
2018-03-08 23:53:57 -08:00
Adam Ierymenko
574b24c082
docs
2018-03-08 22:41:42 -08:00
Adam Ierymenko
874a187c7f
cleanup
2018-03-08 22:39:51 -08:00
Adam Ierymenko
e8fb443313
Forgot one other use in RethinkDb driver.
2018-03-08 22:34:51 -08:00
Adam Ierymenko
57b96af2c4
Fix for FileDB _networkChanged / _memberChanged problem.
2018-03-08 22:33:08 -08:00
Grant Limberg
e61d4ab67a
Merge branch 'dev' into edge
2018-02-23 13:58:24 -08:00
Grant Limberg
2ee358dbfc
TAP driver requires input and output buffers for calls passed into DeviceIoControl
...
Otherwise the driver returns STATUS_INVALID_PARAMETER and the call fails. This should fix some Multicast issues on Windows
2018-02-23 13:42:02 -08:00
Joseph Henry
e3bb67d188
Added debug output convenience macros
2018-02-16 16:55:31 -08:00
Grant Limberg
2d289a3308
Just a little cleanup
2018-02-16 15:20:07 -08: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
Grant Limberg
7793060723
Add HashiCorp Vault storage of ZeroTier's public & secret identity
...
Adds a "vault" section to local.conf. Example local.conf:
{
"config": {
"vault": {
"vaultURL": "https://some.vault.host:8200 ",
"vaultToken": "my-super-secret-vault-token",
"vaultPath": "secure/place/to/put/identity"
}
}
Additionally, the following environment variables can be set. Environment variables override local.conf:
VAULT_ADDR
VAULT_TOKEN
VAULT_PATH
Identities will be placed in the keys "public" and "secret" under the user specified path. If no path is specified, they will be placed in the token specific cubbyhole.
If identity.public and identity.secret exist on disk and vault is configured, they will be automatically added to Vault and removed from disk.
TODO:
* Decide behavior for if Vault cannot be reached.
* Add libcurl as a dependency in Linux & Mac builds
* Add libcurl as a requirement for linux packages
2018-02-16 14:30:27 -08:00
Grant Limberg
84302ae9c7
Add CURL libs to VC project
2018-02-16 14:21:38 -08:00
Grant Limberg
cd801b96fa
libcurl binaries for Windows
2018-02-16 10:31:37 -08:00
Grant Limberg
5ff0653f9e
Hooks into StateGet and StatePut for grabbing identity.secret from Vault
2018-02-16 10:18:10 -08:00
Grant Limberg
9574d635c1
Add Vault configuration option parsing to local.conf
...
{
"settings": {
...
"valut": {
"vaultURL": "...",
"vaultKey": "...",
"vaultPath": "..."
}
}
}
2018-02-16 10:18:10 -08: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
f9b07c63db
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2018-02-12 09:30:12 -08:00
Grant Limberg
8828fc7520
some JNI error checking
2018-02-12 09:29:44 -08:00
Adam Ierymenko
978d8fcd4a
Merge branch 'dev' of http://10.187.63.16/zerotier/ZeroTierOne into dev
2018-02-09 06:35:09 +00:00
Adam Ierymenko
51aadcf901
A few fixes dicatated by valgrind.
2018-02-09 06:35:01 +00:00
Joseph Henry
db952a050a
Added platform checks for Windows in OneService
2018-02-08 14:15:32 -08:00
Grant Limberg
f049740ae5
silence LOGV and LOGD in release builds for android
2018-02-07 15:53:23 -08:00
neutronscott
73ca9b6373
check physical blacklist for interface binding as well
2018-02-03 14:53:46 -05:00
Adam Ierymenko
c6949aad2d
Linux build fix on some versions.
2018-02-02 17:11:23 -08:00
Travis LaDuke
e57d0fdccc
Update README.md
...
this ip changes sometimes
2018-02-02 10:30:49 -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
ff95b0278c
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2018-02-01 12:46:40 -08:00
Adam Ierymenko
fe1fa20c6c
Fix build on Intel C/C++ Compiler for Linux.
2018-02-01 12:46:35 -08:00
Joseph Henry
a867fe404b
Omit pragma comment for ZT_SDK builds on Windows
2018-01-31 17:08:42 -08:00
Adam Ierymenko
d6e8a5f3ca
Fix Windows compile error.
2018-01-30 16:07:41 -08:00
Grant Limberg
4878d8ec15
Add CAP_NET_BIND_SERVICE to capabilities
2018-01-30 10:47:31 -08:00
Adam Ierymenko
f7019d9e80
Tie up the rest of hub and spoke designated replicator multicast mode.
2018-01-26 22:14:10 -05:00
Adam Ierymenko
6d8e1e8783
More cleanup of old stuff.
2018-01-26 21:34:56 -05:00
Adam Ierymenko
939ab43ceb
Do not send to origin in second buffered multicast path.
2018-01-26 21:22:51 -05:00
Adam Ierymenko
d3d58ba8a7
Add support for designated multicast replicators to Multicaster::send().
2018-01-26 21:19:51 -05:00
Adam Ierymenko
f03fd57997
Clean up some multicast code.
2018-01-26 20:38:44 -05:00
Adam Ierymenko
e74cd4b4ef
A little more cleanup.
2018-01-26 20:06:11 -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
384e5b66de
More work on GitHub issue #666
2018-01-25 14:16:07 -05:00
Adam Ierymenko
7e7723e98f
A small memory use reduction.
2018-01-25 09:57:02 -05:00
Adam Ierymenko
4419734a7d
Implement continuous contacting of designated anchors and multicast replicators - GitHub issue #666
2018-01-25 07:11:59 -05:00
Adam Ierymenko
f821db29f3
.
2018-01-24 17:12:53 -05:00
Adam Ierymenko
6c64f1816d
cleanup
2018-01-24 16:16:00 -05:00
Adam Ierymenko
34e2ad0dfc
Stub out NetworkConfig for GitHub issue #666
2018-01-24 14:43:04 -05:00
Adam Ierymenko
055b99c3cb
cleanup
2018-01-12 15:44:27 -08:00
Adam Ierymenko
531842dc6b
Update miniupnpc to latest version (included library)
2018-01-12 15:30:40 -08:00
Adam Ierymenko
d7f3c33d72
Add zerotier-idtool to Windows.
2018-01-12 15:03:45 -08:00
Adam Ierymenko
4e689998f9
Sanity checks on array sizes and fix a bug in IPv4 auto-assign.
2018-01-12 10:38:19 -08:00
Adam Ierymenko
cd2a4b709c
Reduce maximum batcn size for status updates but increase the number of whole record commit threads.
2018-01-12 09:18:27 -08:00
Adam Ierymenko
d96aeac335
docs
2018-01-11 16:44:24 -08:00
Adam Ierymenko
c594351bcc
Remove old code.
2018-01-11 14:32:55 -08:00
Adam Ierymenko
5f976d7430
Reenable faster lock.
2018-01-11 14:31:19 -08:00
Adam Ierymenko
f87326fc21
Fixes for lock ordering -- GitHub issue #573
2018-01-11 14:29:57 -08:00
Adam Ierymenko
0574a70fac
docs
2018-01-11 09:49:13 -08:00
Adam Ierymenko
4e79804cd3
cleanup
2018-01-10 16:56:39 -08:00
Adam Ierymenko
86d5264167
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2018-01-10 16:55:15 -08:00
Adam Ierymenko
5bc4399a58
cleanup
2018-01-10 16:55:07 -08:00
Grant Limberg
406bcf7d3f
Fix compilation on Windows
...
DEBUG macro from miniupnpc interferring with enum Trace::DEBUG;
2018-01-10 15:24:54 -08:00
Adam Ierymenko
f17cc1c6d8
cleanup
2018-01-10 15:03:39 -08:00
Joseph Henry
57077e4607
Added (get) command blurb in cli help
2018-01-10 14:40:31 -08:00
Adam Ierymenko
6304c85d3f
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2018-01-10 14:31:31 -08:00
Adam Ierymenko
a1992d76f2
Doc updates and other fixes.
2018-01-10 14:31:28 -08:00
Joseph Henry
98b07f7f3c
Added (get) command to cli to single out JSON fields
2018-01-10 14:05:28 -08:00
Joseph Henry
6e1823ac81
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2018-01-10 12:43:18 -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
Adam Ierymenko
9bab49d2f9
Move DB stuff into Db.
2018-01-09 12:39:25 -08:00
Adam Ierymenko
2751a6d56d
cleanup
2018-01-09 12:31:00 -08:00
Adam Ierymenko
07cb62a503
cleanup
2018-01-09 11:41:26 -08:00
Adam Ierymenko
8a3b698407
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2018-01-09 11:23:44 -08:00
Adam Ierymenko
0c71d658fb
cleanup
2018-01-09 11:23:39 -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
1aea096b63
GitHub issue #492
2018-01-09 09:05:22 -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
01b4cb64ee
cleanup
2018-01-09 08:35:02 -08:00
Adam Ierymenko
6fbd15f8b2
cleanup
2018-01-08 15:56:53 -08:00
Adam Ierymenko
65c07afe05
Copyright updates for 2018.
2018-01-08 14:33:28 -08:00
Adam Ierymenko
e338c5f91d
cleanup
2018-01-08 14:27:55 -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
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
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
Joseph Henry
a9c4ce38f0
eh
2017-12-18 15:07:58 -08:00
Joseph Henry
bbc39d7648
Restore managed ZT routes that are deleted or otherwise mangled locally (Attempted fix for ticket #600 )
2017-12-18 15:05:19 -08:00
Adam Ierymenko
d3e8e9629b
More optimization work.
2017-12-15 14:24:17 -08: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
Adam Ierymenko
cb8e7b4d5e
Make UDP read loop eventually move on.
2017-12-15 10:15:13 -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
7a22f01dd8
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2017-12-14 08:53:32 -08:00
Adam Ierymenko
4704d115c4
Some controller fixes.
2017-12-14 08:53:24 -08:00
Joseph Henry
12c621c230
Removed build flag in CMake script
2017-12-13 14:57:20 -08:00
Joseph Henry
cba65d897a
Added CMake build script for libzerotiercore.a
2017-12-13 14:55:17 -08:00
Adam Ierymenko
e4a10cc510
Member commit bug fix.
2017-12-08 19:00:38 -05:00
Adam Ierymenko
249c27afd5
Fix old bug invoking idtool personality with -i
2017-12-08 11:17:07 -08:00
Adam Ierymenko
38cc89b2ca
Add time to rethinkdb message output in controller.
2017-12-08 12:39:20 -05:00
Adam Ierymenko
aeb1794be1
Comment out storage of secret ID in RethinkDb.
2017-12-07 16:04:41 -08:00
Adam Ierymenko
dae728124e
Fix to network path in conventional filesystem controller DB.
2017-12-07 14:42:33 -08:00
Adam Ierymenko
cf30b1fcdf
GitHub issue #589
2017-12-07 17:13:24 -05:00
Adam Ierymenko
19bfef36f1
Build fix.
2017-12-07 16:45:43 -05:00
Adam Ierymenko
8d9464c414
docs, and make RethinkDB controller DB driver upsert into the Controller DB and also update the hostname field.
2017-12-07 13:39:25 -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
f13886d343
Warning removal.
2017-12-05 17:53:28 -05:00
Adam Ierymenko
520b0601db
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2017-12-05 14:51:06 -08:00
Adam Ierymenko
926ecf9640
docs
2017-12-05 14:50:59 -08:00
Adam Ierymenko
c57198decd
Add remoteTraceLevel to controller.
2017-12-05 17:49:20 -05:00
Adam Ierymenko
431716e249
Disable trace by default, stderr message improvements in RethinkDB driver.
2017-12-05 17:16:45 -05:00
Adam Ierymenko
694709f392
Add timestamp to network status.
2017-12-04 19:21:56 -05:00
Adam Ierymenko
16613ab5fb
Clean up remote tracing code, add per-network remote trace settings, add remote trace level, and make local trace output readable again.
2017-12-04 14:40:10 -08:00
Adam Ierymenko
c26bf45e28
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2017-11-29 04:47:16 -08:00
Adam Ierymenko
23e5c7b38d
Fix self-test compile.
2017-11-29 04:47:10 -08:00
Joseph Henry
382dd82eb6
Fix for local.conf virtual path blacklist (ticket #594 )
2017-11-27 15:31:25 -08:00
Joseph Henry
f18d5b2efe
Attempted fix for github issue #597 , leaking sockets. Added call to closenatpmp() after failure to init
2017-11-27 14:23:55 -08:00
Adam Ierymenko
0fb22df633
Get ephemeral status fields out of the configs. They do not belong there and it just complicates things.
2017-11-09 17:01:16 -05:00
Adam Ierymenko
750e36993f
GitHub issue #617
2017-11-09 11:35:46 -05:00
Adam Ierymenko
f7f658605d
Move more ephemeral stuff to a tiny MemberLastRequest table instead of the main Member table.
2017-11-08 20:19:46 -05:00
Adam Ierymenko
192e5dbff8
Another fix for uptime logging.
2017-11-08 20:02:10 -05:00
Adam Ierymenko
ef224c3547
RethinkDB build fix.
2017-11-08 19:52:36 -05:00
Adam Ierymenko
c12b68a6b2
More Central work.
2017-11-08 11:32:01 -08:00
Adam Ierymenko
4166d8ca35
Fix a deadlock and some more work on RethinkDB (for central) integration.
2017-11-08 11:06:14 -08:00
Adam Ierymenko
53e7e950f1
Windows build fixes.
2017-11-07 16:39:12 -08:00
Adam Ierymenko
0612879dec
Fix const.
2017-11-07 16:23:56 -08:00
Adam Ierymenko
3b21f946e4
Remove manual define of include rethinkdb driver symbol.
2017-11-07 16:18:48 -08:00
Adam Ierymenko
9f85371073
cleanup
2017-11-07 15:23:16 -08:00
Adam Ierymenko
cb550ab4fe
Merge branch 'dev' into edge
2017-11-07 14:59:18 -08:00
Adam Ierymenko
b8cbf08617
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2017-11-07 14:59:03 -08:00
Adam Ierymenko
1613f42d00
Re-integrate in-filesystem DB into new controller DB structure.
2017-11-07 14:44:46 -08:00
Joseph Henry
e5d1243dd2
Minor changes to SDK-related portions of OneService
2017-11-06 13:43:56 -08:00
Adam Ierymenko
7fc9094d8e
More fixes to RethinkDB.
2017-11-03 22:40:26 -04: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
d97adc8789
Preparing for test.
2017-11-03 12:32:56 -07:00
Adam Ierymenko
f5014d7d71
RethinkDB direct connectivity integration.
2017-11-03 11:39:27 -07:00
Adam Ierymenko
4e88c80a22
RethinkDB native connector work, minor fixes.
2017-11-02 07:05:11 -07:00
Adam Ierymenko
a6203ed038
icon
2017-10-29 12:01:15 -07:00
Adam Ierymenko
1db547d607
Windows build fixes, AIP file update.
2017-10-25 16:25:57 -07: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
fac7dc9c91
Stop duplciate IPv6 addresses due to privacy mode IPs.
2017-10-25 16:01:36 -07:00
Adam Ierymenko
508fa6a7fe
A few fixes for cluster mode.
2017-10-25 15:44:10 -07:00
Adam Ierymenko
71bdaa9508
Now with more worky.
2017-10-25 13:27:28 -07:00
Adam Ierymenko
459f1e7bfb
Refactor path stability stuff and add basic multipath support.
2017-10-25 12:42:14 -07:00
Adam Ierymenko
0d8b8d8426
Remove some unused constants.
2017-10-24 15:04:19 -07:00
Adam Ierymenko
2d0dc62a53
docs
2017-10-24 14:57:02 -07:00
Adam Ierymenko
0d8e134f9f
Warning removal.
2017-10-24 14:54:15 -07:00
Adam Ierymenko
c7d370c17f
Delete something that turns out not to be useful. This will be handled differently.
2017-10-24 14:49:38 -07:00
Adam Ierymenko
395d8b3139
Full and clearer implementation of GitHub issue #588
2017-10-24 13:33:53 -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
Adam Ierymenko
5a8aa66641
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2017-10-24 12:22:02 -07: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
Grant Limberg
629a3a2a24
call setFriendlyName() after tap adapter is initialized
2017-10-16 12:16:05 -07:00
Joseph Henry
ee4783e3fb
ifdef omit of deletePersistentTapDevice() in OneService for libzt builds on Windows
2017-10-10 15:01:15 -07:00
Joseph Henry
f2c69ede96
Conditionally omit reference to CancelSynchronousIo in Thread.hp when MINGW32/64 is detected for libzt build - Symbol not supported
2017-10-10 12:21:52 -07:00
Grant Limberg
ceeb35eaac
If lastSend/lastReceive is < 0, just put 0.
2017-10-05 13:19:25 -07:00
Grant Limberg
099bedd2e9
A few more uint64_t -> int64_t changes for timestamps
2017-10-04 12:01:17 -07:00
Grant Limberg
4177a11522
remove some leftover debug code
2017-10-04 09:18:13 -07:00
Grant Limberg
3d4a1b575e
Update Android NDK with uint64_t -> int64_t changes
2017-10-03 11:25:26 -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
Grant Limberg
7cf70d111a
Return an explicit NULL shared pointer at the end of Topology::getPeer()
2017-09-28 10:40:27 -07:00
Grant Limberg
e564c56dce
Set size of buffer after setting data with unsafeData() call
2017-09-28 10:39:43 -07:00
Grant Limberg
239c2540d6
Mutex::lock and ::unlock just called themselves
2017-09-27 15:05:13 -07:00
Grant Limberg
c53d140145
Replace '_' with '__' in network names on toolbar menu in Windows
...
Otherwise WPF gobbles up the underscores
2017-09-27 13:24:29 -07:00
Grant Limberg
12a6a2f2d2
remove reference to invalid file
2017-09-27 13:07:24 -07:00
Grant Limberg
9c903567bb
Hashtable needs to include Constants.hpp for ZT_EXCEPTION_OUT_OF_MEMORY
2017-09-25 13:42:19 -07:00
Grant Limberg
6782dee64a
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2017-09-25 10:10:17 -07:00
Adam Ierymenko
302c15140e
Fix API problem with path configuration..
2017-09-25 08:53:55 -07:00
Grant Limberg
c666f92e35
new startup process UI for Windows
2017-09-22 15:33:09 -07:00
Grant Limberg
eb42ef68ee
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2017-09-22 10:22:22 -07:00
Adam Ierymenko
52916eebcf
Keep attemting to upgrade direct path if path is not private to facilitate better use of LANs and backplane networks.
2017-09-14 20:56:50 -07:00
Adam Ierymenko
f8014413a3
Add UDP MTU configurability.
2017-09-01 16:25:34 -07:00
Adam Ierymenko
2d858b05ac
Another fix for ye old tyme clients.
2017-09-01 12:03:31 -07:00
Adam Ierymenko
b1fb020aea
Raise chunk size to max packet size for network configs. Chunking breaks really ancient clients, so this helps them live a little longer. No real downside for new clients.
2017-09-01 10:43:44 -07:00
Adam Ierymenko
02ed84774c
Non-x86 build fix.
2017-08-31 20:47:44 -04:00
Adam Ierymenko
283e8d5bc0
Start threads in Central harnessed mode.
2017-08-31 18:01:21 -04:00
Joseph Henry
f39e2e2a53
Fixed typo of mysterious origin
2017-08-31 11:37:29 -07:00
Adam Ierymenko
5bf5d5e9cb
Minor controller stuff.
2017-08-30 17:22:25 -07:00
Adam Ierymenko
e51e212b95
Add some defines of use to low level developers.
2017-08-25 16:04:04 -07:00
Adam Ierymenko
6418d02572
Fix HTTP DELETE stupid bug.
2017-08-24 15:33:24 -07:00
Adam Ierymenko
49fa30d495
Ticket lock for x64/gcc/clang platforms.
2017-08-23 18:52:32 -07:00
Adam Ierymenko
dd8b03a5c5
Threading issue fix?
2017-08-23 18:28:40 -07:00
Adam Ierymenko
4d5983114c
Fix another deadlock.
2017-08-23 17:14:06 -07:00
Adam Ierymenko
0a9c3b5571
Fix possible deadlock.
2017-08-23 16:59:31 -07:00
Adam Ierymenko
180049a277
Fix pointer bug.
2017-08-23 16:55:22 -07:00
Adam Ierymenko
6ee201865b
Clean up WHOIS code.
2017-08-23 16:42:17 -07:00
Adam Ierymenko
b1d94c9f93
Performance improvement to RX queue ring buffer.
2017-08-23 15:19:26 -07:00
Adam Ierymenko
a156a4dbe2
Symmetric NAT cleanup.
2017-08-23 15:12:00 -07:00
Adam Ierymenko
2cebe7a5e0
Fix name difference.
2017-08-23 14:09:29 -07:00
Adam Ierymenko
9cfc109527
Tighten a few timings.
2017-08-23 14:00:08 -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
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
Adam Ierymenko
fcaf1d89c2
Get rid of some noisy remote traces that should not be needed.
2017-08-18 13:59:22 -07:00
Adam Ierymenko
106dff0d53
Make remote trace target null by default, which is probably what we want.
2017-08-18 13:52:10 -07:00
Adam Ierymenko
174ba8884e
Delete support in harnessed mode.
2017-08-17 13:10:10 -07:00
Adam Ierymenko
1ce0dcf0ea
Another Central harnessed mode fix.
2017-08-16 14:41:42 -07:00
Adam Ierymenko
1387e15c1b
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2017-08-16 14:14:56 -07:00
Adam Ierymenko
50e7ea088b
More work on controller for new Central harnessed mode, remove old http mode.
2017-08-16 14:14:49 -07:00
Joseph Henry
59b7cbb591
Rename SocketTap to VirtualTap to prevent confusion on role
2017-08-15 16:22:28 -07:00
Adam Ierymenko
23fe8975e7
.
2017-08-14 11:44:07 -07:00
Adam Ierymenko
a4bc40542b
GCC/G++ build fixes, GitHub issue #563
2017-08-14 11:43:39 -07:00
Joseph Henry
ee1dc16e8f
Added getRoutes() for libzt
2017-08-10 00:59:15 -07:00
Adam Ierymenko
1c04cc0485
.
2017-08-09 17:42:35 -07:00
Adam Ierymenko
2c682b4d1c
Small controller revisions, first run of controller API model JavaScript.
2017-08-09 14:37:19 -07:00
Grant Limberg
6842490c1f
Add menu option to open ZeroTier Central in the system default browser
2017-08-09 14:19:37 -07:00
Adam Ierymenko
ff5e22031a
Small fix: should expire packets to prevent repeated WHOISes.
2017-08-08 13:24:37 -07:00
Adam Ierymenko
e3cf756785
Make rxQueue lock-free using an atomic counter ring buffer.
2017-08-08 13:21:10 -07:00
Adam Ierymenko
7e6598e9ca
Possible deadlock fix.
2017-08-07 14:13:08 -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
e4823381c6
.
2017-07-19 15:16:15 -07:00
Adam Ierymenko
66feaeb519
.
2017-07-19 15:06:23 -07:00
Adam Ierymenko
8c6b833fb3
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2017-07-19 14:13:23 -07:00
Adam Ierymenko
b62296a40b
Bug fixes in new harness mode.
2017-07-19 14:13:17 -07:00
Grant Limberg
fc7728212f
Fix ifndef on Windows
2017-07-18 15:59:11 -07:00
Adam Ierymenko
31785f7f6e
Automatic periodic status dump from controller.
2017-07-18 15:36:33 -07:00
Adam Ierymenko
ae65eb5105
Cleanup and replace trace field names with sane ones because usability > a few bytes.
2017-07-18 14:28:38 -07:00
Adam Ierymenko
727ccb1125
Cleanup and stdin/stdout harness mode for controller.
2017-07-18 13:57:37 -07:00
Adam Ierymenko
77ce238457
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2017-07-17 17:02:57 -07:00
Adam Ierymenko
1685659e37
Remote tracing works.
2017-07-17 17:02:50 -07:00
Grant Limberg
0f03d4ef51
Update Jenkinsfile for new NDK in Jenkins
2017-07-17 16:55:00 -07:00
Grant Limberg
bcf697cc2b
Wire up PortMapper in Android
...
Enables UPnP port mapping for Android client on networks with UPnP routers
2017-07-17 16:16:25 -07:00
Adam Ierymenko
5e2ea4a81a
Cleanup.
2017-07-17 14:24:57 -07:00
Adam Ierymenko
b9e1d53d7a
Minor cleanup.
2017-07-17 14:21:09 -07:00
Adam Ierymenko
ab0806a036
Cleanup.
2017-07-17 13:48:39 -07:00
Adam Ierymenko
3a1ec07db0
Remove some exception copypasta.
2017-07-17 10:43:28 -07:00
Adam Ierymenko
d939d8d21d
A bit more remote tracing stuff.
2017-07-14 14:57:40 -07:00
Adam Ierymenko
d9552fb120
Add remoteTraceTarget to network and member configs in controller.
2017-07-14 14:33:36 -07:00
Adam Ierymenko
4ecc0c59ca
Plumbing through of remote trace into controller code.
2017-07-14 13:03:16 -07:00
Adam Ierymenko
0655a1fcbe
Move old cluster code into attic.
2017-07-13 16:42:43 -07:00
Adam Ierymenko
c8d0cf2c40
Merge branch 'dev' of github.com:zerotier/ZeroTierOne into dev
2017-07-13 16:31:30 -07:00
Adam Ierymenko
c692f2e740
Fix for new identity generation bug.
2017-07-13 16:31:16 -07:00
Alex
a83c7c0d07
remove debugging flag
2017-07-13 15:13:20 -07:00
Adam Ierymenko
ba6fd16823
More tracing stuff.
2017-07-13 15:08:57 -07:00
Adam Ierymenko
54893c35c1
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2017-07-13 10:51:19 -07:00
Adam Ierymenko
495c5ce81d
Bunch of remote tracing work.
2017-07-13 10:51:05 -07:00
Grant Limberg
4cc773ec1b
fix Windows build
2017-07-12 13:52:45 -07:00
Grant Limberg
69ae35494e
put the correct file extensions on data written to disk in JNI
2017-07-12 13:36:22 -07:00
Grant Limberg
512c3af4ea
fix packet sending functions
2017-07-12 13:12:45 -07:00
Grant Limberg
d8f1c3dff7
Update JNI code to reflect new ZeroTier API
2017-07-12 11:34:53 -07:00
Grant Limberg
0a11dd2d24
Fix NeighborDiscovery code now that ZT_SOCKADDR_NULL doesn’t exist
2017-07-11 15:45:36 -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
dab0fb9e05
Remote trace: plumbing, replace old TRACE with calls to Trace object.
2017-07-07 16:58:05 -07:00
Adam Ierymenko
e14d5d49a1
Merge branch 'master' into dev
2017-07-07 09:36:54 -07:00
Adam Ierymenko
782b2b1514
Merge pull request #537 from laduke/patch-1
...
Update README.md
2017-07-07 09:32:37 -07:00
Adam Ierymenko
a9582417e2
Merge pull request #547 from surgicalcoder/patch-1
...
Clarification on how to use JSON API with secret
2017-07-07 09:32:23 -07:00
Adam Ierymenko
69922b6c39
BSD build fix.
2017-07-07 09:29:24 -07:00
Adam Ierymenko
6fc70f7c16
More cleanup, Linux build fixes.
2017-07-07 06:50:40 -07:00
Monty A
a274e774ee
Clarification on how to use JSON API with secret
...
Makes it clear on how to use the authtoken.secret file when making requests.
2017-07-07 10:11:21 +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
53728b79b4
.
2017-07-06 12:35:23 -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
84748aab51
Merge branch 'dev' into edge
2017-07-06 10:26:04 -07:00
Adam Ierymenko
3fadc64ee0
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2017-07-06 10:25:58 -07:00
Adam Ierymenko
47594f7c99
Merge branch 'edge' of http://10.6.6.2/zerotier/ZeroTierOne into edge
2017-07-06 10:25:44 -07:00
Adam Ierymenko
2f20258807
.
2017-07-06 10:25:36 -07:00
Grant Limberg
47122a3804
Merge branch 'dev' into edge
2017-07-03 13:29:54 -07:00
Grant Limberg
1730f8f5b7
also cluster.hpp
2017-07-03 13:04:11 -07:00
Grant Limberg
d258a75cd3
remove Cluster.cpp from build list as it's been removed
2017-07-03 13:03:43 -07:00
Adam Ierymenko
baa10c2995
.
2017-06-30 17:32:07 -07:00
Grant Limberg
207d6572e0
fix for changelist posting to mattermost
2017-06-30 14:24:40 -07:00
Grant Limberg
10264cec2f
slackSend -> mattermostSend
2017-06-30 13:43:39 -07:00
Adam Ierymenko
0ea1749c59
Merge pull request #540 from skunkwerks/master
...
build: all BSDs expect gmake here
2017-06-30 09:55:43 -07:00
Dave Cottlehuber
dd83c680e5
build: all BSDs expect gmake here
2017-06-30 13:11:05 +00:00
Adam Ierymenko
1a40f35fd4
Merge branch 'dev' into edge
2017-06-27 11:32:14 -07:00
Adam Ierymenko
8a99113c88
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2017-06-27 11:32:07 -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
Adam Ierymenko
355cce3938
Rename Utils::snprintf due to it being a #define on one platform.
2017-06-27 11:31:29 -07:00
Travis LaDuke
9b2e08dd09
Update README.md
...
We've had multiple questions in the community chat regarding posting new
network and getting the curl syntax correct.
2017-06-26 11:53:35 -07:00
Joseph Henry
04cee3b8d3
Merge branch 'dev' of https://github.com/zerotier/ZeroTierOne into dev
2017-06-26 02:13:40 -07:00
Joseph Henry
c61440efea
Detect platformDefaultHomePath on QNAP systems
2017-06-25 20:20:30 -07:00
Adam Ierymenko
02d18af57d
Remove Cluster.hpp
2017-06-23 16:10:26 -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
Alex
6b130e8311
fix for windows compilation (related to SDK implementation)
2017-06-21 14:58:39 -07:00
Alex
1b18923824
except wondows/lib
2017-06-13 14:25:53 -07:00
Alex
fc2ce439e2
remove unneeded files
2017-06-13 14:23:11 -07:00
Alex
5b3d9f9184
added Windows SDK in form of dlls
2017-06-13 13:28:23 -07:00
Adam Ierymenko
dd68c207f4
Stuff old Cluster code in attic.
2017-06-08 08:51:49 -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
d7b4f24a7a
.
2017-06-01 17:21:57 -07:00
Adam Ierymenko
e8d11eb5c5
.
2017-06-01 17:21:04 -07:00
Adam Ierymenko
7f4da08ff7
.
2017-06-01 12:57:44 -07:00
Adam Ierymenko
1f9414a30f
.
2017-06-01 12:38:04 -07:00
Adam Ierymenko
6015b529a0
More clustering work.
2017-06-01 12:33:05 -07:00
Adam Ierymenko
76452b4e28
Data structure fixup.
2017-06-01 07:39:31 -07:00
Adam Ierymenko
64b7d9ef82
New clustering work.
2017-06-01 07:15:46 -07:00
Joseph Henry
7bc9666aac
fix for SDK's route/tap association in getTap()
2017-05-31 13:07:03 -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
2ec88e8008
Remove old circuit test code. Rules engine will let us do this much better and more simply.
2017-05-30 10:19:45 -07:00
Joseph Henry
36049a940c
added campaign tags to README.md
2017-05-25 17:09:21 -07:00
Grant Limberg
952834f7f3
Let Android Studio determine debug/release build
2017-05-23 14:56:29 -07:00
Adam Ierymenko
f9a9c2d009
Config object was never even being initialized on leave. Never noticed since desktop and server clients did not use.
2017-05-23 14:45:16 -07:00
Adam Ierymenko
fb71a6e2b4
skipRootCheck should also prevent dropping of privs on Linux
2017-05-19 16:16:10 -07:00
Adam Ierymenko
5e6a2a17b0
Cluster build fix.
2017-05-19 15:32:52 -07:00
Adam Ierymenko
92289c1981
Move to canonical device naming on Linux.
2017-05-19 15:18:47 -07:00
Adam Ierymenko
99e2098a48
Add a way to specify a different interface prefix (for internal use mostly).
2017-05-19 14:00:08 -07:00
Adam Ierymenko
5fc1c1de28
.
2017-05-19 13:24:40 -07:00
Grant Limberg
2fac693243
I guess there's a bug in Clipboard.SetText(). Clipboard.SetDataObject() works, though.
2017-05-12 16:42:54 -07:00
Grant Limberg
e9b956ed71
Swallow a possible ArgumentNullException when copying text to the system clipboard
2017-05-12 16:05:29 -07:00
Adam Ierymenko
236a952458
typo
2017-05-11 14:26:46 -07:00
Adam Ierymenko
426b7c2c76
Stupid bug is stupid.
2017-05-11 14:13:38 -07:00
Adam Ierymenko
22780a8504
Merge branch 'dev' of http://10.187.63.16/zerotier/ZeroTierOne into dev
2017-05-10 13:48:55 -07:00
Adam Ierymenko
a437fd420c
version
2017-05-10 13:48:47 -07:00
Adam Ierymenko
2d74c60d47
Add branch hints to bounds checking in Buffer.
2017-05-09 21:54:23 -07:00
Adam Ierymenko
ceee56af51
Fix for small stacks.
2017-05-09 21:36:25 -07:00
Adam Ierymenko
d297d8fe2e
Musl fix
2017-05-09 21:21:56 -07:00
Adam Ierymenko
f479b76772
define likely/unlikely
2017-05-09 20:22:08 -07:00
Grant Limberg
73f7088b45
Run Join/Leave commands asynchronously so the UI doesn't lock up on thoise commands
2017-05-08 16:17:33 -07:00
Adam Ierymenko
b3dd5c0e3a
Build fix.
2017-05-08 14:51:12 -07:00
Adam Ierymenko
ee7ee22555
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2017-05-08 14:46:54 -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
Grant Limberg
8c30b2b9f5
Fixed falling out of the network monitor thread if the ZeroTier service isn't running on Windows
2017-05-08 13:27:54 -07:00
Adam Ierymenko
b9c1407013
Adjust PUSH_DIRECT_PATH circuit breaker, and comment out traces to reduce noise.
2017-05-08 09:36:37 -07:00
Adam Ierymenko
d905607353
Small optimizations.
2017-05-08 08:35:55 -07:00
Adam Ierymenko
e5e90b1f71
Wire MTU through to service.
2017-05-04 20:10:49 -07:00
Adam Ierymenko
d5ed025871
Support MTU reconfigure for Windows.
2017-05-04 19:50:02 -07:00
Adam Ierymenko
b55422a528
MTU integration in taps.
2017-05-04 19:31:50 -07:00
Adam Ierymenko
909a14fb48
MTU support in controller.
2017-05-04 17:22:24 -07:00
Adam Ierymenko
107e3e4106
First pass of configurable MTU and max MTU increase.
2017-05-04 17:12:02 -07:00
Adam Ierymenko
6ef247fb93
More ARM stuff.
2017-05-04 16:00:53 -07:00
Adam Ierymenko
b8e46b835b
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2017-05-04 15:54:15 -07:00
Adam Ierymenko
0900fee5d9
Linux build stuff for ARM.
2017-05-04 15:54:08 -07:00
Joseph Henry
1f26cb98de
updated OneService convenience functions for SDK
2017-05-04 15:26:44 -07:00
Joseph Henry
ceeb8ee0bc
added isEqualPrefix to InetAddress
2017-05-04 15:25:48 -07:00
Adam Ierymenko
54c47a1e03
Add some historic code just for the heck of it.
2017-05-04 10:42:22 -07:00
Adam Ierymenko
6bb855873d
GitHub issue #494 -- shut down and restart UI on Mac pkg install/upgrade.
2017-05-03 15:03:26 -07:00
Adam Ierymenko
39db45e144
Fix crash on exit (sometimes) in controller.
2017-05-03 09:48:08 -07:00
Adam Ierymenko
41c187ba12
Another very small crypto optimization.
2017-05-03 07:43:23 -07:00
Adam Ierymenko
d7c99728bc
Echo back ping payload.
2017-05-02 17:28:18 -07:00
Adam Ierymenko
8e19188f49
Do the sometimes rather big "pong" in a background worker thread.
2017-05-02 16:58:51 -07:00
Adam Ierymenko
625e3e8e25
Tiny optimization to prealloc string space.
2017-05-02 13:53:47 -07:00
Adam Ierymenko
fde99e2fcf
Fix for post size limit in Http library.
2017-05-02 12:08:53 -07:00
Adam Ierymenko
132643cd4a
Fix small issue preventing pongs if there are never seen members.
2017-05-02 10:34:33 -07:00
Adam Ierymenko
faf7b81c01
Send last requets time in status, and do not set physicalAddr unless we know one.
2017-05-01 15:48:52 -07:00
Adam Ierymenko
bcc6799902
Send member uptime in pong posts.
2017-05-01 15:23:21 -07:00
Adam Ierymenko
718e1d6c08
Finish removing constantly changing stuff from controller.
2017-05-01 13:21:26 -07:00
Adam Ierymenko
a9ce773584
Remove lastModified field in config which literally nothing uses anywhere, and prevent some unnecessary writes.
2017-04-28 19:58:21 -07:00
Adam Ierymenko
d69bc4fb5e
Main license file.
2017-04-27 20:54:42 -07:00
Adam Ierymenko
1b68d6dbdc
License header update.
2017-04-27 20:47:25 -07:00
Adam Ierymenko
62578a2162
Reduce memory use and a bit of cleanup.
2017-04-27 19:36:03 -07:00
Adam Ierymenko
9e80db0fd1
Cleanup, fix a valgrind error, stack use reduction.
2017-04-27 00:59:36 -07:00
Adam Ierymenko
e8ab6adf89
Deadlock fix.
2017-04-26 12:17:43 -07:00
Adam Ierymenko
7c184cf991
Another performance improvement to controller.
2017-04-26 10:35:59 -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
e7cd888c7d
dev is now 1.2.5
2017-04-26 06:50:12 -07:00
Adam Ierymenko
1205578935
Big cleanup of controller code, should help performance.
2017-04-26 06:48:08 -07:00
Adam Ierymenko
4e77365e8d
Remove a little cruft.
2017-04-25 16:17:54 -07:00
Adam Ierymenko
4f2a779769
JSONDB performance improvements, threading fix.
2017-04-24 20:51:02 -07:00
Adam Ierymenko
cafbe44dde
Controller optimizations -- make locking more fine-grained, use true hardware concurrency, etc.
2017-04-24 19:16:36 -07:00
Adam Ierymenko
6234bfd8bf
4-core Debian build.
2017-04-24 18:40:34 -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
fe5257df81
VERSION 1.2.4: Bug fixes and performance improvements
...
* Managed routes are now only bifurcated for the default route. This is a change in behavior, though few people will probably notice. Bifurcating all managed routes was causing more trouble than it was worth for most users.
* Up to 2X crypto speedup on x86-64 (except Windows, which will take some porting) and 32-bit ARM platforms due to integration of fast assembly language implementations of Salsa20/12 from the [supercop](http://bench.cr.yp.to/supercop.html ) code base. These were written by Daniel J. Bernstein and are in the public domain. My Macbook Pro (Core i5 2.8ghz) now does almost 1.5GiB/sec Salsa20/12 per core and a Raspberry Pi got a 2X boost. 64-bit ARM support and Windows support will take some work but should not be too hard.
* Refactored code that manages credentials to greatly reduce memory use in most cases. This may also result in a small performance improvement.
* Reworked and simplified path selection and priority logic to fix path instability and dead path persistence edge cases. There have been some sporadic reports of persistent path instabilities and dead paths hanging around that take minutes to resolve. These have proven difficult to reproduce in house, but hopefully this will fix them. In any case it seems to speed up path establishment in our tests and it makes the code simpler and more readable.
* Eliminated some unused cruft from the code around path management and in the peer class.
* Fixed an issue causing build problems on some MIPS architecture systems.
* Fixed Windows forgetting routes on sleep/wake or in some other circumstances. (GitHub issue #465 )
2017-04-24 11:41:23 -07:00
Adam Ierymenko
9161424c97
Version bumps.
2017-04-24 11:41:01 -07:00
Adam Ierymenko
cdda0dd043
Windows version bump.
2017-04-24 11:37:54 -07:00
Adam Ierymenko
f4feccc626
Do not serve controller requests until init is done.
2017-04-24 09:09:04 -07:00
Adam Ierymenko
44cb2f4efd
++version
2017-04-21 15:32:00 -07:00
Adam Ierymenko
cacb8fae0d
GitHub issue #463 -- fix MacOS uninstall script.
2017-04-21 13:55:44 -07:00
Adam Ierymenko
fa99a5cf12
docs
2017-04-21 13:27:34 -07:00
Adam Ierymenko
e700165eba
GitHub issue #465 - Windows route amnesia
2017-04-21 13:26:02 -07:00
Adam Ierymenko
8542ee59db
Windows crash fix.
2017-04-21 12:42:51 -07:00
Adam Ierymenko
76108671f6
BSD makefile fix for OpenBSD.
2017-04-21 08:42:45 -07:00
Adam Ierymenko
8b0ce1cc00
More BSD make fixes.
2017-04-21 08:09:18 -07:00
Adam Ierymenko
0e88c73f68
Mirror over some arch rules from Linux to BSD make, and enable fast crypto there.
2017-04-21 08:04:33 -07:00
Adam Ierymenko
ba0d73d102
Windows build fixes.
2017-04-20 10:21:40 -07:00
Adam Ierymenko
d3ecd1d670
docs
2017-04-20 10:21:08 -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
a8ced184dc
Some code cleanup and make sure any type punning is guarded with ZT_NO_TYPE_PUNNING.
2017-04-20 09:33:35 -07:00
Adam Ierymenko
e7a2c6ecef
Integrate ARM/NEON crypto.
2017-04-19 17:11:56 -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
8e1ac9fb0c
ARM NEON Salsa20/12.
2017-04-19 15:58:20 -07:00
Adam Ierymenko
bc61357a44
HTTP backend support for JSONDB
2017-04-18 17:37:44 -07:00
Adam Ierymenko
f6d92eb737
JSONDB fix.
2017-04-18 13:48:19 -07:00
Adam Ierymenko
48cadcd2fc
More build fixes.
2017-04-18 12:48:56 -07:00
Adam Ierymenko
bd63a840c7
Mac build fix.
2017-04-18 12:44:27 -07:00
Adam Ierymenko
aaf597f020
Cleanup, Windows fixes, Self test fix
2017-04-18 12:22:44 -07:00
Adam Ierymenko
72bd3064a2
Windows build fixes, self test cleanup.
2017-04-18 11:00:29 -07: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
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
4938e82795
Delete junk.
2017-04-17 18:01:51 -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
db0edf154c
Use right deployment target in OSX bin.
2017-04-17 16:54:41 -07:00
Adam Ierymenko
a1cd94a61d
Actually include .a
2017-04-17 16:43:36 -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
d8f5cfdee4
Windows profile build target (CPU profiling), and a little bit of optimization revealed by such.
2017-04-17 15:45:49 -07:00
Adam Ierymenko
95e5345cc3
Cluster build fix.
2017-04-17 10:12:13 -07:00
Adam Ierymenko
ba5d0cc2f9
Silence some TRACE noise.
2017-04-17 09:31:07 -07:00
Adam Ierymenko
1d8ded3293
Tiny largely non-consequential credential fix.
2017-04-17 09:30:28 -07:00
Adam Ierymenko
2487a8bede
Fix for 100% cpu issue.
2017-04-17 09:14:21 -07:00
Adam Ierymenko
f1c0563c40
Fix for cluster handoff.
2017-04-14 18:02:04 -07:00
Adam Ierymenko
139c4b5633
Significant simplification to path logic.
2017-04-14 17:53:32 -07:00
Adam Ierymenko
645bf4a764
Resurrect zerotier-containerized.
2017-04-14 13:30:12 -07:00
Adam Ierymenko
88a4a3b1ba
Pass tptr on leave.
2017-04-11 08:47:02 -07:00
Adam Ierymenko
6fabaae736
Add simple root server watcher (for our own new dashboard, but also for user use).
2017-04-04 16:47:14 -07:00
Adam Ierymenko
1b2cfd63e5
add libstdc++ dependency
2017-04-04 14:10:38 -07:00
Adam Ierymenko
ff2b219abd
root-watcher code
2017-04-04 12:39:14 -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
5ad120208f
Small fix, should filter by temporal validity.
2017-04-04 08:46:12 -07:00
Adam Ierymenko
b48a70db2e
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2017-04-04 08:39:22 -07:00
Adam Ierymenko
cd050b3423
Performance improvement in controller.
2017-04-04 08:39:19 -07:00
Adam Ierymenko
eddbc7e757
Logic simplification, cleanup, and memory use improvements in Membership. Also fix an issue that may cause network instability in some cases.
2017-04-04 08:07:38 -07:00
Adam Ierymenko
8a62ba07e5
Membership cleanup work in progress.
2017-04-04 06:47:01 -07:00
Adam Ierymenko
b3298a8f57
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2017-03-30 09:54:10 -07:00
Adam Ierymenko
e5284771e4
Add ping/pong to API so controller supervisor in Central can do a full-path check of controller uptime, etc.
2017-03-30 09:54:04 -07:00
Grant Limberg
5f611dad51
added orbit/deorbit methods to java Node implementation
2017-03-29 13:29:02 -07:00
Grant Limberg
1c5fdb8a0a
fix path checker initialization
2017-03-29 13:28:06 -07:00
Grant Limberg
de4b9e9a16
Added path checking interface for Java
2017-03-29 12:52:52 -07:00
Adam Ierymenko
57b5a33fbb
Fix bug preventing default from being set to null if already set to an integer.
2017-03-29 12:32:59 -07:00
Adam Ierymenko
3f4f7145a3
Another rule compiler fix.
2017-03-28 22:25:24 -07:00
Adam Ierymenko
b959148447
Small rule compiler fix with tag defaults.
2017-03-28 21:50:44 -07:00
Grant Limberg
855361b5b8
fix native end of JNI code for new thread data ptr
2017-03-28 17:49:00 -07:00
Adam Ierymenko
91c9f4cb20
Fix TRACE and CLUSTER builds.
2017-03-27 17:33:25 -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
Grant Limberg
179ab5220a
Set macOS deployment target to 10.10 for UI applet
...
Must use CLI for older versions of macOS
2017-03-27 11:36:11 -07:00
Grant Limberg
d6bb1b72c3
Fix some text colors to work on old OS X versions
2017-03-27 11:15:36 -07:00
Grant Limberg
3d9a5a4f91
Popovers now appear to work
2017-03-27 10:55:47 -07:00
Joseph Henry
683ba79ff0
Added ButtFlare stub code
2017-03-24 17:00:14 -07:00
Grant Limberg
0c69fc719f
Windows UI will attempt to re-copy the auth token if a 401 error is received
2017-03-22 10:48:42 -07:00
Grant Limberg
03b48a4ad4
add lock around [ServiceCom key] and remove some debug code
2017-03-22 10:22:15 -07:00
Grant Limberg
aa71292265
A couple more places we should check HTTP status
2017-03-22 10:18:12 -07:00
Grant Limberg
d72eee6cf7
If we get a 401 error from the ZeroTier service in the macOS UI, try re-copying the auth token
2017-03-22 09:58:13 -07:00
Adam Ierymenko
6bb19e7947
build fix
2017-03-21 09:08:32 -07:00
Adam Ierymenko
3d2518f799
crazy formatting fix
2017-03-21 08:21:11 -07:00
Adam Ierymenko
5268909075
Add a facility for full flow-through uptime test of controller by Central.
2017-03-21 06:31:15 -07:00
Adam Ierymenko
c62141fd98
Make controller do a simple write-through cache without revalidating. Means you must restart if files change on disk, but will decrease I/O considerably.
2017-03-21 06:15:49 -07:00
Adam Ierymenko
ae303ee902
dev is now 1.2.3
2017-03-20 16:17:11 -07:00
Adam Ierymenko
cfe0d0971f
VERSION 1.2.2
...
Version 1.2.2 fixes a few bugs discovered after the 1.2.0 release. These are:
* A bug causing unreliable multicast propagation (GitHub issue #461 ).
* A crash in ARM binaries due to a build chain and flags problem.
* A bug in the network controller preventing members from being listed (GitHub issue #460 ).
2017-03-17 21:13:41 -07:00
Adam Ierymenko
c5c8facc2d
Windows installer version bump and a build fix.
2017-03-17 20:20:47 -07:00
Adam Ierymenko
f78d6a8a93
docs
2017-03-17 20:04:25 -07:00
Adam Ierymenko
78ef2c5f16
Windows build fixes, app about text revisions.
2017-03-17 20:01:58 -07:00
Adam Ierymenko
ec8e1178e5
Version bumps, and fix Debian so default is to build normally and .static files are used in our builds.
2017-03-17 19:16:34 -07:00
Adam Ierymenko
4f3f471b4c
GitHub issue #460
2017-03-17 18:19:51 -07:00
Adam Ierymenko
e10325e133
GitHub issue #461 -- plus a bit of cleanup and optimization
2017-03-17 17:15:23 -07:00
Adam Ierymenko
ef46d3c97d
LZ4 cleanup
2017-03-17 23:09:18 +00:00
Adam Ierymenko
a9c08c5975
.
2017-03-17 22:35:56 +00: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
a7cb738175
.
2017-03-17 14:25:54 -07:00
Adam Ierymenko
d1bb22a583
.
2017-03-17 14:09:30 -07:00
Adam Ierymenko
553d972de5
bump that version. bump it good.
2017-03-17 13:56:45 -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
df30255542
Merge branch 'master' into dev
2017-03-17 12:37:23 -07:00
Adam Ierymenko
d5102539dd
Merge pull request #457 from skunkwerks/master
...
build: use clang on FreeBSD
2017-03-17 12:18:54 -07:00
Adam Ierymenko
e3feaf3f5d
Warning removal, and dev is now 1.2.1
2017-03-16 16:45:11 -07:00
Dave Cottlehuber
25dc596397
build: use clang on FreeBSD
...
this avoids a whopping 500+Mb dependency on gcc and friends at runtime
2017-03-16 12:58:04 +01:00
Adam Ierymenko
0daff26fba
Version 1.2.0 is a major milestone release representing almost nine months of work. It includes our rules engine for distributed network packet filtering and security monitoring, federated roots, and many other architectural and UI improvements and bug fixes.
...
The largest new feature in 1.2.0, and the product of many months of work, is our advanced network rules engine. With this release we achieve traffic control, security monitoring, and micro-segmentation capability on par with many enterprise SDN solutions designed for use in advanced data centers and corporate networks.
Rules allow you to filter packets on your network and vector traffic to security observers. Security observation can be performed in-band using REDIRECT or out of band using TEE.
Tags and capabilites provide advanced methods for implementing fine grained permission structures and micro-segmentation schemes without bloating the size and complexity of your rules table.
See the [rules engine announcement blog post](https://www.zerotier.com/blog/?p=927 ) for an in-depth discussion of theory and implementation. The [manual](https://www.zerotier.com/manual.shtml ) contains detailed information on rule, tag, and capability use, and the `rule-compiler/` subfolder of the ZeroTier source tree contains a JavaScript function to compile rules in our human-readable rule definition language into rules suitable for import into a network controller. (ZeroTier Central uses this same script to compile rules on [my.zerotier.com](https://my.zerotier.com/ ).)
It's now possible to create your own root servers and add them to the root server pool on your nodes. This is done by creating what's called a "moon," which is a signed enumeration of root servers and their stable points on the network. Refer to the [manual](https://www.zerotier.com/manual.shtml ) for instructions.
Federated roots achieve a number of things:
* You can deploy your own infrastructure to reduce dependency on ours.
* You can deploy roots *inside your LAN* to ensure that network connectivity inside your facility still works if the Internet goes down. This is the first step toward making ZeroTier viable as an in-house SDN solution.
* Roots can be deployed inside national boundaries for countries with data residency laws or "great firewalls." (As of 1.2.0 there is still no way to force all traffic to use these roots, but that will be easy to do in a later version.)
* Last but not least this makes ZeroTier somewhat less centralized by eliminating any hard dependency on ZeroTier, Inc.'s infrastructure.
Our roots will of course remain and continue to provide zero-configuration instant-on deployment, a secure global authority for identities, and free traffic relaying for those who can't establish peer to peer connections.
An element of our design philosophy is "features are bugs." This isn't an absolute dogma but more of a guiding principle. We try as hard as we can to avoid adding features, especially "knobs" that must be tweaked by a user.
As of 1.2.0 we've decided that certain knobs are unavoidable, and so there is now a `local.conf` file that can be used to configure them. See the ZeroTier One documentation for these. They include:
* Blacklisting interfaces you want to make sure ZeroTier doesn't use for network traffic, such as VPNs, slow links, or backplanes designated for only certain kinds of traffic.
* Turning uPnP/NAT-PMP on or off.
* Configuring software updates on Windows and Mac platforms.
* Defining trusted paths (the old trusted paths file is now deprecated)
* Setting the ZeroTier main port so it doesn't have to be changed on the command line, which is very inconvenient in many cases.
A good software update system for Windows and Mac clients has been a missing feature in previous versions. It does exist but we've been shy about using it so far due to its fragility in some environments.
We've greatly improved this mechanism in 1.2.0. Not only does it now do a better job of actually invoking the update, but it also transfers updates in-band using the ZeroTier protocol. This means it can work in environments that do not allows http/https traffic or that force it through proxies. There's also now an update channel setting: `beta` or `release` (the default).
Software updates are authenticated three ways:
1. ZeroTier's own signing key is used to sign all updates and this signature is checked prior to installation. ZeroTier, Inc.'s signatures are performed on an air-gapped machine.
2. Updates for Mac and Windows are signed using Apple and Microsoft (DigiCert EV) keys and will not install unless these signatures are also valid.
3. The new in-band update mechanism also authenticates the source of the update via ZeroTier's built-in security features. This provides transport security, while 1 and 2 provide security of the update at rest.
Updates are now configurable via `local.conf`. There are three options: `disable`, `download`, and `apply`. The third (apply) is the default for official builds on Windows and Mac, making updates happen silently and automatically as they do for popular browsers like Chrome and Firefox. Updates are disabled by default on Linux and other Unix-type systems as these are typically updated through package managers.
Version 1.2.0 is now aware of the link quality of direct paths with other 1.2.0 nodes. This information isn't used yet but is visible through the JSON API. (Quality always shows as 100% with pre-1.2.0 nodes.) Quality is measured passively with no additional overhead using a counter based packet loss detection algorithm.
This information is visible from the command line via `listpeers`:
200 listpeers XXXXXXXXXX 199.XXX.XXX.XXX/9993;10574;15250;1.00 48 1.2.0 LEAF
200 listpeers XXXXXXXXXX 195.XXX.XXX.XXX/45584;467;7608;0.44 290 1.2.0 LEAF
The first peer's path is at 100% (1.00), while the second peer's path is suffering quite a bit of packet loss (0.44).
Link quality awareness is a precursor to intelligent multi-path and QoS support, which will in future versions bring us to feature parity with SD-WAN products like Cisco iWAN.
Version 1.2.0 adds anti-DOS (denial of service) rate limits and other hardening for improved resiliency against a number of denial of service attack scenarios.
It also adds a mechanism for instantaneous credential revocation. This can be used to revoke certificates of membership instantly to kick a node off a network (for private networks) and also to revoke capabilities and tags. The new controller sends revocations by default when a peer is de-authorized.
Revocations propagate using a "rumor mill" peer to peer algorithm. This means that a controller need only successfully send a revocation to at least one member of a network with connections to other active members. At this point the revocation will flood through the network peer to peer very quickly. This helps make revocations more robust in the face of poor connectivity with the controller or attempts to incapacitate the controller with denial of service attacks, as well as making revocations faster on huge networks.
The Mac has a whole new UI built natively in Objective-C. It provides a pulldown similar in appearance and operation to the Mac WiFi task bar menu.
The Windows UI has also been improved and now provides a task bar icon that can be right-clicked to manage networks. Both now expose managed route and IP permissions, allowing nodes to easily opt in to full tunnel operation if you have a router configured on your network.
A special kind of public network called an ad-hoc network may be accessed by joining a network ID with the format:
ffSSSSEEEE000000
| | | |
| | | Reserved for future use, must be 0
| | End of port range (hex)
| Start of port range (hex)
Reserved ZeroTier address prefix indicating a controller-less network
Ad-hoc networks are public (no access control) networks that have no network controller. Instead their configuration and other credentials are generated locally. Ad-hoc networks permit only IPv6 UDP and TCP unicast traffic (no multicast or broadcast) using 6plane format NDP-emulated IPv6 addresses. In addition an ad-hoc network ID encodes an IP port range. UDP packets and TCP SYN (connection open) packets are only allowed to desintation ports within the encoded range.
For example `ff00160016000000` is an ad-hoc network allowing only SSH, while `ff0000ffff000000` is an ad-hoc network allowing any UDP or TCP port.
Keep in mind that these networks are public and anyone in the entire world can join them. Care must be taken to avoid exposing vulnerable services or sharing unwanted files or other resources.
The network controller has been largely rewritten to use a simple in-filesystem JSON data store in place of SQLite, and it is now included by default in all Windows, Mac, Linux, and BSD builds. This means any desktop or server node running ZeroTier One can now be a controller with no recompilation needed.
If you have data in an old SQLite3 controller we've included a NodeJS script in `controller/migrate-sqlite` to migrate data to the new format. If you don't migrate, members will start getting `NOT_FOUND` when they attempt to query for updates.
* **The Windows HyperV 100% CPU bug is FINALLY DEAD**: This long-running problem turns out to have been an issue with Windows itself, but one we were triggering by placing invalid data into the Windows registry. Microsoft is aware of the issue but we've also fixed the triggering problem on our side. ZeroTier should now co-exist quite well with HyperV and should now be able to be bridged with a HyperV virtual switch.
* **Segmenation faults on musl-libc based Linux systems**: Alpine Linux and some embedded Linux systems that use musl libc (a minimal libc) experienced segmentation faults. These were due to a smaller default stack size. A work-around that sets the stack size for new threads has been added.
* **Windows firewall blocks local JSON API**: On some Windows systems the firewall likes to block 127.0.0.1:9993 for mysterious reasons. This is now fixed in the installer via the addition of another firewall exemption rule.
* **UI crash on embedded Windows due to missing fonts**: The MSI installer now ships fonts and will install them if they are not present, so this should be fixed.
* **Improved dead path detection**: ZeroTier is now more aggressive about expiring paths that do not seem to be active. If a path seems marginal it is re-confirmed before re-use.
* **Minor performance improvements**: We've reduced unnecessary memcpy's and made a few other performance improvements in the core.
* **Linux static binaries**: For our official packages (the ones in the download.zerotier.com apt and yum repositories) we now build Linux binaries with static linking. Hopefully this will stop all the bug reports relating to library inconsistencies, as well as allowing our deb packages to run on a wider variety of Debian-based distributions. (There are far too many of these to support officially!) The overhead for this is very small, especially since we built our static versions against musl-libc. Distribution maintainers are of course free to build dynamically linked versions for inclusion into distributions; this only affects our official binaries.
Merge branch 'master' of github.com:zerotier/ZeroTierOne
2017-03-14 22:08:48 -07:00
Adam Ierymenko
94ba5b3fbe
Version 1.2.0 is a major milestone release representing almost nine months of work. It includes our rules engine for distributed network packet filtering and security monitoring, federated roots, and many other architectural and UI improvements and bug fixes.
...
The largest new feature in 1.2.0, and the product of many months of work, is our advanced network rules engine. With this release we achieve traffic control, security monitoring, and micro-segmentation capability on par with many enterprise SDN solutions designed for use in advanced data centers and corporate networks.
Rules allow you to filter packets on your network and vector traffic to security observers. Security observation can be performed in-band using REDIRECT or out of band using TEE.
Tags and capabilites provide advanced methods for implementing fine grained permission structures and micro-segmentation schemes without bloating the size and complexity of your rules table.
See the [rules engine announcement blog post](https://www.zerotier.com/blog/?p=927 ) for an in-depth discussion of theory and implementation. The [manual](https://www.zerotier.com/manual.shtml ) contains detailed information on rule, tag, and capability use, and the `rule-compiler/` subfolder of the ZeroTier source tree contains a JavaScript function to compile rules in our human-readable rule definition language into rules suitable for import into a network controller. (ZeroTier Central uses this same script to compile rules on [my.zerotier.com](https://my.zerotier.com/ ).)
It's now possible to create your own root servers and add them to the root server pool on your nodes. This is done by creating what's called a "moon," which is a signed enumeration of root servers and their stable points on the network. Refer to the [manual](https://www.zerotier.com/manual.shtml ) for instructions.
Federated roots achieve a number of things:
* You can deploy your own infrastructure to reduce dependency on ours.
* You can deploy roots *inside your LAN* to ensure that network connectivity inside your facility still works if the Internet goes down. This is the first step toward making ZeroTier viable as an in-house SDN solution.
* Roots can be deployed inside national boundaries for countries with data residency laws or "great firewalls." (As of 1.2.0 there is still no way to force all traffic to use these roots, but that will be easy to do in a later version.)
* Last but not least this makes ZeroTier somewhat less centralized by eliminating any hard dependency on ZeroTier, Inc.'s infrastructure.
Our roots will of course remain and continue to provide zero-configuration instant-on deployment, a secure global authority for identities, and free traffic relaying for those who can't establish peer to peer connections.
An element of our design philosophy is "features are bugs." This isn't an absolute dogma but more of a guiding principle. We try as hard as we can to avoid adding features, especially "knobs" that must be tweaked by a user.
As of 1.2.0 we've decided that certain knobs are unavoidable, and so there is now a `local.conf` file that can be used to configure them. See the ZeroTier One documentation for these. They include:
* Blacklisting interfaces you want to make sure ZeroTier doesn't use for network traffic, such as VPNs, slow links, or backplanes designated for only certain kinds of traffic.
* Turning uPnP/NAT-PMP on or off.
* Configuring software updates on Windows and Mac platforms.
* Defining trusted paths (the old trusted paths file is now deprecated)
* Setting the ZeroTier main port so it doesn't have to be changed on the command line, which is very inconvenient in many cases.
A good software update system for Windows and Mac clients has been a missing feature in previous versions. It does exist but we've been shy about using it so far due to its fragility in some environments.
We've greatly improved this mechanism in 1.2.0. Not only does it now do a better job of actually invoking the update, but it also transfers updates in-band using the ZeroTier protocol. This means it can work in environments that do not allows http/https traffic or that force it through proxies. There's also now an update channel setting: `beta` or `release` (the default).
Software updates are authenticated three ways:
1. ZeroTier's own signing key is used to sign all updates and this signature is checked prior to installation. ZeroTier, Inc.'s signatures are performed on an air-gapped machine.
2. Updates for Mac and Windows are signed using Apple and Microsoft (DigiCert EV) keys and will not install unless these signatures are also valid.
3. The new in-band update mechanism also authenticates the source of the update via ZeroTier's built-in security features. This provides transport security, while 1 and 2 provide security of the update at rest.
Updates are now configurable via `local.conf`. There are three options: `disable`, `download`, and `apply`. The third (apply) is the default for official builds on Windows and Mac, making updates happen silently and automatically as they do for popular browsers like Chrome and Firefox. Updates are disabled by default on Linux and other Unix-type systems as these are typically updated through package managers.
Version 1.2.0 is now aware of the link quality of direct paths with other 1.2.0 nodes. This information isn't used yet but is visible through the JSON API. (Quality always shows as 100% with pre-1.2.0 nodes.) Quality is measured passively with no additional overhead using a counter based packet loss detection algorithm.
This information is visible from the command line via `listpeers`:
200 listpeers XXXXXXXXXX 199.XXX.XXX.XXX/9993;10574;15250;1.00 48 1.2.0 LEAF
200 listpeers XXXXXXXXXX 195.XXX.XXX.XXX/45584;467;7608;0.44 290 1.2.0 LEAF
The first peer's path is at 100% (1.00), while the second peer's path is suffering quite a bit of packet loss (0.44).
Link quality awareness is a precursor to intelligent multi-path and QoS support, which will in future versions bring us to feature parity with SD-WAN products like Cisco iWAN.
Version 1.2.0 adds anti-DOS (denial of service) rate limits and other hardening for improved resiliency against a number of denial of service attack scenarios.
It also adds a mechanism for instantaneous credential revocation. This can be used to revoke certificates of membership instantly to kick a node off a network (for private networks) and also to revoke capabilities and tags. The new controller sends revocations by default when a peer is de-authorized.
Revocations propagate using a "rumor mill" peer to peer algorithm. This means that a controller need only successfully send a revocation to at least one member of a network with connections to other active members. At this point the revocation will flood through the network peer to peer very quickly. This helps make revocations more robust in the face of poor connectivity with the controller or attempts to incapacitate the controller with denial of service attacks, as well as making revocations faster on huge networks.
The Mac has a whole new UI built natively in Objective-C. It provides a pulldown similar in appearance and operation to the Mac WiFi task bar menu.
The Windows UI has also been improved and now provides a task bar icon that can be right-clicked to manage networks. Both now expose managed route and IP permissions, allowing nodes to easily opt in to full tunnel operation if you have a router configured on your network.
A special kind of public network called an ad-hoc network may be accessed by joining a network ID with the format:
ffSSSSEEEE000000
| | | |
| | | Reserved for future use, must be 0
| | End of port range (hex)
| Start of port range (hex)
Reserved ZeroTier address prefix indicating a controller-less network
Ad-hoc networks are public (no access control) networks that have no network controller. Instead their configuration and other credentials are generated locally. Ad-hoc networks permit only IPv6 UDP and TCP unicast traffic (no multicast or broadcast) using 6plane format NDP-emulated IPv6 addresses. In addition an ad-hoc network ID encodes an IP port range. UDP packets and TCP SYN (connection open) packets are only allowed to desintation ports within the encoded range.
For example `ff00160016000000` is an ad-hoc network allowing only SSH, while `ff0000ffff000000` is an ad-hoc network allowing any UDP or TCP port.
Keep in mind that these networks are public and anyone in the entire world can join them. Care must be taken to avoid exposing vulnerable services or sharing unwanted files or other resources.
The network controller has been largely rewritten to use a simple in-filesystem JSON data store in place of SQLite, and it is now included by default in all Windows, Mac, Linux, and BSD builds. This means any desktop or server node running ZeroTier One can now be a controller with no recompilation needed.
If you have data in an old SQLite3 controller we've included a NodeJS script in `controller/migrate-sqlite` to migrate data to the new format. If you don't migrate, members will start getting `NOT_FOUND` when they attempt to query for updates.
* **The Windows HyperV 100% CPU bug is FINALLY DEAD**: This long-running problem turns out to have been an issue with Windows itself, but one we were triggering by placing invalid data into the Windows registry. Microsoft is aware of the issue but we've also fixed the triggering problem on our side. ZeroTier should now co-exist quite well with HyperV and should now be able to be bridged with a HyperV virtual switch.
* **Segmenation faults on musl-libc based Linux systems**: Alpine Linux and some embedded Linux systems that use musl libc (a minimal libc) experienced segmentation faults. These were due to a smaller default stack size. A work-around that sets the stack size for new threads has been added.
* **Windows firewall blocks local JSON API**: On some Windows systems the firewall likes to block 127.0.0.1:9993 for mysterious reasons. This is now fixed in the installer via the addition of another firewall exemption rule.
* **UI crash on embedded Windows due to missing fonts**: The MSI installer now ships fonts and will install them if they are not present, so this should be fixed.
* **Improved dead path detection**: ZeroTier is now more aggressive about expiring paths that do not seem to be active. If a path seems marginal it is re-confirmed before re-use.
* **Minor performance improvements**: We've reduced unnecessary memcpy's and made a few other performance improvements in the core.
* **Linux static binaries**: For our official packages (the ones in the download.zerotier.com apt and yum repositories) we now build Linux binaries with static linking. Hopefully this will stop all the bug reports relating to library inconsistencies, as well as allowing our deb packages to run on a wider variety of Debian-based distributions. (There are far too many of these to support officially!) The overhead for this is very small, especially since we built our static versions against musl-libc. Distribution maintainers are of course free to build dynamically linked versions for inclusion into distributions; this only affects our official binaries.
2017-03-14 22:07:26 -07:00
Adam Ierymenko
002f9bb105
.
2017-03-14 22:05:39 -07:00
Adam Ierymenko
e86b1146a6
Windows version bump.
2017-03-14 21:35:41 -07:00
Adam Ierymenko
d44fb3a2f6
bump bump bump that version
2017-03-14 21:23:47 -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
8e9767f3c6
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2017-03-14 13:17:16 -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
c1c26ec73a
Version 1.2.0 bump
2017-03-13 15:41:42 -07:00
Adam Ierymenko
8f592ff6e8
Controller performance tweaks.
2017-03-13 13:58:29 -07:00
Adam Ierymenko
37629aaf87
Use cache on requests to decrease DB load.
2017-03-13 12:22:06 -07:00
Adam Ierymenko
d09d193715
release notes, and delete MANUAL from this repo for now since it isn't quite done and will take shape on the web site
2017-03-13 09:37:24 -07:00
Adam Ierymenko
010d0a7d56
Docs and a bit of cleanup. In particular ALL makes no sense for revocations because they have IDs. In that case you would just revoke the COM.
2017-03-13 06:53:23 -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
0f3148bda2
Roots need to respond to lots of WHOISes
2017-03-10 20:08:07 -08:00
Adam Ierymenko
e3b1fc2ac0
Tweak WHOIS path for federation.
2017-03-10 19:52: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
db87d95c1d
getUpstreamPeer issue with interim federated roots
2017-03-10 19:31:51 -08:00
Adam Ierymenko
47166c9614
Sigh. Another thinko.
2017-03-10 17:54:14 -08:00
Adam Ierymenko
ecacdf27a9
Build fix (typo)
2017-03-10 17:45:05 -08:00
Adam Ierymenko
aad6f79efa
Also must mask off counter bits in IV in cryptField.
2017-03-10 17:44:25 -08:00
Adam Ierymenko
0c00b83702
cryptField() used to obscure extended fields in HELLO cannot use mangleKey()
2017-03-10 17:34:41 -08:00
Adam Ierymenko
7320e26730
Merge branch 'edge' of http://10.6.6.2/zerotier/ZeroTierOne into edge
2017-03-10 11:34:00 -08:00
Grant Limberg
1520534660
fix some rediculousness in NDK-14
...
Apparently having -fPIC on the command line multiple times turns it back off
2017-03-09 17:48:40 -08: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
9b001823f6
Add ifdef for synology around synology-only code in Linux Ethernet tap.
2017-03-08 16:12:54 -08:00
Grant Limberg
ed4f84cc57
Fix exception thrown in NetworkMonitor thread that can cause the UI to stop polling service for updates
2017-03-08 14:54:58 -08:00
Grant Limberg
c8e66a2b45
Don't crash when attempting to join a network while the zerotier service isn't running
2017-03-08 14:50:37 -08:00
Adam Ierymenko
6eb2e3ffa9
forgot to add prereq for adduser getent on fedora
2017-03-08 13:13:12 -08:00
Adam Ierymenko
748ad8a978
create zerotier-one user via rpm
2017-03-08 12:26:16 -08:00
Adam Ierymenko
d2f897f8de
add dependency on adduser
2017-03-08 12:26:16 -08:00
Adam Ierymenko
4b511d80a1
Windows directory cleanup and a Windows build fix.
2017-03-08 10:38:43 -08:00
Adam Ierymenko
a74e9e1dd3
remove debug line
2017-03-08 10:27:13 -08:00
Adam Ierymenko
9c1a9f984b
Clean iddb.d periodically.
2017-03-08 10:18:12 -08:00
Adam Ierymenko
04c7adea07
cleanup
2017-03-08 08:58:07 -08:00
Adam Ierymenko
5249ce8fb4
Small amount of cleanup.
2017-03-08 08:45:04 -08:00
Adam Ierymenko
ebd865dbda
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2017-03-07 18:25:44 -08:00
Adam Ierymenko
d377ef01af
Windows build process updates, and repackage everything using new EV certificate and SHA256.
2017-03-07 18:25:06 -08:00
Adam Ierymenko
393aa3c527
fix debuild comand
2017-03-07 14:20:06 -08:00
Adam Ierymenko
d7b6de57c5
update debian build files
2017-03-07 14:20:06 -08:00
Adam Ierymenko
05d4b0cd94
Update RPM spec file
2017-03-07 14:20:06 -08:00
Adam Ierymenko
5dbafc2eeb
Add config to status in JSON API.
2017-03-07 14:17:51 -08:00
Adam Ierymenko
a97918f812
Windows build fixes.
2017-03-07 13:57:31 -08:00
Adam Ierymenko
22f86df606
Merge ControlPlane into OneService to make variable access simpler.
2017-03-07 13:53:11 -08:00
Adam Ierymenko
712e8e828b
use .exe naming convention
2017-03-07 11:58:17 -08:00
Adam Ierymenko
7d3846bc49
Bump version to 1.1.19 in prep for release and software update testing.
2017-03-07 10:26:36 -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
7ea7e1898a
Fix a bug that could cause duplicate IP address assignment on networks if many new members join the controller at once.
2017-03-06 16:21:49 -08:00
Adam Ierymenko
5e6a4e5f5e
Send revocations automatically on deauth for instant kill, also fix some issues with the RP.
2017-03-06 15:12:28 -08:00
Adam Ierymenko
66dfc33de9
Fix circuit test post in controller.
2017-03-06 11:23:46 -08:00
Adam Ierymenko
d56f740dc6
Now with less bugs.
2017-03-03 13:49:21 -08:00
Adam Ierymenko
a109d341ef
Send timestamp with new circuit test response.
2017-03-02 14:35:38 -08:00
Adam Ierymenko
87b53d67c5
Fix selftest build.
2017-03-02 10:02:29 -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
136fddc7f1
Fix FILTER_TRACE breakage.
2017-03-01 15:14:57 -08:00
Adam Ierymenko
ce0c87f8ff
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2017-03-01 15:12:26 -08:00
Adam Ierymenko
d79585d44d
Circuit tests now report link quality. Also fixed a little thing in revocation propagation.
2017-03-01 15:12:17 -08:00
Grant Limberg
592b628523
comment broken TRACE message
2017-03-01 14:50:28 -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
Adam Ierymenko
2bf9145ae6
Outgoing side of packet counter for link quality reporting. Also some cleanup and a cluster mode build fix.
2017-03-01 10:22:57 -08:00
Adam Ierymenko
127bcb02ff
Save space in expecting-reply-to tracking.
2017-03-01 09:41:37 -08:00
Joseph Henry
4430fc47c6
Added HTTP authorization block for synology builds
2017-02-28 16:30:20 -08:00
Adam Ierymenko
2b10a982e9
Match on tag sender equals or tag recipient equals.
2017-02-28 09:22:10 -08:00
Adam Ierymenko
31bece7fa0
Add ipauth handling of IPv6 NDP neighbor solicitations and advertisements. IPv6 works well now with ipauth.
2017-02-28 07:43:40 -08:00
Adam Ierymenko
4436824faf
ipauth characteristic now works with ARP
2017-02-27 17:51:58 -08:00
Adam Ierymenko
dd92f1d03d
.
2017-02-23 17:56:36 -08:00
Adam Ierymenko
b6f87565a9
Add wake on LAN (wol) to rules language ethertype shorthand.
2017-02-23 16:03:43 -08:00
Adam Ierymenko
0b909997b8
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2017-02-23 14:27:48 -08:00
Adam Ierymenko
9d7ff26f25
Helps if you actually add the ipauth mask to the characteristics mask.
2017-02-23 14:27:31 -08:00
Grant Limberg
06c866ceb4
Android JNI fix
2017-02-23 12:47:07 -08:00
Adam Ierymenko
fe19ad328c
Windows build fix.
2017-02-23 12:40:21 -08:00
Adam Ierymenko
010dbc8b2b
Merge.
2017-02-23 12:35:20 -08:00
Adam Ierymenko
72653e54f9
Finish wiring up ipauth and macauth to Network filter.
2017-02-23 12:34:17 -08:00
Grant Limberg
93ec86a26e
iOS fixes
2017-02-23 12:26:11 -08:00
Adam Ierymenko
10185e92fa
Certificate of ownership -- used to secure against IP address spoofing, especially for IPv4 and regular IPv6.
2017-02-23 11:47:36 -08:00
Grant Limberg
33b94e8478
fixed double firing of the leave network API call causing an error popup on windows
2017-02-22 16:54:57 -08:00
Adam Ierymenko
2ee53b0e75
Fix bug in default capability flag in rule parser.
2017-02-22 15:52:55 -08:00
Adam Ierymenko
fb00f0f94c
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2017-02-22 15:34:49 -08:00
Adam Ierymenko
b679ebde3b
Ad-hoc networks, a cool and easy to implement little feature that allows controllerless networks. These only allow IPv6 6plane, no multicast, and the network ID encodes the allowed port range.
2017-02-22 15:32:55 -08:00
Joseph Henry
f3ca08b0f1
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2017-02-21 17:55:07 -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
Adam Ierymenko
b475bf4a21
.
2017-02-21 15:28:01 -08:00
Adam Ierymenko
54fa73844c
Fix crash.
2017-02-21 13:48:29 -08:00
Adam Ierymenko
32f5a0ab18
Add default tag values and default set capabilities for new members.
2017-02-21 13:27:20 -08:00
Joseph Henry
e4135ffb35
Decreased ZT_BINDER_REFRESH_PERIOD for Synology build
2017-02-16 16:56:23 -08:00
Joseph Henry
b5b335a6f8
Route re-add patch for linux build on Synology devices
2017-02-16 16:41:26 -08:00
Joseph Henry
57ef31d51c
Route re-add patch for linux build on Synology devices
2017-02-16 16:06:04 -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
afba19e01c
When deciding whether to send PUSH_DIRECT_PATHS we should check global trust flag, not the one passed into receive().
2017-02-16 09:44:04 -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
bdadd50251
.
2017-02-14 16:49:10 -08:00
Adam Ierymenko
d01f31197a
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2017-02-14 16:43:29 -08:00
Adam Ierymenko
8b82f1c609
Add rules compiler script.
2017-02-14 16:43:22 -08:00
Grant Limberg
de7e8a1ca4
fix About view on Mac so that it opens links in the system web browser
2017-02-14 16:39:15 -08:00
Grant Limberg
aa2ee3f7be
Right and left click both will now open the context menu on Windows
2017-02-14 16:31:11 -08:00
Adam Ierymenko
af4e79735c
Fix "orbit" semantics. Federation works.
2017-02-13 16:38:21 -08:00
Adam Ierymenko
969e09210d
Fix loading of existing moons.
2017-02-13 16:14:48 -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
16f11e91d1
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2017-02-13 14:27:14 -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
Grant Limberg
9ae49b5b85
Update JNI with new root terminology
2017-02-13 10:51:36 -08:00
Adam Ierymenko
c95bae2d73
Small fixes to moon-management code in CLI.
2017-02-13 10:05:00 -08:00
Adam Ierymenko
e4b6611201
Only accept world updates from upstreams.
2017-02-13 09:46:34 -08:00
Adam Ierymenko
e6840a1863
Can't erase from vector using const_iterator on some C++ compilers.'
2017-02-13 09:26:05 -08:00
Adam Ierymenko
78d5f1a803
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2017-02-13 09:03:54 -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
Grant Limberg
9a6c3e05ad
Fix for deleted networks not being removed from the network details list on macOS
2017-02-10 16:10:23 -08:00
Adam Ierymenko
cdc289fa9c
Tags work.
2017-02-07 14:06:40 -08:00
Adam Ierymenko
672f17c6e9
Add a mask and value range to the IP tos rule field. This allows TOS to be matched more usefully. This will break anyone using tos in the beta, but nobody seems to be and its pre-release so now is the time.
2017-02-07 09:33:39 -08:00
Adam Ierymenko
723a9a6e9a
Small additional efficiency improvement.
2017-02-06 17:20:22 -08:00
Adam Ierymenko
59ba7c8bf5
Improve efficiency of pushCredentials() method since it gets called a lot.
2017-02-06 17:10:20 -08:00
Adam Ierymenko
78d548458b
Capabilities basically work but need to refactor a bit for performance reasons.
2017-02-06 16:38:48 -08:00
Adam Ierymenko
ac3e883c05
One more place to add "break".
2017-02-06 14:07:30 -08:00
Adam Ierymenko
9ddc2a4331
Add a break action to rules engine to make capabilities easier to use.
2017-02-06 14:00:49 -08:00
Adam Ierymenko
435e4c4695
Fix HELLO parse bug.
2017-02-06 12:06:10 -08:00
Adam Ierymenko
21f4a97c35
CSPRNG performance improvement, self test build fix.
2017-02-06 11:49:41 -08:00
Adam Ierymenko
e0d63c50db
One more tweak after thinking about related keys and key stream reuse. Just a precaution.
2017-02-06 07:45:57 -08:00
Adam Ierymenko
803f74634a
Tweak how we do crypto of the masked portions of HELLO just to be more "boring" in the DJB sense.
2017-02-06 07:39:38 -08:00
Adam Ierymenko
f85a630a64
Docs and a small build fix in debug mode.
2017-02-06 07:17:45 -08:00
Adam Ierymenko
43182f8f57
Docs, code cleanup, and protect the extra new fields of HELLO with encryption as a precaution.
2017-02-05 16:19:03 -08:00
Adam Ierymenko
594cb1fad8
Small fix for duplicates in world definitions.
2017-02-04 19:29:39 -08:00
Adam Ierymenko
5eab6c2e5d
More docs.
2017-02-04 19:19:30 -08:00
Adam Ierymenko
3587aa1ea7
Add and send certificates of representation to tell people what our valid upstreams are. These are not used yet but will be needed for future privacy modes, etc. Also some cleanup.
2017-02-04 13:17:00 -08:00
Adam Ierymenko
beb642faa5
Stub out CAN_REACH.
2017-02-04 10:21:31 -08:00
Adam Ierymenko
31db768e4d
A bit of code cleanup.
2017-02-04 00:23:31 -08:00
Adam Ierymenko
d9e4ba1280
Eliminate a little copypasta.
2017-02-04 00:04:44 -08:00
Adam Ierymenko
dcb1233b0d
Slight refactor to RENEDEZVOUS sending code for federation.
2017-02-03 23:54:02 -08:00
Adam Ierymenko
8a2ff0b31e
Actual documentation.
2017-02-03 19:47:00 -08:00
Adam Ierymenko
be2881ae8d
.
2017-02-02 16:53:27 -08:00
Adam Ierymenko
88cba48f45
Eliminate warning.
2017-02-01 15:24:41 -08:00
Adam Ierymenko
9284e4edfe
agree() must be called on our identity, the one with the secret
2017-02-01 15:22:14 -08:00
Adam Ierymenko
62a705af1c
Eliminate another check in cluster frontplane mode.
2017-02-01 14:35:07 -08:00
Adam Ierymenko
29ec7bf3a2
Add more specific check in source==self case instead of dumping it.
2017-02-01 14:18:56 -08:00
Adam Ierymenko
fc3f4fb988
Yeah that could never have worked (normal packets in cluster mode).
2017-02-01 14:05:13 -08:00
Adam Ierymenko
60ff280dcb
Another tweak to cluster I/O rules.
2017-02-01 13:52:53 -08:00
Adam Ierymenko
b378f5dcd7
Take 3
2017-02-01 13:20:51 -08:00
Adam Ierymenko
e778d45128
Still want to send WANT_PEER under two failure modes.
2017-02-01 12:51:52 -08:00
Adam Ierymenko
5e11cf6378
Can't armor() a packet until all flags are set.
2017-02-01 12:32:06 -08:00
Adam Ierymenko
5dbebc513a
Minor send path refactor to make packet I/O work on clusters if they are members of networks. Also fix a crash if compiled in cluster mode but no cluster is enabled.
2017-02-01 12:00:25 -08:00
Adam Ierymenko
6d5a3cd2e2
Remove debug code. Cluster network config sharing seems to work.
2017-01-30 16:23:38 -08:00
Adam Ierymenko
f9ad80aa13
.
2017-01-30 16:15:47 -08:00
Adam Ierymenko
ed31cb76d6
Fix to cluster network configs.
2017-01-30 16:04:05 -08:00
Adam Ierymenko
eebd271bb1
Implement cross cluster sharing of network configs to make clusters able to actually join networks.
2017-01-30 15:40:22 -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
471108f2e4
Slightly increase thread stack size for safety (primary Alpine related) possibly GitHub #443
2017-01-30 08:01:36 -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
915206405c
docs
2017-01-27 17:41:07 -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
9e7c778cc8
Fix deadlock.
2017-01-27 16:16:06 -08:00
Adam Ierymenko
1d775af34a
Fix moon persistence.
2017-01-27 15:35:21 -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
bc218f9414
little fix
2017-01-27 13:52:29 -08:00
Adam Ierymenko
f102fd7f92
Extend in-band world updates to handle moons too.
2017-01-27 13:50:56 -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
b88f573733
tap-windows-ndis5 is definitely dead
2017-01-27 07:29:42 -08:00
Adam Ierymenko
b211e61671
debian rules
2017-01-26 16:12:50 -08:00
Adam Ierymenko
871cacf040
Remove junk.
2017-01-26 15:02:52 -08:00
Adam Ierymenko
7c3984413e
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2017-01-26 15:02:20 -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
Grant Limberg
923d3f1fe8
remove references to deleted source files in Android NDK build files
2017-01-26 15:01:45 -08:00
Grant Limberg
e11f42a089
remove reference to BackgroundResolver.cpp/.hpp on Windows
2017-01-26 14:29:39 -08:00
Grant Limberg
9b8d9b7042
fix copy stage for paths with spaces
2017-01-26 14:27:39 -08:00
Adam Ierymenko
902e03bccc
build fix
2017-01-26 14:23:22 -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
Adam Ierymenko
9e488ce322
delete binary
2017-01-26 21:55:35 +00:00
Adam Ierymenko
c111bf3080
Fix tcp-proxy build.
2017-01-26 21:54:55 +00: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
9a475eeff9
Windows build fix, warning removal.
2017-01-20 12:00:18 -08:00
Adam Ierymenko
91a37ec639
docs
2017-01-20 11:02:54 -08:00
Adam Ierymenko
db1e2aae41
docs
2017-01-20 11:00:18 -08:00
Adam Ierymenko
4a7c76a11b
docs, cleanup, temporarily put cli in attic since it is not done.
2017-01-20 10:51:55 -08:00
Adam Ierymenko
f1ed57c62d
Update nlohmann/json (header only lib).
2017-01-20 10:09:47 -08:00
Adam Ierymenko
3b0969e3a5
Fix build on G++ 4.9 on FreeBSD-11.
2017-01-20 10:07:25 -08:00
Adam Ierymenko
35174a8766
Basic BSD gmake install/uninstall.
2017-01-19 15:15:31 -08:00
Adam Ierymenko
d79f792e6f
OpenBSD fixes, workaround for apparent libstdc++ bug.
2017-01-19 15:05:26 -08: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
13263b8401
docs
2017-01-19 16:23:25 -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
56e5b34934
Bump bundled miniupnpc to 20161216
2017-01-19 15:52:39 -08:00
Adam Ierymenko
f43365e4ba
Take LZ4 out of Debian depends.
2017-01-19 15:44:16 -08:00
Adam Ierymenko
4d071081bb
docs
2017-01-19 15:22:43 -08:00
Adam Ierymenko
b67b370dba
docs
2017-01-19 15:20:55 -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
ba158d8dc6
Include LZ4 README and LICENSE.
2017-01-19 14:48:40 -08:00
Adam Ierymenko
a90f2249e8
Upgrade LZ4.
2017-01-19 14:48:01 -08:00
Adam Ierymenko
d8f36db5dd
Fix FreeBSD build in dev.
2017-01-19 12:11:49 -08:00
Adam Ierymenko
fd460d93c4
docs
2017-01-19 10:53:44 -08:00
Adam Ierymenko
989cbb4d8d
Merge pull request #434 from zielmicha/fix-ip
...
Binder.hpp: gather all IPv4 interface addresses
2017-01-19 10:47:47 -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
Adam Ierymenko
d150f9b2bd
Windows update build in Advanced Installer, and warning removal.
2017-01-13 15:19:59 -08:00
Adam Ierymenko
1346e31a8e
Windows build fixes, Software update fix, warning removal.
2017-01-13 14:22:36 -08:00
Adam Ierymenko
54f25b14ee
Software updater log for distributors (does not affect real users much).
2017-01-13 14:03:06 -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
87e3b5f076
Mac updater SFX code.
2017-01-13 12:42:49 -08:00
Adam Ierymenko
f8e18f2098
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2017-01-13 12:13:20 -08:00
Adam Ierymenko
f81c67c0f0
Make sure to respond to GET_LATEST with the actual latest.
2017-01-13 12:13:14 -08:00
Grant Limberg
4f4dd3446c
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2017-01-13 11:36:53 -08:00
Grant Limberg
f149dd9401
fix Android NDK build
2017-01-13 11:36:48 -08:00
Adam Ierymenko
3a730c4a5c
Remove debug printfs in software updater. It works! At least for unix. Now to test Windows.
2017-01-13 11:24:00 -08:00
Adam Ierymenko
b03247ec3c
SoftwareUpdate::apply()
2017-01-13 10:46:16 -08:00
Adam Ierymenko
8ebb49e972
Cache downloaded updates to disk.
2017-01-12 15:21:14 -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
e7bab66d29
Auto-apply updates if enabled.
2017-01-12 13:54:08 -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
b5b583c397
.
2017-01-11 18:10:42 -08:00
Adam Ierymenko
56d969c709
.
2017-01-11 17:59:51 -08:00
Adam Ierymenko
3fedf16f35
.
2017-01-11 17:57:12 -08:00
Adam Ierymenko
5da56776d6
.
2017-01-11 17:54:43 -08:00
Adam Ierymenko
d58870a92d
.
2017-01-11 17:53:19 -08:00
Adam Ierymenko
15ed7423ac
.
2017-01-11 17:50:02 -08:00
Adam Ierymenko
d7e7ad4f88
Can't send a user message to self.
2017-01-11 17:46:52 -08:00
Adam Ierymenko
823a1963f6
init fix.
2017-01-11 17:45:09 -08:00
Adam Ierymenko
6513b21426
debug code.
2017-01-11 17:42:57 -08:00
Adam Ierymenko
d4321cdd41
Wire up user message handling in OneService event handler.
2017-01-11 17:20:43 -08:00
Adam Ierymenko
d301540d92
Software update stuff for test.
2017-01-11 16:58:37 -08:00
Adam Ierymenko
af5a3376f3
Should fix Windows build.
2017-01-11 16:56:16 -08:00
Adam Ierymenko
4aa52ffc77
Software update stuff.
2017-01-11 16:47:42 -08:00
Adam Ierymenko
47b62ece18
Software update integration.
2017-01-11 16:34:33 -08:00
Adam Ierymenko
2aab26a08e
Software update work.
2017-01-11 15:22:16 -08:00
Adam Ierymenko
565842b5ec
Software updater work.
2017-01-11 14:37:31 -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
6fb49f68fc
Comment out and disable old auto-update code.
2017-01-10 12:20:29 -08:00
Adam Ierymenko
ef7faa7291
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2017-01-09 15:55:13 -08:00
Adam Ierymenko
d5528e4e9a
Wire up VERB_USER_MESSAGE in core.
2017-01-09 15:55:07 -08:00
Grant Limberg
f730f65aaf
bring window to front if already open
2017-01-09 14:23:37 -08:00
Grant Limberg
dbd577c6b0
Merge branch 'winroute' into dev
2017-01-09 12:41:45 -08:00
Grant Limberg
7ebb207005
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2017-01-05 13:56:15 -08:00
Grant Limberg
e41d71cd19
add implementations of compareTo() and equals() for VirtualNetworkRoute().
...
Android app was relying on these, but since they didn't exist, they didn't function properly
2017-01-05 13:56:07 -08:00
Grant Limberg
0f6c53589e
remove commented out function declaration
2017-01-05 11:46:33 -08:00
Grant Limberg
e2b1a7157e
Potential fix for routing issue on Windows
...
Move setting _initialized = true until after WindowsEthernetTap::threadMain() has actually created and brought up the adapter. Also in OneService::nodeVirtualNetworkConfigFunction(), wait up to 5 seconds for WindowsEthernatTap::isInitialized() to return true before attempting to configure the interface and managed routes. Without this, the adapter doesnt actually exist yet when trying to add routes
2017-01-05 11:43:26 -08:00
Grant Limberg
aaf69d1aff
properly quote string arguments to copyutil in case there are spaces in the path
2017-01-03 14:03:50 -08:00
Michał Zieliński
203b7e17de
Binder.hpp: gather all IPv4 interface addresses
2017-01-01 23:57:15 +01:00
Daniel Skowroński
18c9dc8a06
fix RTF_MULTICAST and g++ -w
2016-12-27 13:07:05 +01:00
Daniel Skowroński
ba07d1f91d
cleanup
2016-12-27 11:57:05 +01:00
Daniel Skowroński
9a2310395d
mimic BSDEthernetTap but with creating/destroying char tap device
2016-12-27 11:42:43 +01:00
Daniel Skowroński
218ace51a7
use /dev/tap{0..3}; it is fully working now
2016-12-26 02:52:07 +01:00
Daniel Skowroński
f09eedbd7a
make it compilable
2016-12-25 22:54:27 +01:00
Daniel Skowroński
546e8a3b44
initial netbsd support in makefile/flags
2016-12-25 20:59:12 +01:00
Adam Ierymenko
9a2b766aad
Windows installer updates.
2016-12-23 15:57:21 -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
5ec8465374
Remove dead Mac stuff.
2016-12-23 14:38:36 -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
5bff70194b
Ship pre-build man pages. We stopped doing this for a bit due to nit-picky Debian craziness but since we are not targeting core Debian at the moment bring it back.
2016-12-23 14:30:27 -08:00
Adam Ierymenko
d94d04d7d5
Bump to 1.1.17 for pre-1.2.0 beta.
2016-12-23 13:52:41 -08:00
Adam Ierymenko
bf2b9e3692
Auto-authorize new members on public networks properly.
2016-12-22 18:52:34 -08:00
Adam Ierymenko
c8554504f3
.
2016-12-22 18:37:46 -08:00
Adam Ierymenko
0d066e3b08
Fix JSON parse bug in REDIRECT target.
2016-12-22 18:26:43 -08:00
Adam Ierymenko
6b12d86209
Add a workaround for an edge case in TEE/REDIRECT if we are the inbound destination and teeing is only being done on the outbound side.
2016-12-22 18:06:35 -08:00
Adam Ierymenko
fe530548bb
Fix MATCH_RANDOM in controller.
2016-12-22 16:57:45 -08:00
Adam Ierymenko
2eaff6d484
Fix to characteristcs in rules engine.
2016-12-22 16:36:38 -08:00
Adam Ierymenko
a54c2b438c
Basic support for streaming of changes via stdout from controller.
2016-12-15 15:08:47 -08:00
Adam Ierymenko
890f6f0d35
Make allow management from a local.conf parameters.
2016-12-12 16:25:41 -08:00
Adam Ierymenko
bad4b72f82
Remove debug printf.
2016-12-12 14:44:21 -08:00
Adam Ierymenko
4702c5b4ee
Add local.conf option to blacklist interfaces by name.
2016-12-12 14:43:09 -08:00
Adam Ierymenko
4459d5ad54
Remove debug printf
2016-12-12 12:58:39 -08:00
Adam Ierymenko
39fb4b1b42
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2016-12-12 12:55:14 -08:00
Adam Ierymenko
3864a2e111
Use an alternative method for enumerating interface addresses on Linux to avoid poor performance of getifaddrs() when there are many network namespaces.
2016-12-12 12:53:51 -08:00
Grant Limberg
697520f1f5
Dont write IPv6 addresses to IPv4 sections of registry TCPIP settings.
...
Also, dont add the prefix length to the IP addresses in there.
Appears to fix Github Issue #357 . Still waiting on some info from Microsoft for confirmation of a few things.
2016-12-09 11:36:01 -08:00
Adam Ierymenko
244f37179c
Minor security: lock roots to only be reachable via World IPs.
2016-12-05 16:09:42 -08:00
Grant Limberg
4b3a47849d
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2016-11-30 15:21:33 -08:00
Grant Limberg
56faf774ff
Store MTU as String instead of DWORD
...
WindowsEthernetTap was storing the MTU for the ZeroTier Adapter as a
DWORD. When changing the value from the network adapter settings UI, it
was stored as a string. Updated the call when creating the adapter to
store it as a string as windows expects.
2016-11-30 15:18:38 -08:00
Adam Ierymenko
fa2bb91ae5
Kill some old debug code.
2016-11-30 10:48:09 -08:00
Grant Limberg
32478845b2
Merge branch 'dev' into systemtray
2016-11-30 10:21:19 -08:00
Adam Ierymenko
44f0e3097e
docs
2016-11-29 10:56:16 -08:00
Grant Limberg
289917e2b3
use msbuild instead of devenv
2016-11-28 15:30:52 -08:00
Grant Limberg
14fcb5867f
rethrow windows build error
2016-11-28 14:57:37 -08:00
Grant Limberg
cf59362c4a
add windows build to Jenkinsfile
2016-11-28 13:06:28 -08:00
Grant Limberg
8472918559
Change 'localhost' to 127.0.0.1
...
@makerspherehq reported it not working as 'localhost' via Twitter
2016-11-28 09:40:34 -08:00
Adam Ierymenko
ae8f51d608
.
2016-11-23 16:27:15 -08:00
Adam Ierymenko
4a7ee5472d
Small fixes.
2016-11-23 16:23:44 -08:00
Adam Ierymenko
8718b33a66
docs
2016-11-23 15:57:06 -08:00
Adam Ierymenko
27f1155f1b
docs and API stuff
2016-11-23 15:53:53 -08:00
Adam Ierymenko
84732fcb12
Wire through external path lookup. Static paths should now work.
2016-11-22 14:23:13 -08:00
Grant Limberg
c6c578ce1d
Fixes to allow usage of ZeroTierOne.h with a C compiler
2016-11-22 13:18:52 -08:00
Grant Limberg
3c5e28a27d
use new ZT_Node_Callbacks struct in JNI
2016-11-22 13:03:36 -08:00
Grant Limberg
a39f6e9b4c
clear cached window positions when display settings change
2016-11-22 12:02:49 -08:00
Grant Limberg
adb7a88836
cache window positions so we only have to move after open once.
2016-11-22 11:53:06 -08:00
Adam Ierymenko
9892f7bb47
Upgrade nlohmann::json
2016-11-22 11:06:58 -08:00
Adam Ierymenko
42ba70e79e
Replace long callback arg list with struct, and implement path whitelisting, path blacklisting, and local.conf support for roles.
2016-11-22 10:54:58 -08:00
Adam Ierymenko
cbaef66e82
Fix a deadlock in federation/upstream code.
2016-11-21 16:04:01 -08:00
Adam Ierymenko
97d915b06c
Expose relay policy in node settings.
2016-11-21 15:35:18 -08:00
Grant Limberg
3a3a23db34
hacky way to set window position but it works
2016-11-21 15:31:32 -08:00
Adam Ierymenko
d159e5ca44
Allow relay policy setting in local.conf
2016-11-21 15:21:24 -08:00
Grant Limberg
d3bd10952e
hyperlinks in the about page are clickable
2016-11-21 14:32:25 -08:00
Adam Ierymenko
40078a99de
Make parse failure of local.conf non-fatal in case people have ancient files sitting around.
2016-11-21 14:14:43 -08:00
Grant Limberg
0142c0d339
fill out the about view
2016-11-21 13:25:10 -08:00
Adam Ierymenko
2e5de46584
local.conf and support for virtual role definition
2016-11-21 13:20:56 -08:00
Grant Limberg
1be55d6182
Merge branch 'dev' into systemtray
2016-11-21 12:59:43 -08:00
Grant Limberg
8ebcd44405
dont close the network list. just hide it so its reusable
2016-11-21 12:54:27 -08:00
Adam Ierymenko
ccdd4ffda7
Move split() to OSUtils since it is not used in core.
2016-11-18 15:49:28 -08:00
Grant Limberg
a6ed711492
wired up the startup registry key to the registry
2016-11-18 15:44:41 -08:00
Grant Limberg
3fb224cb22
add a checkbox for startup option in preferences
2016-11-18 15:23:07 -08:00
Grant Limberg
5ca5af619d
Merge branch 'systemtray' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into systemtray
2016-11-18 14:58:01 -08:00
Grant Limberg
f61c5836b2
copy node ID by clicking on node ID menu item
2016-11-18 14:57:14 -08:00
Grant Limberg
535b33b46e
copy node ID by clicking on node ID menu item
2016-11-18 14:52:04 -08:00
Grant Limberg
a8847de910
proper shutdown
2016-11-18 14:23:22 -08:00
Grant Limberg
2231e878d5
Merge branch 'dev' into systemtray
2016-11-18 14:00:25 -08:00
Grant Limberg
299a7cab20
fixed an issue where sometimes network data wouldnt be updated
2016-11-18 13:59:31 -08:00
Grant Limberg
e48d6880c9
Wired up connected checkbox and delete button. just something not working with refresh.
2016-11-18 13:52:48 -08:00
Adam Ierymenko
673c0c811e
Wire through upstream stuff and add setRole().
2016-11-18 13:48:49 -08:00
Adam Ierymenko
6e1da35c12
Remove debug.
2016-11-18 13:15:58 -08:00
Adam Ierymenko
25f9c294dc
Small bug fix and warning removal.
2016-11-18 13:01:45 -08:00
Adam Ierymenko
2ea9f516e1
Rate gate expensive validation of new identities in HELLO.
2016-11-18 12:59:04 -08:00
Grant Limberg
dbe1461886
wire up the quit button
2016-11-18 12:17:57 -08:00
Grant Limberg
7bea709747
wire up the rest of the views to the menu. views not implemented yet tho.
2016-11-18 12:03:21 -08:00
Grant Limberg
6536474b94
moved stuff around again. WPF didnt like things once they were moved. Also wired up Join dialog.
2016-11-18 11:33:46 -08:00
Adam Ierymenko
ab4021dd0e
Do packet MAC check before locallyValidate(), and add timing measurement in selftest.
2016-11-18 11:09:19 -08:00
Adam Ierymenko
1fcbb1fbed
Proactively auto-load designated upstreams.
2016-11-18 10:39:26 -08:00
Adam Ierymenko
39333c9e8e
Modify unite() to deal with a second layer of upstreams.
2016-11-17 16:59:04 -08:00
Adam Ierymenko
1615ef1114
Rename getBestRoot() etc.
2016-11-17 16:31:58 -08:00
Adam Ierymenko
bf8d71e82c
Add notion of upstream that is separate from root in Topology, etc.
2016-11-17 16:20:41 -08:00
Grant Limberg
a4c2740852
added skeletons for join and about windows. moving things around a little bit too
2016-11-17 14:25:55 -08:00
Grant Limberg
afa1b8cb2d
add timeouts to requests to the json api
2016-11-17 14:23:04 -08:00
Grant Limberg
5447c01e1f
can finally join/leave networks by clicking on them in the context menu
2016-11-17 14:13:05 -08:00
Grant Limberg
b4bacd50a1
Merge branch 'dev' into systemtray
2016-11-16 16:23:56 -08:00
Grant Limberg
3c248ec61a
handle removing of networks we are no longer connected to from the UI
2016-11-16 15:50:56 -08:00
Grant Limberg
78a8ceda0e
IP addresses now selectable in Windows UI
2016-11-16 15:11:28 -08:00
Grant Limberg
14bf326de2
make device ID selectable
2016-11-16 14:50:25 -08:00
Grant Limberg
dc549b7f3c
add JSONDB.cpp
2016-11-16 14:50:03 -08:00
Grant Limberg
456c7ca661
only changed items in the full network list are updated now
2016-11-15 16:55:24 -08:00
Grant Limberg
bab75186f5
make some fields in the network list selectable
2016-11-15 15:51:25 -08:00
Adam Ierymenko
07b2a3818c
Fix TTL scaling in cert.
2016-11-15 14:26:05 -08:00
Adam Ierymenko
15c6e2ec70
Fix member deauthorization time threshold bug.
2016-11-15 14:06:25 -08:00
Adam Ierymenko
5bd8968eb8
Add rules engine debugging switch to make-linux.mk
2016-11-15 11:50:53 -08:00
Adam Ierymenko
4ad942522b
Kill unnecessary check in another spot.
2016-11-14 15:57:46 -08:00
Adam Ierymenko
b6c99ba3ef
Add (currently undocumented) option to allow management from certain networks.
2016-11-14 15:47:06 -08:00
Adam Ierymenko
ee5bd57d40
We don't bind to non-local IP for TCP yet, but eliminate double check.
2016-11-14 15:29:36 -08:00
Grant Limberg
6445337a32
looks like a garbage file got committed. deleting
2016-11-14 15:02:40 -08:00
Grant Limberg
f20c7303e8
remove timer thats no longer needed
2016-11-14 14:58:57 -08:00
Grant Limberg
c4c8ea62e2
Added network monitor pub/sub class
2016-11-14 14:56:36 -08:00
Grant Limberg
71aadcbecb
fix serialization issue.
...
Apparently the JSON parser uses this same serialization method under the hood to create objects from JSON.
2016-11-10 15:21:54 -08:00
Grant Limberg
fd71ceeab5
menu now dynamically populates the network list
2016-11-10 14:17:57 -08:00
Adam Ierymenko
e26bee45fb
Multithreading in network controller. Threads are only started if controller is used.
2016-11-10 13:57:01 -08:00
Adam Ierymenko
1b10d3413a
Use circuit breaker only for requests.
2016-11-10 13:08:43 -08:00
Adam Ierymenko
f0fcd222a1
Actually push updates when things change.
2016-11-10 12:54:43 -08:00
Adam Ierymenko
298e4a9f14
Also avoid sending tags and caps to old members since there is no point.
2016-11-10 12:33:09 -08:00
Adam Ierymenko
12d32b9311
Small fix to send pushes if not a reply.
2016-11-10 11:57:45 -08:00
Adam Ierymenko
226123ca08
Refactor controller to permit sending of pushes as well as just replies to config requests.
2016-11-10 11:54:47 -08:00
Adam Ierymenko
5ebf5077f5
Log last meta-data in controller, and ease up just a bit on keepalives.
2016-11-09 17:11:10 -08:00
Grant Limberg
e1c930f1b7
update JNI wrapper to reflect removal of lastMulticastFrame and lastUnicastFrame from ZT_Peer struct
2016-11-09 16:33:01 -08:00
Adam Ierymenko
c61ca1dea2
Keep connections up for netconf stuff as well as frames.
2016-11-09 16:04:08 -08:00
Adam Ierymenko
eea712a1ae
Field in wrong place fixed.
2016-11-09 13:26:14 -08:00
Adam Ierymenko
1ebfca666d
Memo-ize some computed stuff to control CPU utilization.
2016-11-09 12:34:20 -08:00
Grant Limberg
005b5aacaf
rename
2016-11-09 10:32:18 -08:00
Grant Limberg
7cf3d2caa1
Network list window opens with click on the menu item
2016-11-08 16:31:07 -08:00
Grant Limberg
e1f9f7b6dc
turn APIHandler into a singleton
2016-11-08 15:50:08 -08:00
Grant Limberg
6b0543ba27
starts up to a toolbar icon with context menu. still much more to do
2016-11-08 14:54:55 -08:00
Adam Ierymenko
3d948a930e
Send a blanket rule to old versions. New versions will still bidirecitonally enforce on the inbound side.
2016-11-08 14:24:30 -08:00
Adam Ierymenko
6f3595bfd2
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2016-11-08 12:41:32 -08:00
Adam Ierymenko
4524899e4d
Update LM time on members on request.
2016-11-08 12:41:27 -08:00
Grant Limberg
54206fd44d
add NotifyIcon NuGet package for tray icon support
2016-11-08 11:24:12 -08:00
Grant Limberg
6d8c8f9fd1
update JSON library to latest
2016-11-08 11:23:15 -08:00
Grant Limberg
00e1b0ed10
added docs for allowManaged, allowGlobal, allowDefault
2016-11-08 11:00:48 -08:00
Grant Limberg
4f8feaa530
update JSON API docs for OneService
2016-11-08 10:23:25 -08:00
Adam Ierymenko
0324e6ca3d
Merge pull request #402 from bobberb/patch-1
...
Typo fix line 77
2016-11-08 08:32:47 -08:00
Adam Ierymenko
d773ab2806
Merge pull request #407 from misuzu/chownfix
...
Chown fix
2016-11-08 08:32:31 -08:00
Tsukasa Hiiragi
8e76363ccf
Fix chown on /var/lib/zerotier-one
2016-11-08 16:50:32 +02:00
Adam Ierymenko
360c84e035
Minor fixes.
2016-11-08 00:05:18 +00:00
Adam Ierymenko
4868d21526
Bug fixes in controller refactor.
2016-11-07 23:49:03 +00:00
Grant Limberg
c802811ad2
Added a file copy util for Windows UI
...
Copies the authtoken.secret file into a private local folder for the user so that the UI doesnt have to be run with Admin privileges.
2016-11-07 14:09:01 -08:00
Adam Ierymenko
5f63d5039b
Bug fixes, self test of JSONDB disabled by default.
2016-11-07 14:01:23 -08:00
Adam Ierymenko
a454a37a6e
Self test JSONDB.
2016-11-07 13:27:17 -08:00
Adam Ierymenko
a78d7311a6
Fix network list API call.
2016-11-04 16:23:41 -07:00
Adam Ierymenko
08ff666e99
.
2016-11-04 16:14:58 -07:00
Adam Ierymenko
0d108d37f6
.
2016-11-04 16:12:44 -07:00
Adam Ierymenko
cae9041c2a
.
2016-11-04 15:52:01 -07:00
Adam Ierymenko
330a07a554
cleanup
2016-11-04 15:48:23 -07:00
Adam Ierymenko
7729cbe313
Fix ambiguous error on some compilers.
2016-11-04 15:34:49 -07:00
Adam Ierymenko
3e865067be
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2016-11-04 15:18:35 -07:00
Adam Ierymenko
b03c7b2f30
Refactor controller to use split-out DB for better performance and less ugly.
2016-11-04 15:18:31 -07:00
Grant Limberg
1ab9c43135
wire up allowDefault, allowManaged, allowGlobal, allowDefault options
2016-11-04 14:50:07 -07:00
Grant Limberg
efcc24a76b
increase window width so IPv6 addreses don't wrap
2016-11-04 14:49:15 -07:00
Grant Limberg
4762311977
work in progress windows UI update
2016-11-04 12:39:57 -07:00
Adam Ierymenko
ab2ccb094a
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2016-11-03 14:44:49 -07:00
Adam Ierymenko
3c00cd0f88
Separate out JSON store from controller code.
2016-11-03 14:17:46 -07:00
Grant Limberg
a7718bae39
link in notelemetry.obj even though Microsoft said CRT telemetry would be disabled in VS2015 Update 3. Just in case.
2016-11-03 12:25:09 -07: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
Grant Limberg
8cced06a2d
upgraded vcxprojs to VS2015. got the tap driver building.
2016-11-03 10:04:50 -07:00
Grant Limberg
965399ba0c
fix a few warnings
2016-10-31 15:16:42 -07:00
Grant Limberg
231cc11a62
Update path to nkd-build
2016-10-27 14:28:42 -07:00
Grant Limberg
1afa9e992c
add color to success output in slack
2016-10-27 14:01:00 -07:00
Grant Limberg
be543c4039
use internal changelog library
2016-10-25 15:51:30 -07:00
Grant Limberg
7e7462b39e
attempting #2
2016-10-25 15:01:59 -07:00
Grant Limberg
d2ee37a3e0
attempting to add the changelog to the starting build slack message
2016-10-25 14:58:27 -07:00
Grant Limberg
1fcedb8d16
fix duplicate branch name in slack
2016-10-25 14:38:57 -07:00
Grant Limberg
5c476391da
fixed build number in slack messages
2016-10-25 14:37:19 -07:00
Grant Limberg
6cb23e7069
added slack notifications
2016-10-25 14:35:31 -07:00
Grant Limberg
c976b87ac7
-scheme -> -target
2016-10-25 13:33:50 -07:00
Grant Limberg
af2bdfc421
dir directive appears to create a tmpdir rather than just cd
2016-10-25 13:14:28 -07:00
Grant Limberg
b01c551197
fix directory directive in jenkinsfile
2016-10-25 13:04:24 -07:00
Grant Limberg
df6d3ca66b
add stage for building the new macOS UI in Jenkins
2016-10-25 12:58:54 -07:00
Grant Limberg
5be7374f56
added macOS build for jenkins
2016-10-25 12:40:03 -07:00
Grant Limberg
7300005398
fixed one more stage syntax for jenkins build
2016-10-25 11:21:39 -07:00
Grant Limberg
6cd36edf45
Update stages
2016-10-25 11:18:26 -07:00
Grant Limberg
604a0b1fe6
added Jenkinsfile for jenkins build config
2016-10-25 11:10:21 -07:00
bobberb
046d5bb9ff
Typo fix line 77
2016-10-23 15:45:45 -04:00
Adam Ierymenko
0e8442064e
Merge pull request #376 from siigna/debian
...
Move debian/format to debian/source/format
2016-10-21 13:39:55 -07:00
Adam Ierymenko
ea1f2762cf
Merge pull request #401 from zielmicha/dev
...
Run as nonroot user on Linux (with CAP_NET_ADMIN and CAP_NET_RAW added).
2016-10-21 13:37:27 -07:00
Grant Limberg
0f3095f130
Merge remote-tracking branch 'macui/master' into macui-merge
...
# Conflicts:
# .gitignore
2016-10-17 14:50:18 -07:00
Grant Limberg
7b7ec13349
Prepare for merging into main ZeroTier repo
2016-10-17 14:44:32 -07:00
Grant Limberg
7025c7090b
set proper copyright/license in code files
2016-10-17 14:43:24 -07:00
Grant Limberg
7c12991f57
wasn't setting the Connected checkbox to off if the network wasn't connected
2016-10-17 13:48:25 -07:00
Grant Limberg
f444da80bc
Add a 2 second delay before the About window shows up on the first run
2016-10-17 13:43:44 -07:00
Grant Limberg
ed58467d12
Clicking "Join" to join a new network now properly closes the popover
2016-10-17 13:43:27 -07:00
Grant Limberg
c44c3b0530
cleanup
2016-10-17 12:31:59 -07:00
Grant Limberg
46e9c1195c
more removal of NSMenuDelegate
2016-10-17 12:29:28 -07:00
Grant Limberg
4730111492
updated project settings for Xcode 8.0
2016-10-17 12:27:07 -07:00
Grant Limberg
a813e29491
Don't need AppDelegate to be a NSMenuDelegate
2016-10-17 12:26:48 -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
Grant Limberg
772599a6fc
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2016-10-13 15:18:12 -07:00
Grant Limberg
3a3fe272bb
add Revocation.cpp to android build
2016-10-13 15:18:07 -07:00
Adam Ierymenko
88e3fe699c
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2016-10-13 15:17:27 -07:00
Adam Ierymenko
27d997a2e5
.
2016-10-13 15:17:17 -07:00
Grant Limberg
8809c6d122
link atomic library. seems to be required in the latest Android NDK
2016-10-13 14:34:54 -07:00
Adam Ierymenko
6469aa9df9
typo
2016-10-13 14:28:39 -07:00
Adam Ierymenko
ce6b5bc6f5
.
2016-10-13 14:21:24 -07:00
Adam Ierymenko
4f3775bb86
Fix ICMP match.
2016-10-13 14:21:00 -07:00
Adam Ierymenko
2cb760e0ac
Fix ICMP json.
2016-10-13 14:14:46 -07:00
Adam Ierymenko
8850a8610a
Fix filter trace.
2016-10-13 13:59:17 -07:00
Adam Ierymenko
2d6a4e5974
cleanup
2016-10-13 13:52:45 -07:00
Adam Ierymenko
93b4ac5cb2
Remove unused POW code, will revisit later.
2016-10-13 13:17:30 -07:00
Adam Ierymenko
e2509af163
Fix bug in default rules init in new networks.
2016-10-12 12:30:32 -07:00
Adam Ierymenko
3f4c166861
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2016-10-11 12:00:38 -07:00
Adam Ierymenko
e53f63ca87
Broke down and added an OR to the rules engine. It is now possible to have a series of MATCHes that are ORed.
2016-10-11 12:00:16 -07:00
Grant Limberg
6a50291aa2
Fix the case for InetAddress::containsAddress for IPv6 route of ::
2016-10-07 14:29:06 -07:00
Grant Limberg
e59ed3e68f
Fix size of neighbor solicitation struct
2016-10-07 10:03:07 -07:00
Adam Ierymenko
45c4ccb153
Add a tags both equal match.
2016-10-05 16:38:42 -07:00
Adam Ierymenko
adeb7e7da0
Make capability flags match more user-friendly and appropriate since "match any flag" is generally what we want.
2016-10-05 12:54:46 -07:00
Adam Ierymenko
f1c8706485
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2016-10-05 10:12:16 -07:00
Adam Ierymenko
d5f4d381d0
Go ahead and loop back packets whose destination is self. Some OSes require this since they aactually follow the full network path even for local IPs.
2016-10-05 10:12:06 -07:00
Grant Limberg
69c5976775
fix typo in assert size
2016-10-04 17:35:52 -07:00
Adam Ierymenko
988049f39b
Add new rule to rules engine: random match.
2016-09-30 14:07:00 -07:00
Adam Ierymenko
6651b8310e
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2016-09-30 13:47:40 -07:00
Adam Ierymenko
0843ed62fa
Network delete fix.
2016-09-30 13:47:30 -07:00
Grant Limberg
d817039f79
Add IPv6 Neighbor Discovery code. Not yet tested.
2016-09-30 13:18:17 -07:00
Adam Ierymenko
f0794e09b7
Controller cleanup.
2016-09-30 13:04:26 -07:00
Adam Ierymenko
9eaa3756f8
Fix deadlock-causing regression in Network.
2016-09-30 12:22:54 -07:00
Adam Ierymenko
1eeebba2f7
Drop old /active path from network.
2016-09-29 17:59:27 -07:00
Adam Ierymenko
2fc3d12fb6
Minor tweaks to member code in controller, and fix Linux build.
2016-09-29 14:48:39 -07:00
Adam Ierymenko
4fe9a4fe83
Fix memory leak.
2016-09-28 16:13:59 -07:00
Adam Ierymenko
01129d02b3
hashCode() for InetAddress
2016-09-28 13:45:25 -07:00
Adam Ierymenko
e1fbf7b34c
Check multicast limit on send after NDP emulation code.
2016-09-28 12:21:08 -07:00
Adam Ierymenko
7e90ab3534
TRACE verbosity increase on exceptions in NETWORK_CREDENTIALS.
2016-09-28 11:06:44 -07:00
Adam Ierymenko
5ee1ccd659
Send need credential error on more cases.
2016-09-27 16:41:08 -07:00
Adam Ierymenko
0b44919ba2
Clusters can send multiple OKs so we must allow this.
2016-09-27 16:33:37 -07:00
Adam Ierymenko
9f550292fe
Simply network auth logic and always sent error on auth failure even for unknown networks to prevent forensics.
2016-09-27 13:49:43 -07:00
Adam Ierymenko
5ba7ca91c0
TRACE build fix.
2016-09-27 12:44:44 -07:00
Adam Ierymenko
cc4bacc199
Cleanup, and implement compression disable flag for networks.
2016-09-27 12:22:25 -07:00
Adam Ierymenko
15c07c58b6
Refactored network config chunking to sign every chunk to prevent stupid DOS attack potential, and implement network config fast propagate (though we probably will not use this for a bit).
2016-09-27 11:33:48 -07:00
Adam Ierymenko
236fdb450c
cleanup attic
2016-09-27 07:02:16 -07:00
Adam Ierymenko
7e4b6b594b
It now builds.
2016-09-26 17:05:39 -07:00
Adam Ierymenko
eac3667ec1
Bunch more refactoring and work on revocations, etc.
2016-09-26 16:17:02 -07:00
siigna
e35bca2c3c
Move debian/format to debian/source/format
...
Fixes the following error during package building:
dpkg-source: warning: no source format specified in debian/source/format, see dpkg-source(1)
Reference:
https://www.debian.org/doc/manuals/maint-guide/dother.en.html#sourcef
2016-09-23 20:13:37 -07:00
Adam Ierymenko
46049a1ef6
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2016-09-23 16:08:44 -07:00
Adam Ierymenko
1f74dd4589
Revocation work in progress, add WATCH which is TEE with implicit rate sync (thanks JG@DCVC!), and clean up some cruft in Network.
2016-09-23 16:08:38 -07:00
Grant Limberg
40d3993ceb
java code still needed to reflect PEER_ROLE_RELAY rename to PEER_ROLE_UPSTREAM
2016-09-21 14:12:20 -07:00
Grant Limberg
0564bb3b35
added missing copyright/license info from ZT_jniutils
2016-09-21 14:09:46 -07:00
Adam Ierymenko
29711e123f
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2016-09-20 21:21:43 -07:00
Adam Ierymenko
d3524f3609
Refactor COM stuff a bit, and respond to COM requests a bit more readily for rapid setup. Will need to revisit later.
2016-09-20 21:21:34 -07:00
Grant Limberg
d87f0293e3
Don't print a few error messages when they don't matter.
2016-09-19 13:40:53 -07:00
Grant Limberg
5fadd8bdd2
ZT_PEER_ROLE_RELAY -> ZT_PEER_ROLE_UPSTREAM in JNI glue
2016-09-19 12:54:19 -07:00
Grant Limberg
3366b53247
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2016-09-18 18:10:03 -07:00
Adam Ierymenko
68e549233d
Revise bearer token code in controller, and add relay policy as a meta-data item presented to controller by nodes (to facilitate future meshiness).
2016-09-15 13:17:37 -07:00
Adam Ierymenko
24fce0be86
No, definitely have to back out GitHub issue #385 (non-bisected routes) since this breaks IPv6 on OSX and probably IPv4 too if you were to encounter a 6-only situation.
2016-09-14 22:23:56 -07:00
Adam Ierymenko
740b34124f
Naming...
2016-09-14 17:35:50 -07:00
Adam Ierymenko
15402933bc
Add physical MTU recommendation hint to network config via API.
2016-09-14 16:55:25 -07:00
Adam Ierymenko
8d0b2b781e
Route management bug fixes.
2016-09-13 16:25:48 -07:00
Adam Ierymenko
83abc00aae
docs
2016-09-13 14:58:59 -07:00
Adam Ierymenko
5b6d27e659
Implement relay policy, and setting multicast limit to 0 now disables multicast on the network as would be expected.
2016-09-13 14:27:18 -07:00
Adam Ierymenko
ced8dfc639
Try a version of GitHub issue #385 (non-bifurcated default if not present) on Mac. This version adds the bifurcated routes always but also adds a device-specific non-bifurcated route. Will have to see if this still interferes with OSX route settings, since by definition device specific routes should not conflict with general routes.
2016-09-13 11:07:59 -07:00
Adam Ierymenko
8ef0e4bbaf
Get rid of HELLO rate gate on path since its basically worthless. There are 65535 ports per IP.
2016-09-13 10:46:36 -07:00
Adam Ierymenko
0da9a9a3e0
Set trustEstablished in a few more places.
2016-09-13 10:33:03 -07:00
Adam Ierymenko
cba37c6107
Add a few more rate limit gates for anti-DOS hardening.
2016-09-13 10:13:23 -07:00
Adam Ierymenko
ea1da3321a
Rate gate requests for COM.
2016-09-12 15:19:21 -07:00
Adam Ierymenko
34b146f28b
Back out of GitHub issue #385 for now and maybe for this release. Would be nice but it is non-critical and rules are the priority. Current implementation bangs heads with OSX route assignment on WiFi join, etc.
2016-09-12 14:56:18 -07:00
Adam Ierymenko
fb46a546db
Just always do route bifurcation on Linux for now... basically the old behavior.
2016-09-09 12:53:44 -07:00
Adam Ierymenko
debc4c45ee
Set trust established flag in MULTICAST_GATHER.
2016-09-09 11:45:34 -07:00
Adam Ierymenko
ab9afbc749
(1) Public networks now get COMs even though they do not gate with them since they will need them to push auth for multicast stuff, (2) added a bunch of rate limit circuit breakers for anti-DOS, (3) cleanup.
2016-09-09 11:36:10 -07:00
Adam Ierymenko
ef87069957
Fix gating of multicast GATHER replies since these can come from upstream, etc., and fix an issue with sending ECHO to recheck marginal paths.
2016-09-09 09:32:00 -07:00
Adam Ierymenko
0d4109a9f1
More refactoring to clean up code, and add a gate function to make sure we do not handle OK packets we did not expect. This hardens up a few potential edge cases around security, since such messages might be used to e.g. pollute a cache and DOS under certain conditions.
2016-09-09 08:43:58 -07:00
Adam Ierymenko
16df2c3363
Clean up handling of COMs, network access control, and fix a backward compatiblity issue.
2016-09-08 19:48:05 -07:00
Grant Limberg
5ed5b22525
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2016-09-08 17:45:46 -07:00
Grant Limberg
dccca7df1a
another couple of missing semicolons
2016-09-08 17:45:40 -07:00
Adam Ierymenko
1f6b13b7fd
Fix bug causing null addresses to get in memberships[] hash.
2016-09-08 16:09:56 -07:00
Adam Ierymenko
d23ade879b
Do not bifurcate if not replacing an existing route. (Still need to tie up Linux and Windows.)
2016-09-08 15:42:46 -07:00
Adam Ierymenko
8afdb0aa65
GitHub issue #346
2016-09-07 17:07:06 -07:00
Adam Ierymenko
daf8a66ced
More correct and efficient to initialize member relationship push stuff lazily when member is learned.
2016-09-07 15:47:20 -07:00
Adam Ierymenko
20278bb9e4
Also send MULTICAST_LIKEs to controllers.
2016-09-07 15:34:34 -07:00
Adam Ierymenko
c7a4da3dd3
Turns out we do not need to pass network to receive().
2016-09-07 15:24:53 -07:00
Adam Ierymenko
1908aa55f5
Refactor MULTICAST_LIKE pushing to eliminate redundant and unnecessary pushes and simplify code.
2016-09-07 15:15:52 -07:00
Adam Ierymenko
1c08f5e857
Tweak some expire times.
2016-09-07 12:25:19 -07:00
Adam Ierymenko
c9ee8612e4
Credential TTL (tags/capabilities) should be credential time max delta, since we could get pushed one that is newer.
2016-09-07 12:12:52 -07:00
Adam Ierymenko
a7d988745b
Use ECHO instead of HELLO where possible.
2016-09-07 12:01:03 -07:00
Adam Ierymenko
a9f404aac3
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2016-09-07 11:20:47 -07:00
Adam Ierymenko
ff9f8b1c2b
Typo fix.
2016-09-07 11:15:36 -07:00
Adam Ierymenko
b5c86b6ba4
Bunch more path refactoring. Peers no longer forget paths, but do not normally use expired paths. Expired paths might still be tried if nothing else is reachable.
2016-09-07 11:13:17 -07:00
Grant Limberg
407ad659ea
Reflect changes to strut ZT_PeerPhysicalPath
2016-09-06 17:59:01 -07:00
Adam Ierymenko
f2d2df2b11
Cluster build fix.
2016-09-06 15:06:07 -07:00
Adam Ierymenko
48a374c82c
(1) fix crazy bug introduced in doRENDEZVOUS(), (2) reclaim Paths after paths[] condense, (3) fix an edge case around symmetric NAT and external IP change detection.
2016-09-06 14:05:58 -07:00
Adam Ierymenko
deee39343e
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2016-09-06 12:45:37 -07:00
Adam Ierymenko
8a2e8bd585
Rework how paths are set as remote cluster preferred. The code is now clearer and cluster preference indications are now very sticky as they should be.
2016-09-06 12:45:28 -07:00
Adam Ierymenko
43780742b0
comments, docs
2016-09-06 11:10:04 -07:00
Grant Limberg
68a966fa55
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2016-09-05 16:19:10 -07:00
Grant Limberg
43b3ec4b1a
forgot a semicolon in a JNI java type specifier.
2016-09-05 16:19:04 -07:00
Grant Limberg
dcf1f70868
re-adding file
2016-09-05 16:12:29 -07:00
Grant Limberg
598ca48ed6
Attempting to fix VirtualNetworkRoute having 2 entries in git. Yay non case sensitive filesystems
2016-09-05 16:12:06 -07:00
Adam Ierymenko
3790ebe77a
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2016-09-05 15:49:07 -07:00
Adam Ierymenko
d7f2287ce9
More tweaks to path behavior.
2016-09-05 15:47:22 -07:00
Grant Limberg
9f717e79ea
Fixing filename again....
2016-09-05 14:42:36 -07:00
Grant Limberg
26d43c9b06
fix capitalization on file
2016-09-05 14:27:44 -07:00
Grant Limberg
8682c90c7d
ensure routes are also equal when checking for equality on VirtualNetworkConfig objects
2016-09-05 14:10:07 -07:00
Grant Limberg
d063f583ee
Added VirtualNetworkRoute class and added it to VirtualNetworkConfig
2016-09-05 13:52:29 -07: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
01aa469591
Remove debug line.
2016-09-02 14:26:04 -07:00
Adam Ierymenko
4992ac2d9f
Cluster sub-optimal is in fact necessary...
2016-09-02 14:20:55 -07:00
Adam Ierymenko
412979ba8f
Attempt to reactivate dead paths.
2016-09-02 13:55:33 -07:00
Adam Ierymenko
4f8253dcdb
Tweaks to path handling...
2016-09-02 13:33:56 -07:00
Adam Ierymenko
4931e44998
Implement "weak pointer" behavior on Topology Path canonicalization hash table.
2016-09-02 12:34:02 -07:00
Adam Ierymenko
d1101441b3
Tweak some timings.
2016-09-02 11:54:59 -07:00
Adam Ierymenko
e8f6b4b5d3
Rest of big Path canonicalization refactor.
2016-09-02 11:51:33 -07:00
Grant Limberg
94263ffcc1
Added error handling messages
2016-09-01 19:02:27 -07:00
Adam Ierymenko
a3bdae9735
Work in progress: Path canonicalization refactor.
2016-09-01 15:43:07 -07:00
Adam Ierymenko
d5e6f59004
.
2016-09-01 13:45:32 -07:00
Adam Ierymenko
22271f2a49
Cleanup.
2016-09-01 13:36:41 -07:00
Adam Ierymenko
8b6d23b9f6
Optimize filter code a bit, and add a network-level setting for what should happen if an unsupported or unknown MATCH is encountered in a rules table.
2016-09-01 12:07:17 -07:00
Adam Ierymenko
25056de5d3
Also need to send credentials when TEEing and REDIRECTing.
2016-08-31 17:56:59 -07:00
Adam Ierymenko
994b25af4e
Simplify some logic.
2016-08-31 17:45:55 -07:00
Adam Ierymenko
74afef8eb1
Think through and refine a few things in rules, especially edge case TEE and REDIRECT behavior and semantics.
2016-08-31 16:50:22 -07:00
Adam Ierymenko
54489a7f61
rename SAMENESS to DIFFERENCE which is less confusing
2016-08-31 14:14:58 -07:00
Adam Ierymenko
8e3004591b
Add overlooked MATCH_ICMP to rule set.
2016-08-31 14:01:15 -07:00
Adam Ierymenko
2ff2a8fd9a
Cluster build fixes and warning elimination.
2016-08-31 09:38:21 -07:00
Grant Limberg
c2a01f6db4
Added a path for error handling when fetching data from the ZeroTier daemon
...
Still need to wire up error messages to the user.
2016-08-30 20:28:52 -07:00
Adam Ierymenko
7a00036954
Tweak log length to fit JSON for members within two 4096-kb blocks.
2016-08-29 18:10:02 -07:00
Adam Ierymenko
914c42537c
Type fixes.
2016-08-29 17:48:36 -07:00
Adam Ierymenko
cb63babac4
Debug output fixes.
2016-08-29 16:38:10 -07:00
Adam Ierymenko
ac1c127b68
Debug output fixes.
2016-08-29 16:24:08 -07:00
Adam Ierymenko
cb82193333
Debug output fixes.
2016-08-29 16:19:26 -07:00
Adam Ierymenko
f0636ffd4a
EXT_FRAME messages should always be accepted if we are the destination for a matching TEE or REDIRECT rule.
2016-08-29 15:54:06 -07:00
Adam Ierymenko
51a420671f
Make rules engine debug a bit more verbose.
2016-08-29 15:17:34 -07:00
Adam Ierymenko
77c2bf3ad9
Kill dead field from network JSON.
2016-08-29 14:47:19 -07:00
Adam Ierymenko
7223685b96
.
2016-08-26 15:30:20 -07:00
Adam Ierymenko
e7dff1c785
Change logic a little for self-as-destination in TEE and REDIRECT.
2016-08-26 15:28:31 -07:00
Adam Ierymenko
a5383d83d8
Do not TEE or REDIRECT to self.
2016-08-26 15:25:00 -07:00
Adam Ierymenko
a3c7627acf
Push more than one packet for credentials if we happen to have a whole lot. Should not happen often but might if a member has tons of tags.
2016-08-26 14:43:16 -07:00
Adam Ierymenko
297b1b4258
Another tiny API bug fix.
2016-08-26 14:16:55 -07:00
Adam Ierymenko
35ac995d05
Fix setting of v6AssignMode in controller.
2016-08-26 14:04:27 -07:00
Adam Ierymenko
6bd5aba4fa
fix frame size range bug
2016-08-26 13:26:26 -07:00
Adam Ierymenko
fb5217761b
Add missing names in filter debug code.
2016-08-26 13:20:55 -07:00
Adam Ierymenko
90f3e94565
Always output trace info when debugging rules.
2016-08-26 12:21:44 -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
d637988ccf
Fix chicken or egg problem in tags, and better filter debug instrumentation.
2016-08-25 18:21:20 -07:00
Adam Ierymenko
858e8c5217
one more...
2016-08-25 16:28:54 -07:00
Adam Ierymenko
df1ce856c9
A little bit more controller code cleanup.
2016-08-25 16:25:28 -07:00
Adam Ierymenko
b5e0d014ab
Controller bug fixes
2016-08-25 16:08:40 -07:00
Adam Ierymenko
5eaf397a94
Add a debug log feature in the filter, which only works if enabled in Network.cpp.
2016-08-25 13:31:23 -07:00
Adam Ierymenko
1814016eb7
Add daemon thread to controller and move network member cache refreshes there.
2016-08-25 11:26:45 -07:00
Adam Ierymenko
6ecb42b031
docs and null check in controller code
2016-08-25 10:46:03 -07:00
Adam Ierymenko
584228b2b5
Dead code removal, and get rid of reliable() because we will no longer make that distinction.
2016-08-24 17:56:35 -07:00
Adam Ierymenko
cd3683f2ba
Fix a missing receive().
2016-08-24 17:50:51 -07:00
Adam Ierymenko
347ebcd899
Set trust flag in network controllers if remote query is accepted to allow NATed network controllers to better traverse.
2016-08-24 17:48:13 -07:00
Adam Ierymenko
e52c2c41ec
Add a circuit breaker to prevent too many credentials from being stored per member.
2016-08-24 17:24:35 -07:00
Adam Ierymenko
95ff057e04
Increase rule limits a little since chunking in netconf can accomodate this.
2016-08-24 17:16:26 -07:00
Adam Ierymenko
60bc291414
Add noAutoAssignIps for member of networks.
2016-08-24 17:05:43 -07:00
Adam Ierymenko
c476285bd6
Harden PUSH_DIRECT_PATHS and simplify things by only doing it on receive when hops>0 and trust has been established.
2016-08-24 16:16:39 -07:00
Adam Ierymenko
63e8ad4cc3
TRACE stuff.
2016-08-24 15:45:37 -07:00
Adam Ierymenko
2cdda38dc4
It basically works... at least on current controllers.
2016-08-24 15:26:18 -07:00
Adam Ierymenko
ccea3d04d6
Push NETWORK_CONFIG_REFRESH on POSTs to /member/... in controller.
2016-08-24 14:28:16 -07:00
Adam Ierymenko
90bd3e07a0
Remove http-parser from RPM spec.
2016-08-24 13:53:24 -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
8d594f8b53
cleanup
2016-08-23 16:05:10 -07:00
Adam Ierymenko
5f4df0c6a9
Controller cleanup and perf improvements.
2016-08-23 15:30:36 -07:00
Adam Ierymenko
0ee4d3554a
Stub out USER_MESSAGE.
2016-08-23 14:38:20 -07:00
Adam Ierymenko
0a7a33ef8f
Instantaneous blacklisting and credential revocation.
2016-08-23 13:46:36 -07:00
Adam Ierymenko
32fa061700
Compute credential TTL et al.
2016-08-23 13:02:59 -07:00
Adam Ierymenko
7036831203
Sign Dictionary in doNETWORK_CONFIG_REQUEST.
2016-08-23 11:57:56 -07:00
Adam Ierymenko
68b4ca9b31
Cleanup.
2016-08-23 11:52:10 -07:00
Adam Ierymenko
0dfc08b317
Tidy up a few minor protocol things, improve documentation in Packet.hpp.
2016-08-23 11:29:02 -07:00
Adam Ierymenko
77f7dcf40a
Obsolete "test network" removal.
2016-08-23 09:39:38 -07:00
Adam Ierymenko
9a3c652a51
Get rid of expiration in Capability and Tag and move this to NetworkConfig so it can be set network-wide and reset if needed. Also add NetworkConfig field for this and centralize checking of credential time validity.
2016-08-22 18:06:46 -07:00
Adam Ierymenko
6db47de25e
Merge branch 'edge' of http://10.6.6.2/zerotier/ZeroTierOne into edge
2016-08-22 14:26:17 -07:00
Adam Ierymenko
b0d888d235
Signing of Capability and Tag objects.
2016-08-22 14:25:59 -07:00
Joseph Henry
af53e63ae2
Kube tut update
2016-08-22 11:33:10 -07:00
Grant Limberg
35d5ed9c2b
version bump i forgot to commit
2016-08-19 18:13:00 -07:00
Adam Ierymenko
9827b8991d
Merge branch 'edge' of http://10.6.6.2/zerotier/ZeroTierOne into edge
2016-08-18 18:18:56 -07:00
Adam Ierymenko
4dce71879f
.
2016-08-18 18:18:50 -07:00
Joseph Henry
727fb197d8
kube tutorial update
2016-08-18 15:32:26 -07:00
Joseph Henry
c2f10a52de
zt-kubernetes tutorial update
2016-08-18 15:16:24 -07:00
Joseph Henry
cf2ec0797e
zt-kubernetes tutorial update
2016-08-18 15:15:38 -07:00
Joseph Henry
6443049f86
Merge branch 'edge' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into edge
2016-08-18 15:13:49 -07:00
Joseph Henry
44bee4e3ff
zt-kubernetes tutorial update
2016-08-18 15:13:43 -07:00
Adam Ierymenko
212a5af9a5
Capabilities and tags in POST JSON.
2016-08-18 14:37:56 -07:00
Adam Ierymenko
1cadbfb4d1
Little fixes.
2016-08-18 13:47:02 -07:00
Adam Ierymenko
4729fec2eb
Merge branch 'edge' of http://10.6.6.2/zerotier/ZeroTierOne into edge
2016-08-18 13:00:00 -07:00
Adam Ierymenko
f119c4a456
Cache network members for performance, add network non-persisted fields.
2016-08-18 12:59:48 -07:00
Joseph Henry
3e261fb999
updated entrypoint
2016-08-17 18:33:49 -07:00
Joseph Henry
0fd3afe2c8
examples files for kube int
2016-08-17 18:03:34 -07:00
Joseph Henry
9dc507c9ae
examples files for kube int
2016-08-17 17:52:19 -07:00
Joseph Henry
5d37eabb59
Merge branch 'edge' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into edge
2016-08-17 17:43:44 -07:00
Joseph Henry
169664ffc2
examples files for kube int
2016-08-17 17:43:34 -07:00
Adam Ierymenko
4c0a7c0fb2
Merge branch 'edge' of http://10.6.6.2/zerotier/ZeroTierOne into edge
2016-08-17 17:37:48 -07:00
Adam Ierymenko
faa9a06bf5
Controller fixes...
2016-08-17 17:37:37 -07:00
Joseph Henry
183434d30e
examples files for kube int
2016-08-17 17:29:14 -07:00
Joseph Henry
c84ce76c59
examples files for kube int
2016-08-17 17:22:05 -07:00
Joseph Henry
1833c61556
kubernetes tutorial update
2016-08-17 15:35:00 -07:00
Joseph Henry
ba78676ace
kubernetes tutorial update
2016-08-17 15:28:48 -07:00
Joseph Henry
0d37b7b665
zt-kubernetes tutorial outline
2016-08-17 15:12:48 -07:00
Adam Ierymenko
1254dece5b
Linux build fixes, and build controller.
2016-08-17 14:19:29 -07:00
Adam Ierymenko
b7ebf6edbf
Cleanup and log how member was authorized.
2016-08-17 13:54:32 -07:00
Adam Ierymenko
b72847d504
Finally implement network join auth tokens, at least at the protocol level.
2016-08-17 13:41:45 -07:00
Adam Ierymenko
168b86fdcd
Controller docs and API fix.
2016-08-17 12:27:07 -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
cc808cc2dd
Rules parsing stuff.
2016-08-17 10:25:25 -07:00
Adam Ierymenko
ce001198d8
.
2016-08-16 16:57:45 -07:00
Adam Ierymenko
c0639ccd37
Just about ready to test.
2016-08-16 16:46:08 -07:00
Adam Ierymenko
58701c1ca8
.
2016-08-16 14:08:08 -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
bd15262e54
Bunch of rule JSON stuff.
2016-08-15 18:49:50 -07:00
Adam Ierymenko
3cb2e1197f
.
2016-08-12 15:32:45 -07:00
Adam Ierymenko
7762cd680b
fix json include path in cli
2016-08-12 11:30:50 -07:00
Adam Ierymenko
c30f74987f
Starting refactor of controller...
2016-08-12 11:30:27 -07:00
Grant Limberg
628ef14d80
added more spacing at the bottom of each network info cell
2016-08-11 17:50:15 -07:00
Grant Limberg
bc48a097f8
add @2x versions of menu bar icon
2016-08-11 17:41:54 -07:00
Adam Ierymenko
dd21c8a577
Rev nlohmann/json
2016-08-10 17:27:46 -07:00
Adam Ierymenko
7d906df805
Better instrumentation for filter, and filter bug fixes.
2016-08-10 14:27:52 -07:00
Adam Ierymenko
d166b494ee
Rule parse fix.
2016-08-10 13:41:22 -07:00
Adam Ierymenko
81959f14af
Refactor and redesign symmetric NAT predictor. This is cleaner.
2016-08-10 10:28:54 -07:00
Grant Limberg
2300f3c92b
bump build number
2016-08-09 20:04:33 -07:00
Grant Limberg
73fd934fec
* Fixed menu icon size
...
* Added icon for dark mode
* Added detection for interface mode changing from light to dark and adjusting the icon accordingly
2016-08-09 20:02:12 -07:00
Grant Limberg
a7b635a980
add border around About web view. added padding to text div in the about page
2016-08-09 19:03:09 -07:00
Grant Limberg
91b8d6f34f
[pasteboard declareTypes] needs to be called before every time you set a string to the pasteboard.
2016-08-09 18:03:48 -07:00
Adam Ierymenko
c9d7845fea
Minor bug fix and some instrumentation stuff for testing.
2016-08-09 17:00:01 -07:00
Adam Ierymenko
0b0cda2be4
ZT_TRACE fix.
2016-08-09 15:55:41 -07:00
Adam Ierymenko
e1310a764a
More cleanup and removal of cruft due to obsolete network-specific relays (will be replaced with federation stuff).
2016-08-09 15:45:26 -07:00
Adam Ierymenko
dbf3e6c3c9
Dead code removal.
2016-08-09 15:01:46 -07:00
Adam Ierymenko
dee7f75f7e
Minor cleanup.
2016-08-09 14:46:11 -07:00
Adam Ierymenko
774c7e0ea5
Put CONFIG_REFRESH back.
2016-08-09 13:52:08 -07:00
Adam Ierymenko
4d498b3765
Handling of multi-part chunked network configs on the inbound side.
2016-08-09 13:14:38 -07:00
Adam Ierymenko
bcd05fbdfa
Chunking of network config replies.
2016-08-09 09:34:13 -07:00
Adam Ierymenko
2ba9343607
Encode and decode of tags and capabilities in NetworkConfig.
2016-08-09 08:32:42 -07:00
Grant Limberg
8ae07fb9c9
build number bump
2016-08-08 19:04:50 -07:00
Grant Limberg
13682bd919
Change Deployment Target to 10.7. Apparently going below 10.10 was only an issue with Swift
2016-08-08 19:02:09 -07:00
Grant Limberg
b5cab8afaa
update build number
2016-08-08 17:46:01 -07:00
Grant Limberg
c15c9775bd
explicitly link to WebKit framework
2016-08-08 17:45:52 -07:00
Adam Ierymenko
51cf49a24f
cleanup
2016-08-08 17:40:22 -07:00
Adam Ierymenko
00fd9c3a15
It builds... almost ready to test some rules engine stuff.
2016-08-08 17:33:26 -07:00
Adam Ierymenko
8007ca56aa
Refactor and tie-up of capabilities and tags and packet evaluation points. Some optimization is possible here but it is minor and we will make it work first.
2016-08-08 16:50:00 -07:00
Grant Limberg
8d7f851b4e
Now translated. One minor crash to figure out.
2016-08-07 20:19:36 -07:00
Grant Limberg
5b13b282ed
Replace JoinNetworkViewController with obj-c
2016-08-07 19:13:12 -07:00
Grant Limberg
d965768004
Replaced the network list with Obj-C
2016-08-07 18:19:47 -07:00
Grant Limberg
a91187e60e
Convert NetworkMonitor to obj-c
2016-08-07 17:25:34 -07:00
Grant Limberg
179324e44a
Replace Preferences view. Removed LaunchAtLoginController and replaced with simpler code
2016-08-07 16:34:54 -07:00
Grant Limberg
c6dba50e35
replace AboutViewController
2016-08-07 15:18:32 -07:00
Grant Limberg
b51d68a419
replace ServiceCom with objc class
2016-08-06 19:45:58 -07:00
Grant Limberg
a0db48571d
Convert Network to OBJC
2016-08-06 18:50:50 -07:00
Adam Ierymenko
4d7f625aa1
.
2016-08-05 15:55:38 -07:00
Adam Ierymenko
e2f783ebbd
.
2016-08-05 15:02:01 -07:00
Grant Limberg
7a12d8193b
Replace NodeStatus object with Obj-C Class
2016-08-04 17:55:57 -07:00
Adam Ierymenko
4d9b74b171
.
2016-08-04 15:27:20 -07:00
Adam Ierymenko
37d139177d
Integrate Filter into OutboundMulticast properly.
2016-08-04 13:01:14 -07:00
Adam Ierymenko
8a7753cfe3
Filter cleanup, prep for filter integration in a few places.
2016-08-04 12:35:25 -07:00
Adam Ierymenko
331382cf2f
More cleanup and a tiny federation prep item.
2016-08-04 12:14:13 -07:00
Adam Ierymenko
98152d974a
More cleanup and removal of DeferredPackets, will do the latter in a more elegant way.
2016-08-04 11:40:38 -07:00
Adam Ierymenko
56febbf2ba
.
2016-08-04 10:39:28 -07:00
Adam Ierymenko
5cf410490e
.
2016-08-04 10:18:33 -07:00
Adam Ierymenko
404a0bbddd
...
2016-08-04 09:51:15 -07:00
Adam Ierymenko
f057bb63cd
More work on tags and capabilities.
2016-08-04 09:02:35 -07:00
Adam Ierymenko
7e6e56e2bc
Bunch of work on pushing and replication of tags and capabilities, and protocol cleanup.
2016-08-03 18:04:08 -07:00
Adam Ierymenko
67cb03742e
Add tag rules and split out rule serialize/deserialize so the code can be reused.
2016-08-03 14:12:38 -07:00
Grant Limberg
a08246ce5d
update build number
2016-08-02 20:30:49 -07:00
Grant Limberg
f54d5e9e8f
the quest for leaks is over.
...
Why a singleton doesn't leak, vs calling static methods on a class is beyond me
2016-08-02 20:30:09 -07:00
Adam Ierymenko
91940cbcf5
Kill network preferred relays -- this feature is gone (and was seldom used anyway) in favor of federation.
2016-08-02 14:40:26 -07:00
Joseph Henry
77bd8aacd1
merge cli from edge
2016-08-02 13:50:09 -07:00
Adam Ierymenko
ecc1324bb0
Rules engine work: capability based security model with tags and capabilities, and some cleanup across other places.
2016-08-02 13:36:17 -07:00
Adam Ierymenko
d3b0081447
Cleanup...
2016-07-28 12:09:58 -07:00
Adam Ierymenko
22e44c762b
More rules engine work: key/value pair matching for microsegmentation.
2016-07-28 10:58:10 -07:00
Grant Limberg
78e5a00a68
Only poll the ZeroTier service when the menu or Network List are visible. Reduces CPU idle prevention by a a LOT
2016-07-26 20:31:06 -07:00
Grant Limberg
b9a4d138fc
only update the network list view if it's visible
2016-07-26 20:05:33 -07:00
Grant Limberg
36a9aff283
Show "About" view on first run.
...
Still needs some work to show up in the right place
2016-07-26 20:04:59 -07:00
Grant Limberg
e1755e569e
build number bump
2016-07-26 19:16:33 -07:00
Grant Limberg
ae374a78fc
add some non Lorem Ipsum content to the about page
2016-07-26 19:15:12 -07:00
Grant Limberg
62befe006d
Route clicked links in the web view to the default web browser
2016-07-26 18:21:39 -07:00
Adam Ierymenko
1e6e112806
Dockerfile for building zerotier/zerotier-containerized for CoreOS et al.
2016-07-26 17:08:09 -07:00
Adam Ierymenko
830250759c
Fix for running under MUSL libc (e.g. Alpine Linux)
2016-07-26 16:39:02 -07:00
Adam Ierymenko
13100b245c
Fix for running under MUSL libc (e.g. Alpine Linux)
2016-07-26 16:36:20 -07:00
Adam Ierymenko
4929be08f7
Cleanup and stub out new object transfer messages.
2016-07-26 12:33:51 -07:00
Adam Ierymenko
088bbd1c08
Filter fixes.
2016-07-25 17:03:26 -07:00
Adam Ierymenko
7404eb46c4
Integration of Filter into inbound and outbound packet path.
2016-07-25 16:51:10 -07:00
Adam Ierymenko
eaf6d6c938
Basic L2/L3 filter for rules engine (not integrated yet) and some cleanup.
2016-07-25 15:52:16 -07:00
Adam Ierymenko
02d288e9d4
Merge branch 'dev' of Y:/ZeroTier/ZeroTierOne into dev
2016-07-21 20:45:17 -07:00
Adam Ierymenko
6f15c4a561
1.1.14 Windows version stuff
2016-07-21 20:45:05 -07:00
Adam Ierymenko
ae491c277e
VERSION 1.1.14: bug fixes!
...
This version fixes two bugs: a possible infinite loop when using network-specific relays,
and a bug causing a crash on Android.
2016-07-21 20:29:15 -07:00
Adam Ierymenko
ebe7e15475
sys/sysctl.h is required on OSX and probably other BSD
2016-07-21 19:21:51 -07:00
Adam Ierymenko
dced40361b
Bump version in most places to 1.1.14
2016-07-21 19:15:03 -07:00
Adam Ierymenko
faf864b8a2
Merge branch 'master' into dev
2016-07-21 19:07:50 -07:00
Adam Ierymenko
8a23d764de
Merge branch 'master' of http://10.6.6.2/zerotier/ZeroTierOne
2016-07-21 19:06:31 -07:00
Adam Ierymenko
f21af60a13
Init trusted path count to zero. Meh.
2016-07-21 19:06:18 -07:00
Adam Ierymenko
10564d8e14
Init trusted path count to zero. Meh.
2016-07-21 19:05:14 -07:00
Adam Ierymenko
095aef5f30
Merge pull request #348 from the-maldridge/remove-sysctl
...
Remove explicit sys/sysctl.h includes
2016-07-21 15:16:22 -07:00
Adam Ierymenko
145ac31c8a
Merge pull request #362 from mwarning/space-between-literal-and-string-macro
...
C++11 requires a space between literal and string macro
2016-07-21 15:16:05 -07:00
Adam Ierymenko
b7a5f783ba
Merge pull request #364 from mwarning/fortify-source-needs-optimization-flag
...
fix _FORTIFY_SOURCE warning
2016-07-21 15:15:42 -07:00
Adam Ierymenko
3d25a2ea02
Merge pull request #363 from mwarning/move-declaration-out-of-scope
...
move sourceAddress out of scope
2016-07-21 15:15:27 -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
Moritz Warning
b3073f44a2
move sourceAddress out of scope
...
sourceAddress is used in the catch block
2016-07-21 23:03:04 +02:00
Moritz Warning
bcdd158ad8
C++11 requires a space between literal and string macro
2016-07-21 22:41:02 +02:00
Grant Limberg
693ac4e86c
add web view and placeholder about page with ZT logo and lorem ipsum
2016-07-19 19:12:41 -07:00
Adam Ierymenko
6320879fe1
Fix for GitHub issue #358 and bump version to 1.1.13 (dev)
2016-07-18 10:56:33 -07:00
Grant Limberg
2afe3d89d0
Merge branch 'master' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne
2016-07-14 19:29:10 -07:00
Grant Limberg
8a15b42dab
switch to GCC for Android
2016-07-14 19:29:00 -07:00
Adam Ierymenko
4b9e84f42f
docs
2016-07-14 17:47:32 -07:00
Adam Ierymenko
ba87640e4c
Release howto for internal use.
2016-07-14 17:46:22 -07:00
Adam Ierymenko
a5400e0162
Windows installer now installs a batch file and Path variable settings to make zerotier-cli work in the Windows CLI (1.1.12 MSI updated on web for this too) and a Chocolatey packaging job for ZeroTier One.
2016-07-14 17:09:40 -07:00
Adam Ierymenko
bdc3b0834b
VERSION 1.1.12: yet another minor fix to managed routes
...
This version just contains another minor fix to managed routes for
GitHub issue #352 .
2016-07-12 15:09:44 -07:00
Adam Ierymenko
1a285e5342
Version bump again. Slack has updated their client twice in one day so its okay.
2016-07-12 15:03:06 -07:00
Adam Ierymenko
8912515011
Fix to fix to GitHub issue #352
2016-07-12 15:00:30 -07:00
Adam Ierymenko
6ec3464ee9
JSON fix for trusted paths (does not affect normal op)
2016-07-12 13:58:15 -07:00
Adam Ierymenko
4b5e43ab0d
VERSION 1.1.10: minor managed route fixes
...
Version 1.1.10 is a minor bug fix release. It fixes the following two issues:
* Routes are no longer added 'via' IP addresses of the current node's ZT interface.
* IPv6 default route is now fixed on Mac.
* IP addresses are now deleted before new ones are added to allow changes to netmask
on Mac and some other platforms.
This version also quietly introduces a feature called trusted paths. We'll be
documenting this in our community section soon. This is an experimental feature
for in-LAN SDN use.
2016-07-12 13:37:38 -07:00
Adam Ierymenko
a6d9ae3a36
Man page fix on fedora-22
2016-07-12 13:30:15 -07:00
Adam Ierymenko
34e7c8652a
Version bumps.
2016-07-12 12:30:35 -07:00
Adam Ierymenko
1861f67fa7
Version bump to 1.1.10
2016-07-12 12:21:36 -07:00
Adam Ierymenko
b5e9d3f6f4
Rename file to be intuitive.
2016-07-12 11:41:19 -07:00
Adam Ierymenko
9785fde32a
Trusted paths work!
2016-07-12 11:40:45 -07:00
Adam Ierymenko
9657675755
Plumbing through trusted path stuff to OneService.
2016-07-12 11:30:22 -07:00
Adam Ierymenko
5d7174b162
Go back to bundling libhttp-parser on Debian, at least for our own internally-created packages, since this library has a massively unstable ABI and causes nothing but problems if referenced from the distro.
2016-07-12 10:11:00 -07:00
Adam Ierymenko
cdb5ceac7b
Should remove old IPs before trying to add new ones.
2016-07-12 09:43:12 -07:00
Adam Ierymenko
23391ff9da
More OSX IPv6 fixes.
2016-07-12 09:22:04 -07:00
Adam Ierymenko
3f2b21ce71
Do not shadow our own route twice on Mac if there is no default route. (Fix for issue found during IPv6 default route override testing.)
2016-07-12 08:55:57 -07:00
Adam Ierymenko
6535730255
GitHub issue #352
2016-07-12 08:42:36 -07:00
Adam Ierymenko
765082fdb6
Trusted path support, and version bump to 1.1.9
2016-07-12 08:29:50 -07:00
Adam Ierymenko
aff62e9e10
Version bump in Mac pkg.
2016-07-08 14:28:34 -07:00
Adam Ierymenko
2d598dd433
Automatically add symlinks to redhat distro.
2016-07-08 14:25:25 -07:00
Adam Ierymenko
f86e9b7df2
Bump version in RPM spec and DEB.
2016-07-08 13:57:16 -07:00
Adam Ierymenko
898d889537
VERSION 1.1.8: minor Linux bug fix, controller fixes, controller doc improvements
...
1.1.8 is a very minor update. It contains a small fix to IP address management
on Linux but other than that there are no changes to the regular ZeroTier One
code.
The 1.1.8 controller contains several fixes and improvements:
* Network authorizedMemberCount works again
* Managed IP addresses are pushed as long as they fall within a LAN-local managed
route. The v4AssignMode and v6AssignMode settings only control automatic IP
assignment from pools. In previous versions v4AssignMode had to be on for IPs
to be pushed at all, making it impossible to just manually assign IPs.
* IPv6 now has an auto-assign mode ('zt' to match V4) that can work alongside the
special RFC4193 and 6PLANE modes (though it is not NDP emulated). If this is
enabled IPv6 addresses will be auto-assigned from IPv6 ranges in the assignment
pool list.
* Controller documentation is MUCH better! See controller/README.md for actual
useful information!
Finally 1.1.8 has several improvements to linux-build-farm including Debian wheezy
support.
2016-07-08 13:53:37 -07:00
Adam Ierymenko
0e2964261f
docs
2016-07-08 13:42:04 -07:00
Adam Ierymenko
ffe7d8d024
docs
2016-07-08 13:40:21 -07:00
Adam Ierymenko
c01ebbcbde
docs
2016-07-08 13:38:47 -07:00
Adam Ierymenko
a6e5914aa7
docs
2016-07-08 13:37:51 -07:00
Adam Ierymenko
6d8de214eb
Docs and controller API version
2016-07-08 13:10:02 -07:00
Adam Ierymenko
5bf3c54cd3
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2016-07-08 10:08:06 -07:00
Adam Ierymenko
959b64777f
1.1.8 bump
2016-07-08 10:08:01 -07:00
Grant Limberg
be0af135bc
update JNI code for 1.1.6
2016-07-07 20:07:07 -07:00
Adam Ierymenko
2d7c58540f
v6AssignMode bug fix
2016-07-07 17:05:12 -07:00
Adam Ierymenko
951038a304
Ignore /bits in IP assignments and just copy it from the corresponding LAN-local route. Having each managed IP assignment have its own bits field was just a source of user error and poor UX and was completely worthless.
2016-07-07 16:28:43 -07:00
Adam Ierymenko
912ee199ed
Tiny fixes to LinuxEthernetTap
2016-07-07 16:10:36 -07:00
Adam Ierymenko
b9329dc49a
Fix to IPv6 picking for small ranges.
2016-07-07 15:55:40 -07:00
Adam Ierymenko
6e08e1ae97
A few controller changes: (1) assign managed IPs that are assigned regardless of "assign mode" which now only controls auto-assignment or special addressing, (2) support proper issuing of managed IPv6 IPs, (3) support IPv6 auto-assign ranges
2016-07-07 15:42:10 -07:00
Adam Ierymenko
dd1d2b4d00
GitHub issue #343 -- fix authorizedMemberCount
2016-07-07 14:49:54 -07:00
Adam Ierymenko
f6d53cc568
.
2016-07-06 18:12:31 -07:00
Adam Ierymenko
b6cc815447
.
2016-07-06 18:07:42 -07:00
Adam Ierymenko
ddbbb8afec
Wheezy stuff
2016-07-06 18:04:13 -07:00
Adam Ierymenko
a8a497c621
Debian wheezy work.
2016-07-06 17:59:08 -07:00
Michael Aldridge
1a89694980
Remove explicit sys/sysctl.h includes
...
Explicitly including sys/sysctl.h breaks the ability to build
against muslc.
2016-07-06 02:38:23 -05:00
Adam Ierymenko
5c03416e84
Actually remove http-parser-devel
2016-07-05 14:28:58 -07:00
Adam Ierymenko
b732c445b8
Xenial fix (clang broken) and bundle http-parser even in Fedora because it is so version sensitive.
2016-07-05 14:09:33 -07:00
Adam Ierymenko
97ec88e346
.
2016-07-05 12:30:58 -07:00
Adam Ierymenko
192bc4fcf0
More repo work.
2016-07-05 10:54:07 -07:00
Grant Limberg
0e6065e3d5
another build number bump
2016-06-30 21:25:14 -07:00
Grant Limberg
a156fec25a
put node ID into the main menu.
...
Clicking on the menu item copies the node ID into the clipboard.
2016-06-30 21:24:45 -07:00
Grant Limberg
fe725f9995
fix a case where the "Allow Default" checkbox would be enabled when a network wasn't connected.
2016-06-30 20:35:32 -07:00
Grant Limberg
58207b30d1
now that the network details list uses the default background color of the pane its embedded in, we don't have to force to the "Light" theme, even if the user has selected the "dark" theme for the top menu bar.
2016-06-30 20:28:04 -07:00
Grant Limberg
f4192d7b9e
added separator between items in the network detail list
2016-06-30 20:17:33 -07:00
Grant Limberg
e747692727
remove background from network details view
2016-06-30 20:07:22 -07:00
Grant Limberg
d786c5265f
bump version number
2016-06-30 19:46:59 -07:00
Grant Limberg
ba0a45365c
Work around for several strange corner cases in Automatic Reference Counting in Apple's runtime
2016-06-30 19:42:23 -07:00
Adam Ierymenko
fc4ea57a9c
debian-stretch
2016-06-30 18:03:06 -07:00
Adam Ierymenko
751497a748
aptly script
2016-06-30 16:44:22 -07:00
Adam Ierymenko
c714e8baa6
Get rid of broken test code for controller so selftest build works with controller enabled.
2016-06-30 08:30:45 -07:00
Adam Ierymenko
2331a00555
Fedora-22 32-bit fix.
2016-06-29 18:53:31 -07:00
Adam Ierymenko
4218cd13d5
VERSION 1.1.6: route management, default route override, new IPv6 mode for Docker, and more!
...
(Retagged due to silly one-line bug and left over debug line... doh!)
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 18:16:58 -07:00
Adam Ierymenko
030dfde38e
Unused printf removal while we are at it.
2016-06-29 18:14:49 -07:00
Adam Ierymenko
901e2fd692
Fix silly one-liner bug... retag time.
2016-06-29 18:12:35 -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
af2268ebd7
docs
2016-06-29 15:33:18 -07:00
Adam Ierymenko
b9876d1809
docs
2016-06-29 15:30:49 -07:00
Adam Ierymenko
e64909cdcd
docs
2016-06-29 15:24:45 -07:00
Adam Ierymenko
ce2ad69e5f
Get rid of aptly script.
2016-06-29 14:44:29 -07: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
c862f199e3
Windows: ship it!
2016-06-29 13:22:04 -07:00
Adam Ierymenko
7918b26f65
Hack settings into old CLI.
2016-06-29 12:22:37 -07:00
Adam Ierymenko
df00d3b046
Going to have to continue to use the old MAC web-container-based UI on Macs prior to 10.10 even when the new UI comes out, and the new UI is not ready yet anyway, so resurrect this.
2016-06-29 12:00:16 -07:00
Adam Ierymenko
19735e7050
Revert backgrounding of controller requests hack. Controller code is not really parallel anyway and we fixed the perf problem.
2016-06-29 11:43:22 -07:00
Adam Ierymenko
bb63646682
Fix broken SQL in controller.
2016-06-29 11:37:28 -07:00
Adam Ierymenko
b4fcf2ee60
Fix a valgrind warning.
2016-06-29 11:11:16 -07:00
Adam Ierymenko
d9eacd1616
Controller fixes...
2016-06-29 17:02:03 +00:00
Adam Ierymenko
5309c7e082
Merge branch 'dev' of https://github.com/zerotier/ZeroTierOne into dev
2016-06-29 16:47:57 +00:00
Adam Ierymenko
dbe57742e6
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2016-06-29 09:45:05 -07:00
Adam Ierymenko
928c625e2c
docs
2016-06-29 09:45:02 -07:00
Adam Ierymenko
1e00603241
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2016-06-28 16:09:41 -07:00
Adam Ierymenko
f6442f2752
fedora-22
2016-06-28 16:09:36 -07:00
Adam Ierymenko
7b7ab823b0
Fix getPeer(self) bug if I am the controller.
2016-06-28 22:49:01 +00:00
Adam Ierymenko
0410fd4824
Refactor recent member request history to fix performance problem in controller.
2016-06-28 12:44:47 -07:00
Adam Ierymenko
02fa32422a
Dockerfile ordering
2016-06-27 20:07:35 -07:00
Grant Limberg
decb4261d4
wire up control to launch at startup in preferences
2016-06-27 19:14:15 -07:00
Grant Limberg
b0971e3a01
setup launch at login on first start
2016-06-27 19:04:55 -07:00
Adam Ierymenko
12037961ff
small perf improvement in sqlite db.
2016-06-27 18:48:02 -07:00
Adam Ierymenko
8c572dead1
Query optimization.
2016-06-27 18:28:18 -07:00
Grant Limberg
583cd25506
slightly resize icons
2016-06-27 18:05:17 -07:00
Grant Limberg
1beacc8c32
wire up network delete again
2016-06-27 17:54:54 -07:00
Adam Ierymenko
3ddfebe742
dead code removal
2016-06-27 17:15:39 -07:00
Adam Ierymenko
972bbb7e06
Allow further concurrency on network controller.
2016-06-27 17:14:47 -07:00
Adam Ierymenko
45f315e603
Defer NETWORK_CONFIG_REQUEST packets and allow multithreaded processing.
2016-06-27 17:09:04 -07:00
Adam Ierymenko
b9e86103cf
Docker build farm seems to work!
2016-06-27 16:38:08 -07:00
Adam Ierymenko
0588589d57
.
2016-06-27 16:21:55 -07:00
Adam Ierymenko
4d30f60bbe
.
2016-06-27 16:12:17 -07:00
Adam Ierymenko
d58dcf29cc
For now go back to bundling http-parser etc. in our official RPM builds since this introduces an EPEL dependency for CentOS which would only make sense if we are actually in EPEL. Probably will eventually have two spec files: one for official and one for our own.
2016-06-27 15:46:54 -07:00
Adam Ierymenko
809457599a
CentOS7 fixes.
2016-06-27 15:21:24 -07:00
Adam Ierymenko
2d19fb7f8c
More RPM fixes.
2016-06-27 15:08:51 -07:00
Adam Ierymenko
2c9401ed74
CentOS6 fix.
2016-06-27 14:56:40 -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
147f735333
More build fixes.
2016-06-27 14:21:54 -07:00
Adam Ierymenko
8de5b2beda
RPM build fixes -- use RPM cflags, spec fixes, etc.
2016-06-27 09:25:34 -07:00
Adam Ierymenko
b02c3dfe8d
Debian dependency for iproute2
2016-06-27 08:48:09 -07:00
Adam Ierymenko
c5d3895313
ZeroTier One requires /sbin/ip (RPM-based distros)
2016-06-27 08:47:09 -07:00
Grant Limberg
9f880d07ab
build number change
2016-06-26 18:21:26 -07:00
Grant Limberg
3fc11e2278
misc bug fixes related to default routes
2016-06-26 18:18:59 -07:00
Grant Limberg
1756e8b0f2
Wire up checkboxes for allowGlobal, allowDefault, allowManaged to set the proper state in zerotier daemon
...
checkboxes are disabled if the network is not currently connected.
2016-06-26 17:33:46 -07:00
Grant Limberg
d57e343245
add UI elements in network details for allowDefault, allowGlobal, allowManaged
2016-06-26 17:21:45 -07:00
Grant Limberg
7e17a2072c
add allowManaged, allowGlobal, allowDefault to Network object
2016-06-26 16:41:52 -07:00
Grant Limberg
9c94d6527a
add allowGlobal, allowDefault, allowManaged options to joining a network
2016-06-26 16:11:30 -07:00
Adam Ierymenko
d20bcdae12
CentOS 6 Docker build.
2016-06-25 16:27:28 -07:00
Adam Ierymenko
81cd68b60d
.
2016-06-25 14:07:02 -07:00
Adam Ierymenko
0582b3daba
.
2016-06-25 14:06:40 -07:00
Adam Ierymenko
af0a205594
Build and spec file updates for CentOS6
2016-06-25 14:04:08 -07:00
Adam Ierymenko
06e2e8119e
Script to create Debian repos (requires aptly)
2016-06-24 16:23:10 -07:00
Grant Limberg
5da4fd2aef
Added "..." to menu items to signify it pops up in a window
2016-06-24 15:24:29 -07:00
Grant Limberg
e621058cfd
build number 5
2016-06-24 15:24:03 -07:00
Adam Ierymenko
8b78f19335
More build targets.
2016-06-24 14:57:20 -07:00
Adam Ierymenko
9784393b15
More Linux Docker build farm targets.
2016-06-24 14:45:09 -07:00
Adam Ierymenko
65da797112
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2016-06-24 14:19:01 -07:00
Adam Ierymenko
75fe981b9d
Bump version.
2016-06-24 14:18:28 -07:00
Adam Ierymenko
caaf33e4cf
Bump version.
2016-06-24 10:20:35 -07:00
Adam Ierymenko
d642db6f66
Changes for Debian packaging to prep for 1.1.6 interim.
2016-06-24 10:19:41 -07:00
Adam Ierymenko
3740b83f63
Don't back up sqlite db if it hasn't changed to prevent constant thrashing on inactive controllers.
2016-06-24 06:53:23 -07:00
Adam Ierymenko
90cdef8400
Forgot NDP emulation flag.
2016-06-24 06:43:23 -07:00
Adam Ierymenko
ee649ae69a
Add 6plane assignment support to network controller, and cleanup.
2016-06-24 06:40:50 -07:00
Adam Ierymenko
20d155e630
.
2016-06-24 05:21:25 -07:00
Adam Ierymenko
be5996daca
Cleanup of 6plane stuff.
2016-06-24 04:54:05 -07:00
Adam Ierymenko
38dfebad8c
IPv6 NDP emulation flag in NetworkConfig, and implement Docker-friendly
...
(and other host friendly) IPv6 /80 magic subnetting to allow massive
multicast-free NDP emulated IPv6 networks where each host can have a
/48 worth of IPv6 IPs for internal containers, VMs, etc.
Alan Kay, thou art avenged.
https://ivanovivan.wordpress.com/2010/09/13/alan-kay-quotes/
2016-06-23 22:41:14 -07:00
Grant Limberg
f2e2632ae7
Added About view
...
also not yet populated
2016-06-23 20:22:03 -07:00
Grant Limberg
35d1736c97
add preferences view
...
not populated yet
2016-06-23 20:04:57 -07:00
Grant Limberg
3c534abc99
"Show Networks" -> "Network Details"
2016-06-23 19:48:48 -07:00
Grant Limberg
c3deedd6fd
Fix menu bar icon. Add app icon.
2016-06-23 19:44:00 -07:00
Adam Ierymenko
a5a05e454e
cli work...
2016-06-23 17:00:33 -07:00
Adam Ierymenko
32d9850263
More new CLI work.
2016-06-23 12:37:15 -07:00
Adam Ierymenko
a5ea8cc5cb
.
2016-06-22 17:56:36 -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
Grant Limberg
b256111a17
misc cleanup
2016-06-21 20:02:18 -07:00
Grant Limberg
b5a90a437b
update build number
2016-06-21 19:45:08 -07:00
Grant Limberg
6d114b7480
dynamically generate the menu so that networks are listed
...
can join/leave networks directly from the menu
2016-06-21 19:44:59 -07:00
Adam Ierymenko
f765597526
Add network local.conf stuff to save network permission settings and wire it all through via the JSON API. Default route and route management stuff just about done.
2016-06-21 16:52:49 -07:00
Adam Ierymenko
8ca4f22f1d
cleanup
2016-06-21 15:53:38 -07:00
Adam Ierymenko
674b84d908
Plumbing for network setting control, and GitHub issue #330
2016-06-21 14:58:30 -07:00
Adam Ierymenko
e2ca239be0
Comment cleanup.
2016-06-21 14:38:15 -07:00
Adam Ierymenko
4f237687ce
Route management now works on Windows, including default route override! 1.1.6 very close!
2016-06-21 13:54:03 -07:00
Adam Ierymenko
5b2d2efb45
Windows builds again. And there was much rejoicing.
2016-06-21 12:55:43 -07:00
Adam Ierymenko
82473c85e0
Default route override and route management in general now works in Linux.
2016-06-21 12:32:58 -07:00
Adam Ierymenko
51ced0cf41
GitHub issue #338
2016-06-21 09:41:55 -07:00
Adam Ierymenko
6c4a444f29
GitHub issue #339
2016-06-21 09:40:53 -07:00
Adam Ierymenko
330c80f3f5
Add rule type to match a COM field of the peer by ID and value because this will be powerful.
2016-06-21 08:09:20 -07:00
Adam Ierymenko
eee59ec9ce
Fix Buffer<> version of Dictionary.get().
2016-06-21 08:00:40 -07:00
Adam Ierymenko
0959d33ba0
Add a few technically unnecessary but feel-good paranoia bounds checks in Dictionary.get().
2016-06-21 07:59:42 -07:00
Adam Ierymenko
ca82715bfa
Another fuzzing code fix.
2016-06-21 07:52:32 -07:00
Adam Ierymenko
0c05b2cb50
Comment cleanup and fuzzing improvements.
2016-06-21 07:49:46 -07:00
Adam Ierymenko
b2d048aa0e
Make Dictionary templatable so it can be used where we want a higher capacity.
2016-06-21 07:32:58 -07:00
Adam Ierymenko
3ee15e65aa
Tying up default route and route mgmt loose ends. It now periodically updates shadow routes so hopefully your link will stay up as you move around.
2016-06-17 13:14:48 -07:00
Grant Limberg
c8f85ffec9
Factored network updates into its own class. Delivered via notification
2016-06-16 20:53:55 -07:00
Adam Ierymenko
1bf1c38b30
Default route population works on Mac!
2016-06-16 18:23:33 -07:00
Adam Ierymenko
eb4a78bcc3
Report routes in locally joined network JSON.
2016-06-16 17:40:32 -07:00
Adam Ierymenko
37afa876a7
Linux bug fixes, small controller fix.
2016-06-17 00:21:58 +00:00
Adam Ierymenko
601c51b351
Bug fix.
2016-06-16 23:18:20 +00:00
Adam Ierymenko
20d4dada40
Refactor controller for new merged format.
2016-06-16 16:05:57 -07:00
Adam Ierymenko
901b75e756
New format now integrated, and it works.
2016-06-16 15:48:58 -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
490d20e8fb
Self test for dictionary, and fixes.
2016-06-16 14:45:36 -07:00
Adam Ierymenko
2113c21fdc
devicemap now works again in OSXEthernetTap
2016-06-16 14:09:09 -07:00
Adam Ierymenko
e09c1a1c11
Big refactor mostly builds. We now have a uniform backward compatible netconf.
2016-06-16 12:28:43 -07:00
Adam Ierymenko
b104bb4762
New super-packed dictionary -- we are going back to a backward compatibile format with the old netconf but in an embedded-friendly way. This is simpler.
2016-06-15 18:47:35 -07:00
Adam Ierymenko
f41ea24e97
Build fixes.
2016-06-16 00:11:46 +00:00
Adam Ierymenko
3c655a4b84
Default route ready to test on Mac.
2016-06-15 15:46:57 -07:00
Adam Ierymenko
b90e66f7c7
ManagedRoute, which applies C++ RAII to injected routes. Move RoutingTable to attic.
2016-06-15 15:02:40 -07:00
Grant Limberg
bae0060552
add a timer to retrieve the network list every second.
2016-06-14 19:59:45 -07:00
Grant Limberg
c8750e5812
more error checking when parsing JSON for network list
...
remove "multicastSubscriptions" field as it isn't used anyway
2016-06-14 18:09:30 -07:00
Adam Ierymenko
4446dbde5e
Big refactor in service code to prep for plumbing through route management.
2016-06-14 10:09:26 -07:00
Grant Limberg
89cb0e260a
Set deployment target to 10.10 for the minimum OS X version for this app
...
I'm currently using features only available in 10.10 or above. We'll have to discuss this and see what can be done for OS X 10.7 through 10.9.
2016-06-13 19:58:21 -07:00
Grant Limberg
2c1a8524f0
remove unused variables
2016-06-13 19:56:43 -07:00
Grant Limberg
b085329bca
Base functionality complete. Can join/leave/list networks. Can disconnect from networks without removing them from the network list.
2016-06-13 19:46:54 -07:00
Adam Ierymenko
769351b30f
Fix to routes config in controller API.
2016-06-13 15:58:00 -07:00
Adam Ierymenko
734cbb2f1e
Controller modifications for default route are ready to test. Will require slight changes in ZeroTier Central when it goes live.
2016-06-10 15:58:35 -07:00
Adam Ierymenko
acbe8ad398
More controller work, and some RedHat fixes.
2016-06-10 08:26:27 -07:00
Grant Limberg
188f8021f8
Joining/Deleting networks now implemented.
...
Still need to implement known networks cache so we can join/leave networks without deleting them from the UI
2016-06-09 19:59:05 -07:00
Adam Ierymenko
9898066b47
Remove some deprecated stuff in controller -- not done yet.
2016-06-09 11:02:42 -07:00
Adam Ierymenko
82635ce606
Add flags and metric to ZT-managed routes.
2016-06-09 09:43:09 -07:00
Adam Ierymenko
8c7433a525
.
2016-06-08 17:45:25 -07:00
Adam Ierymenko
56ef9e0643
Add rpm target.
2016-06-08 16:29:30 -07:00
Adam Ierymenko
e6328dfe82
Add RPM spec conditionals to include json-parser or bundle it depending on whether we are fedora or rhel/centos/epel.
2016-06-08 16:19:38 -07:00
Adam Ierymenko
3a48e3781b
bundle miniupnpc for now... might change later.
2016-06-08 15:37:37 -07:00
Adam Ierymenko
f9056da6be
rpmbuild -ba zerotier-one.spec basically works
2016-06-08 15:33:59 -07:00
Adam Ierymenko
536feb632c
Support yet another old version of http-parser for CentOS/EPEL.
2016-06-08 15:09:09 -07:00
Adam Ierymenko
cafa41ba4d
RedHat stuff and cleanup.
2016-06-08 14:46:42 -07:00
Adam Ierymenko
196d96cfa7
Fix ronn convert problem in man page.
2016-06-08 14:08:56 -07:00
Adam Ierymenko
4e6f95e152
Build man pages with ruby-ronn on Debian.
2016-06-08 14:06:19 -07:00
Adam Ierymenko
de9fa6a334
All three init systems now covered in debian.
2016-06-08 13:30:29 -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
62b64d39ab
Minimal debian is working.
2016-06-08 10:30:54 -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
9161eebc68
Carry virtual network routes through to API.
2016-06-07 12:15:19 -07:00
Adam Ierymenko
683254a0db
Don't bother signing if we are not using the legacy netconf.
2016-06-07 11:17:38 -07:00
Adam Ierymenko
2885aea65c
Only send new format netconf for PV>=6
2016-06-07 11:13:18 -07:00
Adam Ierymenko
523ea68ae2
Increment protocol version to indicate support for binary network config and config request meta-data.
2016-06-07 11:08:36 -07:00
Adam Ierymenko
ca88e1f1cf
fix size
2016-06-07 10:47:22 -07:00
Adam Ierymenko
be37d025b8
Make flags 64-bit in both network request and config.
2016-06-07 10:46:29 -07:00
Adam Ierymenko
4342b71d7a
Upgrade miniupnpc to 2.0
2016-06-02 17:04:15 -07:00
Adam Ierymenko
f20602a7b1
docs
2016-06-02 15:57:18 -07:00
Adam Ierymenko
f311b4111b
docs
2016-06-02 15:56:58 -07:00
Adam Ierymenko
61d6ada88d
.
2016-06-02 15:26:00 -07:00
Adam Ierymenko
506c74270c
Stash old Linux binary installer stuff in attic. This is going away.
2016-06-02 15:20:43 -07:00
Adam Ierymenko
4d13ddd48c
GPG public key for signing GitHub releases, etc.
2016-06-02 15:04:56 -07:00
Adam Ierymenko
cc89290eb6
last man page!
2016-06-02 14:50:38 -07:00
Adam Ierymenko
5bce3e37ee
clean doc node_modules on clean
2016-06-02 13:58:34 -07:00
Adam Ierymenko
6671d5553b
More man pages.
2016-06-02 13:56:24 -07:00
Adam Ierymenko
41b3b54bf8
man stuff
2016-06-02 13:04:46 -07:00
Adam Ierymenko
096db53822
Switch manual pages to "ronn," a program that converts MarkDown to roff man pages, and pre-build them. Also have the zerotier-cli(1) man page ready to go!
2016-06-02 12:33:28 -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
65b7893a8a
add full docs to ext/json-parser (no upgrade available)
2016-06-01 18:51:22 -07:00
Adam Ierymenko
597dee40fd
upgrade ext/http-parser
2016-06-01 18:49:36 -07:00
Grant Limberg
975bcb8aff
some OS X Authentication Services wizardry to get /Library/Application Support/ZeroTier/One/authtoken.secret and copy it to ~/Library/Application Support/ZeroTier/One/authtoken.secret
2016-05-31 17:23:11 -07:00
Grant Limberg
51e74f8d4f
remove some extra logging
2016-05-31 15:01:42 -07:00
Grant Limberg
b4f3dfc347
look up authtoken in user's app support directory
2016-05-31 13:50:43 -07:00
Adam Ierymenko
2c995f1f91
IPv6 links are unfortunately not "reliable." Many IPv6 gateways, while not
...
implementing NAT, do implement stateful firewalling with absurdly short
timeouts (<60s). Keepalives are still required in IPv6.
Network engineers continue to mindlessly carry forward cruft and baggage
from IPv4 to IPv6.
2016-05-31 10:30:00 -07:00
Grant Limberg
41328eef94
.
2016-05-27 15:25:32 -07:00
Grant Limberg
59cf2ea341
add proper border around the network list
2016-05-27 15:21:23 -07:00
Grant Limberg
67d472424d
make the view show up light instead of dark
2016-05-27 15:07:20 -07:00
Grant Limberg
1d27adb102
Finished wiring up the view
2016-05-27 13:48:22 -07:00
Grant Limberg
940c0f2b93
WIP. Mac UI
2016-05-27 13:28:32 -07:00
Adam Ierymenko
68d950c344
Hack in zerotier-idtool to allow generation of vanity addresses.
2016-05-26 09:26:03 -07:00
Grant Limberg
d5620288d5
Parse JSON network list into Network objects for the view
2016-05-17 19:41:54 -07:00
Grant Limberg
da30d2898e
beginning of communicating with the zero tier service
2016-05-16 19:58:24 -07:00
Grant Limberg
40198d6c13
call super functions on a few overrides
2016-05-16 19:25:20 -07:00
Grant Limberg
4653ebc97f
add table view to show networks view
2016-05-16 19:08:00 -07:00
Adam Ierymenko
0bcc7d46a3
Disable debug code.
2016-05-16 18:39:34 -07:00
Adam Ierymenko
93b673043c
Fix new binary meta-data deserialization and add some debug code (will disable later).
2016-05-16 18:37:37 -07:00
Grant Limberg
acd6978a30
set the combo box to use a data source and remember the last 20 networks input
2016-05-16 18:26:33 -07:00
Grant Limberg
ccbd6f97cd
remove some mistakenly committed files and add .gitignore for Xcode projects
2016-05-16 18:02:26 -07:00
Grant Limberg
b4a8057994
limit the join network combobox to hex characters.
...
Join only clickable when a valid network is entered
2016-05-16 17:51:14 -07:00
Grant Limberg
225c2b095b
Initial start of the menu bar app.
...
Has menu items to join/leave networks which currently displays an empty popover from the icon (icon needs to be made still)
2016-05-14 15:42:45 -07:00
Grant Limberg
0582338015
Initial Commit
2016-05-14 13:54:49 -07:00
Grant Limberg
de1b745988
comment out a few TRACE messages that don't compile
2016-05-14 13:29:31 -07:00
Grant Limberg
efdbd6326f
compiling with C++11 requires a space between string literals
2016-05-14 13:25:40 -07:00
Adam Ierymenko
25c3d3a452
cleanup
2016-05-11 13:24:55 -07:00
Adam Ierymenko
548730660b
Ready to test whole new netconf refactor.
2016-05-11 10:19:14 -07:00
Adam Ierymenko
7ee3743c3d
Refactor controller to send both old and new format netconf.
2016-05-11 08:49:15 -07:00
Adam Ierymenko
37b89b3944
Add TCP relative sequence number criterion for documentation/posterity.
2016-05-09 17:00:17 -07:00
Adam Ierymenko
8b9519f0af
Simplify a bunch of NetworkConfig stuff by eliminating accessors, also makes network controller easier to refactor.
2016-05-06 16:13:11 -07:00
Adam Ierymenko
529515d1d1
Changes to how new-style binary network configs are detected, and a new-style binary serialized meta-data representation.
2016-05-06 13:29:10 -07:00
Adam Ierymenko
69d0562e2c
docs
2016-05-06 11:41:11 -07:00
Adam Ierymenko
7913fa7bbd
Dead code removal.
2016-05-06 11:13:34 -07:00
Adam Ierymenko
b543868351
Missing deserialize stuff.
2016-05-06 11:00:19 -07:00
Adam Ierymenko
0f17077b3d
Merge gateways and routes in netconf since they are the same thing.
2016-05-06 10:57:53 -07:00
Adam Ierymenko
9da8bf37d7
docs
2016-04-28 21:31:10 +02:00
Adam Ierymenko
e5cc487b95
Beginning of security doc and kill some obsolete defines in main include file.
2016-04-28 14:58:16 +02:00
Adam Ierymenko
726136beda
Ifdef fix.
2016-04-27 09:30:34 +02:00
Adam Ierymenko
59eb09d063
Deserialize new style netconf.
2016-04-26 17:20:31 -07:00
Adam Ierymenko
b9dba97fdb
Bunch more refactoring for an even more compact NetworkConfig representation, especially rules.
2016-04-26 17:11:25 -07:00
Adam Ierymenko
25a5275921
.
2016-04-26 08:53:49 -07:00
Adam Ierymenko
e731fc1a3a
Replace two bools in NetworkConfig with a flags field.
2016-04-26 08:40:26 -07:00
Adam Ierymenko
90e1262a8b
More refactoring to remove old Dictionary dependencies.
2016-04-26 08:20:03 -07:00
Adam Ierymenko
246f86dad3
Define an "anchor" as a statically defined device that serves as a network lookup point.
2016-04-26 07:56:41 -07:00
Adam Ierymenko
d736074301
Refactor rules table in-memory structure in new NetworkConfig to permit far more rules with better space efficiency.
2016-04-22 15:40:53 -07:00
Adam Ierymenko
368efaa2ba
Kill some old debug code.
2016-04-19 12:55:48 -07:00
Adam Ierymenko
2f18a92e20
Cleanup in numerous places, reduce network chattiness around MULTICAST_LIKE, and fix a "how was that working" latent bug causing some control traffic to take the scenic route.
2016-04-19 12:09:35 -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
4c455876f9
Revise peer path weighting to always prioritize cluster-optimal paths.
2016-04-19 09:22:51 -07:00
Adam Ierymenko
cecfa99b7b
(1) cluster members send a flag indicating that a PUSH_DIRECT_PATHS is a cluster redirect, (2) 1.1.5 uses this to avoid a bug (this bug does not exist in 1.1.4)
2016-04-18 16:44:23 -07:00
Adam Ierymenko
b3cac538cc
Store lat/lon too for testing and future display use.
2016-04-18 15:48:33 -07:00
Adam Ierymenko
587b1e05d1
Replace cluster-geo subprocess with in-memory loaded CSV of GeoIP data. This is faster, cheaper, more reliable. We use https://db-ip.com/ but others would work too.
2016-04-18 11:33:54 -07:00
Adam Ierymenko
02c3727ccd
.
2016-04-18 10:21:38 -07:00
Adam Ierymenko
af471af8ef
Shrink NetworkConfig slightly.
2016-04-12 13:32:41 -07:00
Adam Ierymenko
e28838805f
Brace fix...
2016-04-12 13:17:16 -07:00
Adam Ierymenko
8a9762331f
Fix one more old NetworkConfig bit of code.
2016-04-12 12:54:14 -07:00
Adam Ierymenko
31db6f8f36
NetworkConfig refactor almost done.
2016-04-12 12:49:46 -07:00
Adam Ierymenko
ad1e83d8b9
Refactor IncomingPacket for new NetworkConfig
2016-04-12 12:32:33 -07:00
Adam Ierymenko
bbd9915056
Refactor Node for new NetworkConfig
2016-04-12 12:26:10 -07:00
Adam Ierymenko
51fecc0be9
Refactor Network for new NetworkConfig.
2016-04-12 12:16:29 -07:00
Adam Ierymenko
6f854c8391
NetworkConfig refactor part 1
2016-04-12 12:11:34 -07:00
Adam Ierymenko
9b8444fff1
Merge of bignose/manual-pages (Linux man pages)
2016-04-07 12:28:43 -07:00
Adam Ierymenko
43e317f0b7
Authorship stuff.
2016-04-07 12:24:15 -07:00
Adam Ierymenko
0e40181d8f
Merge branch 'license-clarification' into dev
2016-04-07 12:18:46 -07:00
Adam Ierymenko
63b62ebf4c
Boost local interface check interval a bit to speed direct link provisioning on startup.
2016-04-07 12:13:18 -07:00
Adam Ierymenko
569de22481
Make port mapper names even more unique, and trial bind before binding TCP now which should work on Linux and others.
2016-04-07 09:51:14 -07:00
Adam Ierymenko
9085a04b16
Merge branch 'dev' of http://git.int.zerotier.com:/zerotier/ZeroTierOne into dev
2016-04-07 16:41:28 +00:00
Adam Ierymenko
c7df61a3c3
dev branch now works again on Linux
2016-04-07 16:41:07 +00:00
Adam Ierymenko
c278f05181
RoutingTable build fixes.
2016-04-06 17:29:38 -07:00
Adam Ierymenko
61a9c27af0
Consolidate routing table code.
2016-04-06 17:14:05 -07:00
Adam Ierymenko
e9b2613d5f
Put routing table code back in osdep/
2016-04-06 16:57:37 -07:00
Adam Ierymenko
24469a7f43
.
2016-04-06 16:47:11 -07:00
Adam Ierymenko
56096be8b6
Tweak new RX queue algorithm to "expire" old entries to prevent always needing to traverse the whole queue array.
2016-04-06 16:28:40 -07:00
Adam Ierymenko
8ef78e7e7d
Preserve add local interface address add order and send in that order since this is a priority.
2016-04-06 11:50:00 -07:00
Adam Ierymenko
504738b183
Binder for Windows, and use Binder to get local interface addresses to advertise.
2016-04-05 15:53:19 -07:00
Adam Ierymenko
32cd2a02c9
OneService now binds all ports to specific local interfaces instead of wildcard and rebinds on changes. (default route)
2016-04-05 15:44:08 -07:00
Adam Ierymenko
4a109658ab
More refactoring and prep for explicit interface bindings (for default route support).
2016-04-05 11:59:46 -07:00
Adam Ierymenko
52d9612301
Reduce symmetric prediction fuzz just a bit.
2016-04-05 10:49:14 -07:00
Adam Ierymenko
d8b89b0c86
Fix Cluster to send from a designated endpoint address instead of wildcard.
2016-04-05 10:47:13 -07:00
Adam Ierymenko
e0ad854d19
Beginning of local binding manager for default gateway support.
2016-04-04 18:46:41 -07:00
Adam Ierymenko
0e26917c72
Tweak metric and clean out attic a bit.
2016-04-01 11:07:44 -07:00
Adam Ierymenko
3df60995e1
nit pick... might this matter?
2016-03-30 16:49:21 -07:00
Adam Ierymenko
1a5e7cb0cb
More tweaks to OS determination stuff.
2016-03-28 12:26:49 -07:00
Adam Ierymenko
8035afae87
Try to define ZT_NO_TYPE_PUNNING on iOS in case it wasn't.
2016-03-28 12:22:05 -07:00
Adam Ierymenko
284e5d83b5
Fix some broken TRACEs and a tiny reorder in a few ifs.
2016-03-28 12:15:24 -07:00
Adam Ierymenko
2b3e1d5c10
Ignore IP assignment pool ranges that begin with 0.0.0.0 or that contain no IPs.
2016-03-24 13:34:01 -07:00
Adam Ierymenko
2c328d61ad
Do not auto-assign IP addresses on bridges. IPs can still be assigned manually.
2016-03-24 13:32:01 -07:00
Adam Ierymenko
76f9b4c582
A few other little formatting things.
2016-03-18 15:06:45 -07:00
Adam Ierymenko
c589bc4c57
Indentation
2016-03-18 14:32:48 -07:00
Adam Ierymenko
d6a1868d0a
Refactor incoming packet (rxQueue/fragmentQueue) to eliminate variable length queues and merge queues. This is both faster and saves memory.
2016-03-18 14:16:07 -07:00
Adam Ierymenko
9f31cbd8b8
Make /network/???/active return more info.
2016-03-17 13:05:51 -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
92702615a7
Add an overall “doc” build target.
2016-03-04 17:01:14 +11: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
Ben Finney
cafc46a8e9
Add Makefile module for building documentation.
2016-03-04 16:06:17 +11:00
Ben Finney
5993b178c5
Ignore generated man page files.
2016-03-04 16:05:55 +11:00
Ben Finney
24e286b5ec
Add a stub for an encoding declaration on a man page.
2016-03-04 16:04:57 +11:00
Ben Finney
c63de27633
Add references to other tools for ‘zerotier-one’.
2016-03-04 15:41:06 +11:00
Ben Finney
a84a256df4
Add incomplete man pages for ‘zerotier-idtool’ and ‘zerotier-cli’.
2016-03-04 15:40:08 +11:00
Ben Finney
88dfa860f4
Document how the home directory is used, and its default value.
2016-03-04 15:08:17 +11:00
Ben Finney
83bc5d95aa
Document remaining options explicitly.
2016-03-04 14:57:10 +11:00
Ben Finney
09c61d5cb1
More explicit specification of how to use ‘-i’ and ‘-q’.
2016-03-04 14:53:50 +11:00
Ben Finney
71c84aee60
Add “see also” section referring to ZeroTier documentation online.
2016-03-04 11:36:19 +11:00
Ben Finney
cee09b0d2e
Refine description of ZeroTier One.
2016-03-04 11:36:04 +11:00
Ben Finney
fdb8ea93ef
Add a reStructuredText document for a ‘zerotier-one(8)’ man page.
2016-03-04 11:35:16 +11:00
Adam Ierymenko
60ab565185
Fix cluster-geo code to cache IPv6 by first 64 bits to prevent cache fillup due to IPv6 privacy extensions.
2016-03-03 15:33:38 -08:00
Adam Ierymenko
1fe251d0a0
stupid bug is stupid
2016-03-03 14:50:47 -08: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
09fc9e4d0c
indent fix
2016-03-03 14:21:13 -08:00
Adam Ierymenko
fe3a84a422
Fix problems with previous commit.
2016-03-03 14:15:09 -08:00
Adam Ierymenko
ba56a5b9d1
Another NAT-t improvement:
...
Many NATs revert to symmetric behavior from friendlier modes if they cannot
preserve ports. This can occur if there is, for example, more than one ZT
device behind the NAT using port 9993.
Others (Airport Extreme?) seem to have bugs in which they completely freak
out if more than one device tries to do a lot of mappings using the same
internal local port.
Mostly to fix the latter case and somewhat to fix the former, we introduce
a secondary port. ZeroTier now binds 9993 (or whatever port you specify)
plus another port computed deterministically from your ZeroTier address.
This port is used for new links 1/4 of the time.
This mostly addresses the second problem above and partly helps to address
the first.
If uPnP/NAT-PMP is enabled we also still open a tertiary port because some
routers freak out if NAT-t is attempted using the same port as uPnP.
All of this is IPv4 only of course. IPv6 is sane.
2016-03-03 13:52:27 -08:00
Adam Ierymenko
a27d8b2910
Windows cleanup.
2016-03-02 19:20:04 -08:00
Adam Ierymenko
b6f6ed35fc
More Windows tweaks and a compile fix.
2016-03-02 19:06:29 -08:00
Adam Ierymenko
d3cb063d13
Tweaks to WindowsEthernetTap to attempt to address GitHub issue #308 and/or GitHub issue #277 -- we can't reproduce yet but I found one area where a spin was possible under certain failure conditions. Maybe.
2016-03-02 18:37:24 -08:00
Ben Finney
b9125e4256
Document myself as a contributor.
2016-03-02 10:38:30 +11:00
Adam Ierymenko
0aae86be2e
Merge branch 'dev' of https://github.com/krisek/ZeroTierOne into dev
2016-03-01 12:29:29 -08:00
Adam Ierymenko
d9fa07399e
Fix GitHub issue #311
2016-03-01 09:49:33 -08:00
Ben Finney
d570adf021
State grant of license in each third-party component.
2016-02-29 18:11:54 +11:00
Ben Finney
dcb91c043f
State which exact files constitute third-party works.
2016-02-29 18:04:20 +11:00
Ben Finney
f613930dee
Explicitly mark home page URLs of third-party code.
2016-02-29 18:03:16 +11:00
Ben Finney
667048310d
Remove text that paraphrases GPLv3 conditions.
2016-02-29 17:44:47 +11:00
Ben Finney
642aa3313d
Explicitly grant GPLv3-or-later terms to the overall code base.
2016-02-29 17:44:47 +11:00
Ben Finney
f6e98df8da
Refer directly to the accompanying GPL-3 license document.
2016-02-29 17:44:47 +11:00
Ben Finney
d37e44225f
Add explicit copyright statement in same file as license grant.
2016-02-29 17:44:47 +11:00
Ben Finney
5c172d1a15
Rename file that is not a license text.
2016-02-29 17:44:10 +11:00
Ben Finney
0bf2060a7d
Add verbatim text of GNU General Public License version 2.
2016-02-29 15:16:19 +11:00
Ben Finney
22883b3eeb
Add verbatim text of GNU General Public License version 3.
2016-02-29 15:13:37 +11:00
Kristof Imre Szabo
6d1dc47368
Typo fix.
2016-02-28 17:06:46 +01:00
Kristof Imre Szabo
f8d05eb625
Spec description rephrased.
2016-02-28 17:05:43 +01:00
Kristof Imre Szabo
45c233c0e7
Formatting change
2016-02-28 00:04:18 +01:00
Kristof Imre Szabo
b836228465
Formatting change
2016-02-28 00:02:48 +01:00
Kristof Imre Szabo
8118630861
Formatting change
2016-02-28 00:00:55 +01:00
Kristof Imre Szabo
bf3e31ece7
Initial commit of the standard zerotier RPM specification
2016-02-27 23:55:14 +01:00
Adam Ierymenko
f217ce7ff7
Upgrade http-parser.
2016-02-25 18:13:42 -08:00
Adam Ierymenko
039790cf26
Upgrade LZ4 to hopefully fix wacky sporadic crash when built with g++ 5.3.1 on Debian/testing.
2016-02-25 15:39:15 -08:00
Adam Ierymenko
e5f82f5457
cleanup
2016-02-25 10:08:30 -08:00
Adam Ierymenko
a5e4e3fcac
Remove ui/ on Linux uninstall.
2016-02-24 17:24:36 -08:00
Adam Ierymenko
3fe60615df
Make installers silent when run inside packages.
2016-02-24 15:23:49 -08:00
Adam Ierymenko
7b5c1696eb
Fix a CIRCUIT_TEST bug in forwarding of tests along hop paths on private networks. Unfortunately this means full circuit testing for private nets will need an upgrade. :(
2016-02-23 14:56:51 -08:00
Adam Ierymenko
c7c61b4ac0
Fix checking of path address validity.
2016-02-22 16:01:35 -08:00
Adam Ierymenko
92f24d1988
Make maximum size of a circuit test structure sane.
2016-02-22 15:54:18 -08:00
Adam Ierymenko
9b59bcd995
Clean controller circuit test memory.
2016-02-22 15:48:27 -08:00
Adam Ierymenko
43fff1a87e
Deprecate reporting of local clock in circuit tests since a small number of users might have security problems with this.
2016-02-22 12:59:26 -08:00
Adam Ierymenko
2aa7138373
Reduce direct ping delay back to 1m and make SelfAwareness aware of local received-on address to eliminate false symmetric classification.
2016-02-22 09:47:50 -08:00
Adam Ierymenko
69a438d64d
Small tweak to active threshold.
2016-02-19 09:10:31 -08:00
Adam Ierymenko
772551c45d
Try +1 and +2 existing surfaces for symmetric NATs.
2016-02-11 10:39:39 -08:00
Adam Ierymenko
0c951b6e56
More tweaks to new symmetric NAT buster, and stop using old iterative method since this supersedes it.
2016-02-10 18:41:39 -08:00
Adam Ierymenko
eadafd8de7
Little fix to NAT-t alg
2016-02-10 17:51:42 -08:00
Adam Ierymenko
f9230eb970
Widen max delta for TS/revision just a bit more for now.
2016-02-10 16:18:45 -08:00
Adam Ierymenko
82348e1537
Temporarily blacklist he.net IPv6 tunnel addresses for paths: these usually have a very low MTU which causes packet loss and other issues.
2016-02-10 11:06:26 -08:00
Adam Ierymenko
10bb9919f1
Tweak certificate of membership revision/time tolerance to eliminate boundary packet loss issues occasionally seen in the wild.
2016-02-10 09:32:42 -08:00
Adam Ierymenko
4769dacf61
Tweak needsOurMembershipCertificate timing to resolve a possible source of occasional dropped packets.
2016-02-09 16:54:47 -08:00
Adam Ierymenko
63ec7e58d4
Make activity no longer a function of ping frequency, since this causes compatibility bugs when the latter was modified due to timer interactions with other versions.
2016-02-08 10:03:01 -08:00
Adam Ierymenko
a963810e02
Tweak a few cluster params for higher perf / lower initial setup latency.
2016-02-08 09:57:46 -08:00
Adam Ierymenko
69b1da2e1d
return 200 instead of 404 when test is fetched
2016-02-04 16:27:25 -08:00
Adam Ierymenko
dc3d899e70
Return test ID when we post a test.
2016-02-04 16:09:26 -08:00
Adam Ierymenko
78c1d9006a
flood protection fix
2016-02-04 14:39:43 -08:00
Adam Ierymenko
5dad73647d
Lengthen backup period again
2016-02-04 14:22:54 -08:00
Adam Ierymenko
13b39a0c3e
SQLite perf tuning
2016-02-04 14:03:37 -08:00
Adam Ierymenko
90801a94d3
Track client version and tell whether active nodes support circuit test.
2016-02-04 13:38:42 -08:00
Adam Ierymenko
fab6f4450d
/active subpath off networks
2016-02-04 12:17:55 -08:00
Adam Ierymenko
2e04dc03f2
Logging to NodeHistory, SQL queries.
2016-02-03 18:10:56 -08:00
Adam Ierymenko
f8eb6b0067
Add NodeHistory table on sqlite controller.
2016-02-03 13:56:35 -08:00
Adam Ierymenko
7a63fdc447
Fix for GitHub issue #298 and hopefully #297
2016-02-01 14:41:54 -08:00
Adam Ierymenko
4655a59912
typo
2016-01-28 17:59:31 -08:00
Adam Ierymenko
c0668dcdf2
Merge branch 'edge' into dev
2016-01-26 14:20:25 -08:00
Adam Ierymenko
9cb4bbe2b8
Save test results for circuit tests in memory and then cancel the test and send the results when the test is queried later. This way you can POST a test and then come GET the result at the appointed time.
2016-01-26 12:42:44 -08:00
Joseph Henry
95d28494f6
Mac OSX Port - Lightly tested
2016-01-25 12:55:29 -08:00
Grant Limberg
67f678d60a
Merge branch 'master' into dev
2016-01-22 18:07:20 -08:00
Grant Limberg
3993dfa2a5
Fix JNI for API changes in 1.1.4
2016-01-22 18:06:58 -08:00
Adam Ierymenko
935f00ad4c
Merge branch 'edge' of http://10.6.6.2/zerotier/ZeroTierOne into edge
2016-01-21 16:03:14 -08:00
Adam Ierymenko
bafdb54752
New dev version: 1.1.5
2016-01-21 16:02:16 -08:00
Adam Ierymenko
7526ed705c
Check for /dev/tun as well as /dev/net/tun since some Linux devices put it there.
2016-01-21 16:01:24 -08:00
Joseph Henry
bccd60125b
Added python, python3, darkhttpd unit tests
2016-01-21 15:52:54 -08:00
Joseph Henry
7127d2b811
Updated unit tests + README
2016-01-21 15:10:26 -08:00
Adam Ierymenko
9cc2733ed8
VERSION 1.1.4: Improved path detection, improved anti-recursion code, and Network Containers BETA
...
ZeroTier One version 1.1.4 has several improvements to path stability and
path learning logic. It also contains the BETA version of Network Containers!
See netcon/README.md and https://www.zerotier.com/product-netcon.shtml for more
information.
Improvements in 1.1.4:
- Paths are now confirmed more aggressively on inactivity. This version can
usually detect a dead direct path in under 10 seconds vs 1-2 minutes in
previous versions.
- Logic to prevent recursion has been overhauled. The old versions had code
that explicitly checked packet contents (AntiRecursion.hpp). This is now
gone in favor of a function that checks IP addresses of ZeroTier devices
when paths are learned or probed. This is both more efficient and less
prone to edge case failures. Testing in several complex environments has
shown that this eliminates a few edge cases where inappropriate paths would
be used.
2016-01-20 18:10:40 -08:00
Adam Ierymenko
3b10fd7557
Windows build fixes.
2016-01-20 18:06:20 -08:00
Adam Ierymenko
f782797dc7
readme
2016-01-20 17:44:17 -08:00
Adam Ierymenko
227b8bfbf6
Merge branch 'edge' of http://10.6.6.2/zerotier/ZeroTierOne into edge
2016-01-20 16:59:59 -08:00
Adam Ierymenko
385770dcc8
1.1.4 bump
2016-01-20 16:59:54 -08:00
Janjaap Bos
4f6ca14d4f
typo
2016-01-20 16:52:46 -08:00
Janjaap Bos
c3fc5340b6
Added check for identiy
...
Needed if you just copy & paste the whole block.
2016-01-20 16:43:37 -08:00
Adam Ierymenko
4f30b06930
Merge branch 'dev' into edge
2016-01-20 16:28:14 -08:00
Joseph Henry
398e0b7c63
Removed debug line
2016-01-20 15:04:02 -08:00
Joseph Henry
b7b014298b
Bad connection reference fix + RX lock fix
2016-01-20 14:43:49 -08:00
Joseph Henry
bcaf42e075
Transfer speed increate + stability fixes
2016-01-20 13:38:14 -08:00
Joseph Henry
357cb92f2e
Stability fix + introduction of connection probation
2016-01-18 23:41:28 -08:00
Joseph Henry
31ed86740c
Added some safety + unregister callbacks on close
2016-01-18 16:04:29 -08:00
Joseph Henry
f2cc144811
Fixed nc_sent possible bad ptr on close issue
2016-01-18 12:26:40 -08:00
Joseph Henry
1783867f96
Print path for user. Removed unused stub Phy methods
2016-01-17 15:13:32 -08:00
Joseph Henry
a73638b214
Fixed memory leak
2016-01-17 14:32:34 -08:00
Grant Limberg
bd1884e48f
yay more icons
2016-01-15 18:39:16 -08:00
Grant Limberg
5cd20c0009
Adding app icons for iOS
2016-01-15 18:22:53 -08:00
Joseph Henry
58ebfdffcb
Debugs off by default
2016-01-15 13:03:37 -08:00
Joseph Henry
1e2c434ae8
nc_recved() connection closure change
2016-01-15 13:02:48 -08:00
Joseph Henry
7107297c25
Merge branch 'edge' of http://10.6.6.2/zerotier/zerotierone into edge
2016-01-15 11:19:25 -08:00
Joseph Henry
35fb602dff
Fixed pcb->state == CLOSE_WAIT bug
2016-01-15 11:18:26 -08:00
Adam Ierymenko
8af3d35234
Merge branch 'dev' into edge
2016-01-15 11:18:23 -08:00
Joseph Henry
323d40a560
Small formatting changes
2016-01-15 10:27:27 -08:00
Joseph Henry
321bca4bf7
Adjusted formatting/conventions to conform to rest of ZT codebase
2016-01-15 10:09:31 -08:00
Joseph Henry
7cb08630d0
Fixed RX race condition
2016-01-14 18:59:08 -08:00
Joseph Henry
45f0737a00
Naming convention update
2016-01-14 14:15:50 -08:00
Joseph Henry
6cf478c1b2
RX buffer update
2016-01-14 14:03:03 -08:00
Joseph Henry
f52a82d9f2
Updated RX buffer code
2016-01-14 13:23:01 -08:00
Grant Limberg
6dac0c8c4f
C doesn't support default arguments
2016-01-13 17:47:34 -08:00
Joseph Henry
5e30eabd30
Updated getsockopt/setsockopt, removed unused code
2016-01-13 15:52:15 -08:00
Joseph Henry
7bba867ce8
Fixed double-close bug
2016-01-13 13:55:11 -08:00
Adam Ierymenko
e8e6a4702b
Merge branch 'dev' into edge
2016-01-13 13:15:47 -08:00
Joseph Henry
c3e2cb9b8e
Modified PCB/state management logic
2016-01-13 12:19:48 -08:00
Adam Ierymenko
2e5caa335a
Old SF root is dead. Now we are just on Alice and Bob. (world update for 1.1.4)
2016-01-13 10:18:41 -08:00
Joseph Henry
bdabe40c65
Updated error reporting for sock_fd_read()
2016-01-12 14:25:30 -08:00
Adam Ierymenko
7991a7c50a
Merge branch 'dev' into edge
2016-01-12 14:05:40 -08:00
Adam Ierymenko
4e4fd51117
boring doc stuff
2016-01-12 14:04:55 -08:00
Joseph Henry
e91322bd10
README update and example server port change
2016-01-12 14:04:55 -08:00
Joseph Henry
23cdb3aed5
Removed ztnc network config file
2016-01-12 13:58:15 -08:00
Joseph Henry
bd3d9ee356
Removed terminology changes
2016-01-12 13:55:46 -08:00
Adam Ierymenko
76f1ab33f0
Make clean rm .depend
2016-01-12 13:44:59 -08:00
Adam Ierymenko
61fd8463f8
Merge branch 'dev' into edge
2016-01-12 13:19:53 -08:00
Adam Ierymenko
3883ac08c7
Docs and cleanup.
2016-01-12 13:17:30 -08:00
Joseph Henry
dd233fdb8d
Updated terminology. No functional change
2016-01-12 13:00:31 -08:00
Joseph Henry
18aea2d3d3
Removed unused code
2016-01-12 12:56:51 -08:00
Joseph Henry
74e22368b5
Fixed sketchy memcpy logic, also added checks for service RPC ACK
2016-01-12 12:42:46 -08:00
Adam Ierymenko
d03a63e055
Merge branch 'edge' of http://10.6.6.2/zerotier/ZeroTierOne into edge
2016-01-12 12:25:19 -08:00
Adam Ierymenko
93ab8d46b9
Merge branch 'dev' into edge
2016-01-12 12:25:15 -08:00
Adam Ierymenko
740eb6ebc4
Simplify Peer locking to eliminate deadlock with new path recursion check code (and also probably improve performance).
2016-01-12 12:12:25 -08:00
Adam Ierymenko
d6f0f1a82a
Use network user ptr in lookup for Ethernet frame handling to eliminate map lookup.
2016-01-12 11:34:22 -08:00
Adam Ierymenko
83ef98a9dc
Add a network-associated user ptr in API.
2016-01-12 11:04:35 -08:00
Adam Ierymenko
3edfbfec93
Merge branch 'master' into dev
2016-01-12 09:50:19 -08:00
Adam Ierymenko
68c004ef68
Merge pull request #291 from JackyRen/patch-1
...
Update controller README.md
2016-01-12 09:49:54 -08:00
Joseph Henry
e2ae9165c6
RPC update
2016-01-12 09:46:49 -08:00
Adam Ierymenko
704205c5f7
Dead code removal.
2016-01-12 09:33:14 -08:00
Ren Jie
21656ba015
Update controller README.md
...
Sync make parameter with code.
2016-01-12 22:51:08 +08:00
Adam Ierymenko
bbcc3304a0
Check shouldUsePathForZeroTierTraffic in legacy beacon responder.
2016-01-11 15:57:58 -08:00
Adam Ierymenko
c6571073fe
Get rid of constructor/destructor in libzerotierintercept, and simplify a few things.
2016-01-11 15:27:22 -08:00
Adam Ierymenko
ba9fcb31d0
Merge branch 'dev' into edge
2016-01-11 14:30:24 -08:00
Joseph Henry
78c0f0a443
RPC detection fix
2016-01-11 13:23:43 -08:00
Joseph Henry
7656e6b9f8
Transfer tune-up
2016-01-11 11:37:04 -08:00
Joseph Henry
39d79f34ab
Added RPC ACK
2016-01-11 10:35:02 -08:00
Adam Ierymenko
b3e3d4cacc
Instead of using binary packet comparison, add a callback to the API to explicitly check whether paths should be used. Check in with this callback (if present) when learning new paths or sending initial packets.
2016-01-11 10:17:44 -08:00
Joseph Henry
3e65ecb93d
Stateless RPC rework
2016-01-11 10:12:59 -08:00
Adam Ierymenko
ba2a89c760
docs
2016-01-11 09:13:41 -08:00
Adam Ierymenko
eea634a432
Refactor to eliminate copypasta.
2016-01-11 09:11:35 -08:00
Adam Ierymenko
ab19e19f00
Fix a bug that we visually found in Windows code -- it was not advertising uPnP addresses?!?
2016-01-11 09:09:24 -08:00
Adam Ierymenko
1023ef23b7
Remove somewhat ugly and costly anti-recursion hack -- we will switch to more explicit methods.
2016-01-11 09:06:10 -08:00
Adam Ierymenko
a56fbc1929
Close another potential anti-recursion loophole.
2016-01-06 15:35:27 -08:00
Adam Ierymenko
47ce52228b
Roots should probably not do this since it would likely be a waste of packets.
2016-01-06 12:54:51 -08:00
Adam Ierymenko
ff9317365a
Merge branch 'dev' into edge
2016-01-06 11:38:11 -08:00
Adam Ierymenko
0a3ef38cad
Put old test code in attic.
2016-01-06 11:06:47 -08:00
Adam Ierymenko
9aee72099e
AntiRecursion cleanup and some other minor things.
2016-01-06 10:59:39 -08:00
Adam Ierymenko
05b2c0743f
Tighten up dead path detection. Should now auto-detect dead paths in less than 10 seconds at a very small cost in ECHO requests (or HELLOs for older peers). GitHib issue #272
2016-01-06 10:00:03 -08:00
Adam Ierymenko
4d94ae77b4
simplify if
2016-01-05 16:48:35 -08:00
Adam Ierymenko
d8143a5e18
Implement first pass on rapid dead path detection, and increment version to 1.1.3 (dev)
2016-01-05 16:41:54 -08:00
Adam Ierymenko
cba739fd6b
more dead code
2016-01-05 14:46:26 -08:00
Adam Ierymenko
fb5237d5b6
Outline dead path detection mechanism.
2016-01-05 14:42:56 -08:00
Adam Ierymenko
258f95b2cd
dead code removal
2016-01-05 14:19:16 -08:00
Janjaap Bos
b8059d5c87
typo
2015-12-23 22:54:36 +01:00
Adam Ierymenko
66894eb473
Merge branch 'dev' into edge
2015-12-21 16:56:13 -08:00
Adam Ierymenko
61becbb7e5
.
2015-12-21 16:56:11 -08:00
Adam Ierymenko
42e453872c
VERSION 1.1.2: bug fixes and NAT-PMP support
...
ZeroTier One version 1.1.2 is mostly a bug fix release, but also includes support
for NAT-PMP as a method of mapping external ports from behind supported routers.
Bugs fixed include:
- Refactored path selection code to eliminate a change that might have introduced
a reliability regression from earlier versions.
- Reworked UPnP code for improved reliability and also added NAT-PMP support.
- Fixed a crash on network preferred relays. (Not exploitable or security critical
since only network controllers can send that config option and there was no
buffer overflow or other exploitable issue.)
- Fix GUI problem on OSX where window could be larger than screen on some Macbooks.
- Fix a potential rate limit problem on PUSH_DIRECT_PATHS that could negatively
impact same-network connectivity.
- Update zerotier-cli to show preferred vs. active paths and hide inactive ones.
- Fix an issue on shutdown with thread delete order and thread synchronization.
2015-12-21 16:48:33 -08:00
Adam Ierymenko
2f42a7c010
Windows 1.1.2 build.
2015-12-21 16:36:56 -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
16bc9533ed
Fix a problem that made valgrind complain on shutdown (not otherwise an issue).
2015-12-21 15:23:14 -08:00
Adam Ierymenko
63a51e2890
Fix a small potential uninitialized variable issue.
2015-12-21 14:55:11 -08:00
Adam Ierymenko
23eaafc4eb
Remove stray file that is instead found in netcon.
2015-12-21 14:01:48 -08:00
Adam Ierymenko
536b7000bc
Merge branch 'edge' of http://10.6.6.2/zerotier/ZeroTierOne into edge
2015-12-21 13:15:09 -08:00
Adam Ierymenko
24cc0904fa
1.1.2 Windows build fixes, tweaks, etc.
2015-12-21 13:14:48 -08:00
Janjaap Bos
5a65463b92
typo
2015-12-21 22:11:39 +01:00
Janjaap Bos
c8056452b8
fix / workaround for ubuntu
...
Otherwise, if started with -d as daemon, the netcon service dies after
intercept listen registers.
2015-12-21 21:20:22 +01:00
Janjaap Bos
64e273e9c0
updated netcon readme
2015-12-21 19:49:22 +01:00
Joseph Henry
6f62d6bb34
Removed straggler debug prints
2015-12-21 07:36:44 -08:00
Joseph Henry
d430457f1e
Updated readme, removed test network keys
2015-12-21 07:26:45 -08:00
Joseph Henry
4267cc138e
Readme changes, turned off debug
2015-12-21 07:17:37 -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
608e059b18
single updated test file
2015-12-18 15:19:34 -08:00
Joseph Henry
81203b20b8
Merge branch 'edge' of http://10.6.6.2/zerotier/zerotierone into edge
2015-12-18 15:09:18 -08:00
Joseph Henry
91bc32fe51
Re-added keys for testing
2015-12-18 15:09:08 -08:00
Adam Ierymenko
d3dacf5c2a
Tiny bit of dead code cleanup.
2015-12-18 14:51:24 -08:00
Adam Ierymenko
13036a1085
.
2015-12-18 14:30:47 -08:00
Adam Ierymenko
942ab6fd95
.
2015-12-18 14:29:23 -08:00
Adam Ierymenko
fd9b2e931f
Merge branch 'edge' of http://10.6.6.2/zerotier/ZeroTierOne into edge
2015-12-18 14:26:37 -08:00
Adam Ierymenko
6de67e828d
Fix accept4() semantics.
2015-12-18 14:26:31 -08:00
Joseph Henry
2d9f1f7857
Added install script for debugging with strace
2015-12-18 13:13:47 -08:00
Joseph Henry
fde8af9483
getsockopt() tweak
2015-12-18 11:37:11 -08:00
Joseph Henry
c22c0a20f6
Merge branch 'edge' of http://10.6.6.2/zerotier/zerotierone into edge
2015-12-18 10:31:24 -08:00
Joseph Henry
9063209124
getsockname() fix
2015-12-18 10:31:11 -08:00
Adam Ierymenko
61dc13a6e1
Cache query in progress to reduce redundant GeoIP2 queries.
2015-12-18 09:38:34 -08:00
Joseph Henry
e3eea6fcbd
RPC Reliability improvements and partial getsockname() fix
2015-12-16 18:05:47 -08:00
Adam Ierymenko
7d001458cb
Update World to drop an old legacy root.
2015-12-17 11:52:05 -08:00
Adam Ierymenko
823c9979c0
Erase more debug junk.
2015-12-17 11:45:55 -08:00
Adam Ierymenko
9ebcbc94e4
Remove some stray debug stuff.
2015-12-17 11:44:48 -08:00
Adam Ierymenko
aa39b0dc24
Show paths as active or preferred in listpeers.
2015-12-17 11:03:39 -08:00
Adam Ierymenko
2160164e8c
(1) Get rid of path sorting and just scan them, since sorting may have been a premature optimization that introduced a regression and path instability in a few edge cases, and (2) do not attempt to contact remote paths received via PUSH_DIRECT_PATH if we already have that path and it is already active (dumb, should have done this originally)
2015-12-17 10:53:07 -08:00
Adam Ierymenko
3137f43da9
Fix for getsockname() crash and other address size issues.
2015-12-16 10:30:02 -08:00
Adam Ierymenko
efc2a74df1
Some final README revs.
2015-12-16 10:07:04 -08:00
Joseph Henry
9638889614
Removed docker-test keys/config for netcon network
2015-12-16 08:33:39 -08:00
Joseph Henry
0df639f8f5
readme update
2015-12-15 16:20:31 -08:00
Joseph Henry
011ce35ede
Merge branch 'edge' of http://10.6.6.2/zerotier/zerotierone into edge
2015-12-15 15:57:02 -08:00
Joseph Henry
a9802eff02
readme update
2015-12-15 15:56:47 -08:00
Adam Ierymenko
f9837163d3
docs
2015-12-15 15:43:07 -08:00
Adam Ierymenko
6bc93d2050
Docs, and change ZT_NC_NWID to ZT_NC_NETWORK and use full path in local ZT home dir to enable multiple instances.
2015-12-15 15:35:21 -08:00
Adam Ierymenko
37a7e9e275
Merge branch 'edge' of http://10.6.6.2/zerotier/ZeroTierOne into edge
2015-12-15 15:00:05 -08:00
Adam Ierymenko
531e5f9923
.
2015-12-15 15:00:03 -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
Adam Ierymenko
a6c5596782
Patch controller to not send relays to 1.1.0 to avoid triggering 1.1.0 network preferred relays bug.
2015-12-15 10:53:15 -08:00
Adam Ierymenko
022d3857cc
Fix should use ECHO check.
2015-12-15 10:37:32 -08:00
Adam Ierymenko
82aa3f59d6
Fix bug in ECHO handling (OK was invalid!), and use ECHO on newer peers for path confirmation. Also get rid of path confirmation circuit breaker since this causes issues with some peers and should be done more intelligently anyway.
2015-12-15 10:30:40 -08:00
Adam Ierymenko
04d6b03733
Make auto backups slightly less frequent.
2015-12-15 09:22:10 -08:00
Adam Ierymenko
3b22ecc80c
Make hex device address in UPnP name the right length.
2015-12-14 17:35:45 -08:00
Adam Ierymenko
53fe576028
Merge branch 'edge' of http://10.6.6.2/zerotier/ZeroTierOne into edge
2015-12-14 17:04:36 -08:00
Adam Ierymenko
f6dc99f345
Old NYC is dead.
2015-12-14 17:04:27 -08:00
Adam Ierymenko
c0df1169ee
Remove unimplemented SET_EPHEMERAL_KEY for now.
2015-12-14 14:53:43 -08:00
Joseph Henry
b92884a0ad
Merge branch 'edge' of http://10.6.6.2/zerotier/zerotierone into edge
2015-12-14 14:45:40 -08:00
Joseph Henry
a421e31dd5
send_cmd() retrun value bugfix + minor debug changes
2015-12-14 14:45:25 -08:00
Adam Ierymenko
7b1c0c4013
Cache null results from Maxmind.
2015-12-14 14:40:00 -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
99afc74021
FDs transferred over listen socket + other fixes
2015-12-12 01:28:59 -08:00
Joseph Henry
761bb4fdd0
Stability fix
2015-12-11 12:19:54 -08:00
Joseph Henry
663a336b83
RPC cleanup + Temporary timing fix
2015-12-10 09:24:56 -08:00
Adam Ierymenko
e506fda3e4
Only set SO_NO_CHECK on IPv4 UDP sockets for now due to broken V6 stacks that drop zero checksum UDP packets.
2015-12-09 15:02:42 -08:00
Joseph Henry
42da36ba81
Fixed addrlen assignment in getsockname()
2015-12-09 12:22:08 -08:00
Joseph Henry
a730c86907
getsockname() implemented
2015-12-09 12:20:38 -08:00
Adam Ierymenko
b8cba90d85
.
2015-12-09 09:01:09 -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
5717dfe3b9
.
2015-12-08 17:45:51 -08:00
Adam Ierymenko
c576cd68cb
.
2015-12-08 17:44:13 -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
b1eb16d5fb
Updated README, tests, and Intercept
2015-12-08 07:47:20 -08:00
Joseph Henry
f2db82940b
Nginx patch. Verified to work in fc23 and ub14
2015-12-08 05:09:12 -08:00
Joseph Henry
a2837ccaa7
Fixed typo
2015-12-07 08:36:13 -08:00
Joseph Henry
284b37ccc0
Updated compatibility section
2015-12-07 08:35:26 -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
b141026fc7
Replaced darkhttpd with httpd since darkhttpd is not currently supported and does not work
2015-12-07 06:41:20 -08:00
Joseph Henry
c9bd0b3bf1
More concise unit test section
2015-12-07 06:30:54 -08:00
Joseph Henry
21b158cc48
Added unit test info to README.md
2015-12-07 06:21:40 -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
Joseph Henry
afafde2571
Modified Nginx test scripts
2015-12-06 22:37:23 -08:00
Joseph Henry
1dec034f77
Added application-specific test arguments to test script
2015-12-06 17:55:48 -08:00
Adam Ierymenko
0df33485ca
Merge remote-tracking branch 'origin/netcon' into edge
2015-12-04 15:41:56 -08:00
Joseph Henry
7ea53dd21b
(WIP) Additional test script changes
2015-12-04 15:39:35 -08:00
Adam Ierymenko
3869d6257b
Always Salsa20 encrypt the result of the system CSPRNG as a mitigation against various low-entropy bugs such as the recent Raspberry Pi one.
2015-12-04 14:50:24 -08:00
Adam Ierymenko
4e12899a8e
docs
2015-12-04 14:17:33 -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
Adam Ierymenko
ac8918992b
Merge dev.
2015-12-04 12:45:21 -08:00
Adam Ierymenko
cbf8d9c45b
.
2015-12-04 12:43:48 -08:00
Adam Ierymenko
905253b4f5
First draft (unfinished) of new README for netcon (original in README.orig.md).
2015-12-04 12:43:21 -08:00
Joseph Henry
d9b12be697
ZT_NC_NWID patch + (WIP) test script modifications
2015-12-04 12:39:54 -08:00
Joseph Henry
2196d982c3
(fixed) nwid detection in test script
2015-12-03 18:50:20 -08:00
Joseph Henry
5c5943a00c
(fixed) test script liblwip.so placement, also streamlined test logic
2015-12-03 07:11:33 -08:00
Adam Ierymenko
a4cfe4cd16
Fix Linux init script to properly specify runlevels.
2015-12-01 10:19:10 -08:00
Adam Ierymenko
ceaef19fb7
Fix for GitHub issue #260 -- fix for (non-exploitable) crash in network preferred relay code
2015-11-30 17:20:12 -08:00
Adam Ierymenko
944fdfb65e
Low-impact sanity check against GitHub issue #247 -- will likely prevent other weird recursions too.
2015-11-30 16:44:32 -08:00
Adam Ierymenko
be44b15eac
Fix for GitHub issue #252
2015-11-30 16:15:23 -08:00
Adam Ierymenko
d73edfea56
GitHub issue #257
2015-11-30 16:12:03 -08:00
Adam Ierymenko
c21882da9c
Put selftest back and turn off tracing in PortMapper.
2015-11-30 16:07:02 -08:00
Adam Ierymenko
f260250580
Simplify IP assignment logic in OSXEthernetTap, also fix for GitHub issue #249
2015-11-30 15:39:34 -08:00
Adam Ierymenko
40a4ba6e39
indentation
2015-11-30 15:15:43 -08:00
Adam Ierymenko
d862d2868c
... and here.
2015-11-30 14:57:28 -08:00
Adam Ierymenko
1e213b4d4c
Need to close on premature abort too or resources are leaked.
2015-11-30 14:56:36 -08:00
Adam Ierymenko
3d66492828
Also add a timeout for the actual NAT-PMP port mapping step.
2015-11-30 14:17:58 -08:00
Adam Ierymenko
838fdf4d11
ifdef naming fix.
2015-11-30 13:32:30 -08:00
Adam Ierymenko
685c5e9ad1
Fix for uPnP
2015-11-30 13:25:34 -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
6c0de526e8
Merge pull request #261 from janjaapbos/synology
...
Fix for cross compiling
2015-11-30 11:07:20 -08:00
Adam Ierymenko
4c812e3796
Merge pull request #259 from janjaapbos/jb-dev
...
Increase maximum number of paths per IP scope to 4
2015-11-30 10:53:22 -08:00
Janjaap Bos
e6808c69f8
Increase maximum number of paths per IP scope to 4
...
Otherwise, local discovered routes are ignored.
Don't know what the best value would be. Taking 4 for now.
2015-11-30 19:48:38 +01:00
Adam Ierymenko
75637f68b3
Merge branch 'dev' of github.com:zerotier/ZeroTierOne into dev
2015-11-24 14:11:31 -08:00
Adam Ierymenko
56cb2f43fa
Merge pull request #254 from bonki/fix_iproute2_ip_handling
...
Fix for GitHub issue #253 .
2015-11-24 14:11:14 -08:00
Adrian Frühwirth
038476c412
Fix for GitHub issue #253 .
...
Make 'ip' detection more robust (some distros don't ship the binary in /sbin or /usr/sbin).
Add error handling for cases where an ip add/remove fails.
2015-11-24 22:56:02 +01: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
ef4472e185
Intercept now checks ZT_NC_NWID environment variable for 16-digit network ID and does not initialize if not present.
2015-11-23 13:59:38 -08:00
Adam Ierymenko
4acb3d81f3
Rename Common to common.inc.c to indicate that this is an included C file not a primary build C file.
2015-11-23 13:25:46 -08:00
Adam Ierymenko
bee44ae731
Merge Sendfd into Common.c
2015-11-23 13:24:28 -08:00
Adam Ierymenko
95106e2e30
Mare make-self-contained code cleanup.
2015-11-23 13:18:46 -08:00
Adam Ierymenko
2a6ea38718
More code cleanup, just moving some stuff into NetconEthernetTap that is not used elsewhere.
2015-11-23 13:02:50 -08:00
Adam Ierymenko
d8d4cfbf01
Eliminate a few warnings and some small code reorg.
2015-11-23 12:43:42 -08:00
Adam Ierymenko
34404eb300
Ignore more DLL patterns.
2015-11-23 12:34:46 -08:00
Adam Ierymenko
7a84805824
Uncommit binary... :P
2015-11-23 12:34:23 -08:00
Adam Ierymenko
1d4563ac31
A few very tiny bits of dead code removal, etc.
2015-11-23 12:32:20 -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
Adam Ierymenko
1e4a40e772
Reformat table.
2015-11-23 10:11:46 -08:00
Joseph Henry
6e5feaba3a
Updated test files
2015-11-23 07:08:07 -08:00
Joseph Henry
71b38a48ac
Replaced README
2015-11-23 06:22:09 -08:00
Joseph Henry
6a3f230555
Unit test info added to README
2015-11-23 06:20:01 -08:00
Joseph Henry
a952ff2c61
Removed odd file
2015-11-23 06:11:19 -08:00
Joseph Henry
05e51f40b4
README formatting update. Removed odd files
2015-11-23 06:07:48 -08:00
Joseph Henry
b83aefcf8f
Updated README, fixed node.js test bug
2015-11-23 05:59:05 -08:00
Joseph Henry
8b9b593256
Removed old READMEs and OS files
2015-11-23 05:21:20 -08:00
Joseph Henry
275a76ff5c
Test update
2015-11-23 05:15:19 -08:00
Joseph Henry
3d163f7044
Patch for Node.js -- accept() bug
2015-11-23 01:14:17 -08:00
Grant Limberg
764dd1c3d9
ARP packets do need the source IP address in them, as well as the MAC address.
...
Packets wouldn't even show up in WireShark without the source IP in it.
2015-11-21 19:14:59 -08:00
Grant Limberg
ac09c3569a
ARP packet lengths are 28 bytes. This condition required the packet to be 29 or more bytes.
2015-11-21 19:14:06 -08:00
Adam Ierymenko
ce5b7f0305
The World as of 2015-11-20
2015-11-20 12:49:23 -08:00
Adam Ierymenko
1fde17bacb
Update World to reflect Alice and Bob in their final glory. Will hot-push this soon.
2015-11-20 11:46:10 -08:00
Joseph Henry
d472c59b8d
Additional test files
2015-11-20 02:41:27 -08:00
Joseph Henry
126fc46dc4
Updated makefile, removed old results directory
2015-11-20 01:22:15 -08:00
Joseph Henry
d2e624f301
Updated makefile, removed old results directory
2015-11-20 01:19:16 -08:00
Joseph Henry
7173b0124b
Removed old test directory
2015-11-20 01:13:04 -08:00
Joseph Henry
1f27022fa7
Test/Code Refactor in preparation for merge
2015-11-20 01:08:38 -08:00
Joseph Henry
9a25a627bb
WIP: Unit tests -- more generalization
2015-11-19 17:34:56 -08:00
Adam Ierymenko
375aae44e4
.
2015-11-19 16:36:15 -08:00
Joseph Henry
31bc5e1559
WIP: Unit tests
2015-11-19 16:21:59 -08:00
Joseph Henry
b1100b3d13
WIP: Automated tests
2015-11-19 16:14:27 -08:00
Grant Limberg
399b2e9e26
forgot to submit this. Add DeferredPackets.cpp to the android makefile
2015-11-17 19:16:10 -08:00
Adam Ierymenko
6f16f44438
VERSION 1.1.0: Win/Mac UI improvements, improved NAT-t, CIRCUIT_TEST, and more!
...
ZeroTier 1.1.0 introduces a number of fixes and improvements in several areas.
We incremented the secondary version to indicate the significance of this release.
Version numbering has been a bit ad-hoc in the past. In future versions we will
adopt the following scheme: odd-numbered revision numbers like 1.1.1 will indicate
development versions, while even numbered ones like 1.1.2 will indicate tagged
releases. The public git repo branching has also been revised: master will always
be the latest tagged release, dev will be usually-working development, and edge
will host maybe-broken "bleeding edge" development. Pull requests on GitHub should
generally be made against dev, not master or edge. Other branches that may appear
from time to time may be feature or experimental branches. Only master is confirmed
good, with dev usually being okay but not guaranteed to be such. (To the extent
that any software is ever guaranteed to be anything.)
Change summary:
User-facing changes and improvements:
- Windows now has a new .NET-based native UI, which replaces the old WebControl
wrapper around the React UI. This just didn't work well on older Windows systems,
and we did not want to bundle 40+ megabytes of web browser with our app just for
its very simple UI.
- The web UI (still used for Mac and usable in Linux as well) is updated with
improved look and simplifications.
- Both UIs no longer have the "Peers" tab, since several users reported that non-
technical users found this confusing and even alarming (does this mean people
can access my system?). This information is visibile with "listpeers" from the
command line (zerotier-cli).
New features:
- Virtual networks that use our RFC4193-based IPv6 numbering scheme now emulate
IPv6 NDP for queries that target these addresses within the same network. This
allows for faster multicast-free connection init and improved security since
the address is now hard-wired to the device ID (which is a crypto token). This
does not affect IPv6 NDP for other IPv6 addresses or link-local, which will
continue to work normally. This also opens the potential for a reduced footprint
multicast-free build for embedded applications.
- This version includes beta support for a feature called CIRCUIT_TEST. Network
controllers for networks you have joined can now send a special message called
CIRCUIT_TEST which allows for ZeroTier-layer link testing and remote diagnosis
of link issues. Any operator of a network controller can do this; more
documentation will be forthcoming. The only information that may be gathered
in this way is IP addressing info and very basic system info (OS, 32/64 bit,
ZeroTier version). No personal information, hard drive data, location, or other
private info is available. This can only be ordered by a controller of a network
you have joined and is secured using cryptographic signatures.
- This version includes an alpha version of clustering a.k.a. multi-homing! This
powerful feature allows for a single ZeroTier device to be run from multiple
endpoints, with connecting peers being handed off to endpoints that are closer
via GeoIP lookup and/or are more lightly loaded. Currently this is only suitable
for use in our soon-to-be-upgraded root server infrastructure (details will be
blogged soon), but in the future it will be capable of hosting multi-homed
devices on user networks. This will allow things like (for example) a geo-
clustered Cassandra server that appears behind a single IP on a virtual LAN.
This feature must be enabled with the ZT_ENABLE_CLUSTER=1 build option.
Bug fixes and other improvements (including performance!):
- A faster version of the Poly1305 cryptographic MAC function was substituted
for sometimes greatly improved performance.
- C++ STL std::map was replaced throughout the entire core with a hand-rolled
Hashtable implementation for improved performance and in some cases a reduced
memory footprint. Some maps are still used in peripheral code that is not
performance critical or where ordered keys are needed.
- The zerotier-cli and zerotier-idtool symbolic links are now created in
/usr/local/bin on OSX to comply with El Capitan file security restrictions.
- The OSX tap device driver has been updated. This update may fix issues that
some users have reported with bridging on OSX. This new tap device driver
drops 32-bit support, but if you have a 32-bit system you can manually install
the old driver from ext/bin/tap-mac.
- Mac users could experience a problem with the UI if they installed ZeroTier,
then uninstalled it, then installed again. This is now fixed.
- UPnP port mappings should work better on some routers, and a different local
port is now used for UPnP mapped traffic vs. NAT-t'd traffic to get around
a bug in several popular mid-tier routers where using UPnP mapping alongside
traditional NAT traversal made a port unreachable.
- Debian package now builds with the right arch label on armv7l systems (Pi 2)
- The old "root topology" has been replaced with a similar but better thought
out concept called a World. The World defines the root servers and possibly
in the future other things, and can be updated in-band from trusted peers
allowing for software-upgrade-free network upgrades to keep up with growing
demand. See node/World.hpp for details.
- A fix was made to "self-awareness," which keeps track of your external IP
info and adapts to changes, to eliminate a problem that could cause "link
thrashing" behind some symmetric NATs.
- Escalating UDP TTLs was re-introduced to better transit some port-restricted
cone NATs such as Linux IP MASQ (used for Docker).
- An otherwise harmless crash-on-exit bug in the network controller was fixed.
- All new direct links are now confirmed in both directions. This adds a very
small amount of initial HELLO/OK traffic but fixes some edge cases where an
incomplete or unidirectional path might be used.
- [SECURITY] Better rate limiting was put in place for VERB_PUSH_DIRECT_PATHS
to prevent potential abuse for amplification attacks.
- [SECURITY] Build flags were tweaked on OSX to ensure that all code including
dependency libraries are built with full stack canary protection and ASLR
support.
Visit https://www.zerotier.com/blog or follow @ZeroTier on Twitter for updates
and announcements!
2015-11-17 12:18:45 -08:00
Adam Ierymenko
1c0c3e62dc
Just add a launch prerequisite for .NET 4.5 -- it's usually there, and if not it can be easily installed. This is mostly an issue on old Windows Server systems, and in that case the admin will likely want to decide how to proceed.
2015-11-17 11:13:44 -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
Joseph Henry
a660ec490e
Started work on automated unit test scripts
2015-11-17 02:28:23 -08:00
Joseph Henry
f5c2600ca4
Added symbol checks in intercept. This seems wise after all
2015-11-16 23:57:19 -08:00
Adam Ierymenko
48745eca57
Fix ARM dpkg build.
2015-11-16 19:54:58 -08:00
Joseph Henry
b0f6dc43b4
Revised fd RX logic
2015-11-16 19:53:59 -08:00
Adam Ierymenko
456bfea58d
Real World -- edge now talks to real net.
2015-11-16 19:27:36 -08:00
Adam Ierymenko
0f5fb48a0b
Turns out it wasn't hard to add miniupnpc to the VS2012 project and just have it build with the rest of the code.
2015-11-16 19:04:04 -08:00
Adam Ierymenko
dc8edea0c6
Linux make rules to make libminiupnpc from source.
2015-11-16 18:33:52 -08:00
Adam Ierymenko
cf6164e847
Build libminiupnpc from source now, and update version.
2015-11-16 18:28:55 -08:00
Adam Ierymenko
a13a21377c
Delete pre-build miniupnpc for Linux and Mac -- will add Make rules to build from source and include source in ext/
2015-11-16 18:18:08 -08:00
Adam Ierymenko
37acd375d6
Fix 64-bit int warning.
2015-11-16 18:10:40 -08:00
Joseph Henry
f2289544b7
Check for fork/clone and re-initialize in close() -- for nginx
2015-11-16 17:44:11 -08:00
Adam Ierymenko
7a53ecac86
UI stuff.
2015-11-16 17:18:44 -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
e4d1aba3f8
Use new OSX tap version, and update OSX install scripts.
2015-11-16 16:19:24 -08:00
Adam Ierymenko
38fe77ecf2
WebUIWrapper is dead.
2015-11-16 15:44:07 -08:00
Adam Ierymenko
8fde33d87c
.
2015-11-16 14:45:17 -08:00
Adam Ierymenko
220552af62
GitHub issue #241 -- and also some appearance updates. Eventually this might get replaced by a native Mac app.
2015-11-16 14:30:25 -08:00
Adam Ierymenko
637d50a9de
Write binary of world too.
2015-11-16 13:11:16 -08:00
Adam Ierymenko
f5b465c0e1
Merge branch 'edge' of http://10.6.6.2/zerotier/ZeroTierOne into edge
2015-11-16 11:13:02 -08:00
Adam Ierymenko
6ac70ba808
.
2015-11-16 11:01:19 -08:00
Adam Ierymenko
08cd603623
Code to generate real World for edge.
2015-11-16 10:58:40 -08:00
Adam Ierymenko
ddf0cb0278
Docs and tweak some caching values.
2015-11-16 09:54:08 -08:00
Grant Limberg
75f8ee1b9c
get the compiler to stop complaining about two string literals (one a macro) next to each other without an intervening space
2015-11-14 18:19:33 -08:00
Grant Limberg
0508a41afd
added ttl parameter to WirePacketSendFunction
2015-11-14 17:40:17 -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
90f9415107
Update installer to drag along a net-install binary for .NET 4.5 that it runs if .NET 4.5 is not present... because yes we have to install Microsoft's own flagship runtime under some conditions. (Rare, but present.)
2015-11-13 09:11:12 -08:00
Adam Ierymenko
2ec638a23d
New Windows UI tweaks: get rid of networks tab (only one tab!), make networks full width and make window narrower and a bit taller, colors, fixed-width fonts in several places, make network IDs selectable.
2015-11-12 17:38:30 -08:00
Joseph Henry
a6cffefa6d
Updated compatibility
2015-11-12 17:15:44 -08:00
Joseph Henry
a818c622d9
Updated throughput_httpd docker test files
2015-11-12 16:57:45 -08:00
Adam Ierymenko
ccae473783
Eliminate Windows warnings.
2015-11-12 16:51:33 -08:00
Adam Ierymenko
54f68280bd
Minor Windows build fixes. Builds on VS2012 again.
2015-11-12 16:48:42 -08:00
Joseph Henry
7d8084262a
Fixed rpc_st command alignment bug for RPC_SOCKET
2015-11-12 16:48:08 -08:00
Adam Ierymenko
bacb53fe8f
Remove old Windows NDIS5 tap driver -- I think this is dead.
2015-11-12 16:40:50 -08:00
Adam Ierymenko
33c132968e
GitHub issue #219 -- make Linux makefile cross-compiler aware.
2015-11-12 15:37:32 -08:00
Adam Ierymenko
73e314cc1a
Shelve pcap-with-bridge OSX experiment -- apparently pcap_inject does not work with bridge devices. Still have to use a kext.
2015-11-12 15:28:55 -08:00
Joseph Henry
6af54c5943
Minor debug updates
2015-11-12 14:49:20 -08:00
Joseph Henry
fa7220ec0e
Removed old Common.h
2015-11-12 14:35:58 -08:00
Joseph Henry
d1a22a0878
Streamlined debug output code
2015-11-12 14:32:27 -08:00
Adam Ierymenko
8ac411a9e4
Stashing utun work for OSX -- abandoning for now since utun excludes mDNS among other issues.
2015-11-12 10:47:50 -08:00
Joseph Henry
e5fad005a9
Updated RPC handling
2015-11-12 08:21:05 -08:00
Adam Ierymenko
0940d673db
Always advertise to the cluster when we have a peer even if we have also initiated handoff. This might be the cause of the warmup problem -- will test later. At the very least it should not hurt anything due to pick-latest logic and the fact that cluster members with only suboptimal paths do not respond to WANT_PEER.
2015-11-11 14:36:22 -08:00
Adam Ierymenko
b94335f115
Increase WHOIS retry delay slightly to allow for global cluster latency (e.g. 300+ms from New York to Johhannesburg)
2015-11-11 11:07:08 -08:00
Adam Ierymenko
a13ba7102a
GitHub issue #242 -- crappy uPnP protocol demands infinite lease time or else
2015-11-10 17:45:05 -08:00
Adam Ierymenko
451b8aa7b2
Query both root and network controller for multicast last resort GATHER.
2015-11-10 17:37:38 -08:00
Adam Ierymenko
53731acf51
Bracket by time in result cruncher script.
2015-11-10 17:15:06 -08:00
Adam Ierymenko
3b9411044f
Patch tap-mac to latest tuntaposx upstream changes, and add updated build for 10.8 or later (keep old one for 10.7).
2015-11-10 16:00:21 -08:00
Adam Ierymenko
141e2db38c
More results.
2015-11-10 15:47:18 -08:00
Adam Ierymenko
0cf4ddda4a
Some more test results, and fix OSX installer to put symlinks in /usr/local as per El Capitan requirements.
2015-11-10 15:11:15 -08:00
Adam Ierymenko
0e4a2c378f
Fix a sporadic warning in cluster-geo, and fix test to not overload the test-watcher.
2015-11-10 13:09:58 -08:00
Adam Ierymenko
2854f14966
Some cluster parameter tweaks, and change the test code in tests/http to dramatically reduce the amount of data transfer to/from the test master. Also add results of first successful 50k test.
2015-11-10 11:59:03 -08:00
Adam Ierymenko
4328c6c3bc
Fix delete oldest logic.
2015-11-10 09:46:14 -08:00
Adam Ierymenko
b171c9a0db
Replace slow std::list<> with an O(log(N)) data structure for the cluster relaying send queue.
2015-11-10 09:05:01 -08:00
Joseph Henry
82a60b1e28
Fixed throughput build script
2015-11-09 20:16:27 -08:00
Joseph Henry
19f09e46fa
Moved/Renamed Docker test dirs
2015-11-09 19:37:19 -08:00
root
134ad8ac21
Changed httpd version in throughput-test Dockerfile
2015-11-09 19:13:53 -08:00
Adam Ierymenko
32ec378e3b
Announce that we have peers on the cluster when we first see them to improve startup times, and add a result crunching script to tests/http.
2015-11-09 18:01:23 -08:00
Adam Ierymenko
2cc50bdb10
Try bringing back TTL escalation -- may help with Docker (IP-MASQ) type NAT
2015-11-09 15:44:13 -08:00
Adam Ierymenko
94f4316a0e
Fix for possible high CPU usage on multicast queries.
2015-11-09 14:54:05 -08:00
Adam Ierymenko
35c4e28f31
Mark geo-redirected paths as suboptimal and do not report that we have a peer if all we have is one of these. Also a few other small fixes.
2015-11-09 14:25:28 -08:00
Adam Ierymenko
47424df417
Fix (1) a deadlock bug and (2) a bug that prevented distributed rendezvous messages from being sent.
2015-11-09 13:39:06 -08:00
Adam Ierymenko
73e2c6e511
How did that ever work?
2015-11-09 12:24:49 -08:00
Adam Ierymenko
12cd9df059
.
2015-11-09 11:30:17 -08:00
Adam Ierymenko
4ad2ff2f71
.
2015-11-09 11:08:52 -08:00
Adam Ierymenko
b57c855a8c
PROXY_SEND fix.
2015-11-09 10:25:20 -08:00
Adam Ierymenko
ed954c5ca2
.
2015-11-09 10:09:16 -08:00
Adam Ierymenko
21341ab15c
Ready to test.
2015-11-09 09:45:43 -08:00
Adam Ierymenko
f4d12603e0
Tweak how Switch passes off to Cluster on relay to fit new paradigm.
2015-11-09 09:19:03 -08:00
Adam Ierymenko
ff81415ffe
Build fixes...
2015-11-09 09:14:26 -08:00
Adam Ierymenko
5371195c80
Merge branch 'edge' of http://10.6.6.2/zerotier/ZeroTierOne into edge
2015-11-09 09:01:58 -08:00
Adam Ierymenko
473ce82040
Merge branch 'edge' of http://git.int.zerotier.com/zerotier/ZeroTierOne into edge
2015-11-09 09:01:41 -08:00
Adam Ierymenko
ab013d831c
.
2015-11-09 09:01:38 -08:00
Adam Ierymenko
57b71bfff0
Cluster simplification and refactor work in progress...
2015-11-08 13:57:02 -08:00
Adam Ierymenko
6bc8c9d8ef
Clustering cleanup, still a work in progress.
2015-11-06 16:12:41 -08:00
Adam Ierymenko
5f39d5b7ea
Further pare down Cluster messaging and rename some stuff.
2015-11-06 14:37:17 -08:00
Adam Ierymenko
9490b1f136
Try prioritizing cluster-send over direct send in cluster mode -- may improve cluster relaying reliability.
2015-11-06 13:38:56 -08:00
Adam Ierymenko
badec136fc
New agent master IP.
2015-11-06 11:55:06 -08:00
Adam Ierymenko
8ea5f424fd
Small amount of cleanup.
2015-11-06 11:15:06 -08:00
Grant Limberg
3cafa60284
fix up some borders & colors
2015-11-05 19:44:19 -08:00
Grant Limberg
2415ae45c1
remove the peers page
2015-11-05 19:44:19 -08:00
Adam Ierymenko
aa169b54de
Add conntrack tweak to nf for testing.
2015-11-05 18:06:04 -08:00
Adam Ierymenko
83c6b7ab3d
Use bigger UDP buffer on bigger x64 machines. Keep old value elsewhere since these are likely to be smaller boxes.
2015-11-05 17:41:07 -08:00
Adam Ierymenko
ba5008c370
Now make cluster announcements slightly more frequent.
2015-11-05 17:28:55 -08:00
Adam Ierymenko
3fa1b5a89d
Make cluster HAVE_PEER a little lighter by removing full identity. Technically this is not necessary and they will propagate over time in any case. Might restore it in some form in the future.
2015-11-05 17:22:22 -08:00
Adam Ierymenko
7603d8cee8
Merge branch 'edge' of http://git.int.zerotier.com/zerotier/ZeroTierOne into edge
2015-11-05 16:46:42 -08:00
Adam Ierymenko
869eff49bc
.
2015-11-05 16:46:33 -08:00
Adam Ierymenko
d9abc28fe3
.
2015-11-05 14:54:54 -08:00
Adam Ierymenko
3e22fee842
Integrate deferred background processing into main OneService implementation.
2015-11-05 12:41:14 -08:00
Adam Ierymenko
5ec5911e1b
Merge branch 'edge' of http://10.6.6.2/zerotier/ZeroTierOne into edge
2015-11-05 12:23:06 -08:00
Adam Ierymenko
8ef4edebbf
Deferred decode for HELLO to prevent HELLOcalypse under high load of new peers.
2015-11-05 12:22:58 -08:00
Grant Limberg
86c74d8a65
set manifest to require administrator privileges and read the authtoken and port from disk
2015-11-04 20:34:49 -08:00
Grant Limberg
49086e4556
just a little xaml cleanup
2015-11-04 20:31:41 -08:00
Grant Limberg
4c7bb06894
make the main window width a bit smaller
2015-11-04 20:19:14 -08:00
Grant Limberg
f3e527e130
update the peer list in place rather than replacing it
2015-11-04 20:17:58 -08:00
Grant Limberg
df74dd6e41
make the peers page prettier
2015-11-04 20:03:25 -08:00
Grant Limberg
5e9166cec7
setting width/height isn't necessary
2015-11-04 19:30:26 -08:00
Grant Limberg
d2c288b13f
Fix vertical scrolllbar on networks view
2015-11-04 19:12:12 -08:00
Grant Limberg
fc32dc11a6
make the networks view a bit prettier
2015-11-04 19:08:13 -08:00
Grant Limberg
2721804ebf
make the tabs a little prettier
2015-11-04 18:41:08 -08:00
Grant Limberg
7b86176d0e
Don't go kaboom when the ZeroTier service isn't running.
2015-11-04 18:28:07 -08:00
Adam Ierymenko
a95ff21aaf
test stuff
2015-11-04 15:09:19 -08:00
Joseph Henry
3e84e8b8c3
Performance tweaks to lwipopts.h (TX=12MB/s)
2015-11-04 14:45:26 -08:00
Adam Ierymenko
9ec32e7926
Agent settings for big test.
2015-11-04 13:28:43 -08:00
Grant Limberg
7756b5bf1c
Merge branch 'android-jni-dev' into edge
2015-11-03 19:15:00 -08:00
Grant Limberg
eadeac0a42
logging of events
2015-11-03 19:14:11 -08:00
Joseph Henry
4b07987210
Added throughput-test Docker files
2015-11-03 18:10:39 -08:00
Adam Ierymenko
172fc1052b
Merge windows-ui into edge.
2015-11-03 17:38:36 -08:00
Adam Ierymenko
523412edfb
Abort backup in progress if thread is told to shut down.
2015-11-03 16:03:00 -08:00
Adam Ierymenko
f7a407ffa0
Tweak timings and use lock in backup to make it a bit faster and still permit main thread to work.
2015-11-03 15:56:24 -08:00
Adam Ierymenko
7903f24a8f
Create periodic backup copies of controller.db in network controller from the main process itself to facilitate easier and safer backups of controller.db.
2015-11-03 15:52:10 -08:00
Adam Ierymenko
4b655ab22c
tests
2015-11-03 14:39:44 -08:00
Adam Ierymenko
d9d11042ca
.
2015-11-03 12:56:34 -08:00
Adam Ierymenko
0b245b031e
Allow ZT_TRACE without debug.
2015-11-03 11:20:12 -08:00
Adam Ierymenko
a42d714a87
.
2015-11-03 11:18:45 -08:00
Adam Ierymenko
c9e6e60c09
Handle ZeroTier-RFC4193 IPv6 address NDP queries inline by spoofing responses if the addressing scheme matches -- this allows multicast-free instant lookup of local IPv6 for better performance and reliability.
2015-11-03 10:46:41 -08:00
Joseph Henry
df391c8413
Added debug statements for transfer test
2015-11-03 10:30:18 -08:00
Joseph Henry
4c20fa4874
Added debug statements for transfer test
2015-11-03 10:26:10 -08:00
Grant Limberg
b7df177f33
updates for origin/edge
2015-11-02 19:18:55 -08:00
Grant Limberg
179b064b05
Merge branch 'edge' into android-jni-dev
2015-11-02 18:32:21 -08:00
Grant Limberg
a19e82fcbc
Merge branch 'edge' into windows-ui
2015-11-02 18:30:54 -08:00
Joseph Henry
ccbdb1a3a1
RPC command index fix
2015-11-02 16:09:28 -08:00
Adam Ierymenko
4e9d430476
Make root and relay selection somewhat more robust.
2015-11-02 16:03:28 -08:00
Joseph Henry
8d7b2cd486
Removed serv. conn. checks.
2015-11-02 15:52:12 -08:00
Adam Ierymenko
00dcb0f22c
.
2015-11-02 15:39:09 -08:00
Adam Ierymenko
7fbe2f7adf
Tweak some more timings for better reliability.
2015-11-02 15:38:53 -08:00
Joseph Henry
fd33e0812c
Added checks for bad service connection.
2015-11-02 15:31:57 -08:00
Adam Ierymenko
60ce886605
Tweak some timings for better reliability.
2015-11-02 15:15:20 -08:00
Adam Ierymenko
ab27a91b07
.
2015-11-02 13:53:27 -08:00
Joseph Henry
24ffb22fa6
Changed default debug level
2015-11-02 13:26:59 -08:00
Joseph Henry
da462bbd55
Removed curses dependency
2015-11-02 13:21:40 -08:00
Adam Ierymenko
fd3916a49e
More test stuff... make it more granular and less batch based.
2015-11-02 13:17:11 -08:00
Joseph Henry
bb912cff30
More appropriate phyOnUnixClose handling
2015-11-02 12:50:32 -08:00
Adam Ierymenko
e53ef9642e
test stuff.
2015-11-02 12:31:34 -08:00
Joseph Henry
6338a4933b
Fixed another closure bug. Updated debug levels
2015-11-02 12:30:18 -08:00
Adam Ierymenko
29249db5d2
Big test stuff.
2015-11-02 11:37:32 -08:00
Joseph Henry
4dbb84cea1
Fixed connection closure bug (ERR_ABRT from nc_recved)
2015-11-02 10:59:46 -08:00
Adam Ierymenko
f1b6427e63
Decided to make this 1.1.0 (semantic versioning increment is warranted), and add a legacy hack for older clients working with clusters.
2015-11-02 09:32:56 -08:00
Joseph Henry
db473beb48
Fixed accept return value / errno bug, also fdret_sock return bug
2015-10-30 17:00:30 -07:00
Adam Ierymenko
1b4cc4af5c
Fix evil bug, and instrument/assert on some other stuff, and a bit of cleanup.
2015-10-30 15:54:40 -07:00
Adam Ierymenko
7382c328da
Null pointer bug appears fixed... testing again at large scale.
2015-10-30 14:23:28 -07:00
Adam Ierymenko
641b0dec44
.
2015-10-30 14:12:20 -07:00
Adam Ierymenko
2fbb5d0bbf
.
2015-10-30 14:11:45 -07:00
Adam Ierymenko
d8dbbf7484
Add some debug code in TRACE mode to catch a bug.
2015-10-30 14:11:10 -07:00
Adam Ierymenko
377ccff600
getPeer() had a small potential to be unsafe.
2015-10-30 13:39:28 -07:00
Adam Ierymenko
f974517f64
Save zerotier output in containers.
2015-10-30 13:06:30 -07:00
Adam Ierymenko
f808138a94
docs and stuff
2015-10-30 13:05:34 -07:00
Adam Ierymenko
b845dd1b88
Set contact IP for real test.
2015-10-30 12:38:12 -07:00
Adam Ierymenko
b6725c4415
Optimize AntiRecursion.
2015-10-30 11:48:33 -07:00
Adam Ierymenko
5bfa29dded
Make antirec tail len slightly shorter, better performance and still plenty long enough.
2015-10-30 11:09:40 -07:00
Adam Ierymenko
80e62ad291
docs
2015-10-30 10:55:05 -07:00
Adam Ierymenko
e2fc20876d
docs
2015-10-29 18:23:41 -07:00
Joseph Henry
96eb0ce492
Added state dump, fixed numerous RPC related bugs
2015-10-29 17:57:59 -07:00
Adam Ierymenko
d6c0d176ee
Periodically re-announce peers that we have.
2015-10-29 10:10:09 -07:00
Adam Ierymenko
9f0f0197fe
More dead code removal.
2015-10-29 09:44:25 -07:00
Adam Ierymenko
a994573a43
Eliminate some more dead code. We may do path trust, but not like that.
2015-10-29 09:42:15 -07:00
Adam Ierymenko
883c84bdb9
Tweak some timings, and remove some dead code.
2015-10-29 09:39:36 -07:00
Joseph Henry
f6e0bdb2f2
Fixed PCB state issue when closing connection
2015-10-28 16:18:08 -07:00
Adam Ierymenko
e3d811b04b
docs
2015-10-28 15:55:40 -07:00
Adam Ierymenko
cabb8752cb
docs
2015-10-28 15:28:05 -07:00
Adam Ierymenko
1f5ef968cf
Test need a more recent version of NodeJS so update Dockerfile.
2015-10-28 15:08:00 -07:00
Joseph Henry
c8f27da294
Added support for MongoDB (server side)
2015-10-28 14:37:46 -07:00
Adam Ierymenko
68d6d3c4ff
Fix bug in peer count.
2015-10-28 14:29:08 -07:00
Adam Ierymenko
4c24e0cfb0
More tweaks to tests... just about ready to run at scale.
2015-10-28 14:24:54 -07:00
Adam Ierymenko
9653531242
.
2015-10-28 14:18:58 -07:00
Adam Ierymenko
07c1b4ddee
test stuff
2015-10-28 14:16:58 -07:00
Adam Ierymenko
1cae7327ae
Basic Dockerfile for building test agents.
2015-10-28 13:35:52 -07:00
Adam Ierymenko
c03550de35
HTTP test works!
2015-10-28 13:14:53 -07:00
Adam Ierymenko
c6a918d996
HTTP test code.
2015-10-28 12:50:48 -07:00
Adam Ierymenko
0034efafe4
On semi-undocumented test net, assign a RFC4193 IPv6 address too. Will be useful for our at-scale tests.
2015-10-28 11:08:15 -07:00
Adam Ierymenko
0fd15d9cf3
Fix inverted sense bug.
2015-10-28 10:38:37 -07:00
Adam Ierymenko
938d0a970b
TRACE build fixes.
2015-10-28 10:01:32 -07:00
Adam Ierymenko
fdc3e103cc
Cleanup and docs.
2015-10-28 09:38:33 -07:00
Adam Ierymenko
c1b0329969
Only check IP equality to detect external surface changes (should prevent some spurious resets under symmetric NATs), and simplify some logic.
2015-10-28 09:32:07 -07:00
Adam Ierymenko
da93712846
Clean up PUSH_DIRECT_PATH limits a bit more and make them a bit smarter.
2015-10-28 09:11:30 -07:00
Adam Ierymenko
cdc99bfee1
Add a circuit breaker for VERB_PUSH_DIRECT_PATHS.
2015-10-27 18:18:26 -07:00
Adam Ierymenko
88b100e5d0
More cleanup.
2015-10-27 17:59:17 -07:00
Joseph Henry
21889305e0
Updated README.md
2015-10-27 17:41:51 -07:00
Joseph Henry
18db95d0e9
Updated README.md
2015-10-27 17:38:56 -07:00
Adam Ierymenko
51fcc75354
Some cleanup, and use getPeerNoCache() exclusively in Cluster.
2015-10-27 17:36:47 -07:00
Joseph Henry
721d58b464
Added support for Redis
2015-10-27 17:12:32 -07:00
Adam Ierymenko
4221552c0b
Use getPeerNoCache() in Cluster to avoid keeping all peers cached everywhere.
2015-10-27 16:52:44 -07:00
Adam Ierymenko
cc1b275ad9
Replicate peer endpoints and forget paths if we have them -- this allows two clusters to talk to each other, whereas forgetting all paths does not.
2015-10-27 16:47:13 -07:00
Adam Ierymenko
cc6080fe38
(1) No need to confirm if we are a root (small optimization), (2) Refactor peer affinity tracking.
2015-10-27 15:57:26 -07:00
Adam Ierymenko
6399f6f094
This no longer has to be quite so fast.
2015-10-27 15:02:15 -07:00
Adam Ierymenko
218ef07d8e
Build fix in TRACE mode.
2015-10-27 15:01:11 -07:00
Adam Ierymenko
16bc3e0398
Factor out RemotePath subclass of Path -- no longer needed, just cruft.
2015-10-27 15:00:16 -07:00
Adam Ierymenko
40976c02a4
Forget paths to peers if we are handing them off.
2015-10-27 14:37:38 -07:00
Adam Ierymenko
f692cec763
Change how cluster relays packets -- just PROXY_UNITE and then send packet via normal ZeroTier front plane -- more efficient and eliminates fragmentation issues.
2015-10-27 14:04:12 -07:00
Adam Ierymenko
40e0a34a5c
Add set buffer sizes code to Phy<>
2015-10-27 13:04:08 -07:00
Adam Ierymenko
7295fcfa86
Merge Phy<> from netcon.
2015-10-27 12:50:23 -07:00
Adam Ierymenko
cfe166ef35
Tweak some size limits.
2015-10-27 12:29:01 -07:00
Adam Ierymenko
0ffbd05c0e
--wtf; prevent roots from TCP fallback
2015-10-27 12:21:57 -07:00
Adam Ierymenko
a1a0ee4edb
Fix infinite loop in Cluster, clean up some stuff elsewhere, and back out rate limiting in PUSH_DIRECT_PATHS for now (but we will do something else to mitigate amplification attacks)
2015-10-27 12:01:00 -07:00
Adam Ierymenko
54a99d8e32
Well that was broken.
2015-10-27 11:14:07 -07:00
Adam Ierymenko
62db18b6dd
Lessen this limit just a bit to make cluster settle faster.
2015-10-27 11:01:58 -07:00
Adam Ierymenko
f32e9d07dd
Don't include COM if not necessary (fix).
2015-10-27 10:58:01 -07:00
Adam Ierymenko
700c3166b7
Fix inverted sense bug.
2015-10-27 10:51:11 -07:00
Adam Ierymenko
17e7528e2c
More root cleanup.
2015-10-27 10:40:31 -07:00
Adam Ierymenko
8a7a0b6b88
Cleanup, including simplification of root server picking algorithm since we no longer need all that craziness.
2015-10-27 10:37:39 -07:00
Adam Ierymenko
9617208e40
Some cleanup, and use VERB_PUSH_DIRECT_PATHS to redirect newer peers.
2015-10-27 09:53:43 -07:00
Adam Ierymenko
fb3b7a3baa
Take -DZT_ENABLE_CLUSTER out of Mac defaults.
2015-10-27 09:41:12 -07:00
Adam Ierymenko
69857b4ba8
Refactor cluster redirects to move code to push peers out of the actual Cluster function that checks for redirect, and clean up Peer::received() to be a bit more logical.
2015-10-27 09:36:48 -07:00
Grant Limberg
0ffcfa307e
another build setting
2015-10-26 20:26:19 -07:00
Grant Limberg
16c812ec80
set the app icon for release
2015-10-26 20:24:08 -07:00
Grant Limberg
268fbdabce
disable sorting of peers
2015-10-26 20:06:53 -07:00
Grant Limberg
87496e9f4a
can now leave networks
2015-10-26 19:53:03 -07:00
Grant Limberg
300a951730
Figured out how to expand controls to fill parent. yay
2015-10-26 19:39:54 -07:00
Grant Limberg
095539de29
Initial peers page
2015-10-26 19:21:21 -07:00
Grant Limberg
c4c67e591b
add error handling for JSON serialization
2015-10-26 19:02:19 -07:00
Grant Limberg
502aa68bb7
change int to UInt64 for these properties
2015-10-26 19:01:59 -07:00
Grant Limberg
81cb4bc8d6
set up a timer to update the UI from a background thread
2015-10-26 18:31:10 -07:00
Adam Ierymenko
e713f7a54c
Can redirect in response to a few more verbs, just not these.
2015-10-26 18:20:40 -07:00
Grant Limberg
352b83252f
Merge branch 'adamierymenko-dev' into windows-ui
2015-10-26 18:10:27 -07:00
Grant Limberg
a0c3083af0
disallow paste of non hex characters
2015-10-26 18:08:44 -07:00
Adam Ierymenko
98d856daa2
Only send redirects to the sending InetAddress and only in response to a set of certain frame types to avoid potential race conditions.
2015-10-26 17:58:51 -07:00
Adam Ierymenko
8bfb02ba3c
Only send redirects for the same address class, and elminiate some TRACE noise.
2015-10-26 16:55:55 -07:00
Adam Ierymenko
0b82c9ebad
Fix infinite loop if there are no live roots (never happened before?!? wow!)
2015-10-26 16:09:56 -07:00
Adam Ierymenko
de761c5a82
Fix test world def.
2015-10-26 15:47:32 -07:00
Adam Ierymenko
6cf1da166f
Add the whole new World, though with test identities at this point.
2015-10-26 15:12:28 -07:00
Adam Ierymenko
6625d79296
Fix if cluster compiled in but not enabled.
2015-10-26 13:07:00 -07:00
Adam Ierymenko
debed1ac2d
Expose cluster status in /status JSON response.
2015-10-26 13:06:10 -07:00
Adam Ierymenko
5ff7733f84
More plumbing of cluster status.
2015-10-26 12:49:17 -07:00
Adam Ierymenko
865acfa40f
Cluster status plumbing.
2015-10-26 12:41:08 -07:00
Adam Ierymenko
3ce5ad9e2c
For forward compatibility, add minimal parse for some future physical address types.
2015-10-26 10:42:30 -07:00
Adam Ierymenko
d2b1dfe424
Fully specify new network in alice-test, this will (with different identities) eventually become the World.
2015-10-23 15:51:50 -07:00
Grant Limberg
55dcf4c65f
wire up the join network button
2015-10-23 15:50:49 -07:00
Grant Limberg
7e635d37ad
only accept hex characters for network id
2015-10-23 15:49:04 -07:00
Grant Limberg
b7b973624a
add methods for joining/leaving networks, and getting peers
2015-10-23 15:37:36 -07:00
Grant Limberg
62059a91aa
C#-ifying stuff
2015-10-23 15:36:42 -07:00
Adam Ierymenko
35676217e8
Refactor multicast group announcement to work directly or indirectly.
2015-10-23 14:50:07 -07:00
Joseph Henry
8cfee8a38c
Changed to more appropriate APP_POLL_FREQ
2015-10-23 14:31:06 -07:00
Joseph Henry
80a73cb14b
Minor cleanup
2015-10-23 14:23:04 -07:00
Adam Ierymenko
e9648a6cdf
Clarify logic in pinging, and prevent roots from pinging "down."
2015-10-23 14:05:12 -07:00
Adam Ierymenko
e6a63f5547
Fix bug in setWorld that might have caused a peer entry for myself (which would never be used)
2015-10-23 13:57:02 -07:00
Joseph Henry
b48ed824e6
Improved RPC connection closure logic
2015-10-23 13:37:41 -07:00
Adam Ierymenko
29b966894c
(1) Fix bug in geo-ip service that prevented cache lookup, (2) fix problem in SelfAwareness (will need to test ALL versions in the wild with this), and (3) add more TRACE instrumentation to Cluster.
2015-10-23 13:03:34 -07:00
Adam Ierymenko
f0160635a2
Add --harmony for older nodeJS.
2015-10-23 12:05:17 -07:00
Adam Ierymenko
964b30902a
Cluster fix: was accumulating remote endpoints endlessly.
2015-10-23 11:51:18 -07:00
Adam Ierymenko
2a3dd53952
.
2015-10-22 17:50:00 -07:00
Joseph Henry
236e474553
Unload lwipstack->_libref upon exit
2015-10-22 16:26:29 -07:00
Adam Ierymenko
dee6e7e3c1
.
2015-10-22 16:11:48 -07:00
Adam Ierymenko
7711eba297
More cluster wiring...
2015-10-22 16:02:01 -07:00
Joseph Henry
2f4628520b
Improved RPC connection cleanup logic
2015-10-22 13:20:50 -07:00
Joseph Henry
b203d25656
PhySocket NULL check added to handle_write. Fixed after-close handle_write segfault
2015-10-22 12:40:01 -07:00
Adam Ierymenko
1bc451ed10
GeoIP cluster service works.
2015-10-22 10:41:15 -07:00
Adam Ierymenko
e07bae2525
Run geoip cluster service sub-process.
2015-10-22 10:18:05 -07:00
Adam Ierymenko
5304b0d8d1
Rename index.js so process is distinguishable.
2015-10-22 09:09:15 -07:00
Grant Limberg
fe6960888a
add a scroll bar to the network info view
2015-10-21 20:40:43 -07:00
Grant Limberg
5b6ddaa2d7
Base windows UI is working.
...
* No joining/leaving networks yet, but they do display.
* Nothing is updated yet after first load of the app. Need to set up a background task to run updates.
2015-10-21 20:29:03 -07:00
Grant Limberg
6471c1f4e2
Merge branch 'adamierymenko-dev' into windows-ui
2015-10-21 17:35:38 -07:00
Joseph Henry
8e7e409fce
Updated netcon README
2015-10-21 16:56:39 -07:00
Joseph Henry
1458dc8347
set O_NONBLOCK default in accept()
2015-10-21 16:32:27 -07:00
Joseph Henry
303579cb42
Added Node.js support
2015-10-21 16:27:17 -07:00
Adam Ierymenko
a46514b397
Cluster-geo launcher.
2015-10-21 12:47:02 -07:00
Adam Ierymenko
25a84e30fc
Code for cluster-geo service.
2015-10-21 12:41:46 -07:00
Adam Ierymenko
978b056a01
Wire in redirectPeer(), now about ready to test clustering!
2015-10-20 17:36:10 -07:00
Adam Ierymenko
6a7b47e5e1
Forgot a return true.
2015-10-20 17:27:57 -07:00
Adam Ierymenko
d6dee7bb5c
Clustered handling of relaying.
2015-10-20 17:22:53 -07:00
Adam Ierymenko
35a12b94ea
Outfit Cluster with TRACE for debugging.
2015-10-20 16:48:49 -07:00
Adam Ierymenko
2258e36a59
Move replication of COMs to avoid race condition.
2015-10-20 16:34:21 -07:00
Adam Ierymenko
59e1444b27
Finish wiring up Cluster, fix some issues with other recent changes.
2015-10-20 16:31:41 -07:00
Adam Ierymenko
eb79d4a2f3
Wire up peer announcement in cluster.
2015-10-20 16:24:21 -07:00
Adam Ierymenko
57e29857cf
Cluster work -- integrating with the rest of the code.
2015-10-20 15:27:53 -07:00
Grant Limberg
21ae423feb
.
2015-10-19 21:19:23 -07:00
Grant Limberg
9ba5c91d4a
initial layout for network info
2015-10-19 21:17:18 -07:00
Grant Limberg
80d02d189a
set the main window icon
2015-10-19 20:30:21 -07:00
Grant Limberg
56267b2aed
setting icon and a few other settings
2015-10-19 20:29:06 -07:00
Grant Limberg
6040574d8d
set up project and base UI for a native windows UI for ZeroTier
2015-10-19 20:20:42 -07:00
Adam Ierymenko
5e6eae620b
Make _members dynamically allocated due to static array limit on ARM.
2015-10-19 16:18:57 -07:00
Adam Ierymenko
69dad37d8f
Restore default World for commit to upstream
2015-10-19 15:23:43 -07:00
Adam Ierymenko
cfdcce6d12
Fix very obscure IP scope classification logic bug.
2015-10-19 15:19:04 -07:00
Adam Ierymenko
0b2e5ed499
Fix some broken logic in Path::reliable()
2015-10-19 15:11:43 -07:00
Adam Ierymenko
9150778757
.
2015-10-19 15:04:26 -07:00
Adam Ierymenko
50f3ccd3c9
.
2015-10-19 15:03:58 -07:00
Adam Ierymenko
584072fa6a
Fix for V4/V6 stable addressing.
2015-10-19 14:04:36 -07:00
Adam Ierymenko
3adb183c5f
Fix bad COM attachment bug and eliminate an unnecessary redundant check.
2015-10-19 13:38:27 -07:00
Adam Ierymenko
95953b48f9
Do not allow VERB_RENDEZVOUS from non-upstream peers to block potential DOS vector.
2015-10-19 12:56:29 -07:00
Adam Ierymenko
aa6e3c79a0
Some test stuff that will not be pushed elsewhere.
2015-10-19 10:49:31 -07:00
Adam Ierymenko
0c43d34ce3
World test stuff... some of this will be yanked before release.
2015-10-19 10:00:35 -07:00
Joseph Henry
8b03965912
Added status debugs
2015-10-16 19:30:01 -04:00
Janjaap Bos
82e0abc4be
Fix for cross compiling
2015-10-17 00:15:10 +02:00
Joseph Henry
0405ba1ccf
Misc changes
2015-10-16 18:02:07 -04:00
Adam Ierymenko
738fa5a5e5
.
2015-10-16 12:10:57 -07:00
Joseph Henry
b96c08f35c
Fixed nginx listen() bug
2015-10-16 14:43:38 -04:00
Adam Ierymenko
cc4d0199e7
Fix vProto init.
2015-10-16 10:58:59 -07:00
Adam Ierymenko
781f06ef82
Accept OK for confirm of HELLO or ECHO.
2015-10-16 10:48:38 -07:00
Adam Ierymenko
f9f60f89d9
Peer save/restore fix.
2015-10-16 10:45:58 -07:00
Adam Ierymenko
5ce3aac929
Add rate limit on receive of DIRECT_PATH_PUSH to prevent DOS exploitation.
2015-10-16 10:28:09 -07:00
Adam Ierymenko
2229e91b57
IPv6 support fixes.
2015-10-16 10:10:12 -07:00
Adam Ierymenko
2debde3451
GitHub issue #235 , and I also see no reason not to communicate with people from other Worlds.
2015-10-15 07:22:17 -07:00
Joseph Henry
3e8e025704
Minor cleanup items
2015-10-14 19:55:21 -04:00
Adam Ierymenko
a775ee7d31
.
2015-10-14 16:21:39 -07:00
Adam Ierymenko
9ece8c465e
decrypt fix
2015-10-14 15:49:41 -07:00
Joseph Henry
499d1628c7
Improved error coverage
2015-10-14 17:59:11 -04: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
Joseph Henry
e722eab892
Disabled TCP listen backlog, must be enabled in lwipopts.h
2015-10-14 17:03:32 -04:00
Joseph Henry
9ca699c86d
Added support for listen backlogs
2015-10-14 16:04:26 -04:00
Joseph Henry
d45db0f5af
Fixed premature connection close bug
2015-10-14 15:46:22 -04:00
Joseph Henry
0b5a2a7594
Removed character from NEtconEthernetTap.cpp
2015-10-14 13:49:13 -04:00
Joseph Henry
831a513b2d
Normalized cases
2015-10-14 13:47:35 -04:00
Adam Ierymenko
c312ae221f
Fix for world size in OK(HELLO)
2015-10-14 10:45:33 -07:00
Joseph Henry
a35b6589d2
Removed lowercase intercept.h conflicting file
2015-10-14 13:43:12 -04:00
Adam Ierymenko
719233617c
Add uint16_t key to Hashtable, and make Salsa20 zero its keyspace on destruction.
2015-10-14 10:14:07 -07:00
Joseph Henry
3c8e74023f
Inconsequential. Updated commends, added debug statements
2015-10-13 20:20:45 -04:00
Joseph Henry
71c6ec71e5
connect() now checks socket family
2015-10-13 19:27:19 -04:00
Joseph Henry
1fd04557c7
Refactored connect(), added checks to socket(), updated checklists
2015-10-13 19:12:12 -04:00
Joseph Henry
aa6ff039c4
Improved bind() logic, added more error handling to accept()
2015-10-13 18:33:56 -04:00
Joseph Henry
8a05efa365
EBADF, EOPNOTSUPP, EMFILE error repoarting for accept()
2015-10-13 17:57:17 -04:00
Joseph Henry
da536cc311
Improved error reporting
2015-10-13 17:37:54 -04:00
Joseph Henry
0912d4be59
Fixed socket protocol check logic in socket()
2015-10-13 17:05:11 -04:00
Adam Ierymenko
489e1a5b83
Don't keep connections up longer than the alive timeout (unless they are relays or roots)
2015-10-13 13:51:54 -07:00
Adam Ierymenko
824ed99160
.
2015-10-13 12:42:54 -07:00
Adam Ierymenko
385f1410d2
Expose world info in JSON.
2015-10-13 12:33:15 -07:00
Adam Ierymenko
70d8e3ad94
Expose world ID and world timestamp in ZT_NodeStatus
2015-10-13 12:31:38 -07:00
Adam Ierymenko
71348f3ebb
docs
2015-10-13 12:29:01 -07:00
Adam Ierymenko
e268d9492a
cleanup
2015-10-13 12:18:47 -07:00
Adam Ierymenko
123c466843
Full integration of World and World updates.
2015-10-13 12:17:47 -07:00
Adam Ierymenko
5d2f523e81
World stuff...
2015-10-13 12:10:44 -07:00
Joseph Henry
73145de618
Added some parameter checks from linux kernel syscall source
2015-10-13 14:27:30 -04:00
Adam Ierymenko
05677f57e2
Add C output to mkworld.
2015-10-13 08:55:21 -07:00
Adam Ierymenko
cae58f43f1
More World stuff, and mkworld.
2015-10-13 08:49:36 -07:00
Joseph Henry
82052459a2
Odds and ends
2015-10-12 21:50:41 -04:00
Joseph Henry
4e1e857949
Minor bug fixes
2015-10-12 21:26:32 -04:00
Adam Ierymenko
1b1945c63e
Work in progress on refactoring root-topology into World and adding in-band updates.
2015-10-12 18:25:29 -07:00
Joseph Henry
8d1b01cb5b
Bug fix: Connection fd lookup in service
2015-10-12 20:46:59 -04:00
Adam Ierymenko
70fe7dd1fd
cleanup
2015-10-12 16:40:57 -07:00
Joseph Henry
5dffa43201
Additional retval+errno handling
2015-10-12 19:29:27 -04:00
Joseph Henry
6b1a38f14c
Better retval+errno handling
2015-10-12 16:38:08 -04:00
Joseph Henry
fe8e7ded8c
retval+errno return test
2015-10-09 20:27:38 -04:00
Adam Ierymenko
eff1fe3c61
Create files for each hop (more convenient) and fix a packet parse bug.
2015-10-09 16:22:34 -07:00
Adam Ierymenko
7d01fab132
Reorg fields to be in same order as FS scheme.
2015-10-09 15:18:01 -07:00
Adam Ierymenko
c9295a5883
.
2015-10-09 15:12:05 -07:00
Adam Ierymenko
aec13b50fd
Be a bit more verbose in circuit test reports to more clearly track current and upstream hop in graph traversal history.
2015-10-09 15:05:26 -07:00
Adam Ierymenko
a95fa379cc
Circuit tests basically work but need some tweaks, and fix some issues found with valgrind.
2015-10-09 14:51:38 -07:00
Joseph Henry
07536216c2
Removed netcon/.depend
2015-10-09 17:36:27 -04:00
Joseph Henry
3bcb6bf321
Minor cleanup
2015-10-09 17:31:22 -04:00
Joseph Henry
7f56678d84
Added liblwip.so and libintercept build files
2015-10-09 17:06:09 -04:00
Adam Ierymenko
97dee9de36
Add more helpful example stuff.
2015-10-09 12:50:52 -07:00
Joseph Henry
e3ec000e93
Added intercept build file and sources
2015-10-09 15:41:16 -04:00
Adam Ierymenko
6b5bb0b278
Eliminate format string warnings.
2015-10-09 12:22:13 -07:00
Adam Ierymenko
e33adad8f5
Script to quickly generate test docker env files.
2015-10-09 12:15:42 -07:00
Joseph Henry
769bad3320
Test: Added handle_write call to nc_poll
2015-10-09 15:05:45 -04:00
Adam Ierymenko
9a25651151
.
2015-10-09 10:14:45 -07:00
Adam Ierymenko
c2bbec2f05
Docker example (and useful for testing)
2015-10-09 10:14:20 -07:00
Adam Ierymenko
0c498556d5
Unroll Salsa20 fully for a little more speed (non-SSE now almost as fast as SSE)
2015-10-09 09:39:27 -07:00
Adam Ierymenko
3fa6dd377f
docs
2015-10-09 08:51:57 -07:00
Joseph Henry
6600b005b6
No Whack!
2015-10-08 21:24:51 -04:00
Joseph Henry
b5b57aca02
Whack!
2015-10-08 21:04:47 -04:00
Adam Ierymenko
160278c489
Little bit of reorg in Salsa20 which seems to speed things up very slightly.
2015-10-08 17:42:53 -07:00
Joseph Henry
d868a234da
Refactored write logic
2015-10-08 19:38:29 -04:00
Adam Ierymenko
59da8b2a4b
Logging of circuit test results to disk.
2015-10-08 15:44:06 -07:00
Joseph Henry
41dfbe544f
Removed exit(0) for debugging
2015-10-08 18:10:10 -04:00
Joseph Henry
bbfc9359e9
Minor timer changes (~21 Mb/s local)
2015-10-08 17:55:58 -04:00
Adam Ierymenko
558775d544
Merge branch 'adamierymenko-dev' of http://10.6.6.2/zerotier/ZeroTierOne into adamierymenko-dev
2015-10-08 13:26:43 -07:00
Adam Ierymenko
a3876353ca
Abiltiy to post a test via the controller web API, and parsing of CIRCUIT_TEST_REPORT messages.
2015-10-08 13:25:38 -07:00
Adam Ierymenko
273f0d18b0
docs
2015-10-08 09:05:25 -07:00
Grant Limberg
9347d6c866
Make it so ZeroTierOne.h can be used with a C compiler again.
2015-10-07 18:04:40 -07:00
Adam Ierymenko
fea1b6b2c3
docs
2015-10-07 16:25:08 -07:00
Adam Ierymenko
0ce0bc00d2
Make sure received() gets called for some new messages, and docs.
2015-10-07 16:20:54 -07:00
Adam Ierymenko
69b44bf9a5
Finally add an ECHO.
2015-10-07 16:11:50 -07:00
Adam Ierymenko
73cafbe0ec
Limit proof of work difficulty to something sane.
2015-10-07 13:46:44 -07:00
Adam Ierymenko
e5f168f599
Add proof of work request for future DDOS mitigation use.
2015-10-07 13:35:46 -07:00
Adam Ierymenko
7d62dbe9f7
Tune NAT-t keepalives so that timing is better obeyed, clean up a build warning, and fix a potential source of network recursion (though harmless).
2015-10-07 11:57:59 -07:00
Adam Ierymenko
13f14c2f4c
Kill debug line.
2015-10-07 10:56:47 -07:00
Adam Ierymenko
c952fbbd8d
Only enable 128-bit Poly1305 on X86_64 right now. Has compilation issues on ARM, but the 64-bit version should be fine.
2015-10-07 10:40:59 -07:00
Adam Ierymenko
ab0228f626
More cleanup and simple refactoring, consolidate InetAddres serialize/deserialize into the class.
2015-10-07 10:30:47 -07:00
Adam Ierymenko
6c7ce79c89
Be consistent in how enums are defined in the main .h file.
2015-10-07 09:51:35 -07:00
Adam Ierymenko
1b2cac0cc5
Trim some cruft that is not used and probably never would be.
2015-10-07 09:38:33 -07:00
Joseph Henry
1bc33ae8d7
Minor debug output changes
2015-10-06 21:22:08 -04:00
Adam Ierymenko
598a1d8dd7
Try reopening /dev/urandom if there is a problem.
2015-10-06 18:10:40 -07:00
Adam Ierymenko
64aaea3978
Cleanup, and add an even faster Poly1305 on systems that support it.
2015-10-06 18:04:53 -07:00
Adam Ierymenko
876aa0883d
Merge branch 'adamierymenko-dev' into netcon
2015-10-06 17:56:47 -07:00
Adam Ierymenko
477feee8a3
Some work on CIRCUIT_TEST, and a significant speedup to Poly1305.
2015-10-06 17:55:57 -07:00
Joseph Henry
36db5865e7
Refactored tcp_write code - Reduced CPU usage to respectable levels
2015-10-06 20:32:48 -04:00
Adam Ierymenko
7394ec6f6a
Prep in controller code to run tests.
2015-10-06 15:56:18 -07:00
Adam Ierymenko
3593fb3462
Send initial CIRCUIT_TEST packet.
2015-10-06 15:16:41 -07:00
Adam Ierymenko
d3f29d09e8
Plumbing through circuit test stuff.
2015-10-06 14:42:51 -07:00
Adam Ierymenko
5341afcdcd
Handling of CIRCUIT_TEST, should be ready to test.
2015-10-06 11:47:16 -07:00
Adam Ierymenko
57c857e89a
Fix TRACE output.
2015-10-06 06:57:00 -07:00
Grant Limberg
c16ad053b6
no toString() method on peer. Commenting out for now.
2015-10-02 19:39:46 -07:00
Grant Limberg
6080a45c9c
change cert to com. no variable named cert.
2015-10-02 19:39:13 -07:00
Adam Ierymenko
5384f185ae
Simplify Dictionary and reduce memory usage, now no more std::maps in core.
2015-10-01 18:12:16 -07:00
Adam Ierymenko
76a95dc58f
The return of peer peristence.
2015-10-01 17:09:01 -07:00
Adam Ierymenko
5076c49210
Peer serialization and related changes.
2015-10-01 15:40:54 -07:00
Adam Ierymenko
72e7e36a5b
No reason to randomly pick uPnP secondary port. In fact it would likely cause problems on restarts and uPnP rule bloat.
2015-10-01 14:40:28 -07:00
Adam Ierymenko
2fa21aa676
.
2015-10-01 13:43:57 -07:00
Adam Ierymenko
3999e468b7
Need to hold nconf so *com does not die while being used.
2015-10-01 13:43:15 -07:00
Adam Ierymenko
6693149f3e
Send COM with MULTICAST_GATHER for future use.
2015-10-01 13:34:12 -07:00
Adam Ierymenko
2c196307ee
--bugs;
2015-10-01 13:01:18 -07:00
Adam Ierymenko
d6676a9d6c
Always announce multicast groups, not just to peers with direct links, and push network COMs to any MULTICAST_LIKE recipient for future use.
2015-10-01 12:50:19 -07:00
Adam Ierymenko
a7409850d6
Get trim() out of core where it is not needed.
2015-10-01 12:37:18 -07:00
Adam Ierymenko
53e5f94b99
.
2015-10-01 12:25:43 -07:00
Adam Ierymenko
64bf3ffe6c
Mutex cleanup.
2015-10-01 11:44:09 -07:00
Adam Ierymenko
9405150b11
Restore group announcement on Peer::receive() but centralize packet composition in one place.
2015-10-01 11:37:02 -07:00
Adam Ierymenko
a3db7d0728
Refactor: move network COMs out of Network and into Peer in prep for tightening up multicast lookup and other things.
2015-10-01 11:11:52 -07:00
Adam Ierymenko
11ff96ba1d
Consider IPv6 paths reliable (no constant keepalives needed)
2015-09-30 15:20:08 -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
789046ca57
Speed up Salsa20 just a bit.
2015-09-30 14:35:05 -07:00
Adam Ierymenko
1a4f16e0ed
More work on circuit testing...
2015-09-30 13:59:05 -07:00
Joseph Henry
4983fd3776
Recompiled ZTO binary with fix + moves index.html to var/www
2015-09-29 14:32:07 -04:00
Adam Ierymenko
cc10d4f310
Speed up multicast group checking/registration.
2015-09-29 10:31:41 -07:00
Adam Ierymenko
167a5039d0
.
2015-09-28 23:40:20 -07:00
Adam Ierymenko
4b82171a95
.
2015-09-28 22:16:58 -07:00
Adam Ierymenko
b4624237af
.
2015-09-28 22:14:32 -07:00
Adam Ierymenko
49f93a57bf
.
2015-09-28 17:07:46 -07:00
Adam Ierymenko
ea71738c72
Entry point stuff...
2015-09-28 16:36:20 -07:00
Joseph Henry
49956ed63d
Updated intercept library for Earth
2015-09-28 19:31:32 -04:00
Adam Ierymenko
280fcc3771
add cr after identity in demo script.
2015-09-28 16:15:17 -07:00
Adam Ierymenko
3a6346f560
More entry point work, and change network to 8056c2e21c000001 for demo.
2015-09-28 16:14:32 -07:00
Adam Ierymenko
980d145f48
Entry point changes to wait for ZT startup, print banners, log output debug messages and trace to files.
2015-09-28 15:31:47 -07:00
Adam Ierymenko
a7bd1eaa40
Never assign v4 IPs ending in .255 even within range.
2015-09-28 15:28:30 -07:00
Joseph Henry
1773dca9dc
Optimized Dockerfile arrangement
2015-09-28 17:59:54 -04:00
Joseph Henry
8e3e830e89
Working intercepted Apache
2015-09-28 17:47:38 -04:00
Joseph Henry
77b385fb12
Re-added Apache to Dockerfile
2015-09-28 17:30:18 -04:00
Joseph Henry
0b34d8e75e
New Dockerfile
2015-09-28 16:56:14 -04:00
Joseph Henry
0c3dd2be96
Fixed apache script
2015-09-27 21:48:38 -04:00
Joseph Henry
444481f6d9
Modified Dockerfile
2015-09-27 21:26:57 -04:00
Joseph Henry
299ec12b39
Added docker-test folder
2015-09-27 21:16:02 -04:00
Joseph Henry
b21c5d8e51
Added dockerfile
2015-09-27 20:51:32 -04:00
Adam Ierymenko
2d0adb562d
Specify circuit test messages.
2015-09-27 11:37:39 -07:00
Joseph Henry
3bc9530db7
Object-Model refactor: Removed notion of Client
2015-09-27 06:08:39 -04:00
Grant Limberg
75a191a856
don't create an InetSocketAddress on local address if it's equal to ZT_SOCKADDR_NULL
2015-09-26 14:10:45 -07:00
Grant Limberg
7c3be2b5c1
fix function signature in lookup for onSendPacketRequested function
2015-09-26 14:10:16 -07:00
Grant Limberg
0b9e5928d3
update PacketSender interface
2015-09-26 13:53:38 -07:00
Grant Limberg
e8cdff3eaf
Merge branch 'adamierymenko-dev' into android-jni-dev
...
also update for changed function calls that now accept a local address
# Conflicts:
# include/ZeroTierOne.h
# java/CMakeLists.txt
# java/jni/Android.mk
# java/jni/ZT1_jnicache.cpp
# java/jni/ZT1_jnilookup.h
# java/jni/ZT1_jniutils.cpp
# java/jni/com_zerotierone_sdk_Node.cpp
2015-09-26 13:47:55 -07:00
Joseph Henry
fe78eb77d4
Fixed another closure bug
2015-09-24 19:22:56 -04: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
Joseph Henry
8a8264bc39
Fixed their_fd closure bug
2015-09-24 17:33:25 -04:00
Joseph Henry
1119f64a77
Fixed connection closure issue
2015-09-24 17:10:30 -04:00
Joseph Henry
c25ceaf06b
Fixed recursive lock problem in closeConnection
2015-09-24 16:15:14 -04:00
Adam Ierymenko
b263926ea6
thread fixes.
2015-09-24 13:02:10 -07:00
Adam Ierymenko
84747b1a14
thread fixes...
2015-09-24 13:01:19 -07:00
Joseph Henry
9396b8d53c
Minor debug changes
2015-09-24 15:56:48 -04:00
Joseph Henry
37497ec2a8
Minor changes
2015-09-24 15:31:11 -04:00
Joseph Henry
851e4c667f
Minor changes
2015-09-24 15:30:07 -04:00
Adam Ierymenko
9feeafd757
Make LWIPStack thread safe.
2015-09-24 12:29:10 -07:00
Joseph Henry
0027a1e152
Merge branch 'netcon' of http://10.6.6.2/zerotier/zerotierone into netcon
2015-09-24 14:33:49 -04:00
Joseph Henry
65af5af138
Added debug statements
2015-09-24 14:33:15 -04:00
Adam Ierymenko
557d2b3b0d
Make LWIPStack clean up properly.
2015-09-24 11:11:16 -07:00
Adam Ierymenko
fbde40d1fc
Merge branch 'adamierymenko-dev' into netcon
2015-09-24 11:00:22 -07:00
Joseph Henry
557c0c29b0
minor changes
2015-09-23 19:45:44 -04:00
Adam Ierymenko
0e5aac6a11
Prefer IPv6 paths if available.
2015-09-23 16:16:36 -07:00
Adam Ierymenko
b242216674
Version bump, preparing for a likely 1.0.6 soon.
2015-09-23 16:10:06 -07:00
Adam Ierymenko
423412df98
Pick a random secondary UDP port for uPnP mapped traffic because of broken routers.
2015-09-23 15:16:20 -07:00
Joseph Henry
c85dd262ed
moved lib files to ext
2015-09-23 18:03:21 -04:00
Joseph Henry
02d5a31822
added lwip unix port lib files
2015-09-23 17:55:15 -04:00
Adam Ierymenko
7821d1cbdd
.
2015-09-23 14:44:13 -07:00
Adam Ierymenko
80dc7fb675
Pick random port on -p0
2015-09-23 14:38:16 -07:00
Adam Ierymenko
a3ed5277ef
Make sure ZT_NO_TYPE_PUNNING also obeyed here.
2015-09-23 14:09:27 -07:00
Adam Ierymenko
2a527ea82e
Fix for timer jitter problem.
2015-09-23 14:01:41 -07:00
Adam Ierymenko
367ffde00c
Plumb through localInterfaceId to track local interfaces corresponding with remote addresses.
2015-09-23 13:49:56 -07:00
Joseph Henry
bbdb8eb0de
more commenting and cleaning
2015-09-23 15:23:26 -04:00
Joseph Henry
b6a6346405
commenting and cleanup
2015-09-23 14:23:36 -04:00
Adam Ierymenko
4464fa5d39
Eliminate another warning.
2015-09-23 10:29:05 -07:00
Adam Ierymenko
86996d4315
Eliminate compiler warning.
2015-09-23 10:27:53 -07:00
Joseph Henry
07cef1bdb8
misc cleanup
2015-09-22 19:53:36 -04:00
Adam Ierymenko
69f006f641
.
2015-09-22 16:02:02 -07:00
Adam Ierymenko
d656e87395
Send a random small payload for NAT keepalives, since zero byte packets seem to fail to keep associations alive behind some NATs.
2015-09-22 15:58:00 -07:00
Joseph Henry
3cb8070980
it's alive! -- hooked up new fd-handling code
2015-09-22 18:44:54 -04:00
Adam Ierymenko
ff7ac0487b
.
2015-09-22 15:16:38 -07:00
Adam Ierymenko
19c0923a86
Merge branch 'adamierymenko-dev' into netcon
2015-09-22 15:11:51 -07:00
Adam Ierymenko
6ce64c2557
Phy<> loses socketpair, gains raw FD monitoring.
2015-09-22 15:11:32 -07:00
Joseph Henry
3ed5edb295
fixed fd-transfer logic bug, needs new write-queue logic
2015-09-22 17:43:20 -04:00
Joseph Henry
c3dbae8d5e
more debugs
2015-09-22 13:35:37 -04:00
Joseph Henry
b2494b53e6
adjusted output size for packets
2015-09-22 13:27:27 -04:00
Joseph Henry
f091a074d4
output lengths
2015-09-22 13:25:24 -04:00
Joseph Henry
f80d65286c
more debug statements
2015-09-22 13:21:33 -04:00
Adam Ierymenko
0271e3d3ac
.
2015-09-22 10:00:00 -07:00
Joseph Henry
00cb8dbda8
timer change
2015-09-22 12:48:53 -04:00
Joseph Henry
025069de7e
timer change
2015-09-21 20:51:35 -04:00
Joseph Henry
86673bd6d6
fixed minor bugs and added debug outputs
2015-09-21 19:39:26 -04:00
Adam Ierymenko
ddf3d1f949
Controller side support for IPv6 assignment.
2015-09-18 13:35:00 -07:00
Adam Ierymenko
3664966340
Generate local IPv6 addresses from network IDs and addresses.
2015-09-17 21:30:32 -07:00
Joseph Henry
cb6864f04a
updated nc_accept and lwip.so
2015-09-15 20:32:00 -04:00
Joseph Henry
701e1654a1
moved IP/netif allocation code
2015-09-15 19:06:16 -04:00
Joseph Henry
732de5bf7f
some cleanup
2015-09-15 18:47:40 -04:00
Joseph Henry
11731af45a
it's alive!
2015-09-15 18:27:52 -04:00
Joseph Henry
735ae9b369
debug changes
2015-09-15 15:41:57 -04:00
Joseph Henry
cb277f52e8
Merge branch 'netcon' of http://10.6.6.2/zerotier/zerotierone into netcon
2015-09-15 14:16:28 -04:00
Joseph Henry
8ea83c9548
netif code hooked up
2015-09-15 14:15:59 -04:00
Adam Ierymenko
610ab0750c
Drop Sqlite-based Log table for now and switch to an in-memory log for recent activity. Log table gets too big on busy nodes. Should probably support push of events to some kind of event system later.
2015-09-15 10:59:23 -07:00
Adam Ierymenko
d06499a50c
Merge branch 'adamierymenko-dev' of http://git.int.zerotier.com/zerotier/zerotierone into netcon
2015-09-14 12:00:03 -07:00
Adam Ierymenko
ef316ced3b
Fix JSON.
2015-09-14 11:59:43 -07:00
Adam Ierymenko
0617b17534
Merge branch 'netcon' of http://git.int.zerotier.com/zerotier/zerotierone into netcon
2015-09-14 11:36:01 -07:00
Grant Limberg
f7d3e262a9
ifdef default assignments
2015-09-11 17:16:38 -07:00
Joseph Henry
8189b2ba91
retval fix
2015-09-11 19:29:35 -04:00
Joseph Henry
e73868bc5a
various segfault fixes
2015-09-11 19:02:44 -04:00
Joseph Henry
6f0bc1f676
added debugs, fixed linux makefile
2015-09-11 18:22:41 -04:00
Adam Ierymenko
88898c68d7
Merge branch 'adamierymenko-dev' of http://git.int.zerotier.com/zerotier/zerotierone into netcon
2015-09-11 15:02:38 -07:00
Adam Ierymenko
cd005341c5
Extra statement to clean up Members -- cascade did not seem to work, possibly due to dual key.
2015-09-11 15:02:26 -07:00
Joseph Henry
bc666d0ab7
added pbuf alloc block
2015-09-11 15:26:39 -04:00
Adam Ierymenko
933b47389d
Add Arp to netcon build.
2015-09-11 12:19:48 -07:00
Adam Ierymenko
a8d7a31327
Integrate arp into NetconEthernetTap.
2015-09-11 12:12:45 -07:00
Joseph Henry
c2226cf0df
added TRACEs
2015-09-11 14:47:16 -04:00
Adam Ierymenko
5f6eb2ce98
Merge branch 'adamierymenko-dev' into netcon
2015-09-11 11:46:44 -07:00
Adam Ierymenko
c1a53a2653
ARP cache and responder agent code for use in netcon and iOS.
2015-09-11 11:45:04 -07:00
Joseph Henry
776f93e7be
closeConnection / closeClient changes
2015-09-11 14:12:27 -04: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
e4dc46741f
compiles, technically
2015-09-10 20:22:35 -04:00
Joseph Henry
20beafedc5
refactor almost complete
2015-09-10 20:02:13 -04:00
Adam Ierymenko
8d82ac5cc8
Merge branch 'adamierymenko-dev' into netcon
2015-09-10 15:56:15 -07:00
Adam Ierymenko
9dc2ef5549
Rename some stuff in Phy since it can be used with any stream socket.
2015-09-10 15:55:48 -07:00
Adam Ierymenko
cd3d77987c
.
2015-09-10 15:52:24 -07:00
Joseph Henry
b11d429bc0
refactor in progress
2015-09-10 18:48:45 -04:00
Joseph Henry
e391bc004b
refactor in progress
2015-09-10 18:19:43 -04:00
Adam Ierymenko
a35fa7ac93
Add expansion of netconf in _test field.
2015-09-10 15:14:10 -07:00
Adam Ierymenko
bebe3d7cfa
Fix deadlock in test mode.
2015-09-10 14:47:04 -07:00
Joseph Henry
c1f1530d54
refactor in progress
2015-09-10 17:44:01 -04:00
Adam Ierymenko
1f7a41cff8
Fix to allowing identity to be populated if not present.
2015-09-10 14:37:34 -07:00
Joseph Henry
f4d3c995bc
refactor in progress
2015-09-10 16:52:18 -04:00
Adam Ierymenko
637da383f5
Remove unnecessary accessors.
2015-09-10 13:22:44 -07:00
Adam Ierymenko
389ea272a0
Merge adamierymenko-dev
2015-09-10 13:20:00 -07:00
Adam Ierymenko
9a723be263
Add socketpair support to Phy.
2015-09-10 13:18:57 -07:00
Joseph Henry
3802d37d29
started refactor
2015-09-10 15:46:37 -04:00
Joseph Henry
750352836f
initial commit
2015-09-10 13:56:01 -04:00
Adam Ierymenko
a43c3fbf2e
Merge branch 'adamierymenko-dev' into netcon
2015-09-09 09:54:39 -07:00
Adam Ierymenko
4fbcad2468
Allow identity to be populated for newly inserted Member objects to permit transfer from old network controller and testing.
2015-09-08 13:02:42 -07:00
Adam Ierymenko
0d386f1c31
Add a bit of useful testing instrumentation to SqliteNetworkController.
2015-09-08 11:35:55 -07:00
Adam Ierymenko
85b90f122a
Final std::map<> from Switch, and add some smallish default values for hash size.
2015-09-04 15:35:43 -07:00
Adam Ierymenko
3dba016a93
Almost done... very few std::map<>s remaining in any spot that matters.
2015-09-04 15:21:22 -07:00
Adam Ierymenko
db0369e9b8
Remove way-overkill multimap from Switch.
2015-09-04 14:56:39 -07:00
Adam Ierymenko
0ab3e49be9
Starting in on Switch... kill map in defrag queue, which will probably improve performance pretty decently under high load with lots of peers.
2015-09-04 14:44:22 -07:00
Adam Ierymenko
f116c4b9c0
... and another ...
2015-09-04 14:24:31 -07:00
Adam Ierymenko
307e44f7c8
Two for one! (std::map removal)
2015-09-04 14:14:32 -07:00
Adam Ierymenko
d1341578d8
... and another one!
2015-09-04 13:53:48 -07:00
Adam Ierymenko
7b8ce16057
Another std::map<> dies.
2015-09-04 13:42:19 -07:00
Adam Ierymenko
3a959a7763
Swap out std::map<> for Hashtable<> for main peer database in Topology. (ongoing std::map-ectomy)
2015-09-04 12:14:21 -07:00
Adam Ierymenko
cfd101c9b8
Add entries() to go with keys() for future use.
2015-09-04 11:50:12 -07:00
Adam Ierymenko
ca6ec120a9
Merge branch 'netcon' of http://git.int.zerotier.com/zerotier/zerotierone into netcon
2015-09-03 18:45:07 -07:00
Adam Ierymenko
88ba39b162
Merge branch 'adamierymenko-dev' into netcon
2015-09-03 18:44:57 -07:00
Adam Ierymenko
da9a720c3f
Hash table bug fix, and add copy constructor and assignment operator for principle of least surprise.
2015-09-03 17:33:06 -07:00
Adam Ierymenko
10707c3673
build fix
2015-09-03 16:44:04 -07:00
Adam Ierymenko
b9d4b42f93
A few more fixes, ready to integrate main payload.
2015-09-03 16:05:18 -07:00
Adam Ierymenko
bf4cab5f2f
Netcon build fixes.
2015-09-02 16:31:13 -07: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
dfb08ec753
More netcon stuff, and Phy build fix.
2015-09-02 15:51:28 -07:00
Adam Ierymenko
4626175d11
Stub of NetconEthernetTap
2015-09-02 15:17:38 -07:00
Adam Ierymenko
4838cbc350
Unix domain sockets in Phy<>
2015-09-02 14:32:01 -07:00
Grant Limberg
53d98343b7
Merge branch 'master' into android-jni
2015-08-31 19:53:39 -07:00
Grant Limberg
73bedfcc01
ifdef default assignments
2015-08-29 17:54:30 -07:00
Grant Limberg
d5b48c90ed
added a 512x512 app icon (for Play store)
2015-08-27 19:51:27 -07:00
Grant Limberg
ebfbb7f452
Merge branch 'master' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into android-jni
2015-08-27 19:31:46 -07:00
Adam Ierymenko
b11ffc9635
Integrate Hashtable into Multicaster, where @mwarning found heaviest std::map() overhead.
2015-08-27 16:17:21 -07:00
Adam Ierymenko
3947807b1f
A simple and fast Hashtable, tested but not yet integrated with anything.
2015-08-27 15:36:13 -07:00
Grant Limberg
7d676ad16a
Merge branch 'adamierymenko-dev' into android-jni
2015-08-13 19:36:30 -07:00
Grant Limberg
0fd6808e21
Merge branch 'master' into android-jni
2015-08-01 11:52:47 -07:00
Grant Limberg
c9b4028cd3
Merge branch 'adamierymenko-dev' into android-jni
2015-07-29 20:13:32 -07:00
Grant Limberg
508d31513a
Merge branch 'adamierymenko-dev' into android-jni
2015-07-28 19:18:33 -07:00
Grant Limberg
bc0954381c
Merge branch 'adamierymenko-dev' into android-jni
2015-07-21 17:53:39 -07:00
Grant Limberg
d05e8a9772
Merge branch 'adamierymenko-dev' into android-jni
2015-07-20 19:51:58 -07:00
Grant Limberg
1e8ead441c
Merge branch 'adamierymenko-dev' into android-jni
2015-07-16 18:09:57 -07:00
Grant Limberg
e45475c5b5
fixed a misspelling
2015-07-09 20:26:23 -07:00
Grant Limberg
a408e5f685
set ZT_NO_TYPE_PUNNING and -O3 for Android builds
2015-07-08 18:00:13 -07:00
Grant Limberg
f67ddb579d
Merge branch 'adamierymenko-dev' into android-jni
2015-07-08 17:30:22 -07:00
Grant Limberg
1ad2cfeedf
Merge branch 'adamierymenko-dev' into android-jni
2015-07-07 19:24:02 -07:00
Grant Limberg
6d398beefd
Merge branch 'adamierymenko-dev' into android-jni
2015-07-03 18:15:56 -07:00
Grant Limberg
ab34884e3e
Set -O0
...
anything above that currently goes kaboom on ARM platforms
2015-07-03 18:14:50 -07:00
Grant Limberg
0b7cd2f40a
change some build settings. add a lock
2015-07-01 20:26:14 -07:00
Grant Limberg
2a2e3b80b3
Merge branch 'adamierymenko-dev' into android-jni
2015-07-01 18:13:59 -07:00
Grant Limberg
f803dd5ff4
...
2015-07-01 18:13:39 -07:00
Grant Limberg
d853dbf2d8
Merge branch 'adamierymenko-dev' into android-jni
2015-06-30 19:23:23 -07:00
Grant Limberg
aee8e95d49
logging
2015-06-30 19:21:46 -07:00
Grant Limberg
c9919cc5ba
reflect changes to ZT1_PeerRole in JNI
2015-06-26 18:26:57 -07:00
Grant Limberg
9c26d10ea6
Merge branch 'adamierymenko-dev' into android-jni
2015-06-26 17:44:09 -07:00
Grant Limberg
bfb152f53f
configure the NDK to build all supported ABIs and package them up in the jar
2015-06-24 20:31:22 -07:00
Grant Limberg
759d71037e
added Comparable interface to VirtualNetworkConfig so we can sort arrays containing it.
2015-06-23 23:03:02 -07:00
Grant Limberg
adf89901c4
dont consider multicast groups in VirtualNetworkConfig.equals()
2015-06-19 19:00:06 -07:00
Grant Limberg
dfdd46db80
Merge branch 'adamierymenko-dev' into android-jni
2015-06-17 18:42:23 -07:00
Grant Limberg
c59c74ddda
Merge branch 'adamierymenko-dev' into android-jni
2015-06-13 14:39:45 -07:00
Grant Limberg
abbcb0a12c
Modified ant build script so that it can be integrated with Android Studio's build system
2015-06-13 14:38:04 -07:00
Grant Limberg
472206dfb2
Rename JniCache to JniLookup
...
Removed caching capabilities as the cached methods, fields, and objects appears to be broken on Android
2015-06-10 20:16:13 -07:00
Grant Limberg
7e84f5a7db
killing whitespace
2015-06-09 23:24:54 -07:00
Grant Limberg
6889fcfc28
Looks like it was the JNI cash causing the crash.
...
Forcing it to look up classes and methods instead of caching them stopped the crashes in the GC. Will investigate more later.
2015-06-09 23:24:47 -07:00
Grant Limberg
4dc0ff8f13
Replace calls to Get<Type>ArrayElements with GetPrimitiveArrayCritical.
...
This puts code accessing the data in a critical section so that the GC cannot run while JNI has access to the array. This helps with stability somewhat, but I'm still getting some crashes in the GC
2015-06-09 23:12:44 -07:00
Grant Limberg
3013d90f57
ignore windows binary output
2015-06-09 22:38:31 -07:00
Grant Limberg
60da0e6cae
Merge branch 'adamierymenko-dev' into android-jni
2015-06-09 19:38:47 -07:00
Grant Limberg
ced040c503
Logging and adding .equals() methods to MulticastGroup and VirtualNetworkCofnig
2015-06-09 19:38:05 -07:00
Grant Limberg
7cc64c5cb6
Might help to set the enabled field on a VirtualNetworkConfig object :)
2015-06-03 21:29:19 -07:00
Grant Limberg
b84dba3ecb
more logging
2015-06-03 21:29:07 -07:00
Grant Limberg
8fb9df9751
delete dead test code
2015-06-03 18:35:38 -07:00