mirror of
https://github.com/zerotier/ZeroTierOne.git
synced 2026-09-22 15:29:03 -07:00
Compare commits
351
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e4404164bd | ||
|
|
9d0b492642 | ||
|
|
5391e95fce | ||
|
|
954f6a77e5 | ||
|
|
e8c6b4ab16 | ||
|
|
21993819a5 | ||
|
|
904348b2ad | ||
|
|
e59cec4e3c | ||
|
|
c2eeb5d553 | ||
|
|
dea4bd01f4 | ||
|
|
ec52af420e | ||
|
|
3db328cc94 | ||
|
|
a624dfd776 | ||
|
|
af705ac504 | ||
|
|
af6d01e79b | ||
|
|
1ef3b2d526 | ||
|
|
1afd097445 | ||
|
|
52fad6e18f | ||
|
|
3f921c01a6 | ||
|
|
eefe34354e | ||
|
|
5188c7d41f | ||
|
|
f2ba613fb5 | ||
|
|
6cfdd5b2c1 | ||
|
|
f2cd7cd4eb | ||
|
|
0a8b692482 | ||
|
|
1542163689 | ||
|
|
9d66d876f4 | ||
|
|
0456a71295 | ||
|
|
70b1b4ecc7 | ||
|
|
bc4bd29488 | ||
|
|
f906eec42e | ||
|
|
73b5eadd3c | ||
|
|
1f8905dfc9 | ||
|
|
4465d36db5 | ||
|
|
d64c5a92c6 | ||
|
|
0ba358a3d4 | ||
|
|
86ff1e7cd2 | ||
|
|
13d7e2f2b9 | ||
|
|
bad1e0d529 | ||
|
|
6b21a4f494 | ||
|
|
891815054c | ||
|
|
ce2fb18c02 | ||
|
|
2f359a43bf | ||
|
|
a1b72f0e1a | ||
|
|
de308f05e0 | ||
|
|
ecfac0601a | ||
|
|
93ffd75b02 | ||
|
|
8af4eff43e | ||
|
|
167645ba6d | ||
|
|
baeab92737 | ||
|
|
24162fd490 | ||
|
|
95da2bcbcf | ||
|
|
a9e4fb0ed9 | ||
|
|
45b092532e | ||
|
|
3ec932e194 | ||
|
|
565bef05af | ||
|
|
a0c78da1ad | ||
|
|
7b14aeb53e | ||
|
|
f934a09baa | ||
|
|
414c248cc5 | ||
|
|
ca428233ba | ||
|
|
3712f9b318 | ||
|
|
11545bdb5d | ||
|
|
a390629371 | ||
|
|
e3e188109d | ||
|
|
7cbbc38b89 | ||
|
|
bd1861ef4d | ||
|
|
b152f9e1d3 | ||
|
|
24339092f7 | ||
|
|
4bd58d47cf | ||
|
|
982c32322b | ||
|
|
2fcc344299 | ||
|
|
3acd901c88 | ||
|
|
0795dbf5f1 | ||
|
|
101a3a7d74 | ||
|
|
2da162bed7 | ||
|
|
5282e06fd4 | ||
|
|
dc806dd718 | ||
|
|
31d8758ad9 | ||
|
|
ae70db0535 | ||
|
|
6b67cb0e2a | ||
|
|
250f0ef9db | ||
|
|
a690ffdb7c | ||
|
|
4aab9121d9 | ||
|
|
5ea7ef6b65 | ||
|
|
a3875f9965 | ||
|
|
4e3a59f329 | ||
|
|
3730917dda | ||
|
|
57516cfbe6 | ||
|
|
bb62279a20 | ||
|
|
e8be28734b | ||
|
|
6c5a097711 | ||
|
|
16a878adb1 | ||
|
|
020d882e82 | ||
|
|
44af828aa4 | ||
|
|
26a0cbcd73 | ||
|
|
1a106bca3b | ||
|
|
cc42d6f4e0 | ||
|
|
1316ee3127 | ||
|
|
eadca9dd75 | ||
|
|
59dd71187e | ||
|
|
36e167013a | ||
|
|
2d489a8679 | ||
|
|
d735a1d04c | ||
|
|
9480ff1f37 | ||
|
|
d2f2abe525 | ||
|
|
e9e20fdad8 | ||
|
|
53ba413d32 | ||
|
|
7280fcdec2 | ||
|
|
cbcd2be232 | ||
|
|
83a2dcb65a | ||
|
|
dd65680150 | ||
|
|
90f18f7ee7 | ||
|
|
317263b31c | ||
|
|
52679d2784 | ||
|
|
763d1cc3dc | ||
|
|
c9fe04d8ea | ||
|
|
f2c490345c | ||
|
|
fe5aad3cef | ||
|
|
927bc2e33d | ||
|
|
1331739ee4 | ||
|
|
3da8f5f053 | ||
|
|
fbbcf292c6 | ||
|
|
2851a9577c | ||
|
|
ed9b09e980 | ||
|
|
bcb3fc7fc0 | ||
|
|
70f37962cf | ||
|
|
fd7f61bab7 | ||
|
|
5f8714a0cd | ||
|
|
8d83b9b7c5 | ||
|
|
2c75be0d64 | ||
|
|
ee04118172 | ||
|
|
fe1ce885a0 | ||
|
|
24769219b5 | ||
|
|
da6fe18e17 | ||
|
|
a973a6e10e | ||
|
|
5bc64c4c4e | ||
|
|
bd92990165 | ||
|
|
e26a8be3df | ||
|
|
3ef1c8e3fa | ||
|
|
0ab4b903f4 | ||
|
|
b2ea5aa747 | ||
|
|
c80843e496 | ||
|
|
f9396f979f | ||
|
|
610d4ff016 | ||
|
|
f16421225d | ||
|
|
d82b3684ac | ||
|
|
d7e5a92fe6 | ||
|
|
bb45f9ca3c | ||
|
|
c7dcbba442 | ||
|
|
255dee7a5e | ||
|
|
c86418934c | ||
|
|
70efa5f606 | ||
|
|
69b2fcd5af | ||
|
|
1f93099e1a | ||
|
|
b3331c5ec2 | ||
|
|
ff23d3051f | ||
|
|
7d8cfb1fee | ||
|
|
8131680735 | ||
|
|
9e6dba9066 | ||
|
|
0f2887265c | ||
|
|
1ff45020e2 | ||
|
|
45c5abe05b | ||
|
|
e7dafb3ae6 | ||
|
|
04f6140da6 | ||
|
|
afcbc6dd9f | ||
|
|
4da9bed4fa | ||
|
|
221e4ecb12 | ||
|
|
1883a8c9ee | ||
|
|
83d92858c1 | ||
|
|
cff3152985 | ||
|
|
5090e95003 | ||
|
|
927aeb15f6 | ||
|
|
361ca1e8b4 | ||
|
|
9adf656db5 | ||
|
|
7219ca0c0f | ||
|
|
3a75950ff4 | ||
|
|
fa86b8bae0 | ||
|
|
f3c9ab8a7e | ||
|
|
ace03d7c7b | ||
|
|
97801b3b56 | ||
|
|
74d9e1e558 | ||
|
|
c210e9e5cf | ||
|
|
df640dc39b | ||
|
|
d980bba49f | ||
|
|
059dfee0c3 | ||
|
|
55f442f1a9 | ||
|
|
2b9d9168e0 | ||
|
|
94669a4709 | ||
|
|
be560eb704 | ||
|
|
36d867c3fa | ||
|
|
cf47618ffb | ||
|
|
62f23e0cfd | ||
|
|
0e8b54f7a1 | ||
|
|
1c9407e016 | ||
|
|
cb8d773634 | ||
|
|
bbb307aff7 | ||
|
|
3db263284b | ||
|
|
d8f041a484 | ||
|
|
120bcbc2c9 | ||
|
|
10ccaa2620 | ||
|
|
e6b5f8aabd | ||
|
|
4798689bf3 | ||
|
|
0545e70bd5 | ||
|
|
5032a8eeac | ||
|
|
1ad555a071 | ||
|
|
7d0f6933d6 | ||
|
|
4cd3d0bb76 | ||
|
|
8374553b6a | ||
|
|
eca4052884 | ||
|
|
2d7a96416c | ||
|
|
a1f4397959 | ||
|
|
53d5c9890f | ||
|
|
43c108f077 | ||
|
|
33cc59914a | ||
|
|
45b6d11126 | ||
|
|
b7b01da742 | ||
|
|
93d6b41898 | ||
|
|
47e9fb3ddb | ||
|
|
b1ddba0438 | ||
|
|
e7891bfcb0 | ||
|
|
7f99c4a779 | ||
|
|
2ac49d99dd | ||
|
|
3fd8efe642 | ||
|
|
06730c7d1d | ||
|
|
81c9db7a15 | ||
|
|
8d0a3563e4 | ||
|
|
c0c215c83c | ||
|
|
058d888311 | ||
|
|
30b18d925f | ||
|
|
137d05e799 | ||
|
|
d9c4e644de | ||
|
|
edd960566a | ||
|
|
6868e98904 | ||
|
|
85a5b0b948 | ||
|
|
b9a1719cb1 | ||
|
|
d6e3164ea1 | ||
|
|
302ac8fefe | ||
|
|
d2708daa8e | ||
|
|
88a3c685fb | ||
|
|
2e52a1eebf | ||
|
|
d098a99d09 | ||
|
|
6b197e067a | ||
|
|
9f4985b11a | ||
|
|
5b700fa497 | ||
|
|
c92e030a4b | ||
|
|
251b06d812 | ||
|
|
ff50762649 | ||
|
|
29ebda62ef | ||
|
|
a1b2ff772a | ||
|
|
dc784f6213 | ||
|
|
387039456d | ||
|
|
c1f4168d2f | ||
|
|
ffebcd247f | ||
|
|
fd0c906b1b | ||
|
|
decd5add2a | ||
|
|
8eb453e042 | ||
|
|
bd6c97aeb8 | ||
|
|
29e7fa5c4b | ||
|
|
a23b6d09c0 | ||
|
|
1bb1dfa87b | ||
|
|
a33a494d60 | ||
|
|
5f0ee4fc78 | ||
|
|
d0aacfddb7 | ||
|
|
9b92ad7772 | ||
|
|
17c7ae20cc | ||
|
|
fa5c8ef434 | ||
|
|
1dca7b92cf | ||
|
|
5e122b95e7 | ||
|
|
135a547889 | ||
|
|
06de25a680 | ||
|
|
5692402d32 | ||
|
|
ad7ae5a372 | ||
|
|
9794e31a64 | ||
|
|
2f0f0e4f53 | ||
|
|
7bde004c7c | ||
|
|
a8f830aa9c | ||
|
|
7266550c22 | ||
|
|
7ed960297b | ||
|
|
39da360725 | ||
|
|
beedee4401 | ||
|
|
fb0e8aebdb | ||
|
|
13929aee6f | ||
|
|
c2409ad6c9 | ||
|
|
08cb72bdba | ||
|
|
d24c8d858c | ||
|
|
879ef58565 | ||
|
|
8b8399efbc | ||
|
|
0f17508cac | ||
|
|
7a138f963c | ||
|
|
b637ced1ee | ||
|
|
ee91c81799 | ||
|
|
8ac42b4600 | ||
|
|
844725237d | ||
|
|
58d567c331 | ||
|
|
4465952d11 | ||
|
|
f8ba1962e6 | ||
|
|
701960def5 | ||
|
|
15c0c1db39 | ||
|
|
c9f942f79b | ||
|
|
663df9118a | ||
|
|
5d47697ade | ||
|
|
5babd01d40 | ||
|
|
aab96964b6 | ||
|
|
c6518afa7a | ||
|
|
563655a1a4 | ||
|
|
a50e8e9878 | ||
|
|
de9cfbe9b0 | ||
|
|
d699116795 | ||
|
|
8f3a0b17ad | ||
|
|
b5c661c5d5 | ||
|
|
154470b570 | ||
|
|
73b1d57b13 | ||
|
|
acb4ef0f12 | ||
|
|
d2db307bee | ||
|
|
182f16d2a4 | ||
|
|
32a78b5f61 | ||
|
|
54f9f2ad53 | ||
|
|
f12c75e68b | ||
|
|
b6b11dbf82 | ||
|
|
0d42108254 | ||
|
|
f6026f94a5 | ||
|
|
e702942041 | ||
|
|
00ac35ad62 | ||
|
|
12a92fc4a1 | ||
|
|
baa14a63c9 | ||
|
|
d5467e130e | ||
|
|
bb84c9b65c | ||
|
|
e744c95c5b | ||
|
|
a725d1a29a | ||
|
|
38feda1594 | ||
|
|
afca5c2536 | ||
|
|
5453cab22b | ||
|
|
b0a91c0187 | ||
|
|
963113b86d | ||
|
|
0634214f2c | ||
|
|
15e44f0ddd | ||
|
|
b0e86d11c9 | ||
|
|
5b7d60f5cd | ||
|
|
640567a021 | ||
|
|
2593c6efee | ||
|
|
36d368cb78 | ||
|
|
2e9fa7a811 | ||
|
|
d8ce1f7914 | ||
|
|
3c7e25ed58 | ||
|
|
77ae929eb3 | ||
|
|
258b1c8b55 | ||
|
|
1e66854b59 | ||
|
|
12f2df5586 | ||
|
|
20a25a6a45 | ||
|
|
08d9dc5c68 |
No files matched your search
+1
-2
@@ -1,3 +1,2 @@
|
||||
.git/
|
||||
build/
|
||||
!build/zerotier
|
||||
workspace/
|
||||
@@ -0,0 +1,4 @@
|
||||
ext/bin/tap-windows-ndis6/x64/zttap300.inf eol=crlf
|
||||
ext/bin/tap-windows-ndis6/x64.old/zttap300.inf eol=crlf
|
||||
ext/bin/tap-windows-ndis6/x86/zttap300.inf eol=crlf
|
||||
windows/TapDriver6/zttap300.inf eol=crlf
|
||||
@@ -1,46 +0,0 @@
|
||||
---
|
||||
name: Bug report
|
||||
about: Create a report to help us improve
|
||||
|
||||
---
|
||||
**Alternative, faster ways to get help**
|
||||
If you have just started using ZeroTier, here are some places to get help:
|
||||
- my.zerotier.com has a _Community_ tab. It's a live chat with other users and the developers.
|
||||
- [ZeroTier Knowledge Base](https://zerotier.atlassian.net/wiki/spaces/SD/overview)
|
||||
- www.zerotier.com has a Contact Us button
|
||||
- email contact@zerotier.com
|
||||
|
||||
**Describe the bug**
|
||||
A clear and concise description of what the bug is.
|
||||
|
||||
**To Reproduce**
|
||||
Steps to reproduce the behavior:
|
||||
1. Create a Network '...'
|
||||
2. Install zerotier-one '....'
|
||||
3. '....'
|
||||
4. See error
|
||||
|
||||
**Expected behavior**
|
||||
A clear and concise description of what you expected to happen.
|
||||
|
||||
**Screenshots**
|
||||
If applicable, add screenshots or console output to help explain your problem.
|
||||
|
||||
**Desktop (please complete the following information):**
|
||||
- OS: [e.g. Mac, Linux, Windows, BSD]
|
||||
- OS/Distribution Version
|
||||
- ZeroTier Version [e.g. 1.2.4]
|
||||
- Hardware [e.g. raspberry pi 3]
|
||||
|
||||
**Smartphone (please complete the following information):**
|
||||
- Device: [e.g. iPhone6]
|
||||
- OS: [e.g. iOS8.1]
|
||||
- Version [e.g. 1.2.4]
|
||||
|
||||
**Additional context**
|
||||
Add any other context about the problem here.
|
||||
- ZeroTier Network Configuration
|
||||
- Router Config
|
||||
- Firewall Config (try turning the firewall off)
|
||||
- General Network Environment: [ e.g Home, University Campus, Corporate LAN ]
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
---
|
||||
name: Bugs and Issues
|
||||
about: Create a report to help us improve
|
||||
title: ''
|
||||
labels: NEEDS TRIAGE
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
# Before filing a Bug Report
|
||||
|
||||
_Using these will ensure you get quicker support, and make this space available for code-related issues. Thank you!_
|
||||
|
||||
- [Knowledge Base](https://zerotier.atlassian.net/wiki/spaces/SD/overview) => Guides and documentation on how to use ZeroTier.
|
||||
- [Discuss Forum](https://discuss.zerotier.com/) => Our discussion forum for users and support to mutally resolve issues & suggest ideas.
|
||||
- [Reddit](https://www.reddit.com/r/zerotier/) => Our subreddit, which we monitor regularly and is fairly active.
|
||||
- https://www.zerotier.com/contact/ => Sales and licensing queries
|
||||
- https://zerotier.atlassian.net/servicedesk/customer/portals => Customer Support Portal
|
||||
|
||||
# If you still want to file a Bug Report
|
||||
|
||||
## Required
|
||||
|
||||
- What you expect to be happening.
|
||||
- What is actually happening?
|
||||
- Any steps to reproduce the error.
|
||||
- Any screenshots that would help us out.
|
||||
|
||||
## Additional information
|
||||
|
||||
**Desktop (please complete the following information):**
|
||||
- OS: [e.g. Mac, Linux, Windows, BSD]
|
||||
- OS/Distribution Version
|
||||
- ZeroTier Version [e.g. 1.4.6]
|
||||
|
||||
**Smartphone (please complete the following information):**
|
||||
- Device: [e.g. iPhone6]
|
||||
- OS: [e.g. iOS8.1]
|
||||
- ZeroTier Version [e.g. 1.4.6]
|
||||
|
||||
**Embedded & NAS (please complete the following information):**
|
||||
- Device: [e.g. Synology, Pi4]
|
||||
- OS/Distribution (if applicable)
|
||||
- ZeroTier Version [e.g. 1.4.6]
|
||||
|
||||
**Additional context**
|
||||
- ZeroTier Network Configuration: IPv4 & IPv6 networks defined on your ZeroTier Central
|
||||
- Router Config: are you permitting port 9993, uPnP, and NAT-PMP?
|
||||
- Firewall Config: are you permitting port 9993 on your OS; setting it to "Private" on Windows?
|
||||
- Are you using this at home, in an office, college, etc?
|
||||
@@ -1,17 +1,13 @@
|
||||
---
|
||||
name: Feature request
|
||||
about: Suggest an idea for this project
|
||||
title: "[Feature Request] "
|
||||
labels: suggestion
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**Is your feature request related to a problem? Please describe.**
|
||||
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
||||
If there is something you'd like to have added to ZeroTier, to go to https://discuss.zerotier.com/c/feature-requests/ instead. Issues there can be voted on and discussed in-depth.
|
||||
|
||||
**Describe the solution you'd like**
|
||||
A clear and concise description of what you want to happen.
|
||||
|
||||
**Describe alternatives you've considered**
|
||||
A clear and concise description of any alternative solutions or features you've considered.
|
||||
|
||||
**Additional context**
|
||||
Add any other context or screenshots about the feature request here.
|
||||
Thank you!
|
||||
@@ -0,0 +1,15 @@
|
||||
---
|
||||
name: Game Connection Issue
|
||||
about: Game issues are better served by forum posts
|
||||
title: Please go to our Discuss or Reddit for game-related issues. Thanks!
|
||||
labels: wontfix
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
Are you having trouble connecting to a game on your virtual network after installing ZeroTier?
|
||||
|
||||
- [ ] Yes
|
||||
- [ ] No
|
||||
|
||||
If you answered yes, then it is very likely that your question would be better answered on our [Discuss ](https://discuss.zerotier.com) forum or [Reddit](https://www.reddit.com/r/zerotier/) community; we monitor both regularly. We also have extensive documentation on our [Knowledge Base](https://zerotier.atlassian.net/wiki/spaces/SD/overview). Thank you!
|
||||
Regular → Executable
+103
-18
@@ -1,23 +1,60 @@
|
||||
/build
|
||||
/cmake-build-debug
|
||||
/cmake-build-release
|
||||
/core/version.h
|
||||
/.idea
|
||||
/.ide-*
|
||||
# Main binaries created in *nix builds
|
||||
/zerotier-one
|
||||
/zerotier-idtool
|
||||
/zerotier-cli
|
||||
/zerotier-selftest
|
||||
/zerotier
|
||||
/nltest
|
||||
|
||||
# OS-created garbage files from various platforms
|
||||
.DS_Store
|
||||
.Trashes
|
||||
*.swp
|
||||
._*
|
||||
*~
|
||||
*~.nib
|
||||
*.secret
|
||||
.Apple*
|
||||
Thumbs.db
|
||||
@eaDir
|
||||
.vscode
|
||||
__pycache__
|
||||
._*
|
||||
|
||||
# Windows build droppings
|
||||
/windows/ZeroTierOne.sdf
|
||||
/windows/ZeroTierOne.v11.suo
|
||||
/windows/x64
|
||||
/windows/Win32
|
||||
/windows/*/x64
|
||||
/windows/*/Win32
|
||||
/windows/ZeroTierOne/Release
|
||||
/windows/ZeroTierOneService/obj
|
||||
/windows/ZeroTierOneService/bin
|
||||
/windows/Build
|
||||
/windows/Debug
|
||||
/windows/Release
|
||||
/windows/WebUIWrapper/bin
|
||||
/windows/WebUIWrapper/obj
|
||||
/windows/lib
|
||||
/ext/installfiles/windows/ZeroTier One-SetupFiles
|
||||
/ext/installfiles/windows/Prerequisites
|
||||
/ext/installfiles/windows/*-cache
|
||||
/ZeroTier One.msi
|
||||
*.vcxproj.backup
|
||||
/windows/TapDriver6/Win7Debug
|
||||
/windows/TapDriver6/win7Release
|
||||
/windows/*.db
|
||||
/windows/*.opendb
|
||||
enc_temp_folder
|
||||
/windows/copyutil/bin
|
||||
/windows/copyutil/obj
|
||||
.vs/
|
||||
|
||||
# *nix/Mac build droppings
|
||||
/build-*
|
||||
/ZeroTierOneInstaller-*
|
||||
/examples/docker/zerotier-one
|
||||
/examples/docker/test-*.env
|
||||
/world/mkworld
|
||||
/world/*.c25519
|
||||
zt1-src.tar.gz
|
||||
/MacEthernetTapAgent
|
||||
|
||||
# Miscellaneous temporaries, build files, etc.
|
||||
*.log
|
||||
*.bak
|
||||
*.opensdf
|
||||
*.user
|
||||
*.cache
|
||||
@@ -26,6 +63,10 @@ __pycache__
|
||||
*.pid
|
||||
*.pkg
|
||||
*.o
|
||||
/*.a
|
||||
*.dylib
|
||||
*.so
|
||||
*.so.*
|
||||
*.o-*
|
||||
*.core
|
||||
*.deb
|
||||
@@ -34,6 +75,50 @@ __pycache__
|
||||
*.tmp
|
||||
.depend
|
||||
node_modules
|
||||
*.vcxproj.backup
|
||||
/*.db
|
||||
/*.opendb
|
||||
zt1_update_*
|
||||
debian/files
|
||||
debian/zerotier-one
|
||||
debian/zerotier-one*.debhelper
|
||||
debian/*.log
|
||||
debian/zerotier-one.substvars
|
||||
root-watcher/config.json
|
||||
|
||||
# Java/Android/JNI build droppings
|
||||
java/obj/
|
||||
java/libs/
|
||||
java/bin/
|
||||
java/classes/
|
||||
java/doc/
|
||||
java/build_win64/
|
||||
java/build_win32/
|
||||
/java/mac32_64/
|
||||
windows/WinUI/obj/
|
||||
windows/WinUI/bin/
|
||||
windows/ZeroTierOne/Debug/
|
||||
/ext/installfiles/windows/chocolatey/zerotier-one/*.nupkg
|
||||
|
||||
# Miscellaneous mac/Xcode droppings
|
||||
.DS_Store
|
||||
.Trashes
|
||||
*.swp
|
||||
*~.nib
|
||||
DerivedData/
|
||||
build/
|
||||
*.pbxuser
|
||||
*.mode1v3
|
||||
*.mode2v3
|
||||
*.perspectivev3
|
||||
!default.pbxuser
|
||||
!default.mode1v3
|
||||
!default.mode2v3
|
||||
!default.perspectivev3
|
||||
*.xccheckout
|
||||
xcuserdata/
|
||||
ext/librethinkdbxx/build
|
||||
.vscode
|
||||
__pycache__
|
||||
*~
|
||||
attic/world/*.c25519
|
||||
attic/world/mkworld
|
||||
workspace/
|
||||
workspace2/
|
||||
+21
-7
@@ -9,7 +9,7 @@
|
||||
* Java JNI Interface to enable Android application development, and Android app itself (code for that is elsewhere)<br>
|
||||
Grant Limberg / glimberg@gmail.com
|
||||
|
||||
* ZeroTier SDK / libzt<br>
|
||||
* ZeroTier SDK (formerly known as Network Containers)<br>
|
||||
Joseph Henry / joseph.henry@zerotier.com
|
||||
|
||||
## Third Party Contributors
|
||||
@@ -32,30 +32,44 @@ ZeroTier includes the following third party code, either in ext/ or incorporated
|
||||
|
||||
* LZ4 compression algorithm by Yann Collet
|
||||
|
||||
* Files: node/LZ4.cpp
|
||||
* Files: node/Packet.cpp (bundled within anonymous namespace)
|
||||
* Home page: http://code.google.com/p/lz4/
|
||||
* License: BSD 2-clause
|
||||
* License grant: BSD 2-clause
|
||||
|
||||
* http-parser by Joyent, Inc. (many authors)
|
||||
|
||||
* Files: ext/http-parser/*
|
||||
* Home page: https://github.com/joyent/http-parser/
|
||||
* License grant: MIT/Expat
|
||||
|
||||
* C++11 json (nlohmann/json) by Niels Lohmann
|
||||
|
||||
* Files: ext/json/*
|
||||
* Home page: https://github.com/nlohmann/json
|
||||
* License: MIT
|
||||
* License grant: MIT
|
||||
|
||||
* tap-windows6 by the OpenVPN project
|
||||
|
||||
* Files: windows/TapDriver6/*
|
||||
* Home page: https://github.com/OpenVPN/tap-windows6/
|
||||
* License: GNU GPL v2
|
||||
* License grant: GNU GPL v2
|
||||
* ZeroTier Modifications: change name of driver to ZeroTier, add ioctl() to get L2 multicast memberships (source is in ext/ and modifications inherit GPL)
|
||||
|
||||
* Salsa20 stream cipher, Curve25519 elliptic curve cipher, Ed25519 digital signature algorithm, and Poly1305 MAC algorithm, all by Daniel J. Bernstein
|
||||
|
||||
* Files: node/Salsa20.* node/C25519.* node/Poly1305.*
|
||||
* Home page: http://cr.yp.to/
|
||||
* License: public domain
|
||||
* License grant: public domain
|
||||
* ZeroTier Modifications: slight cryptographically-irrelevant modifications for inclusion into ZeroTier core
|
||||
|
||||
* MiniUPNPC and libnatpmp by Thomas Bernard
|
||||
|
||||
* Files: ext/libnatpmp/* ext/miniupnpc/*
|
||||
* Home page: http://miniupnp.free.fr/
|
||||
* License grant: BSD attribution no-endorsement
|
||||
|
||||
* cpp-httplib by yhirose
|
||||
|
||||
* Files: ext/cpp-httplib/*
|
||||
* Home page: https://github.com/yhirose/cpp-httplib
|
||||
* License: MIT
|
||||
* License grant: MIT
|
||||
+8
-342
@@ -1,346 +1,12 @@
|
||||
cmake_minimum_required (VERSION 3.8)
|
||||
# CMake build script for libzerotiercore.a
|
||||
|
||||
cmake_policy(SET CMP0048 NEW)
|
||||
cmake_minimum_required (VERSION 2.8)
|
||||
project (zerotiercore)
|
||||
|
||||
if(${CMAKE_VERSION} VERSION_LESS 3.15)
|
||||
cmake_policy(VERSION ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION})
|
||||
else()
|
||||
cmake_policy(VERSION 3.15)
|
||||
endif()
|
||||
set (PROJ_DIR ${PROJECT_SOURCE_DIR})
|
||||
set (ZT_DEFS -std=c++11)
|
||||
|
||||
set(ZEROTIER_VERSION_MAJOR 1 CACHE INTERNAL "")
|
||||
set(ZEROTIER_VERSION_MINOR 9 CACHE INTERNAL "")
|
||||
set(ZEROTIER_VERSION_REVISION 0 CACHE INTERNAL "")
|
||||
set(ZEROTIER_VERSION_BUILD 0 CACHE INTERNAL "")
|
||||
file(GLOB core_src_glob ${PROJ_DIR}/node/*.cpp)
|
||||
add_library(zerotiercore STATIC ${core_src_glob})
|
||||
|
||||
project(zerotier
|
||||
VERSION ${ZEROTIER_VERSION_MAJOR}.${ZEROTIER_VERSION_MINOR}.${ZEROTIER_VERSION_REVISION}.${ZEROTIER_VERSION_BUILD}
|
||||
DESCRIPTION "ZeroTier Network Hypervisor"
|
||||
LANGUAGES CXX C)
|
||||
|
||||
if(NOT PACKAGE_STATIC)
|
||||
|
||||
find_program(
|
||||
GO go
|
||||
HINTS "/usr/local/go/bin" "/usr/bin" "/usr/local/bin" "C:/go/bin"
|
||||
)
|
||||
if(NOT GO)
|
||||
message(FATAL_ERROR "Golang not found")
|
||||
else(NOT GO)
|
||||
message(STATUS "Found Golang at ${GO}")
|
||||
endif(NOT GO)
|
||||
|
||||
set(default_build_type "Release")
|
||||
|
||||
if(WIN32)
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_SYSTEM_VERSION "7" CACHE STRING INTERNAL FORCE)
|
||||
else(WIN32)
|
||||
if(APPLE)
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
else(APPLE)
|
||||
set(CMAKE_CXX_STANDARD 11)
|
||||
endif(APPLE)
|
||||
endif(WIN32)
|
||||
|
||||
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
|
||||
message(STATUS "Setting build type to '${default_build_type}' as none was specified.")
|
||||
set(CMAKE_BUILD_TYPE "${default_build_type}" CACHE STRING "Choose the type of build." FORCE)
|
||||
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "MinSizeRel" "RelWithDebInfo")
|
||||
endif()
|
||||
|
||||
option(BUILD_CENTRAL_CONTROLLER "Build ZeroTier Central Controller" OFF)
|
||||
if(BUILD_CENTRAL_CONTROLLER)
|
||||
find_package(PkgConfig REQUIRED)
|
||||
if(APPLE)
|
||||
set(CMAKE_PREFIX_PATH
|
||||
${CMAKE_PREFIX_PATH}
|
||||
/usr/local/opt/libpq
|
||||
/usr/local/lib
|
||||
)
|
||||
endif(APPLE)
|
||||
find_package(PostgreSQL REQUIRED)
|
||||
|
||||
pkg_check_modules(hiredis REQUIRED IMPORTED_TARGET hiredis)
|
||||
|
||||
add_subdirectory(controller/thirdparty/redis-plus-plus-1.1.1)
|
||||
set(redispp_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/controller/thirdparty/redis-plus-plus-1.1.1/src/sw)
|
||||
set(redispp_STATIC_LIB redispp_static)
|
||||
endif(BUILD_CENTRAL_CONTROLLER)
|
||||
|
||||
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||
add_definitions(-DZT_DEBUG)
|
||||
endif(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||
|
||||
if(WIN32)
|
||||
|
||||
message("++ Setting Windows Compiler Flags ${CMAKE_BUILD_TYPE}")
|
||||
|
||||
add_definitions(-DNOMINMAX)
|
||||
add_compile_options(
|
||||
-Wall
|
||||
-Wno-deprecated
|
||||
-Wno-unused-function
|
||||
-Wno-format
|
||||
$<$<CONFIG:DEBUG>:-g>
|
||||
$<$<CONFIG:DEBUG>:-O0>
|
||||
$<$<CONFIG:RELEASE>:-O3>
|
||||
$<$<CONFIG:RELEASE>:-ffast-math>
|
||||
$<$<CONFIG:RELWITHDEBINFO>:-O3>
|
||||
$<$<CONFIG:RELWITHDEBINFO>:-g>
|
||||
)
|
||||
|
||||
set(GOFLAGS
|
||||
-a
|
||||
-trimpath
|
||||
)
|
||||
|
||||
if(BUILD_32BIT)
|
||||
set(CMAKE_SYSTEM_PROCESSOR "x86" CACHE STRING "system processor")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32" CACHE STRING "c++ flags")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m32" CACHE STRING "c flags")
|
||||
set(GOARCH "GOARCH=386" CACHE STRING "go architecture")
|
||||
add_compile_options(
|
||||
-m32
|
||||
)
|
||||
add_link_options(
|
||||
-m32
|
||||
)
|
||||
endif(BUILD_32BIT)
|
||||
|
||||
else(WIN32)
|
||||
|
||||
set(GOFLAGS
|
||||
-trimpath
|
||||
-buildmode=pie
|
||||
)
|
||||
|
||||
if(APPLE)
|
||||
|
||||
message("++ Setting MacOS Compiler Flags ${CMAKE_BUILD_TYPE}")
|
||||
|
||||
set(MACOS_VERSION_MIN "10.12")
|
||||
|
||||
add_compile_options(
|
||||
-Wall
|
||||
-Wno-deprecated
|
||||
-Wno-unused-function
|
||||
-mmacosx-version-min=${MACOS_VERSION_MIN}
|
||||
$<$<CONFIG:DEBUG>:-g>
|
||||
$<$<CONFIG:DEBUG>:-O0>
|
||||
$<$<CONFIG:RELEASE>:-Ofast>
|
||||
$<$<CONFIG:RELEASE>:-ffast-math>
|
||||
$<$<CONFIG:RELEASE>:-fPIE>
|
||||
$<$<CONFIG:RELEASE>:-flto>
|
||||
$<$<CONFIG:RELWITHDEBINFO>:-O1>
|
||||
$<$<CONFIG:RELWITHDEBINFO>:-fPIE>
|
||||
$<$<CONFIG:RELWITHDEBINFO>:-g>
|
||||
)
|
||||
|
||||
add_link_options(
|
||||
-mmacosx-version-min=${MACOS_VERSION_MIN}
|
||||
$<$<CONFIG:RELEASE>:-flto>
|
||||
)
|
||||
|
||||
set(GOFLAGS
|
||||
${GOFLAGS}
|
||||
-a
|
||||
-ldflags '-w -extldflags \"-Wl,-undefined -Wl,dynamic_lookup\"'
|
||||
)
|
||||
|
||||
else(APPLE)
|
||||
|
||||
message("++ Setting Linux/BSD/Posix Compiler Flags (${CMAKE_BUILD_TYPE})")
|
||||
|
||||
add_compile_options(
|
||||
-Wall
|
||||
-Wno-deprecated
|
||||
-Wno-unused-function
|
||||
-Wno-format
|
||||
$<$<CONFIG:DEBUG>:-g>
|
||||
$<$<CONFIG:DEBUG>:-O0>
|
||||
$<$<CONFIG:RELEASE>:-O3>
|
||||
$<$<CONFIG:RELEASE>:-ffast-math>
|
||||
$<$<CONFIG:RELEASE>:-fPIE>
|
||||
$<$<CONFIG:RELWITHDEBINFO>:-O3>
|
||||
$<$<CONFIG:RELWITHDEBINFO>:-fPIE>
|
||||
$<$<CONFIG:RELWITHDEBINFO>:-g>
|
||||
)
|
||||
|
||||
option(BUILD_32BIT "Force building as 32-bit binary" OFF)
|
||||
option(BUILD_STATIC "Build statically linked executable" OFF)
|
||||
option(BUILD_ARM_V5 "Build ARMv5" OFF)
|
||||
option(BUILD_ARM_V6 "Build ARMv6" OFF)
|
||||
|
||||
if(BUILD_ARM_V5 AND BUILD_ARM_V6)
|
||||
message(FATAL_ERROR "BUILD_ARM_V5 and BUILD_ARM_V6 are mutually exclusive!")
|
||||
endif(BUILD_ARM_V5 AND BUILD_ARM_V6)
|
||||
|
||||
if(BUILD_32BIT)
|
||||
set(CMAKE_SYSTEM_PROCESSOR "x86" CACHE STRING "system processor")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32" CACHE STRING "c++ flags")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m32" CACHE STRING "c flags")
|
||||
set(GOARCH "GOARCH=386" CACHE STRING "go architecture")
|
||||
add_compile_options(
|
||||
-m32
|
||||
)
|
||||
endif(BUILD_32BIT)
|
||||
|
||||
if(BUILD_STATIC)
|
||||
add_link_options(
|
||||
-static
|
||||
)
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-static ${CMAKE_EXE_LINKER_FLAGS}")
|
||||
set(GOFLAGS
|
||||
${GOFLAGS}
|
||||
-a
|
||||
-tags osusergo,netgo
|
||||
-ldflags '-w -extldflags \"-static -Wl,-unresolved-symbols=ignore-all\"'
|
||||
)
|
||||
else(BUILD_STATIC)
|
||||
set(GOFLAGS
|
||||
${GOFLAGS}
|
||||
-a
|
||||
-ldflags '-w -extldflags \"-Wl,-unresolved-symbols=ignore-all\"'
|
||||
)
|
||||
endif(BUILD_STATIC)
|
||||
|
||||
if(BUILD_ARM_V5)
|
||||
set(GOARM "GOARM=5")
|
||||
endif(BUILD_ARM_V5)
|
||||
|
||||
if(BUILD_ARM_V6)
|
||||
set(GOARM "GOARM=6")
|
||||
endif(BUILD_ARM_V6)
|
||||
|
||||
endif(APPLE)
|
||||
endif(WIN32)
|
||||
|
||||
if (
|
||||
CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64" OR
|
||||
CMAKE_SYSTEM_PROCESSOR MATCHES "amd64" OR
|
||||
CMAKE_SYSTEM_PROCESSOR MATCHES "AMD64" OR
|
||||
CMAKE_SYSTEM_PROCESSOR MATCHES "X86_64" OR
|
||||
CMAKE_SYSTEM_PROCESSOR MATCHES "x64" OR
|
||||
CMAKE_SYSTEM_PROCESSOR MATCHES "X64"
|
||||
)
|
||||
message("++ Adding flags for processor ${CMAKE_SYSTEM_PROCESSOR}")
|
||||
add_compile_options(-maes -mrdrnd -mpclmul -msse -msse2)
|
||||
endif()
|
||||
|
||||
if (
|
||||
CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64" OR
|
||||
CMAKE_SYSTEM_PROCESSOR MATCHES "arm64" OR
|
||||
CMAKE_SYSTEM_PROCESSOR MATCHES "ARM64" OR
|
||||
CMAKE_SYSTEM_PROCESSOR MATCHES "AARCH64"
|
||||
)
|
||||
message("++ Adding flags for processor ${CMAKE_SYSTEM_PROCESSOR}")
|
||||
add_compile_options(-march=armv8-a+aes+crypto -mtune=generic -mstrict-align)
|
||||
endif()
|
||||
|
||||
set(GO_BUILD_TAGS)
|
||||
|
||||
if(BUILD_CENTRAL_CONTROLLER)
|
||||
add_definitions(-DZT_CONTROLLER_USE_LIBPQ=1)
|
||||
set(GO_BUILD_TAGS -tags central)
|
||||
endif(BUILD_CENTRAL_CONTROLLER)
|
||||
|
||||
add_subdirectory(core)
|
||||
add_subdirectory(controller)
|
||||
add_subdirectory(osdep)
|
||||
add_subdirectory(serviceiocore)
|
||||
|
||||
file(GLOB go_src
|
||||
${CMAKE_SOURCE_DIR}/cmd/*.go
|
||||
${CMAKE_SOURCE_DIR}/cmd/cmd/*.go
|
||||
${CMAKE_SOURCE_DIR}/pkg/zerotier/*.go
|
||||
)
|
||||
file(GLOB go_zt_service_tests_cmd_src
|
||||
${CMAKE_SOURCE_DIR}/cmd/zt_service_tests/*.go
|
||||
)
|
||||
|
||||
if(WIN32)
|
||||
set(GO_EXE_NAME "zerotier.exe")
|
||||
set(GO_SERVICE_TESTS_EXE_NAME "zt_service_tests.exe")
|
||||
set(GO_EXTRA_LIBRARIES "-lstdc++ -lwsock32 -lws2_32 -liphlpapi -lole32 -loleaut32 -lrpcrt4 -luuid")
|
||||
else(WIN32)
|
||||
set(GO_EXE_NAME "zerotier")
|
||||
set(GO_SERVICE_TESTS_EXE_NAME "zt_service_tests")
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Linux")
|
||||
set(GO_EXTRA_LIBRARIES "-lstdc++")
|
||||
if(BUILD_ARM_V5)
|
||||
set(GO_EXTRA_LIBRARIES
|
||||
${GO_EXTRA_LIBRARIES}
|
||||
"-latomic"
|
||||
)
|
||||
endif(BUILD_ARM_V5)
|
||||
else()
|
||||
set(GO_EXTRA_LIBRARIES "-lc++" "-lm")
|
||||
endif()
|
||||
endif(WIN32)
|
||||
|
||||
add_custom_target(
|
||||
zt_service_tests ALL
|
||||
BYPRODUCTS ${CMAKE_BINARY_DIR}/zt_service_tests
|
||||
SOURCES ${go_src} ${go_zt_service_tests_cmd_src}
|
||||
COMMAND ${CMAKE_COMMAND} -E env ${GOARCH} ${GOARM} CGO_ENABLED=1 CGO_CFLAGS=\"-O3\" CGO_LDFLAGS=\"$<TARGET_FILE:zt_core> $<TARGET_FILE:zt_controller> $<TARGET_FILE:zt_service_io_core> $<TARGET_FILE:zt_osdep> ${GO_EXTRA_LIBRARIES}\" ${GO} build -mod=vendor ${GOFLAGS} -o ${CMAKE_BINARY_DIR}/${GO_SERVICE_TESTS_EXE_NAME} ${go_zt_service_tests_cmd_src}
|
||||
COMMENT "Compiling zt_service_tests (Go/cgo self-tests)..."
|
||||
)
|
||||
add_dependencies(zt_service_tests zt_osdep zt_core zt_controller zt_service_io_core)
|
||||
|
||||
add_custom_target(
|
||||
zerotier ALL
|
||||
BYPRODUCTS ${CMAKE_BINARY_DIR}/zerotier
|
||||
SOURCES ${go_src}
|
||||
COMMAND ${CMAKE_COMMAND} -E env ${GOARCH} ${GOARM} CGO_ENABLED=1 CGO_CFLAGS=\"-O3\" CGO_LDFLAGS=\"$<TARGET_FILE:zt_core> $<TARGET_FILE:zt_controller> $<TARGET_FILE:zt_service_io_core> $<TARGET_FILE:zt_osdep> ${GO_EXTRA_LIBRARIES}\" ${GO} build -mod=vendor ${GOFLAGS} -o ${CMAKE_BINARY_DIR}/${GO_EXE_NAME} ${CMAKE_SOURCE_DIR}/cmd/zerotier/zerotier.go
|
||||
COMMENT "Compiling Go Code..."
|
||||
)
|
||||
add_dependencies(zerotier zt_osdep zt_core zt_controller zt_service_io_core)
|
||||
|
||||
install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/zerotier DESTINATION bin)
|
||||
|
||||
else(NOT PACKAGE_STATIC)
|
||||
|
||||
if(BUILD_32BIT)
|
||||
set(CMAKE_SYSTEM_PROCESSOR "x86" CACHE STRING "system processor")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32" CACHE STRING "c++ flags")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m32" CACHE STRING "c flags")
|
||||
add_compile_options(
|
||||
-m32
|
||||
)
|
||||
endif(BUILD_32BIT)
|
||||
|
||||
set(STATIC_BINARY ${CMAKE_BINARY_DIR}/zerotier)
|
||||
set(IMPORTED_LOCATION ${CMAKE_BINARY_DIR})
|
||||
add_executable(zerotier IMPORTED GLOBAL)
|
||||
install(PROGRAMS ${STATIC_BINARY} DESTINATION bin)
|
||||
|
||||
endif(NOT PACKAGE_STATIC)
|
||||
|
||||
# Linux packaging
|
||||
|
||||
if("${CMAKE_SYSTEM_NAME}" EQUAL "Linux")
|
||||
if(IS_DIRECTORY /lib/systemd/system)
|
||||
install(
|
||||
FILES ${CMAKE_CURRENT_SOURCE_DIR}/packaging/debian/zerotier.service
|
||||
DESTINATION /lib/systemd/system
|
||||
)
|
||||
elseif(IS_DIRECTORY /usr/lib/systemd/system)
|
||||
install(
|
||||
FILES ${CMAKE_CURRENT_SOURCE_DIR}/packaging/debian/zerotier.service
|
||||
DESTINATION /usr/lib/systemd/system
|
||||
)
|
||||
else()
|
||||
install(
|
||||
FILES ${CMAKE_CURRENT_SOURCE_DIR}/packaging/debian/zerotier.init
|
||||
DESTINATION /etc/init.d
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if("${ZT_PACKAGE_FORMAT}" MATCHES "DEB")
|
||||
include(packaging/debian.cmake)
|
||||
elseif("${ZT_PACKAGE_FORMAT}" MATCHES "RPM")
|
||||
include(packaging/rpm.cmake)
|
||||
else()
|
||||
endif()
|
||||
target_compile_options(zerotiercore PRIVATE ${ZT_DEFS})
|
||||
@@ -1,5 +1,5 @@
|
||||
ZeroTier One, an endpoint server for the ZeroTier virtual network layer.
|
||||
Copyright © 2013–2020 ZeroTier, Inc.
|
||||
Copyright © 2011–2019 ZeroTier, Inc.
|
||||
|
||||
ZeroTier is released under the terms of the BSL version 1.1. See the
|
||||
file LICENSE.txt for details.
|
||||
|
||||
Vendored
+87
-224
@@ -7,9 +7,6 @@ pipeline {
|
||||
parameters {
|
||||
booleanParam(name: "BUILD_ALL", defaultValue: false, description: "Build all supported platform/architecture combos. Defaults to x86/x64 only")
|
||||
}
|
||||
environment {
|
||||
PATH = "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/go/bin:/home/jenkins-build/go/bin"
|
||||
}
|
||||
|
||||
agent none
|
||||
|
||||
@@ -21,10 +18,7 @@ pipeline {
|
||||
tasks << buildStaticBinaries()
|
||||
tasks << buildDebianNative()
|
||||
tasks << buildCentosNative()
|
||||
tasks << buildMacOS()
|
||||
tasks << buildWindows()
|
||||
tasks << buildFreeBSD()
|
||||
|
||||
|
||||
parallel tasks
|
||||
}
|
||||
}
|
||||
@@ -39,81 +33,12 @@ pipeline {
|
||||
}
|
||||
}
|
||||
|
||||
def buildMacOS() {
|
||||
def tasks = [:]
|
||||
tasks << getTasks(['mac'],['amd64'], {unused1, unused2 ->
|
||||
def myNode = {
|
||||
env.PATH = env.PATH + ":/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/go/bin:/home/jenkins-build/go/bin"
|
||||
node ('mac') {
|
||||
dir("build") {
|
||||
checkout scm
|
||||
sh 'make'
|
||||
}
|
||||
cleanWs deleteDirs: true, disableDeferredWipeout: true, notFailBuild: true
|
||||
}
|
||||
}
|
||||
return myNode
|
||||
})
|
||||
return tasks
|
||||
}
|
||||
|
||||
def buildWindows() {
|
||||
def tasks = [:]
|
||||
tasks << getTasks(['windows'], ['amd64', 'i386'], { unused1, platform ->
|
||||
def myNode = {
|
||||
node ('windows') {
|
||||
env.SHELL = 'C:/Windows/System32/cmd.exe'
|
||||
dir ("build") {
|
||||
checkout scm
|
||||
|
||||
dir ("build") {
|
||||
withEnv(["PATH=C:\\TDM-GCC-64\\bin;C:\\WINDOWS;C:\\Windows\\system32;C:\\CMake\\bin;C:\\Go\\bin"]) {
|
||||
def cmakeFlags = ""
|
||||
if (platform == "i386") {
|
||||
cmakeFlags = '-DBUILD_32BIT=1'
|
||||
}
|
||||
bat """
|
||||
cmake -G"MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release ${cmakeFlags} ..
|
||||
mingw32-make -j8
|
||||
"""
|
||||
}
|
||||
}
|
||||
cleanWs deleteDirs: true, disableDeferredWipeout: true, notFailBuild: true
|
||||
}
|
||||
}
|
||||
}
|
||||
return myNode
|
||||
})
|
||||
|
||||
return tasks
|
||||
}
|
||||
|
||||
def buildFreeBSD() {
|
||||
def tasks = [:]
|
||||
tasks << getTasks(['freebsd12'], ['amd64'], { unused1, unused2 ->
|
||||
def myNode = {
|
||||
node ('freebsd12') {
|
||||
dir('build') {
|
||||
checkout scm
|
||||
sh 'make setup'
|
||||
dir('build') {
|
||||
sh 'make -j4'
|
||||
}
|
||||
}
|
||||
cleanWs deleteDirs: true, disableDeferredWipeout: true, notFailBuild: true
|
||||
}
|
||||
}
|
||||
return myNode
|
||||
})
|
||||
return tasks
|
||||
}
|
||||
|
||||
def buildStaticBinaries() {
|
||||
def tasks = [:]
|
||||
def dist = ["alpine"]
|
||||
def archs = []
|
||||
if (params.BUILD_ALL == true) {
|
||||
archs = ["arm64", "amd64", "i386", "armhf", "ppc64le", "s390x"]
|
||||
archs = ["arm64", "amd64", "i386", "armhf", "armel", "ppc64le", "s390x"]
|
||||
} else {
|
||||
archs = ["amd64", "i386"]
|
||||
}
|
||||
@@ -121,26 +46,17 @@ def buildStaticBinaries() {
|
||||
tasks << getTasks(dist, archs, { distro, platform ->
|
||||
def myNode = {
|
||||
node ('linux-build') {
|
||||
env.PATH = "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/go/bin:/home/jenkins-build/go/bin"
|
||||
dir ("build") {
|
||||
checkout scm
|
||||
}
|
||||
sh "echo ${distro}-${platform}"
|
||||
def runtime = docker.image("ztbuild/${distro}-${platform}:latest")
|
||||
runtime.inside {
|
||||
dir("build") {
|
||||
|
||||
def cmakeFlags = 'CMAKE_ARGS="-DBUILD_STATIC=1"'
|
||||
if (platform == "i386") {
|
||||
cmakeFlags = 'CMAKE_ARGS="-DBUILD_STATIC=1"'
|
||||
} else if (platform == "armhf") {
|
||||
cmakeFlags = 'CMAKE_ARGS="-DBUILD_STATIC=1 -DBUILD_ARM_V6=1"'
|
||||
}
|
||||
|
||||
sh "${cmakeFlags} make"
|
||||
dir("build") {
|
||||
sh "mv zerotier zerotier-static-${platform}"
|
||||
stash includes: 'zerotier-static-*', name: "static-${platform}"
|
||||
}
|
||||
sh 'make -j8 ZT_STATIC=1 all'
|
||||
sh "file ./zerotier-one"
|
||||
sh "mv zerotier-one zerotier-one-static-${platform}"
|
||||
stash includes: 'zerotier-one-static-*', name: "static-${platform}"
|
||||
}
|
||||
cleanWs deleteDirs: true, disableDeferredWipeout: true, notFailBuild: true
|
||||
}
|
||||
@@ -166,13 +82,12 @@ def getTasks(axisDistro, axisPlatform, task) {
|
||||
|
||||
def packageStatic() {
|
||||
def tasks = [:]
|
||||
|
||||
def centos7 = ["centos7"]
|
||||
def centos7Arch = ["i386"]
|
||||
tasks << getTasks(centos7, centos7Arch, { distro, arch ->
|
||||
|
||||
def centos6 = ["centos6"]
|
||||
def centos6Arch = ["i386", "amd64"]
|
||||
tasks << getTasks(centos6, centos6Arch, { distro, arch ->
|
||||
def myNode = {
|
||||
node ('linux-build') {
|
||||
env.PATH = env.PATH + ":/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/go/bin:/home/jenkins-build/go/bin"
|
||||
dir ("build") {
|
||||
checkout scm
|
||||
}
|
||||
@@ -180,14 +95,35 @@ def packageStatic() {
|
||||
runtime.inside {
|
||||
dir("build") {
|
||||
unstash "static-${arch}"
|
||||
sh "mkdir -p build"
|
||||
sh "mv zerotier-static-${arch} build/zerotier && chmod +x build/zerotier"
|
||||
sh 'CMAKE_ARGS="-DBUILD_32BIT=1 -DPACKAGE_STATIC=1 -DZT_PACKAGE_FORMAT=RPM" make setup'
|
||||
dir("build") {
|
||||
sh 'make package -j4 VERBOSE=1'
|
||||
}
|
||||
sh "mv zerotier-one-static-${arch} zerotier-one && chmod +x zerotier-one"
|
||||
sh "make redhat"
|
||||
sh "mkdir -p ${distro}"
|
||||
sh "cp -av build/*.rpm ${distro}/"
|
||||
sh "cp -av `find ~/rpmbuild/ -type f -name \"*.rpm\"` ${distro}/"
|
||||
archiveArtifacts artifacts: "${distro}/*.rpm", onlyIfSuccessful: true
|
||||
}
|
||||
}
|
||||
cleanWs deleteDirs: true, disableDeferredWipeout: true, notFailBuild: true
|
||||
}
|
||||
}
|
||||
return myNode
|
||||
})
|
||||
|
||||
def centos7 = ["centos7"]
|
||||
def centos7Arch = ["i386"]
|
||||
tasks << getTasks(centos7, centos7Arch, { distro, arch ->
|
||||
def myNode = {
|
||||
node ('linux-build') {
|
||||
dir ("build") {
|
||||
checkout scm
|
||||
}
|
||||
def runtime = docker.image("ztbuild/${distro}-${arch}:latest")
|
||||
runtime.inside {
|
||||
dir("build") {
|
||||
unstash "static-${arch}"
|
||||
sh "mv zerotier-one-static-${arch} zerotier-one && chmod +x zerotier-one"
|
||||
sh "make redhat"
|
||||
sh "mkdir -p ${distro}"
|
||||
sh "cp -av `find ~/rpmbuild/ -type f -name \"*.rpm\"` ${distro}/"
|
||||
archiveArtifacts artifacts: "${distro}/*.rpm", onlyIfSuccessful: true
|
||||
}
|
||||
}
|
||||
@@ -198,31 +134,22 @@ def packageStatic() {
|
||||
})
|
||||
|
||||
if (params.BUILD_ALL == true) {
|
||||
def s390xStatics = ["clefos", "debian-buster", "debian-sid", "debian-bullseye", "debian-stretch", "ubuntu-bionic", "ubuntu-eoan", "ubuntu-focal"]
|
||||
def s390x = ["s390x"]
|
||||
tasks << getTasks(s390xStatics, s390x , { distro, arch ->
|
||||
def clefos7 = ["clefos"]
|
||||
def clefos7Arch = ["s390x"]
|
||||
tasks << getTasks(clefos7, clefos7Arch, { distro, arch ->
|
||||
def myNode = {
|
||||
node ('linux-build') {
|
||||
env.PATH = env.PATH + ":/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/go/bin:/home/jenkins-build/go/bin"
|
||||
dir ("build") {
|
||||
checkout scm
|
||||
}
|
||||
def runtime = docker.image("ztbuild/${distro}-${arch}:latest")
|
||||
def pkgFormat = "DEB"
|
||||
if (distro == "clefos") {
|
||||
pkgFormat = "RPM"
|
||||
}
|
||||
runtime.inside {
|
||||
dir("build/") {
|
||||
unstash "static-${arch}"
|
||||
sh "mkdir -p build"
|
||||
sh "mv zerotier-static-${arch} build/zerotier && chmod +x build/zerotier"
|
||||
sh "CMAKE_ARGS=\"-DPACKAGE_STATIC=1 -DZT_PACKAGE_FORMAT=${pkgFormat}\" make setup"
|
||||
dir("build") {
|
||||
sh 'make package -j4 VERBOSE=1'
|
||||
}
|
||||
sh "mv zerotier-one-static-${arch} zerotier-one && chmod +x zerotier-one"
|
||||
sh "make redhat"
|
||||
sh "mkdir -p ${distro}"
|
||||
sh "cp -av build/*.rpm ${distro}/"
|
||||
sh "cp -av `find ~/rpmbuild/ -type f -name \"*.rpm\"` ${distro}/"
|
||||
archiveArtifacts artifacts: "${distro}/*.rpm", onlyIfSuccessful: true
|
||||
}
|
||||
}
|
||||
@@ -236,40 +163,30 @@ def packageStatic() {
|
||||
def debianJessie = ["debian-jessie"]
|
||||
def debianJessieArchs = []
|
||||
if (params.BUILD_ALL == true) {
|
||||
debianJessieArch = ["armhf", "amd64", "i386"]
|
||||
debianJessieArch = ["armhf", "armel", "amd64", "i386"]
|
||||
} else {
|
||||
debianJessieArch = ["amd64", "i386"]
|
||||
}
|
||||
tasks << getTasks(debianJessie, debianJessieArch, { distro, arch ->
|
||||
def myNode = {
|
||||
node ('linux-build') {
|
||||
env.PATH = env.PATH + ":/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/go/bin:/home/jenkins-build/go/bin"
|
||||
dir ("build") {
|
||||
checkout scm
|
||||
}
|
||||
def runtime = docker.image("ztbuild/${distro}-${arch}:latest")
|
||||
runtime.inside {
|
||||
sh "ls -la ."
|
||||
dir('build/') {
|
||||
def cmakeFlags = 'CMAKE_ARGS="-DPACKAGE_STATIC=1 -DZT_PACKAGE_FORMAT=DEB"'
|
||||
if (arch == "i386") {
|
||||
cmakeFlags = 'CMAKE_ARGS="-DBUILD_32BIT=1 -DPACKAGE_STATIC=1 -DZT_PACKAGE_FORMAT=DEB"'
|
||||
} else if (arch == "armel") {
|
||||
cmakeFlags = 'CMAKE_ARGS="-DPACKAGE_STATIC=1 -DZT_PACKAGE_FORMAT=DEB -DBUILD_ARM_V5=1"'
|
||||
} else if (arch == "armhf") {
|
||||
cmakeFlags = 'CMAKE_ARGS="-DPACKAGE_STATIC=1 -DZT_PACKAGE_FORMAT=DEB -DBUILD_ARM_V6=1"'
|
||||
}
|
||||
|
||||
sh "ls -la ."
|
||||
unstash "static-${arch}"
|
||||
sh "mkdir -p build"
|
||||
sh "mv zerotier-static-${arch} build/zerotier && chmod +x build/zerotier"
|
||||
sh "${cmakeFlags} make setup"
|
||||
dir("build") {
|
||||
sh 'make package -j4 VERBOSE=1'
|
||||
}
|
||||
sh "mkdir -p ${distro}"
|
||||
sh "cp -av build/*.deb ${distro}/"
|
||||
archiveArtifacts artifacts: "${distro}/*.deb", onlyIfSuccessful: true
|
||||
sh "pwd"
|
||||
sh "mv zerotier-one-static-${arch} zerotier-one && chmod +x zerotier-one && file ./zerotier-one"
|
||||
sh "mv -f debian/rules.static debian/rules"
|
||||
sh "make debian"
|
||||
}
|
||||
sh "mkdir -p ${distro}"
|
||||
sh "mv *.deb ${distro}"
|
||||
archiveArtifacts artifacts: "${distro}/*.deb", onlyIfSuccessful: true
|
||||
}
|
||||
cleanWs deleteDirs: true, disableDeferredWipeout: true, notFailBuild: true
|
||||
}
|
||||
@@ -280,40 +197,30 @@ def packageStatic() {
|
||||
def ubuntuTrusty = ["ubuntu-trusty"]
|
||||
def ubuntuTrustyArch = []
|
||||
if (params.BUILD_ALL == true) {
|
||||
ubuntuTrustyArch = ["i386", "amd64", "arm64", "ppc64le"]
|
||||
ubuntuTrustyArch = ["i386", "amd64", "armhf", "arm64", "ppc64le"]
|
||||
} else {
|
||||
ubuntuTrustyArch = ["i386", "amd64"]
|
||||
}
|
||||
tasks << getTasks(ubuntuTrusty, ubuntuTrustyArch, { distro, arch ->
|
||||
def myNode = {
|
||||
node ('linux-build') {
|
||||
env.PATH = env.PATH + ":/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/go/bin:/home/jenkins-build/go/bin"
|
||||
dir ("build") {
|
||||
checkout scm
|
||||
}
|
||||
def runtime = docker.image("ztbuild/${distro}-${arch}:latest")
|
||||
runtime.inside {
|
||||
sh "ls -la ."
|
||||
dir('build/') {
|
||||
def cmakeFlags = 'CMAKE_ARGS="-DPACKAGE_STATIC=1 -DZT_PACKAGE_FORMAT=DEB"'
|
||||
if (arch == "i386") {
|
||||
cmakeFlags = 'CMAKE_ARGS="-DBUILD_32BIT=1 -DBUILD_STATIC=1 -DPACKAGE_STATIC=1 -DZT_PACKAGE_FORMAT=DEB"'
|
||||
} else if (arch == "armel") {
|
||||
cmakeFlags = 'CMAKE_ARGS="-DBUILD_STATIC=1 -DPACKAGE_STATIC=1 -DZT_PACKAGE_FORMAT=DEB -DBUILD_ARM_V5=1"'
|
||||
} else if (arch == "armhf") {
|
||||
cmakeFlags = 'CMAKE_ARGS="-DBUILD_STATIC=1 -DPACKAGE_STATIC=1 -DZT_PACKAGE_FORMAT=DEB -DBUILD_ARM_V6=1"'
|
||||
}
|
||||
|
||||
sh "ls -la ."
|
||||
unstash "static-${arch}"
|
||||
sh "mkdir -p build"
|
||||
sh "mv zerotier-static-${arch} build/zerotier && chmod +x build/zerotier"
|
||||
sh "${cmakeFlags} make setup"
|
||||
dir("build") {
|
||||
sh 'make package -j4 VERBOSE=1'
|
||||
}
|
||||
sh "mkdir -p ${distro}"
|
||||
sh "cp -av build/*.deb ${distro}/"
|
||||
archiveArtifacts artifacts: "${distro}/*.deb", onlyIfSuccessful: true
|
||||
sh "pwd"
|
||||
sh "mv zerotier-one-static-${arch} zerotier-one && chmod +x zerotier-one && file ./zerotier-one"
|
||||
sh "mv -f debian/rules.static debian/rules"
|
||||
sh "make debian"
|
||||
}
|
||||
sh "mkdir -p ${distro}"
|
||||
sh "mv *.deb ${distro}"
|
||||
archiveArtifacts artifacts: "${distro}/*.deb", onlyIfSuccessful: true
|
||||
}
|
||||
cleanWs deleteDirs: true, disableDeferredWipeout: true, notFailBuild: true
|
||||
}
|
||||
@@ -324,39 +231,28 @@ def packageStatic() {
|
||||
def debianWheezy = ["debian-wheezy"]
|
||||
def debianWheezyArchs = []
|
||||
if (params.BUILD_ALL == true) {
|
||||
debianWheezyArchs = ["armhf", "amd64", "i386"]
|
||||
debianWheezyArchs = ["armhf", "armel", "amd64", "i386"]
|
||||
} else {
|
||||
debianWheezyArchs = ["amd64", "i386"]
|
||||
}
|
||||
tasks << getTasks(debianJessie, debianJessieArch, { distro, arch ->
|
||||
def myNode = {
|
||||
node ('linux-build') {
|
||||
env.PATH = env.PATH + ":/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/go/bin:/home/jenkins-build/go/bin"
|
||||
dir ("build") {
|
||||
checkout scm
|
||||
}
|
||||
def runtime = docker.image("ztbuild/${distro}-${arch}:latest")
|
||||
runtime.inside {
|
||||
dir('build/') {
|
||||
def cmakeFlags = 'CMAKE_ARGS="-DPACKAGE_STATIC=1 -DZT_PACKAGE_FORMAT=DEB"'
|
||||
if (arch == "i386") {
|
||||
cmakeFlags = 'CMAKE_ARGS="-DBUILD_32BIT=1 -DBUILD_STATIC=1 -DPACKAGE_STATIC=1 -DZT_PACKAGE_FORMAT=DEB"'
|
||||
} else if (arch == "armel") {
|
||||
cmakeFlags = 'CMAKE_ARGS="-DBUILD_STATIC=1 -DPACKAGE_STATIC=1 -DZT_PACKAGE_FORMAT=DEB -DBUILD_ARM_V5=1"'
|
||||
} else if (arch == "armhf") {
|
||||
cmakeFlags = 'CMAKE_ARGS="-DBUILD_STATIC=1 -DPACKAGE_STATIC=1 -DZT_PACKAGE_FORMAT=DEB -DBUILD_ARM_V6=1"'
|
||||
}
|
||||
unstash "static-${arch}"
|
||||
sh "mkdir -p build"
|
||||
sh "mv zerotier-static-${arch} build/zerotier && chmod +x build/zerotier"
|
||||
sh "${cmakeFlags} make setup"
|
||||
dir("build") {
|
||||
sh 'make package -j4 VERBOSE=1'
|
||||
}
|
||||
sh "mkdir -p ${distro}"
|
||||
sh "cp -av build/*.deb ${distro}/"
|
||||
archiveArtifacts artifacts: "${distro}/*.deb", onlyIfSuccessful: true
|
||||
sh "mv zerotier-one-static-${arch} zerotier-one && chmod +x zerotier-one && file ./zerotier-one"
|
||||
sh "mv -f debian/rules.wheezy.static debian/rules"
|
||||
sh "mv -f debian/control.wheezy debian/control"
|
||||
sh "make debian"
|
||||
}
|
||||
sh "mkdir -p ${distro}"
|
||||
sh "mv *.deb ${distro}"
|
||||
archiveArtifacts artifacts: "${distro}/*.deb", onlyIfSuccessful: true
|
||||
}
|
||||
cleanWs deleteDirs: true, disableDeferredWipeout: true, notFailBuild: true
|
||||
}
|
||||
@@ -369,40 +265,27 @@ def packageStatic() {
|
||||
|
||||
def buildDebianNative() {
|
||||
def tasks = [:]
|
||||
def debian = ["debian-buster" , "debian-stretch", "debian-sid", "debian-bullseye"]
|
||||
def debianArchs = []
|
||||
def buster = ["debian-buster", "debian-stretch", "debian-bullseye", "debian-sid"]
|
||||
def busterArchs = []
|
||||
if (params.BUILD_ALL) {
|
||||
debianArchs = ["ppc64le", "i386", "armhf", "armel", "arm64", "amd64"]
|
||||
busterArchs = ["s390x", "ppc64le", "i386", "armhf", "armel", "arm64", "amd64"]
|
||||
} else {
|
||||
debianArchs = ["amd64", "i386"]
|
||||
busterArchs = ["amd64", "i386"]
|
||||
}
|
||||
|
||||
def build = { distro, arch ->
|
||||
def myNode = {
|
||||
node ('linux-build') {
|
||||
env.PATH = "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/go/bin:/home/jenkins-build/go/bin"
|
||||
dir ("build") {
|
||||
checkout scm
|
||||
}
|
||||
def runtime = docker.image("ztbuild/${distro}-${arch}:latest")
|
||||
runtime.inside {
|
||||
def cmakeFlags = 'CMAKE_ARGS="-DZT_PACKAGE_FORMAT=DEB"'
|
||||
if (arch == "i386") {
|
||||
cmakeFlags = 'CMAKE_ARGS="-DBUILD_32BIT=1 -DZT_PACKAGE_FORMAT=DEB"'
|
||||
} else if (arch == "armel") {
|
||||
cmakeFlags = 'CMAKE_ARGS="-DZT_PACKAGE_FORMAT=DEB -DBUILD_ARM_V5=1"'
|
||||
} else if (arch == "armhf") {
|
||||
cmakeFlags = 'CMAKE_ARGS="-DZT_PACKAGE_FORMAT=DEB -DBUILD_ARM_V6=1"'
|
||||
}
|
||||
|
||||
dir("build") {
|
||||
sh "${cmakeFlags} make setup"
|
||||
dir("build") {
|
||||
sh "make package -j4 VERBOSE=1"
|
||||
}
|
||||
sh 'make debian'
|
||||
}
|
||||
sh "mkdir -p ${distro}"
|
||||
sh "mv build/build/*.deb ${distro}"
|
||||
sh "mv *.deb ${distro}"
|
||||
archiveArtifacts artifacts: "${distro}/*.deb", onlyIfSuccessful: true
|
||||
cleanWs deleteDirs: true, disableDeferredWipeout: true, notFailBuild: true
|
||||
}
|
||||
@@ -411,8 +294,8 @@ def buildDebianNative() {
|
||||
return myNode
|
||||
}
|
||||
|
||||
tasks << getTasks(debian, debianArchs, build)
|
||||
|
||||
tasks << getTasks(buster, busterArchs, build)
|
||||
|
||||
// bash is broken when running under QEMU-s390x on Xenial
|
||||
def xenial = ["ubuntu-xenial"]
|
||||
def xenialArchs = []
|
||||
@@ -426,21 +309,12 @@ def buildDebianNative() {
|
||||
def ubuntu = ["ubuntu-bionic", "ubuntu-eoan"]
|
||||
def ubuntuArchs = []
|
||||
if (params.BUILD_ALL == true) {
|
||||
ubuntuArchs = ["i386", "amd64", "armhf", "arm64", "ppc64le"]
|
||||
ubuntuArchs = ["i386", "amd64", "armhf", "arm64", "ppc64le", "s390x"]
|
||||
} else {
|
||||
ubuntuArchs = ["i386", "amd64"]
|
||||
}
|
||||
tasks << getTasks(ubuntu, ubuntuArchs, build)
|
||||
|
||||
def ubuntuFocal = ["ubuntu-focal"]
|
||||
def ubuntuFocalArchs = []
|
||||
if (params.BUILD_ALL == true) {
|
||||
ubuntuFocalArchs = ["amd64", "arm64", "ppc64le"]
|
||||
} else {
|
||||
ubuntuFocalArchs = ["amd64"]
|
||||
}
|
||||
tasks << getTasks(ubuntuFocal, ubuntuFocalArchs, build)
|
||||
|
||||
def kali = ["kali-rolling"]
|
||||
def kaliArchs = ["amd64"]
|
||||
tasks << getTasks(kali, kaliArchs, build)
|
||||
@@ -454,29 +328,18 @@ def buildCentosNative() {
|
||||
def build = { distro, arch ->
|
||||
def myNode = {
|
||||
node ('linux-build') {
|
||||
env.PATH = env.PATH + ":/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/go/bin:/home/jenkins-build/go/bin"
|
||||
dir ("build") {
|
||||
checkout scm
|
||||
}
|
||||
def runtime = docker.image("ztbuild/${distro}-${arch}:latest")
|
||||
runtime.inside {
|
||||
dir("build") {
|
||||
if (distro == 'centos7' && arch == 'amd64') {
|
||||
sh 'source scl_source enable devtoolset-8 llvm-toolset-7 && CMAKE_ARGS="-DZT_PACKAGE_FORMAT=RPM" make setup'
|
||||
} else {
|
||||
sh 'CMAKE_ARGS="-DZT_PACKAGE_FORMAT=RPM" make setup'
|
||||
}
|
||||
dir ("build") {
|
||||
if (distro == 'centos7' && arch == 'amd64') {
|
||||
sh 'source scl_source enable devtoolset-8 llvm-toolset-7 && make package -j4 VERBOSE=1'
|
||||
} else {
|
||||
sh 'make package -j4 VERBOSE=1'
|
||||
}
|
||||
}
|
||||
sh 'make -j4'
|
||||
sh 'make redhat'
|
||||
sh "mkdir -p ${distro}"
|
||||
sh "cp -av `find ~/rpmbuild/ -type f -name \"*.rpm\"` ${distro}/"
|
||||
archiveArtifacts artifacts: "${distro}/*.rpm", onlyIfSuccessful: true
|
||||
}
|
||||
sh "mkdir -p ${distro}"
|
||||
sh "cp -av build/build/*.rpm ${distro}/"
|
||||
archiveArtifacts artifacts: "${distro}/*.rpm", onlyIfSuccessful: true
|
||||
|
||||
cleanWs deleteDirs: true, disableDeferredWipeout: true, notFailBuild: true
|
||||
}
|
||||
|
||||
+3
-3
@@ -10,8 +10,8 @@ License text copyright (c) 2017 MariaDB Corporation Ab, All Rights Reserved.
|
||||
Parameters
|
||||
|
||||
Licensor: ZeroTier, Inc.
|
||||
Licensed Work: ZeroTier Network Virtualization Engine
|
||||
The Licensed Work is (c)2013-2020 ZeroTier, Inc.
|
||||
Licensed Work: ZeroTier Network Virtualization Engine 1.4.4
|
||||
The Licensed Work is (c)2019 ZeroTier, Inc.
|
||||
Additional Use Grant: You may make use of the Licensed Work, provided you
|
||||
do not use it in any of the following ways:
|
||||
|
||||
@@ -26,7 +26,7 @@ Additional Use Grant: You may make use of the Licensed Work, provided you
|
||||
ZeroTier behind the scenes to operate a service not
|
||||
related to ZeroTier network administration.
|
||||
|
||||
* Create Non-Open-Source Commercial Derivative Works
|
||||
* Create Non-Open-Source Commercial Derviative Works
|
||||
|
||||
(2) Link or directly include the Licensed Work in a
|
||||
commercial or for-profit application or other product
|
||||
|
||||
@@ -1,31 +1,28 @@
|
||||
BUILDDIR := build
|
||||
TIMESTAMP=$(shell date +"%Y%m%d%H%M")
|
||||
# Common makefile -- loads make rules for each platform
|
||||
|
||||
.PHONY: all
|
||||
OSTYPE=$(shell uname -s)
|
||||
|
||||
all: setup
|
||||
cd ${BUILDDIR} && $(MAKE) -j4 VERBOSE=1
|
||||
ifeq ($(OSTYPE),Darwin)
|
||||
include make-mac.mk
|
||||
endif
|
||||
|
||||
setup:
|
||||
mkdir -p ${BUILDDIR} && cd ${BUILDDIR} && cmake .. -DCMAKE_BUILD_TYPE=Release ${CMAKE_ARGS}
|
||||
ifeq ($(OSTYPE),Linux)
|
||||
include make-linux.mk
|
||||
endif
|
||||
|
||||
setup-debug:
|
||||
mkdir -p ${BUILDDIR} && cd ${BUILDDIR} && cmake .. -DCMAKE_BUILD_TYPE=Debug ${CMAKE_ARGS}
|
||||
ifeq ($(OSTYPE),FreeBSD)
|
||||
CC=clang
|
||||
CXX=clang++
|
||||
ZT_BUILD_PLATFORM=7
|
||||
include make-bsd.mk
|
||||
endif
|
||||
ifeq ($(OSTYPE),OpenBSD)
|
||||
CC=egcc
|
||||
CXX=eg++
|
||||
ZT_BUILD_PLATFORM=9
|
||||
include make-bsd.mk
|
||||
endif
|
||||
|
||||
debug:
|
||||
mkdir -p ${BUILDDIR} && cd ${BUILDDIR} && cmake .. -DCMAKE_BUILD_TYPE=Debug ${CMAKE_ARGS} && $(MAKE)
|
||||
|
||||
central-controller:
|
||||
mkdir -p ${BUILDDIR} && cd ${BUILDDIR} && cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_CENTRAL_CONTROLLER=1 ${CMAKE_ARGS} && $(MAKE) -j4
|
||||
|
||||
central-controller-debug:
|
||||
mkdir -p ${BUILDDIR} && cd ${BUILDDIR} && cmake .. -DCMAKE_BUILD_TYPE=Debug -DBUILD_CENTRAL_CONTROLLER=1 ${CMAKE_ARGS} && $(MAKE) -j4
|
||||
|
||||
central-controller-docker:
|
||||
docker build -t registry.zerotier.com/zerotier-central/ztcentral-controller:${TIMESTAMP} -f controller/central-docker/Dockerfile .
|
||||
|
||||
clean:
|
||||
rm -rf ${BUILDDIR}
|
||||
|
||||
distclean:
|
||||
rm -rf ${BUILDDIR}
|
||||
ifeq ($(OSTYPE),NetBSD)
|
||||
include make-netbsd.mk
|
||||
endif
|
||||
File renamed without changes.
@@ -5,7 +5,7 @@ ZeroTier is a smart programmable Ethernet switch for planet Earth. It allows all
|
||||
|
||||
This is accomplished by combining a cryptographically addressed and secure peer to peer network (termed VL1) with an Ethernet emulation layer somewhat similar to VXLAN (termed VL2). Our VL2 Ethernet virtualization layer includes advanced enterprise SDN features like fine grained access control rules for network micro-segmentation and security monitoring.
|
||||
|
||||
All ZeroTier traffic is encrypted end-to-end using secret keys that only you control. Most traffic flows peer to peer, though we offer free (but slow) relaying for users who cannot establish peer to peer connetions.
|
||||
All ZeroTier traffic is encrypted end-to-end using secret keys that only you control. Most traffic flows peer to peer, though we offer free (but slow) relaying for users who cannot establish peer to peer connections.
|
||||
|
||||
The goals and design principles 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) with its notion of "deperimeterization."
|
||||
|
||||
|
||||
+43
-24
@@ -1,42 +1,61 @@
|
||||
ZeroTier Release Notes
|
||||
======
|
||||
|
||||
# Version 1.9.0 (2.0 beta)
|
||||
# 2020-11-30 -- Version 1.6.2
|
||||
|
||||
Version 2.0 is a very significant release with many changes. It remains backward compatibility to version 1.4.0 (and possibly earlier versions but this is not guaranteed) but makes numerous local and behavioral changes that should be reviewed before upgrading production systems.
|
||||
* Fix an ARM hardware AES crypto issue (not an exploitable vulnerability).
|
||||
* Fix a Linux network leave hang due to a mutex deadlock.
|
||||
|
||||
After this release we're going to be working to get to a more frequent, less extreme, more "agile" release cadence.
|
||||
# 2020-11-24 -- Version 1.6.1
|
||||
|
||||
Protocol changes:
|
||||
This release fixes some minor bugs and other issues in 1.6.0.
|
||||
|
||||
* Trusted paths have been completely removed. The new AES mode is so fast on CPUs with AES acceleration that much of the rationale for this is gone, and this feature was never used much to begin with due to inconvenience and obvious security concerns. Environments using trusted paths will need to upgrade all nodes at once.
|
||||
* The symmetric encryption algorithm and mode is now AES-GMAC-SIV, a variation of AES-GCM using the same primitives but offering superior security bounds and behavior under non-ideal conditions. It's also a lot faster than Salsa20/12 and Poly1305 on CPUs with AES acceleration (almost all desktops, laptops, and newer routers and phones). Salsa20/12 with Poly1305 is still supported for communication with older versions and small devices that lack AES acceleration.
|
||||
* A new identity type (1) has been introduced that contains both Curve25519 and NIST P-384 public key types, but classic type 0 remains the default for new identities for now. ECDH key agreement between V1 identities uses both keys and hashes the resulting secrets to yield security equal to the best of the two, but V1 identities can also agree with V0 identities using only their Curve25519 component.
|
||||
* Roots can now be joined and left like networks in a much more convenient way, and the old "moon" and "planet" terminology is deprecated.
|
||||
* A new peer to peer multicast algorithm has been introduced that offers much better scalability and better performance, especially when the physical network itself is hub-and-spoke with many low latency peers connected by higher latency WAN links.
|
||||
* Forward secrecy is finally supported via periodic re-keying using ephemeral asymmetric keys. Both Curve25519 and NIST P-384 keys are used with secrets being hashed to provide security equal to the stronger of the two curves.
|
||||
* As part of forward secrecy implementation peers now always exchange HELLO messages even if they don't have a direct path.
|
||||
* Compression is only enabled for control packets as almost all data packets are largely un-compressable.
|
||||
* New NAT traversal tricks have been added, such as (ab)use of port 500.
|
||||
* Fixed a bug that caused IP addresses in the 203.0.0.0/8 block to be miscategorized as not being in global scope.
|
||||
* Changed Linux builds to (hopefully) fix LXC and SELinux issues.
|
||||
* Fixed unaligned memory access that caused crash on FreeBSD systems on the ARM architecture.
|
||||
* Merged CLI options for controlling bonded devices into the beta multipath code.
|
||||
* Updated Windows driver with Microsoft cross-signing to fix issues on some Windows systems.
|
||||
|
||||
Code changes:
|
||||
# 2020-11-19 -- Version 1.6.0
|
||||
|
||||
* Migrated from GNU make to cmake for easier cross platform builds and simplified build files.
|
||||
* The core network hypervisor has been significantly refactored, almost amounting to a partial rewrite.
|
||||
* Critical packet handling paths have been streamlined with unnecessary memcpy() steps removed.
|
||||
* Host service code has been completely rewritten in Go. Packet handling code remains in C++, but Go offers superior developer productivity when it comes to implementing more complex local service and local API features. Go imposes a little bit more memory overhead but not much and has been tuned to minimize memory use.
|
||||
Version 1.6.0 is a major release that incorporates back-ported features from the 2.0 branch, which is still under development. It also fixes a number of issues.
|
||||
|
||||
User interface:
|
||||
New features and improvements (including those listed under 1.5.0):
|
||||
|
||||
* Command line interface has been redesigned and rewritten. Old commands names are supported but their output will be different.
|
||||
* **Apple Silicon** (MacOS ARM64) native support via universal binary. ZeroTier now requires the very latest Xcode to build.
|
||||
* **Linux performance improvements** for up to 25% faster tun/tap I/O performance on multi-core systems.
|
||||
* **Multipath support** with modes modeled after the Linux kernel's bonding driver. This includes active-passive and active-active modes with fast failover and load balancing. See section 2.1.5 of the manual.
|
||||
* **DNS configuration** push from network controllers to end nodes, with locally configurable permissions for whether or not push is allowed.
|
||||
* **AES-GMAC-SIV** encryption mode, which is both somewhat more secure and significantly faster than the old Salsa20/12-Poly1305 mode on hardware that supports AES acceleration. This includes virtually all X86-64 chips and most ARM64. This mode is based on AES-SIV and has been audited by Trail of Bits to ensure that it is equivalent security-wise.
|
||||
|
||||
Other things:
|
||||
Bug fixes:
|
||||
|
||||
* The V2 design, protocol, and cryptographic primitives (AES-GMAC-SIV) have been security audited by [Trail of Bits](https://www.trailofbits.com), and the code is being audited as well prior to full 2.0 release.
|
||||
* **Managed route assignment fixes** to eliminate missing routes on Linux and what we believe to be the source of sporadic high CPU usage on MacOS.
|
||||
* **Hang on shutdown** issues should be fixed.
|
||||
* **Sporadic multicast outages** should be fixed.
|
||||
|
||||
---
|
||||
Known remaining issues:
|
||||
|
||||
# Older version release notes
|
||||
* AES hardware acceleration is not yet supported on 32-bit ARM, PowerPC (32 or 64), or MIPS (32 or 64) systems. Currently supported are X86-64 and ARM64/AARCH64 with crypto extensions.
|
||||
|
||||
# 2020-10-05 -- Version 1.5.0 (actually 1.6.0-beta1)
|
||||
|
||||
Version 1.6.0 (1.5.0 is a beta!) is a significant release that incorporates a number of back-ported fixes and features from the ZeroTier 2.0 tree.
|
||||
|
||||
Major new features are:
|
||||
|
||||
* **Multipath support** with modes modeled after the Linux kernel's bonding driver. This includes active-passive and active-active modes with fast failover and load balancing. See section 2.1.5 of the manual.
|
||||
* **DNS configuration** push from network controllers to end nodes, with locally configurable permissions for whether or not push is allowed.
|
||||
* **AES-GMAC-SIV** encryption mode, which is both somewhat more secure and significantly faster than the old Salsa20/12-Poly1305 mode on hardware that supports AES acceleration. This includes virtually all X86-64 chips and most ARM64. This mode is based on AES-SIV and has been audited by Trail of Bits to ensure that it is equivalent security-wise.
|
||||
|
||||
Known issues that are not yet fixed in this beta:
|
||||
|
||||
* Some Mac users have reported periods of 100% CPU in kernel_task and connection instability after leaving networks that have been joined for a period of time, or needing to kill ZeroTier and restart it to finish leaving a network. This doesn't appear to affect all users and we haven't diagnosed the root cause yet.
|
||||
* The service sometimes hangs on shutdown requiring a kill -9. This also does not affect all systems or users.
|
||||
* AES hardware acceleration is not yet supported on 32-bit ARM, PowerPC (32 or 64), or MIPS (32 or 64) systems. Currently supported are X86-64 and ARM64/AARCH64 with crypto extensions.
|
||||
* Some users have reported multicast/broadcast outages on networks lasting up to 30 seconds. Still investigating.
|
||||
|
||||
We're trying to fix all these issues before the 1.6.0 release. Stay tuned.
|
||||
|
||||
# 2019-08-30 -- Version 1.4.6
|
||||
|
||||
|
||||
@@ -1,119 +0,0 @@
|
||||
/*
|
||||
* Copyright (c)2013-2020 ZeroTier, Inc.
|
||||
*
|
||||
* Use of this software is governed by the Business Source License included
|
||||
* in the LICENSE.TXT file in the project's root directory.
|
||||
*
|
||||
* Change Date: 2025-01-01
|
||||
*
|
||||
* On the date above, in accordance with the Business Source License, use
|
||||
* of this software will be governed by version 2.0 of the Apache License.
|
||||
*/
|
||||
/****/
|
||||
|
||||
#ifndef ZT_PEERLIST_HPP
|
||||
#define ZT_PEERLIST_HPP
|
||||
|
||||
#include "Constants.hpp"
|
||||
#include "SharedPtr.hpp"
|
||||
#include "Peer.hpp"
|
||||
|
||||
namespace ZeroTier {
|
||||
|
||||
/**
|
||||
* A list of peers
|
||||
*
|
||||
* This is a simple vector optimized for the case where there will almost always
|
||||
* be zero or one element. In that case it doesn't allocate. If there's more than
|
||||
* one element, it will grow to include all elements.
|
||||
*
|
||||
* It's used to return lookups in Topology where there will almost always be zero
|
||||
* or one peers returned but where there technically (but very rarely) can be more.
|
||||
*/
|
||||
class PeerList
|
||||
{
|
||||
public:
|
||||
ZT_INLINE PeerList() noexcept:
|
||||
m_onePeer(),
|
||||
m_peers(&m_onePeer),
|
||||
m_peerCount(0)
|
||||
{}
|
||||
|
||||
ZT_INLINE PeerList(const PeerList &pl)
|
||||
{
|
||||
const unsigned int pc = pl.m_peerCount;
|
||||
if (likely(pc <= 1)) {
|
||||
m_onePeer = pl.m_onePeer;
|
||||
m_peers = &m_onePeer;
|
||||
} else {
|
||||
m_peers = new SharedPtr<Peer>[pc];
|
||||
for (unsigned int i = 0;i < pc;++i)
|
||||
m_peers[i] = pl.m_peers[i];
|
||||
}
|
||||
m_peerCount = pc;
|
||||
}
|
||||
|
||||
ZT_INLINE ~PeerList()
|
||||
{
|
||||
if (unlikely(m_peers != &m_onePeer))
|
||||
delete[] m_peers;
|
||||
}
|
||||
|
||||
ZT_INLINE PeerList &operator=(const PeerList &pl)
|
||||
{
|
||||
if (&pl != this) {
|
||||
if (unlikely(m_peers != &m_onePeer))
|
||||
delete[] m_peers;
|
||||
if (likely(pl.m_peerCount <= 1)) {
|
||||
m_onePeer = pl.m_onePeer;
|
||||
m_peers = &m_onePeer;
|
||||
} else {
|
||||
m_onePeer.zero();
|
||||
m_peers = new SharedPtr<Peer>[pl.m_peerCount];
|
||||
for (unsigned int i = 0;i < pl.m_peerCount;++i)
|
||||
m_peers[i] = pl.m_peers[i];
|
||||
}
|
||||
m_peerCount = pl.m_peerCount;
|
||||
}
|
||||
return *this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Resize the peer list to store a given number of members
|
||||
*
|
||||
* To populate the list, this must be called first followed by each member
|
||||
* being set with the [] operator. List content after this call is undefined
|
||||
* and may contain old data if the object is being re-used.
|
||||
*
|
||||
* @param s New size of list
|
||||
*/
|
||||
ZT_INLINE void resize(const unsigned int s)
|
||||
{
|
||||
if (unlikely(m_peers != &m_onePeer))
|
||||
delete[] m_peers;
|
||||
m_peerCount = s;
|
||||
if (likely(s <= 1)) {
|
||||
m_peers = &m_onePeer;
|
||||
} else {
|
||||
m_peers = new SharedPtr<Peer>[s];
|
||||
}
|
||||
}
|
||||
|
||||
ZT_INLINE SharedPtr <Peer> &operator[](const unsigned int i) noexcept
|
||||
{ return m_peers[i]; }
|
||||
|
||||
ZT_INLINE const SharedPtr <Peer> &operator[](const unsigned int i) const noexcept
|
||||
{ return m_peers[i]; }
|
||||
|
||||
ZT_INLINE unsigned int size() const noexcept
|
||||
{ return m_peerCount; }
|
||||
|
||||
private:
|
||||
SharedPtr <Peer> m_onePeer;
|
||||
SharedPtr <Peer> *m_peers;
|
||||
unsigned int m_peerCount;
|
||||
};
|
||||
|
||||
} // namespace ZeroTier
|
||||
|
||||
#endif
|
||||
@@ -1,26 +0,0 @@
|
||||
# Dockerfile for ZeroTier Central Controllers
|
||||
FROM centos:7 as builder
|
||||
MAINTAINER Adam Ierymekno <adam.ierymenko@zerotier.com>, Grant Limberg <grant.limberg@zerotier.com>
|
||||
|
||||
ARG git_branch=master
|
||||
|
||||
RUN yum update -y
|
||||
RUN yum install -y https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm
|
||||
RUN yum -y install epel-release && yum -y update && yum clean all
|
||||
RUN yum groupinstall -y "Development Tools"
|
||||
RUN yum install -y bash postgresql10 postgresql10-devel libpqxx-devel glibc-static libstdc++-static clang jemalloc jemalloc-devel
|
||||
|
||||
RUN git clone http://git.int.zerotier.com/zerotier/ZeroTierOne.git
|
||||
RUN if [ "$git_branch" != "master" ]; then cd ZeroTierOne && git checkout -b $git_branch origin/$git_branch; fi
|
||||
RUN ldconfig
|
||||
RUN cd ZeroTierOne && make central-controller
|
||||
|
||||
FROM centos:7
|
||||
|
||||
COPY --from=builder /ZeroTierOne/zerotier-one /usr/local/bin/zerotier-one
|
||||
RUN chmod a+x /usr/local/bin/zerotier-one
|
||||
|
||||
ADD ext/central-controller-docker/main.sh /
|
||||
RUN chmod a+x /main.sh
|
||||
|
||||
ENTRYPOINT /main.sh
|
||||
@@ -1,80 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ -z "$ZT_IDENTITY_PATH" ]; then
|
||||
echo '*** FAILED: ZT_IDENTITY_PATH environment variable is not defined'
|
||||
exit 1
|
||||
fi
|
||||
if [ -z "$ZT_DB_HOST" ]; then
|
||||
echo '*** FAILED: ZT_DB_HOST environment variable not defined'
|
||||
exit 1
|
||||
fi
|
||||
if [ -z "$ZT_DB_PORT" ]; then
|
||||
echo '*** FAILED: ZT_DB_PORT environment variable not defined'
|
||||
exit 1
|
||||
fi
|
||||
if [ -z "$ZT_DB_NAME" ]; then
|
||||
echo '*** FAILED: ZT_DB_NAME environment variable not defined'
|
||||
exit 1
|
||||
fi
|
||||
if [ -z "$ZT_DB_USER" ]; then
|
||||
echo '*** FAILED: ZT_DB_USER environment variable not defined'
|
||||
exit 1
|
||||
fi
|
||||
if [ -z "$ZT_DB_PASSWORD" ]; then
|
||||
echo '*** FAILED: ZT_DB_PASSWORD environment variable not defined'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
RMQ=""
|
||||
if [ "$ZT_USE_RABBITMQ" == "true" ]; then
|
||||
if [ -z "$RABBITMQ_HOST" ]; then
|
||||
echo '*** FAILED: RABBITMQ_HOST environment variable not defined'
|
||||
exit 1
|
||||
fi
|
||||
if [ -z "$RABBITMQ_PORT" ]; then
|
||||
echo '*** FAILED: RABBITMQ_PORT environment variable not defined'
|
||||
exit 1
|
||||
fi
|
||||
if [ -z "$RABBITMQ_USERNAME" ]; then
|
||||
echo '*** FAILED: RABBITMQ_USERNAME environment variable not defined'
|
||||
exit 1
|
||||
fi
|
||||
if [ -z "$RABBITMQ_PASSWORD" ]; then
|
||||
echo '*** FAILED: RABBITMQ_PASSWORD environment variable not defined'
|
||||
exit 1
|
||||
fi
|
||||
RMQ=", \"rabbitmq\": {
|
||||
\"host\": \"${RABBITMQ_HOST}\",
|
||||
\"port\": ${RABBITMQ_PORT},
|
||||
\"username\": \"${RABBITMQ_USERNAME}\",
|
||||
\"password\": \"${RABBITMQ_PASSWORD}\"
|
||||
}"
|
||||
fi
|
||||
|
||||
mkdir -p /var/lib/zerotier-one
|
||||
|
||||
pushd /var/lib/zerotier-one
|
||||
ln -s $ZT_IDENTITY_PATH/identity.public identity.public
|
||||
ln -s $ZT_IDENTITY_PATH/identity.secret identity.secret
|
||||
popd
|
||||
|
||||
DEFAULT_PORT=9993
|
||||
|
||||
echo "{
|
||||
\"settings\": {
|
||||
\"portMappingEnabled\": true,
|
||||
\"softwareUpdate\": \"disable\",
|
||||
\"interfacePrefixBlacklist\": [
|
||||
\"inot\",
|
||||
\"nat64\"
|
||||
],
|
||||
\"controllerDbPath\": \"postgres:host=${ZT_DB_HOST} port=${ZT_DB_PORT} dbname=${ZT_DB_NAME} user=${ZT_DB_USER} password=${ZT_DB_PASSWORD} sslmode=prefer sslcert=${DB_CLIENT_CERT} sslkey=${DB_CLIENT_KEY} sslrootcert=${DB_SERVER_CA}\"
|
||||
${RMQ}
|
||||
}
|
||||
}
|
||||
" > /var/lib/zerotier-one/local.conf
|
||||
|
||||
export GLIBCXX_FORCE_NEW=1
|
||||
export GLIBCPP_FORCE_NEW=1
|
||||
export LD_PRELOAD="/usr/lib64/libjemalloc.so"
|
||||
exec /usr/local/bin/zerotier-one -p${ZT_CONTROLLER_PORT:-$DEFAULT_PORT} /var/lib/zerotier-one
|
||||
Binary file not shown.
Loaded 20 of 1027 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user