mirror of
https://github.com/zerotier/ZeroTierOne.git
synced 2026-09-22 15:29:03 -07:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e75a093a8c | ||
|
|
dcffb042ff | ||
|
|
d724af6a99 | ||
|
|
b30f423fc9 | ||
|
|
1fc14292fe | ||
|
|
fa7e7fc6f9 | ||
|
|
5b114791e5 | ||
|
|
9bc11a369c | ||
|
|
ac40f2191c | ||
|
|
62a93c58fd | ||
|
|
f94aea8119 | ||
|
|
37ae3b2b80 | ||
|
|
73e4286fbf | ||
|
|
4e6151ebd9 | ||
|
|
fc225401a5 | ||
|
|
d74817f79f | ||
|
|
352ec3430f | ||
|
|
978d2fcb56 | ||
|
|
01257a461e | ||
|
|
817b9d012e | ||
|
|
04b3525e0f | ||
|
|
d55c732e19 | ||
|
|
d223427e22 | ||
|
|
64856adc3c | ||
|
|
dce9cb27c1 | ||
|
|
4199c56e99 | ||
|
|
a9ca26c698 | ||
|
|
9463d4abe4 | ||
|
|
a307dff3b7 | ||
|
|
20f0bed2f6 | ||
|
|
dfe426e4e0 | ||
|
|
c36c92e077 | ||
|
|
c0efba79c7 | ||
|
|
5809941ae9 | ||
|
|
535ba8a207 | ||
|
|
43331d3fe8 | ||
|
|
9765ba334a | ||
|
|
0cd01b6ff8 | ||
|
|
5f85e33510 | ||
|
|
22301a4599 | ||
|
|
c8a907fd71 | ||
|
|
d01b1ffde5 | ||
|
|
f4e993c814 | ||
|
|
776ff46db7 | ||
|
|
9001ab5858 | ||
|
|
92e716d93d | ||
|
|
020bbed935 | ||
|
|
0c60963a94 | ||
|
|
d704f5f2d2 | ||
|
|
0ebd19c14a | ||
|
|
d4160afac8 | ||
|
|
fffb037873 | ||
|
|
1df5d0453d | ||
|
|
19d453cb90 | ||
|
|
6e7437a0d0 | ||
|
|
caf849fcba | ||
|
|
7533d244a9 | ||
|
|
0a52840fa3 | ||
|
|
a7d0905b74 | ||
|
|
d32a26f780 | ||
|
|
42ec780a6f | ||
|
|
4608880fb0 | ||
|
|
7492e2789f | ||
|
|
9564a8eaf6 | ||
|
|
f12c0e79c9 | ||
|
|
e4e0be979e | ||
|
|
86637cda9f | ||
|
|
94f41e2332 | ||
|
|
3d2a50f811 | ||
|
|
c2ffbb8627 | ||
|
|
54218f6c3c | ||
|
|
6fdbdf9272 | ||
|
|
3de7691af3 | ||
|
|
bbed93bcf4 | ||
|
|
8900b30b6e | ||
|
|
ae4fb799e4 | ||
|
|
3f1d1fb3c3 | ||
|
|
f0a23ae0ea | ||
|
|
c14f9cc247 | ||
|
|
e276b6463e | ||
|
|
74f2b78c04 | ||
|
|
40a9ebd078 | ||
|
|
8c1b73b29c | ||
|
|
6679a55693 | ||
|
|
1101c1d919 | ||
|
|
fcb529b348 | ||
|
|
680b1ca208 | ||
|
|
494cf4049e | ||
|
|
916077012e | ||
|
|
beb170e4fb | ||
|
|
a59912f3af | ||
|
|
610e594a50 | ||
|
|
b4e2547052 | ||
|
|
a9778549f2 | ||
|
|
78d9cee416 | ||
|
|
bbdb2aa672 | ||
|
|
574b24c082 | ||
|
|
874a187c7f | ||
|
|
e8fb443313 | ||
|
|
57b96af2c4 | ||
|
|
2ee358dbfc | ||
|
|
e3bb67d188 | ||
|
|
1bec8ddce4 | ||
|
|
f9b07c63db | ||
|
|
8828fc7520 | ||
|
|
978d8fcd4a | ||
|
|
51aadcf901 | ||
|
|
db952a050a | ||
|
|
f049740ae5 | ||
|
|
73ca9b6373 | ||
|
|
c6949aad2d | ||
|
|
e57d0fdccc | ||
|
|
82f383be43 | ||
|
|
26aaf253ac | ||
|
|
51715376bf | ||
|
|
ff95b0278c | ||
|
|
fe1fa20c6c | ||
|
|
a867fe404b | ||
|
|
d6e8a5f3ca | ||
|
|
4878d8ec15 | ||
|
|
f7019d9e80 | ||
|
|
6d8e1e8783 | ||
|
|
939ab43ceb | ||
|
|
d3d58ba8a7 | ||
|
|
f03fd57997 | ||
|
|
e74cd4b4ef | ||
|
|
f3dfd63634 | ||
|
|
5f5302e595 | ||
|
|
125ec622ca | ||
|
|
384e5b66de | ||
|
|
7e7723e98f | ||
|
|
4419734a7d | ||
|
|
f821db29f3 | ||
|
|
6c64f1816d | ||
|
|
34e2ad0dfc | ||
|
|
055b99c3cb | ||
|
|
531842dc6b | ||
|
|
d7f3c33d72 | ||
|
|
4e689998f9 | ||
|
|
cd2a4b709c | ||
|
|
d96aeac335 | ||
|
|
c594351bcc | ||
|
|
5f976d7430 | ||
|
|
f87326fc21 | ||
|
|
0574a70fac | ||
|
|
4e79804cd3 | ||
|
|
86d5264167 | ||
|
|
5bc4399a58 | ||
|
|
406bcf7d3f | ||
|
|
f17cc1c6d8 | ||
|
|
57077e4607 | ||
|
|
6304c85d3f | ||
|
|
a1992d76f2 | ||
|
|
98b07f7f3c | ||
|
|
6e1823ac81 | ||
|
|
640cc22749 | ||
|
|
9bab49d2f9 | ||
|
|
2751a6d56d | ||
|
|
07cb62a503 | ||
|
|
8a3b698407 | ||
|
|
0c71d658fb | ||
|
|
7e2d614975 | ||
|
|
09e4ab9aa1 | ||
|
|
2e1bc6e500 | ||
|
|
1aea096b63 | ||
|
|
30694f0b20 | ||
|
|
01b4cb64ee | ||
|
|
6fbd15f8b2 | ||
|
|
65c07afe05 | ||
|
|
e338c5f91d | ||
|
|
0b0b5da240 | ||
|
|
9c7ee5a21e | ||
|
|
f7b3ffe8a0 | ||
|
|
50aef368f6 | ||
|
|
a9c4ce38f0 | ||
|
|
bbc39d7648 | ||
|
|
d3e8e9629b | ||
|
|
1f0b3a32d5 | ||
|
|
0608704626 | ||
|
|
cb8e7b4d5e | ||
|
|
346fa4d7f4 | ||
|
|
7a22f01dd8 | ||
|
|
4704d115c4 | ||
|
|
12c621c230 | ||
|
|
cba65d897a | ||
|
|
e4a10cc510 | ||
|
|
249c27afd5 | ||
|
|
38cc89b2ca | ||
|
|
aeb1794be1 | ||
|
|
dae728124e | ||
|
|
cf30b1fcdf | ||
|
|
19bfef36f1 | ||
|
|
8d9464c414 | ||
|
|
ada611d597 | ||
|
|
f13886d343 | ||
|
|
520b0601db | ||
|
|
926ecf9640 | ||
|
|
c57198decd | ||
|
|
431716e249 | ||
|
|
694709f392 | ||
|
|
16613ab5fb | ||
|
|
c26bf45e28 | ||
|
|
23e5c7b38d | ||
|
|
382dd82eb6 | ||
|
|
f18d5b2efe | ||
|
|
0fb22df633 | ||
|
|
750e36993f | ||
|
|
f7f658605d | ||
|
|
192e5dbff8 | ||
|
|
ef224c3547 | ||
|
|
c12b68a6b2 | ||
|
|
4166d8ca35 | ||
|
|
53e7e950f1 | ||
|
|
0612879dec | ||
|
|
3b21f946e4 | ||
|
|
9f85371073 | ||
|
|
cb550ab4fe | ||
|
|
b8cbf08617 | ||
|
|
1613f42d00 | ||
|
|
e5d1243dd2 | ||
|
|
7fc9094d8e | ||
|
|
92c7070aa8 | ||
|
|
b68bca35db | ||
|
|
d97adc8789 | ||
|
|
f5014d7d71 | ||
|
|
4e88c80a22 | ||
|
|
a6203ed038 | ||
|
|
1db547d607 | ||
|
|
2cc4dc5a6f | ||
|
|
fac7dc9c91 | ||
|
|
508fa6a7fe | ||
|
|
71bdaa9508 | ||
|
|
459f1e7bfb | ||
|
|
0d8b8d8426 | ||
|
|
2d0dc62a53 | ||
|
|
0d8e134f9f | ||
|
|
c7d370c17f | ||
|
|
395d8b3139 | ||
|
|
b92ef67e56 | ||
|
|
5a8aa66641 | ||
|
|
e87ef18826 | ||
|
|
7b78d4f11f | ||
|
|
65ac61b2ea | ||
|
|
629a3a2a24 | ||
|
|
ee4783e3fb | ||
|
|
f2c69ede96 | ||
|
|
ceeb35eaac | ||
|
|
099bedd2e9 | ||
|
|
4177a11522 | ||
|
|
3d4a1b575e | ||
|
|
b1d60df44c | ||
|
|
7cf70d111a | ||
|
|
e564c56dce | ||
|
|
239c2540d6 | ||
|
|
c53d140145 | ||
|
|
12a6a2f2d2 | ||
|
|
9c903567bb | ||
|
|
6782dee64a | ||
|
|
302c15140e | ||
|
|
c666f92e35 | ||
|
|
eb42ef68ee | ||
|
|
52916eebcf | ||
|
|
f8014413a3 | ||
|
|
2d858b05ac | ||
|
|
b1fb020aea | ||
|
|
02ed84774c | ||
|
|
283e8d5bc0 | ||
|
|
f39e2e2a53 | ||
|
|
5bf5d5e9cb | ||
|
|
e51e212b95 | ||
|
|
6418d02572 | ||
|
|
49fa30d495 | ||
|
|
dd8b03a5c5 | ||
|
|
4d5983114c | ||
|
|
0a9c3b5571 | ||
|
|
180049a277 | ||
|
|
6ee201865b | ||
|
|
b1d94c9f93 | ||
|
|
a156a4dbe2 | ||
|
|
2cebe7a5e0 | ||
|
|
9cfc109527 | ||
|
|
64758c46b6 | ||
|
|
4352202349 | ||
|
|
ba07a60c44 | ||
|
|
72bfe0953a | ||
|
|
bab5647522 | ||
|
|
fcaf1d89c2 | ||
|
|
106dff0d53 | ||
|
|
174ba8884e | ||
|
|
1ce0dcf0ea | ||
|
|
1387e15c1b | ||
|
|
50e7ea088b | ||
|
|
59b7cbb591 | ||
|
|
23fe8975e7 | ||
|
|
a4bc40542b | ||
|
|
ee1dc16e8f | ||
|
|
1c04cc0485 | ||
|
|
2c682b4d1c | ||
|
|
6842490c1f | ||
|
|
ff5e22031a | ||
|
|
e3cf756785 | ||
|
|
7e6598e9ca | ||
|
|
48d2017629 | ||
|
|
e4823381c6 | ||
|
|
66feaeb519 | ||
|
|
8c6b833fb3 | ||
|
|
b62296a40b | ||
|
|
fc7728212f | ||
|
|
31785f7f6e | ||
|
|
ae65eb5105 | ||
|
|
727ccb1125 | ||
|
|
77ce238457 | ||
|
|
1685659e37 | ||
|
|
0f03d4ef51 | ||
|
|
bcf697cc2b | ||
|
|
5e2ea4a81a | ||
|
|
b9e1d53d7a | ||
|
|
ab0806a036 | ||
|
|
3a1ec07db0 | ||
|
|
d939d8d21d | ||
|
|
d9552fb120 | ||
|
|
4ecc0c59ca | ||
|
|
0655a1fcbe | ||
|
|
c8d0cf2c40 | ||
|
|
c692f2e740 | ||
|
|
a83c7c0d07 | ||
|
|
ba6fd16823 | ||
|
|
54893c35c1 | ||
|
|
495c5ce81d | ||
|
|
4cc773ec1b | ||
|
|
69ae35494e | ||
|
|
512c3af4ea | ||
|
|
d8f1c3dff7 | ||
|
|
0a11dd2d24 | ||
|
|
78ee7f6573 | ||
|
|
dab0fb9e05 | ||
|
|
e14d5d49a1 | ||
|
|
782b2b1514 | ||
|
|
a9582417e2 | ||
|
|
69922b6c39 | ||
|
|
6fc70f7c16 | ||
|
|
a274e774ee | ||
|
|
f23a43fb81 | ||
|
|
88997a0314 | ||
|
|
d2415dee00 | ||
|
|
53728b79b4 | ||
|
|
dff8c02cfe | ||
|
|
640ad577d1 | ||
|
|
cd63ecd3f3 | ||
|
|
f18158a52d | ||
|
|
84748aab51 | ||
|
|
3fadc64ee0 | ||
|
|
47594f7c99 | ||
|
|
2f20258807 | ||
|
|
47122a3804 | ||
|
|
1730f8f5b7 | ||
|
|
d258a75cd3 | ||
|
|
baa10c2995 | ||
|
|
207d6572e0 | ||
|
|
10264cec2f | ||
|
|
0ea1749c59 | ||
|
|
dd83c680e5 | ||
|
|
1a40f35fd4 | ||
|
|
8a99113c88 | ||
|
|
ada2ea3a6b | ||
|
|
355cce3938 | ||
|
|
9b2e08dd09 | ||
|
|
04cee3b8d3 | ||
|
|
c61440efea | ||
|
|
02d18af57d | ||
|
|
2225bb093a | ||
|
|
75a6a7baca | ||
|
|
6b130e8311 | ||
|
|
1b18923824 | ||
|
|
fc2ce439e2 | ||
|
|
5b3d9f9184 | ||
|
|
dd68c207f4 | ||
|
|
9a3c34b5b3 | ||
|
|
951d911531 | ||
|
|
4f2179b0df | ||
|
|
9b287392a4 | ||
|
|
aa06470cb6 | ||
|
|
d7b4f24a7a | ||
|
|
e8d11eb5c5 | ||
|
|
7f4da08ff7 | ||
|
|
1f9414a30f | ||
|
|
6015b529a0 | ||
|
|
76452b4e28 | ||
|
|
64b7d9ef82 | ||
|
|
7bc9666aac | ||
|
|
2a4a50b1da | ||
|
|
2ec88e8008 | ||
|
|
36049a940c | ||
|
|
952834f7f3 | ||
|
|
f9a9c2d009 | ||
|
|
fb71a6e2b4 | ||
|
|
5e6a2a17b0 | ||
|
|
92289c1981 | ||
|
|
99e2098a48 | ||
|
|
5fc1c1de28 | ||
|
|
2fac693243 | ||
|
|
e9b956ed71 | ||
|
|
236a952458 | ||
|
|
426b7c2c76 | ||
|
|
22780a8504 | ||
|
|
a437fd420c | ||
|
|
2d74c60d47 | ||
|
|
ceee56af51 | ||
|
|
d297d8fe2e | ||
|
|
f479b76772 | ||
|
|
73f7088b45 | ||
|
|
b3dd5c0e3a | ||
|
|
ee7ee22555 | ||
|
|
cf49e511a5 | ||
|
|
505b9c7f56 | ||
|
|
8c30b2b9f5 | ||
|
|
b9c1407013 | ||
|
|
d905607353 | ||
|
|
e5e90b1f71 | ||
|
|
d5ed025871 | ||
|
|
b55422a528 | ||
|
|
909a14fb48 | ||
|
|
107e3e4106 | ||
|
|
6ef247fb93 | ||
|
|
b8e46b835b | ||
|
|
0900fee5d9 | ||
|
|
1f26cb98de | ||
|
|
ceeb8ee0bc | ||
|
|
54c47a1e03 | ||
|
|
6bb855873d | ||
|
|
39db45e144 | ||
|
|
41c187ba12 | ||
|
|
d7c99728bc | ||
|
|
8e19188f49 | ||
|
|
625e3e8e25 | ||
|
|
fde99e2fcf | ||
|
|
132643cd4a | ||
|
|
faf7b81c01 | ||
|
|
bcc6799902 | ||
|
|
718e1d6c08 | ||
|
|
a9ce773584 | ||
|
|
d69bc4fb5e | ||
|
|
1b68d6dbdc | ||
|
|
62578a2162 | ||
|
|
9e80db0fd1 | ||
|
|
e8ab6adf89 | ||
|
|
7c184cf991 | ||
|
|
72def658d0 | ||
|
|
e7cd888c7d | ||
|
|
1205578935 | ||
|
|
4e77365e8d | ||
|
|
4f2a779769 | ||
|
|
cafbe44dde | ||
|
|
6234bfd8bf | ||
|
|
77796caba6 | ||
|
|
97f1d7ae2e | ||
|
|
487e89d4d0 | ||
|
|
fe5257df81 | ||
|
|
9161424c97 | ||
|
|
cdda0dd043 | ||
|
|
f4feccc626 | ||
|
|
44cb2f4efd | ||
|
|
cacb8fae0d | ||
|
|
fa99a5cf12 | ||
|
|
e700165eba | ||
|
|
8542ee59db | ||
|
|
76108671f6 | ||
|
|
8b0ce1cc00 | ||
|
|
0e88c73f68 | ||
|
|
ba0d73d102 | ||
|
|
d3ecd1d670 | ||
|
|
f9ae5938d0 | ||
|
|
a8ced184dc | ||
|
|
e7a2c6ecef | ||
|
|
a376bcc654 | ||
|
|
8e1ac9fb0c | ||
|
|
bc61357a44 | ||
|
|
f6d92eb737 | ||
|
|
48cadcd2fc | ||
|
|
bd63a840c7 | ||
|
|
aaf597f020 | ||
|
|
72bd3064a2 | ||
|
|
a1c316b940 | ||
|
|
02f84b225c | ||
|
|
6551c20005 | ||
|
|
a1e94154be | ||
|
|
4938e82795 | ||
|
|
7a94f63058 | ||
|
|
db0edf154c | ||
|
|
a1cd94a61d | ||
|
|
df48738ac9 | ||
|
|
d8f5cfdee4 | ||
|
|
95e5345cc3 | ||
|
|
ba5d0cc2f9 | ||
|
|
1d8ded3293 | ||
|
|
2487a8bede | ||
|
|
f1c0563c40 | ||
|
|
139c4b5633 | ||
|
|
645bf4a764 | ||
|
|
88a4a3b1ba | ||
|
|
6fabaae736 | ||
|
|
1b2cfd63e5 | ||
|
|
ff2b219abd | ||
|
|
33c3af752b | ||
|
|
f73a1d2d56 | ||
|
|
470ad39d0d | ||
|
|
5ad120208f | ||
|
|
b48a70db2e | ||
|
|
cd050b3423 | ||
|
|
eddbc7e757 | ||
|
|
8a62ba07e5 | ||
|
|
b3298a8f57 | ||
|
|
e5284771e4 | ||
|
|
5f611dad51 | ||
|
|
1c5fdb8a0a | ||
|
|
de4b9e9a16 | ||
|
|
57b5a33fbb | ||
|
|
3f4f7145a3 | ||
|
|
b959148447 | ||
|
|
855361b5b8 | ||
|
|
91c9f4cb20 | ||
|
|
e4896b257f | ||
|
|
592cac5815 | ||
|
|
4244cca48c | ||
|
|
179ab5220a | ||
|
|
d6bb1b72c3 | ||
|
|
3d9a5a4f91 | ||
|
|
683ba79ff0 | ||
|
|
0c69fc719f | ||
|
|
03b48a4ad4 | ||
|
|
aa71292265 | ||
|
|
d72eee6cf7 | ||
|
|
6bb19e7947 | ||
|
|
3d2518f799 | ||
|
|
5268909075 | ||
|
|
c62141fd98 | ||
|
|
ae303ee902 | ||
|
|
cfe0d0971f | ||
|
|
c5c8facc2d | ||
|
|
f78d6a8a93 | ||
|
|
78ef2c5f16 | ||
|
|
ec8e1178e5 | ||
|
|
4f3f471b4c | ||
|
|
e10325e133 | ||
|
|
ef46d3c97d | ||
|
|
a9c08c5975 | ||
|
|
c467c3b7e4 | ||
|
|
cdc0eaec3a | ||
|
|
a7cb738175 | ||
|
|
d1bb22a583 | ||
|
|
553d972de5 | ||
|
|
cc883cc3d8 | ||
|
|
c6a39ed927 | ||
|
|
df30255542 | ||
|
|
d5102539dd | ||
|
|
e3feaf3f5d | ||
|
|
25dc596397 | ||
|
|
18c9dc8a06 | ||
|
|
ba07d1f91d | ||
|
|
9a2310395d | ||
|
|
218ace51a7 | ||
|
|
f09eedbd7a | ||
|
|
546e8a3b44 |
No files matched your search
+9
-2
@@ -1,4 +1,3 @@
|
||||
<<<<<<< HEAD
|
||||
# Main binaries created in *nix builds
|
||||
/zerotier-one
|
||||
/zerotier-idtool
|
||||
@@ -10,6 +9,8 @@
|
||||
.DS_Store
|
||||
.Apple*
|
||||
Thumbs.db
|
||||
@eaDir
|
||||
._*
|
||||
|
||||
# Windows build droppings
|
||||
/windows/ZeroTierOne.sdf
|
||||
@@ -26,6 +27,7 @@ Thumbs.db
|
||||
/windows/Release
|
||||
/windows/WebUIWrapper/bin
|
||||
/windows/WebUIWrapper/obj
|
||||
/windows/lib
|
||||
/ext/installfiles/windows/ZeroTier One-SetupFiles
|
||||
/ext/installfiles/windows/Prerequisites
|
||||
/ext/installfiles/windows/*-cache
|
||||
@@ -59,7 +61,7 @@ zt1-src.tar.gz
|
||||
*.pid
|
||||
*.pkg
|
||||
*.o
|
||||
*.a
|
||||
/*.a
|
||||
*.dylib
|
||||
*.so
|
||||
*.so.*
|
||||
@@ -77,6 +79,7 @@ debian/zerotier-one
|
||||
debian/zerotier-one*.debhelper
|
||||
debian/*.log
|
||||
debian/zerotier-one.substvars
|
||||
root-watcher/config.json
|
||||
|
||||
# Java/Android/JNI build droppings
|
||||
java/obj/
|
||||
@@ -109,3 +112,7 @@ build/
|
||||
!default.perspectivev3
|
||||
*.xccheckout
|
||||
xcuserdata/
|
||||
ext/librethinkdbxx/build
|
||||
.vscode
|
||||
__pycache__
|
||||
*~
|
||||
@@ -0,0 +1,12 @@
|
||||
# CMake build script for libzerotiercore.a
|
||||
|
||||
cmake_minimum_required (VERSION 2.8)
|
||||
project (zerotiercore)
|
||||
|
||||
set (PROJ_DIR ${PROJECT_SOURCE_DIR})
|
||||
set (ZT_DEFS -std=c++11)
|
||||
|
||||
file(GLOB core_src_glob ${PROJ_DIR}/node/*.cpp)
|
||||
add_library(zerotiercore STATIC ${core_src_glob})
|
||||
|
||||
target_compile_options(zerotiercore PRIVATE ${ZT_DEFS})
|
||||
@@ -1,5 +1,5 @@
|
||||
ZeroTier One, an endpoint server for the ZeroTier virtual network layer.
|
||||
Copyright © 2011–2016 ZeroTier, Inc.
|
||||
Copyright © 2011–2018 ZeroTier, Inc.
|
||||
|
||||
ZeroTier One is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
||||
Vendored
+9
-7
@@ -1,9 +1,11 @@
|
||||
#!/usr/bin/env groovy
|
||||
|
||||
node('master') {
|
||||
checkout scm
|
||||
|
||||
def changelog = getChangeLog currentBuild
|
||||
|
||||
slackSend "Building ${env.JOB_NAME} #${env.BUILD_NUMBER} \n Change Log: \n ${changelog}"
|
||||
mattermostSend "Building ${env.JOB_NAME} #${env.BUILD_NUMBER} \n Change Log: \n ${changelog}"
|
||||
}
|
||||
|
||||
parallel 'centos7': {
|
||||
@@ -17,7 +19,7 @@ parallel 'centos7': {
|
||||
}
|
||||
catch (err) {
|
||||
currentBuild.result = "FAILURE"
|
||||
slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on Centos 7 (<${env.BUILD_URL}|Open>)"
|
||||
mattermostSend color: '#ff0000', message: "${env.JOB_NAME} broken on Centos 7 (<${env.BUILD_URL}|Open>)"
|
||||
|
||||
throw err
|
||||
}
|
||||
@@ -28,12 +30,12 @@ parallel 'centos7': {
|
||||
checkout scm
|
||||
|
||||
stage('Build Android NDK') {
|
||||
sh "/android/android-ndk-r13b/ndk-build -C $WORKSPACE/java ZT1=${WORKSPACE}"
|
||||
sh "/android/android-ndk-r15b/ndk-build -C $WORKSPACE/java ZT1=${WORKSPACE}"
|
||||
}
|
||||
}
|
||||
catch (err) {
|
||||
currentBuild.result = "FAILURE"
|
||||
slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on Android NDK (<${env.BUILD_URL}|Open>)"
|
||||
mattermostSend color: '#ff0000', message: "${env.JOB_NAME} broken on Android NDK (<${env.BUILD_URL}|Open>)"
|
||||
|
||||
throw err
|
||||
}
|
||||
@@ -53,7 +55,7 @@ parallel 'centos7': {
|
||||
}
|
||||
catch (err) {
|
||||
currentBuild.result = "FAILURE"
|
||||
slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on macOS (<${env.BUILD_URL}|Open>)"
|
||||
mattermostSend color: '#ff0000', message: "${env.JOB_NAME} broken on macOS (<${env.BUILD_URL}|Open>)"
|
||||
|
||||
throw err
|
||||
}
|
||||
@@ -72,11 +74,11 @@ msbuild windows\\ZeroTierOne.sln
|
||||
}
|
||||
catch (err) {
|
||||
currentBuild.result = "FAILURE"
|
||||
slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on Windows (<${env.BUILD_URL}|Open>)"
|
||||
mattermostSend color: '#ff0000', message: "${env.JOB_NAME} broken on Windows (<${env.BUILD_URL}|Open>)"
|
||||
|
||||
throw err
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
slackSend color: "#00ff00", message: "${env.JOB_NAME} #${env.BUILD_NUMBER} Complete (<${env.BUILD_URL}|Show More...>)"
|
||||
mattermostSend color: "#00ff00", message: "${env.JOB_NAME} #${env.BUILD_NUMBER} Complete (<${env.BUILD_URL}|Show More...>)"
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
ZeroTier One - Network Virtualization Everywhere
|
||||
Copyright (C) 2011-2017 ZeroTier, Inc. https://www.zerotier.com/
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
See LICENSE.GPL-3 for the full GNU GPL v3 license.
|
||||
|
||||
--
|
||||
|
||||
You can be released from the requirements of the license by purchasing
|
||||
a commercial license. Buying such a license is mandatory as soon as you
|
||||
develop commercial closed-source software that incorporates or links
|
||||
directly against ZeroTier software without disclosing the source code
|
||||
of your own application.
|
||||
|
||||
--
|
||||
|
||||
The above license does not apply to third party code included with or
|
||||
linked against by ZeroTier software. See the third party code section
|
||||
of the AUTHORS.md for an index of third party software included in
|
||||
this software repository.
|
||||
|
||||
Licenses for third party code are all relatively permissive: MIT,
|
||||
BSD, and public domain. The only exception is the tap-windows driver
|
||||
which is under the GPLv2, but this is only needed to produce the
|
||||
binary tap device driver used by the ZeroTier service on Windows.
|
||||
@@ -11,8 +11,8 @@ ifeq ($(OSTYPE),Linux)
|
||||
endif
|
||||
|
||||
ifeq ($(OSTYPE),FreeBSD)
|
||||
CC=gcc
|
||||
CXX=g++
|
||||
CC=clang
|
||||
CXX=clang++
|
||||
ZT_BUILD_PLATFORM=7
|
||||
include make-bsd.mk
|
||||
endif
|
||||
@@ -22,3 +22,7 @@ ifeq ($(OSTYPE),OpenBSD)
|
||||
ZT_BUILD_PLATFORM=9
|
||||
include make-bsd.mk
|
||||
endif
|
||||
|
||||
ifeq ($(OSTYPE),NetBSD)
|
||||
include make-netbsd.mk
|
||||
endif
|
||||
@@ -15,6 +15,7 @@ The version must be incremented in all of the following files:
|
||||
/ext/installfiles/mac/ZeroTier One.pkgproj
|
||||
/ext/installfiles/windows/chocolatey/zerotier-one.nuspec
|
||||
/ext/installfiles/windows/ZeroTier One.aip
|
||||
/windows/WinUI/AboutView.xaml
|
||||
|
||||
The final .AIP file can only be edited on Windows with [Advanced Installer Enterprise](http://www.advancedinstaller.com/). In addition to incrementing the version be sure that a new product code is generated. (The "upgrade code" GUID on the other hand must never change.)
|
||||
|
||||
@@ -30,22 +31,7 @@ You will need [Packages](http://s.sudre.free.fr/Software/Packages/about.html) an
|
||||
|
||||
## Linux
|
||||
|
||||
Mount the GPG key for *contact@zerotier.com* and then on an x86_64 box with a recent version of Docker and an Internet connection run:
|
||||
|
||||
make distclean
|
||||
cd linux-build-farm
|
||||
./build.sh
|
||||
|
||||
This will build i386 and x86_64 packages. Now ssh into our build Raspberry Pi and type `make debian` there to build the Raspbian armhf package. Copy it to `debian-jessie/` inside `linux-build-farm` so that it will be included in the repositories we generate. Now generate the YUM and APT repos:
|
||||
|
||||
rm -rf ~/.aptly*
|
||||
rm -rf /tmp/zt-rpm-repo
|
||||
./make-apt-repos.sh
|
||||
./make-rpm-repos.sh
|
||||
|
||||
This will require the passphrase for *contact@zerotier.com*.
|
||||
|
||||
The contents of ~/.aptly/public must be published as `debian/` on `download.zerotier.com`. The contents of /tmp/zt-rpm-repo are published as `redhat/` on same.
|
||||
See `LinuxBuild` environment on `linux-build` VM and use: `chroots/mount-build.sh`, `chroots/build.sh`, and the scripts in `build/` to make APT and RPM repositories.
|
||||
|
||||
## Windows
|
||||
|
||||
|
||||
@@ -1,29 +1,19 @@
|
||||
ZeroTier - A Planetary Ethernet Switch
|
||||
======
|
||||
|
||||
ZeroTier is an enterprise Ethernet switch for planet Earth.
|
||||
ZeroTier is a smart programmable Ethernet switch for planet Earth.
|
||||
|
||||
It erases the LAN/WAN distinction and makes VPNs, tunnels, proxies, and other kludges arising from the inflexible nature of physical networks obsolete. Everything is encrypted end-to-end and traffic takes the most direct (peer to peer) path available.
|
||||
It replaces the physical LAN/WAN boundary with a virtual one, allowing devices of any type at any location to be managed as if they all reside in the same cloud region or data center. All traffic is encrypted end-to-end and takes the most direct path available for minimum latency and maximum performance. The goals and design of ZeroTier are inspired by among other things the original [Google BeyondCorp](https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/43231.pdf) paper and the [Jericho Forum](https://en.wikipedia.org/wiki/Jericho_Forum).
|
||||
|
||||
Visit [ZeroTier's site](https://www.zerotier.com/) for more information and [pre-built binary packages](https://www.zerotier.com/download.shtml). Apps for Android and iOS are available for free in the Google Play and Apple app stores.
|
||||
Visit [ZeroTier's site](https://www.zerotier.com/?pk_campaign=github_ZeroTierOne) for more information and [pre-built binary packages](https://www.zerotier.com/download.shtml?pk_campaign=github_ZeroTierOne). Apps for Android and iOS are available for free in the Google Play and Apple app stores.
|
||||
|
||||
### Getting Started
|
||||
|
||||
ZeroTier's basic operation is easy to understand. Devices have 10-digit *ZeroTier addresses* like `89e92ceee5` and networks have 16-digit network IDs like `8056c2e21c000001`. All it takes for a device to join a network is its 16-digit ID, and all it takes for a network to authorize a device is its 10-digit address. Everything else is automatic.
|
||||
Everything in the ZeroTier world is controlled by two types of identifier: 40-bit/10-digit *ZeroTier addresses* and 64-bit/16-digit *network IDs*. A ZeroTier address identifies a node or "device" (laptop, phone, server, VM, app, etc.) while a network ID identifies a virtual Ethernet network that can be joined by devices.
|
||||
|
||||
A "device" in our terminology is any "unit of compute" capable of talking to a network: desktops, laptops, phones, servers, VMs/VPSes, containers, and even user-space applications via our [SDK](https://github.com/zerotier/ZeroTierSDK).
|
||||
Another way of thinking about it is that ZeroTier addresses are port numbers on a giant planetary-sized smart switch while network IDs are VLANs to which these ports can be assigned. For more details read about VL1 and VL2 in [the ZeroTier manual](https://www.zerotier.com/manual.shtml).
|
||||
|
||||
For testing purposes we provide a public virtual network called *Earth* with network ID `8056c2e21c000001`. You can join it with:
|
||||
|
||||
sudo zerotier-cli join 8056c2e21c000001
|
||||
|
||||
Now wait about 30 seconds and check your system with `ip addr list` or `ifconfig`. You'll see a new interface whose name starts with *zt* and it should quickly get an IPv4 and an IPv6 address. Once you see it get an IP, try pinging `earth.zerotier.net` at `29.209.112.93`. If you've joined Earth from more than one system, try pinging your other machine. If you don't want to belong to a giant Ethernet party line anymore, just type:
|
||||
|
||||
sudo zerotier-cli leave 8056c2e21c000001
|
||||
|
||||
The *zt* interface will disappear. You're no longer on the network.
|
||||
|
||||
To create networks of your own, you'll need a network controller. ZeroTier One (for desktops and servers) includes controller functionality in its default build that can be configured via its JSON API (see [README.md in controller/](controller/)). ZeroTier provides a hosted solution with a nice web UI and SaaS add-ons at [my.zerotier.com](https://my.zerotier.com/). Basic controller functionality is free for up to 100 devices.
|
||||
*Network controllers* are ZeroTier nodes that act as access control certificate authorities and configuration managers for virtual networks. The first 40 bits (or 10 digits) of a network ID is the ZeroTier address of its controller. You can create networks with our [hosted controllers](https://my.zerotier.com/) and web UI/API or [host your own](controller/) if you don't mind posting some JSON configuration info or writing a script to do so.
|
||||
|
||||
### Project Layout
|
||||
|
||||
@@ -56,10 +46,9 @@ To build on Mac and Linux just type `make`. On FreeBSD and OpenBSD `gmake` (GNU
|
||||
- Linux makefiles automatically detect and prefer clang/clang++ if present as it produces smaller and slightly faster binaries in most cases. You can override by supplying CC and CXX variables on the make command line.
|
||||
- CentOS 7 ships with a version of GCC/G++ that is too old, but a new enough version of CLANG can be found in the *epel* repositories. Type `yum install epel-release` and then `yum install clang` to build there.
|
||||
- **Windows**
|
||||
- Windows 7 or newer (and equivalent server versions) are supported. This *may* work on Vista but you're on your own there. Windows XP is not supported since it lacks many important network API functions.
|
||||
- We build with Visual Studio 2015. Older versions may not work with the solution file and project files we ship and may not have new enough C++11 support.
|
||||
- Pre-built signed Windows drivers are included in `ext/bin/tap-windows-ndis6`. The MSI files found there will install them on 32-bit and 64-bit systems. (These are included in our multi-architecture installer as chained MSIs.)
|
||||
- Windows builds are more painful in general than other platforms and are for the adventurous.
|
||||
- Windows 7 or newer is supported. This *may* work on Vista but isn't officially supported there. It will not work on Windows XP.
|
||||
- We build with Visual Studio 2015. Older versions may not work. Clang or MinGW will also probably work but may require some makefile hacking.
|
||||
- Pre-built signed Windows drivers are included in `ext/bin/tap-windows-ndis6`. The MSI files found there will install them on 32-bit and 64-bit systems. We don't recommend trying to build Windows drivers from scratch unless you know what you're doing. One does not simply "build" a Windows driver.
|
||||
- **FreeBSD**
|
||||
- Tested most recently on FreeBSD-11. Older versions may work but we're not sure.
|
||||
- GCC/G++ 4.9 and gmake are required. These can be installed from packages or ports. Type `gmake` to build.
|
||||
@@ -112,7 +101,7 @@ ZeroTier One peers will automatically locate each other and communicate directly
|
||||
|
||||
Users behind certain types of firewalls and "symmetric" NAT devices may not able able to connect to external peers directly at all. ZeroTier has limited support for port prediction and will *attempt* to traverse symmetric NATs, but this doesn't always work. If P2P connectivity fails you'll be bouncing UDP packets off our relay servers resulting in slower performance. Some NAT router(s) have a configurable NAT mode, and setting this to "full cone" will eliminate this problem. If you do this you may also see a magical improvement for things like VoIP phones, Skype, BitTorrent, WebRTC, certain games, etc., since all of these use NAT traversal techniques similar to ours.
|
||||
|
||||
If you're interested, there's a [technical deep dive about NAT traversal on our blog](https://www.zerotier.com/blog/?p=226). A troubleshooting tool to help you diagnose NAT issues is planned for the future as are uPnP/IGD/NAT-PMP and IPv6 transport.
|
||||
If you're interested, there's a [technical deep dive about NAT traversal on our blog](https://www.zerotier.com/blog/?p=226?pk_campaign=github_ZeroTierOne). A troubleshooting tool to help you diagnose NAT issues is planned for the future as are uPnP/IGD/NAT-PMP and IPv6 transport.
|
||||
|
||||
If a firewall between you and the Internet blocks ZeroTier's UDP traffic, you will fall back to last-resort TCP tunneling to rootservers over port 443 (https impersonation). This will work almost anywhere but is *very slow* compared to UDP or direct peer to peer connectivity.
|
||||
|
||||
|
||||
@@ -1,6 +1,78 @@
|
||||
ZeroTier Release Notes
|
||||
======
|
||||
|
||||
# 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-05-08 -- Version 1.2.10
|
||||
|
||||
* Fix bug loading `moons.d/` files for federated root operation.
|
||||
* Fix compile problem with ZT_DEBUG on some versions of `clang`
|
||||
* Fix slow network startup bug related to loading of `networks.d/` cache files
|
||||
|
||||
# 2018-04-27 -- Version 1.2.8
|
||||
|
||||
* Linux version once again builds with PIE (position independent executable) flags
|
||||
* Fixed bug in zerotier-idtool file sign and verify
|
||||
* Fixed minor OSX app typo
|
||||
* Merged alpha NetBSD support (mostly untested, so YMMV)
|
||||
* Merged several minor typo and one-liner bug fixes
|
||||
|
||||
# 2018-04-17 -- Version 1.2.6
|
||||
|
||||
* 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.
|
||||
|
||||
# 2017-04-20 -- Version 1.2.4
|
||||
|
||||
* 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-03-17 -- Version 1.2.2
|
||||
|
||||
* 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-14 -- Version 1.2.0
|
||||
|
||||
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.
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 47 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 621 B |
Binary file not shown.
|
After Width: | Height: | Size: 1.6 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 7.0 KiB |
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* ZeroTier One - Network Virtualization Everywhere
|
||||
* Copyright (C) 2011-2016 ZeroTier, Inc. https://www.zerotier.com/
|
||||
* Copyright (C) 2011-2017 ZeroTier, Inc. https://www.zerotier.com/
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@@ -14,6 +14,14 @@
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* --
|
||||
*
|
||||
* You can be released from the requirements of the license by purchasing
|
||||
* a commercial license. Buying such a license is mandatory as soon as you
|
||||
* develop commercial closed-source software that incorporates or links
|
||||
* directly against ZeroTier software without disclosing the source code
|
||||
* of your own application.
|
||||
*/
|
||||
|
||||
#ifdef ZT_ENABLE_CLUSTER
|
||||
@@ -249,7 +257,7 @@ void Cluster::handleIncomingStateMessage(const void *msg,unsigned int len)
|
||||
memcpy(keytmp,_key,32);
|
||||
for(int i=0;i<8;++i)
|
||||
keytmp[i] ^= reinterpret_cast<const char *>(msg)[i];
|
||||
Salsa20 s20(keytmp,256,reinterpret_cast<const char *>(msg) + 8);
|
||||
Salsa20 s20(keytmp,reinterpret_cast<const char *>(msg) + 8);
|
||||
Utils::burn(keytmp,sizeof(keytmp));
|
||||
|
||||
// One-time-use Poly1305 key from first 32 bytes of Salsa20 keystream (as per DJB/NaCl "standard")
|
||||
@@ -346,7 +354,7 @@ void Cluster::handleIncomingStateMessage(const void *msg,unsigned int len)
|
||||
Mutex::Lock _l(_remotePeers_m);
|
||||
_RemotePeer &rp = _remotePeers[std::pair<Address,unsigned int>(id.address(),(unsigned int)fromMemberId)];
|
||||
if (!rp.lastHavePeerReceived) {
|
||||
RR->topology->saveIdentity(id);
|
||||
RR->topology->saveIdentity((void *)0,id);
|
||||
RR->identity.agree(id,rp.key,ZT_PEER_SECRET_KEY_LENGTH);
|
||||
}
|
||||
rp.lastHavePeerReceived = RR->node->now();
|
||||
@@ -459,7 +467,7 @@ void Cluster::handleIncomingStateMessage(const void *msg,unsigned int len)
|
||||
Mutex::Lock _l2(_members[fromMemberId].lock);
|
||||
_send(fromMemberId,CLUSTER_MESSAGE_PROXY_SEND,rendezvousForRemote.data(),rendezvousForRemote.size());
|
||||
}
|
||||
RR->sw->send(rendezvousForLocal,true);
|
||||
RR->sw->send((void *)0,rendezvousForLocal,true);
|
||||
}
|
||||
}
|
||||
} break;
|
||||
@@ -470,7 +478,7 @@ void Cluster::handleIncomingStateMessage(const void *msg,unsigned int len)
|
||||
const unsigned int len = dmsg.at<uint16_t>(ptr); ptr += 2;
|
||||
Packet outp(rcpt,RR->identity.address(),verb);
|
||||
outp.append(dmsg.field(ptr,len),len); ptr += len;
|
||||
RR->sw->send(outp,true);
|
||||
RR->sw->send((void *)0,outp,true);
|
||||
//TRACE("[%u] proxy send %s to %s length %u",(unsigned int)fromMemberId,Packet::verbString(verb),rcpt.toString().c_str(),len);
|
||||
} break;
|
||||
|
||||
@@ -479,7 +487,7 @@ void Cluster::handleIncomingStateMessage(const void *msg,unsigned int len)
|
||||
if (network) {
|
||||
// Copy into a Packet just to conform to Network API. Eventually
|
||||
// will want to refactor.
|
||||
network->handleConfigChunk(0,Address(),Buffer<ZT_PROTO_MAX_PACKET_LENGTH>(dmsg),ptr);
|
||||
network->handleConfigChunk((void *)0,0,Address(),Buffer<ZT_PROTO_MAX_PACKET_LENGTH>(dmsg),ptr);
|
||||
}
|
||||
} break;
|
||||
}
|
||||
@@ -576,7 +584,7 @@ bool Cluster::sendViaCluster(int mostRecentMemberId,const Address &toPeerAddress
|
||||
for(std::vector<InetAddress>::const_iterator i2(_members[mostRecentMemberId].zeroTierPhysicalEndpoints.begin());i2!=_members[mostRecentMemberId].zeroTierPhysicalEndpoints.end();++i2) {
|
||||
if (i1->ss_family == i2->ss_family) {
|
||||
TRACE("sendViaCluster sending %u bytes to %s by way of %u (%s->%s)",len,toPeerAddress.toString().c_str(),(unsigned int)mostRecentMemberId,i1->toString().c_str(),i2->toString().c_str());
|
||||
RR->node->putPacket(*i1,*i2,data,len);
|
||||
RR->node->putPacket((void *)0,*i1,*i2,data,len);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -679,7 +687,7 @@ void Cluster::relayViaCluster(const Address &fromPeerAddress,const Address &toPe
|
||||
for(std::vector<InetAddress>::const_iterator i2(_members[mostRecentMemberId].zeroTierPhysicalEndpoints.begin());i2!=_members[mostRecentMemberId].zeroTierPhysicalEndpoints.end();++i2) {
|
||||
if (i1->ss_family == i2->ss_family) {
|
||||
TRACE("relayViaCluster relaying %u bytes from %s to %s by way of %u (%s->%s)",len,fromPeerAddress.toString().c_str(),toPeerAddress.toString().c_str(),(unsigned int)mostRecentMemberId,i1->toString().c_str(),i2->toString().c_str());
|
||||
RR->node->putPacket(*i1,*i2,data,len);
|
||||
RR->node->putPacket((void *)0,*i1,*i2,data,len);
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -948,7 +956,7 @@ void Cluster::_flush(uint16_t memberId)
|
||||
memcpy(keytmp,m.key,32);
|
||||
for(int i=0;i<8;++i)
|
||||
keytmp[i] ^= m.q[i];
|
||||
Salsa20 s20(keytmp,256,m.q.field(8,8));
|
||||
Salsa20 s20(keytmp,m.q.field(8,8));
|
||||
Utils::burn(keytmp,sizeof(keytmp));
|
||||
|
||||
// One-time-use Poly1305 key from first 32 bytes of Salsa20 keystream (as per DJB/NaCl "standard")
|
||||
@@ -981,7 +989,7 @@ void Cluster::_flush(uint16_t memberId)
|
||||
void Cluster::_doREMOTE_WHOIS(uint64_t fromMemberId,const Packet &remotep)
|
||||
{
|
||||
if (remotep.payloadLength() >= ZT_ADDRESS_LENGTH) {
|
||||
Identity queried(RR->topology->getIdentity(Address(remotep.payload(),ZT_ADDRESS_LENGTH)));
|
||||
Identity queried(RR->topology->getIdentity((void *)0,Address(remotep.payload(),ZT_ADDRESS_LENGTH)));
|
||||
if (queried) {
|
||||
Buffer<1024> routp;
|
||||
remotep.source().appendTo(routp);
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* ZeroTier One - Network Virtualization Everywhere
|
||||
* Copyright (C) 2011-2016 ZeroTier, Inc. https://www.zerotier.com/
|
||||
* Copyright (C) 2011-2017 ZeroTier, Inc. https://www.zerotier.com/
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@@ -14,6 +14,14 @@
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* --
|
||||
*
|
||||
* You can be released from the requirements of the license by purchasing
|
||||
* a commercial license. Buying such a license is mandatory as soon as you
|
||||
* develop commercial closed-source software that incorporates or links
|
||||
* directly against ZeroTier software without disclosing the source code
|
||||
* of your own application.
|
||||
*/
|
||||
|
||||
#ifndef ZT_CLUSTER_HPP
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* ZeroTier One - Network Virtualization Everywhere
|
||||
* Copyright (C) 2011-2016 ZeroTier, Inc. https://www.zerotier.com/
|
||||
* Copyright (C) 2011-2017 ZeroTier, Inc. https://www.zerotier.com/
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@@ -14,6 +14,14 @@
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* --
|
||||
*
|
||||
* You can be released from the requirements of the license by purchasing
|
||||
* a commercial license. Buying such a license is mandatory as soon as you
|
||||
* develop commercial closed-source software that incorporates or links
|
||||
* directly against ZeroTier software without disclosing the source code
|
||||
* of your own application.
|
||||
*/
|
||||
|
||||
#ifndef ZT_CLUSTERDEFINITION_HPP
|
||||
@@ -64,7 +72,7 @@ public:
|
||||
return;
|
||||
|
||||
char myAddressStr[64];
|
||||
Utils::snprintf(myAddressStr,sizeof(myAddressStr),"%.10llx",myAddress);
|
||||
Utils::ztsnprintf(myAddressStr,sizeof(myAddressStr),"%.10llx",myAddress);
|
||||
|
||||
std::vector<std::string> lines(OSUtils::split(cf.c_str(),"\r\n","",""));
|
||||
for(std::vector<std::string>::iterator l(lines.begin());l!=lines.end();++l) {
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* ZeroTier One - Network Virtualization Everywhere
|
||||
* Copyright (C) 2011-2016 ZeroTier, Inc. https://www.zerotier.com/
|
||||
* Copyright (C) 2011-2017 ZeroTier, Inc. https://www.zerotier.com/
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@@ -14,6 +14,14 @@
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* --
|
||||
*
|
||||
* You can be released from the requirements of the license by purchasing
|
||||
* a commercial license. Buying such a license is mandatory as soon as you
|
||||
* develop commercial closed-source software that incorporates or links
|
||||
* directly against ZeroTier software without disclosing the source code
|
||||
* of your own application.
|
||||
*/
|
||||
|
||||
#ifdef ZT_ENABLE_CLUSTER
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* ZeroTier One - Network Virtualization Everywhere
|
||||
* Copyright (C) 2011-2016 ZeroTier, Inc. https://www.zerotier.com/
|
||||
* Copyright (C) 2011-2017 ZeroTier, Inc. https://www.zerotier.com/
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@@ -14,6 +14,14 @@
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* --
|
||||
*
|
||||
* You can be released from the requirements of the license by purchasing
|
||||
* a commercial license. Buying such a license is mandatory as soon as you
|
||||
* develop commercial closed-source software that incorporates or links
|
||||
* directly against ZeroTier software without disclosing the source code
|
||||
* of your own application.
|
||||
*/
|
||||
|
||||
#ifndef ZT_CLUSTERGEOIPSERVICE_HPP
|
||||
+101
@@ -0,0 +1,101 @@
|
||||
/*
|
||||
* ZeroTier One - Network Virtualization Everywhere
|
||||
* Copyright (C) 2011-2018 ZeroTier, Inc. https://www.zerotier.com/
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* --
|
||||
*
|
||||
* You can be released from the requirements of the license by purchasing
|
||||
* a commercial license. Buying such a license is mandatory as soon as you
|
||||
* develop commercial closed-source software that incorporates or links
|
||||
* directly against ZeroTier software without disclosing the source code
|
||||
* of your own application.
|
||||
*/
|
||||
|
||||
#include "Constants.hpp"
|
||||
|
||||
namespace ZeroTier {
|
||||
|
||||
/**
|
||||
* A really simple fixed capacity vector
|
||||
*
|
||||
* This class does no bounds checking, so the user must ensure that
|
||||
* no more than C elements are ever added and that accesses are in
|
||||
* bounds.
|
||||
*
|
||||
* @tparam T Type to contain
|
||||
* @tparam C Capacity of vector
|
||||
*/
|
||||
template<typename T,unsigned long C>
|
||||
class FCV
|
||||
{
|
||||
public:
|
||||
FCV() : _s(0) {}
|
||||
~FCV() { clear(); }
|
||||
|
||||
FCV(const FCV &v) :
|
||||
_s(v._s)
|
||||
{
|
||||
for(unsigned long i=0;i<_s;++i) {
|
||||
new (reinterpret_cast<T *>(_mem + (sizeof(T) * i))) T(reinterpret_cast<const T *>(v._mem)[i]);
|
||||
}
|
||||
}
|
||||
|
||||
inline FCV &operator=(const FCV &v)
|
||||
{
|
||||
clear();
|
||||
_s = v._s;
|
||||
for(unsigned long i=0;i<_s;++i) {
|
||||
new (reinterpret_cast<T *>(_mem + (sizeof(T) * i))) T(reinterpret_cast<const T *>(v._mem)[i]);
|
||||
}
|
||||
return *this;
|
||||
}
|
||||
|
||||
typedef T * iterator;
|
||||
typedef const T * const_iterator;
|
||||
typedef unsigned long size_type;
|
||||
|
||||
inline iterator begin() { return (T *)_mem; }
|
||||
inline iterator end() { return (T *)(_mem + (sizeof(T) * _s)); }
|
||||
inline iterator begin() const { return (const T *)_mem; }
|
||||
inline iterator end() const { return (const T *)(_mem + (sizeof(T) * _s)); }
|
||||
|
||||
inline T &operator[](const size_type i) { return reinterpret_cast<T *>(_mem)[i]; }
|
||||
inline const T &operator[](const size_type i) const { return reinterpret_cast<const T *>(_mem)[i]; }
|
||||
|
||||
inline T &front() { return reinterpret_cast<T *>(_mem)[0]; }
|
||||
inline const T &front() const { return reinterpret_cast<const T *>(_mem)[0]; }
|
||||
inline T &back() { return reinterpret_cast<T *>(_mem)[_s - 1]; }
|
||||
inline const T &back() const { return reinterpret_cast<const T *>(_mem)[_s - 1]; }
|
||||
|
||||
inline void push_back(const T &v) { new (reinterpret_cast<T *>(_mem + (sizeof(T) * _s++))) T(v); }
|
||||
inline void pop_back() { reinterpret_cast<T *>(_mem + (sizeof(T) * --_s))->~T(); }
|
||||
|
||||
inline size_type size() const { return _s; }
|
||||
inline size_type capacity() const { return C; }
|
||||
|
||||
inline void clear()
|
||||
{
|
||||
for(unsigned long i=0;i<_s;++i)
|
||||
reinterpret_cast<T *>(_mem + (sizeof(T) * i))->~T();
|
||||
_s = 0;
|
||||
}
|
||||
|
||||
private:
|
||||
char _mem[sizeof(T) * C];
|
||||
unsigned long _s;
|
||||
};
|
||||
|
||||
} // namespace ZeroTier
|
||||
Binary file not shown.
Loaded 20 of 518 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user