Grant Limberg
b849e23536
Moved zerotier-root code to its own repo
2025-01-07 11:06:42 -08:00
Adam Ierymenko
0ab4e2f750
Roots now understand encrypted HELLO.
2024-09-26 19:47:57 -04:00
Adam Ierymenko
2316a45a45
clang-format root
2024-09-26 13:41:59 -04:00
Adam Ierymenko
0a6c22a9b8
.
2024-08-14 08:10:44 -04:00
Adam Ierymenko
8adf064a04
Yet another fix.
2021-09-21 12:36:00 -04:00
Adam Ierymenko
7fe00f4247
Another dumb RENDEZVOUS bug.
2021-09-21 12:13:47 -04:00
Adam Ierymenko
5eae02068d
Fix bass ackwards addresses making RENDEZVOUS packets not make it, improve P2P.
2021-09-21 11:58:39 -04:00
Adam Ierymenko
5d429cedbb
Send error.
2021-09-20 16:56:16 -04:00
Adam Ierymenko
3c85322067
Meh... fixed now.
2021-09-20 15:54:12 -04:00
Adam Ierymenko
9fb902bdf6
Pointer deref fix.
2021-09-20 15:43:27 -04:00
Adam Ierymenko
262cb7a4b5
Generate new peer if old was bad.
2021-09-20 15:12:56 -04:00
Adam Ierymenko
104fade420
Thinko.
2021-09-20 15:04:25 -04:00
Adam Ierymenko
bcf8c30ce0
Simplify validation logic too.
2021-09-20 14:56:49 -04:00
Adam Ierymenko
c2413fca4d
Clean out a bunch of old code related to the possibility of multiple peers sharing virtual addresses. Does not seem to be currently exploitable but we are never going back to that idea, so this simplifies things. May also speed up the root.
2021-09-20 14:42:49 -04:00
Adam Ierymenko
5028aca372
Fix some identity verification stuff, performance improvements, build of root now requires libjemalloc.
2021-06-18 16:14:59 -04:00
Adam Ierymenko
311f9c5c2a
A few minor changes: (1) bind sockets to peers so the same socket is always used to send as most recently received, (2) pick the most recently active IP (v4 or v6) if both exist, and (3) introduce expiry of V4 or V6 IPs in addition to the peer overall.
2021-05-26 19:37:48 -04:00
Adam Ierymenko
32ca1a09da
Set version threshold correctly for v2
2020-08-27 10:00:11 -07:00
Adam Ierymenko
bba1324145
One more sanity check.
2020-01-21 11:04:18 -08:00
Adam Ierymenko
ff655292fb
Allocate packet on heap, add extra sanity checks on packet size.
2020-01-21 10:58:41 -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
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
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
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
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
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
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
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
Grant Limberg
c8f85ffec9
Factored network updates into its own class. Delivered via notification
2016-06-16 20:53:55 -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
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
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
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
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
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
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