mirror of
https://github.com/zerotier/ZeroTierOne.git
synced 2025-06-06 12:33:44 +02:00
Merge branch 'edge' of http://git.int.zerotier.com/zerotier/ZeroTierOne into edge
This commit is contained in:
commit
c3d3605f70
38 changed files with 4737 additions and 141 deletions
25
.gitignore
vendored
25
.gitignore
vendored
|
@ -95,4 +95,29 @@ java/build_win32/
|
||||||
windows/WinUI/obj/
|
windows/WinUI/obj/
|
||||||
windows/WinUI/bin/
|
windows/WinUI/bin/
|
||||||
windows/ZeroTierOne/Debug/
|
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/
|
workspace/
|
||||||
|
|
440
Jenkinsfile
vendored
440
Jenkinsfile
vendored
|
@ -1,90 +1,366 @@
|
||||||
#!/usr/bin/env groovy
|
pipeline {
|
||||||
|
options {
|
||||||
|
disableConcurrentBuilds()
|
||||||
|
preserveStashes(buildCount: 10)
|
||||||
|
timestamps()
|
||||||
|
}
|
||||||
|
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"
|
||||||
|
}
|
||||||
|
|
||||||
node('master') {
|
agent none
|
||||||
checkout scm
|
|
||||||
|
|
||||||
def changelog = getChangeLog currentBuild
|
stages {
|
||||||
|
stage ("Build") {
|
||||||
|
steps {
|
||||||
|
script {
|
||||||
|
def tasks = [:]
|
||||||
|
tasks << buildStaticBinaries()
|
||||||
|
tasks << buildDebianNative()
|
||||||
|
tasks << buildCentosNative()
|
||||||
|
|
||||||
mattermostSend "Building ${env.JOB_NAME} #${env.BUILD_NUMBER} \n Change Log: \n ${changelog}"
|
parallel tasks
|
||||||
}
|
}
|
||||||
|
|
||||||
parallel 'centos7': {
|
|
||||||
node('centos7') {
|
|
||||||
try {
|
|
||||||
checkout scm
|
|
||||||
|
|
||||||
stage('Build Centos 7') {
|
|
||||||
sh '''. /opt/rh/devtoolset-8/enable
|
|
||||||
rm -rf build/
|
|
||||||
mkdir build && cd build
|
|
||||||
cmake ..
|
|
||||||
make -j4
|
|
||||||
./zerotier-selftest
|
|
||||||
'''
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (err) {
|
// stage ("Package Static") {
|
||||||
currentBuild.result = "FAILURE"
|
// steps {
|
||||||
mattermostSend color: '#ff0000', message: "${env.JOB_NAME} broken on Centos 7 (<${env.BUILD_URL}|Open>)"
|
// script {
|
||||||
|
// parallel packageStatic()
|
||||||
throw err
|
// }
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
// }, 'android-ndk': {
|
|
||||||
// node('android-ndk') {
|
|
||||||
// try {
|
|
||||||
// checkout scm
|
|
||||||
|
|
||||||
// stage('Build Android NDK') {
|
|
||||||
// sh "/android/android-ndk-r15b/ndk-build -C $WORKSPACE/java ZT1=${WORKSPACE}"
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// catch (err) {
|
|
||||||
// currentBuild.result = "FAILURE"
|
|
||||||
// mattermostSend color: '#ff0000', message: "${env.JOB_NAME} broken on Android NDK (<${env.BUILD_URL}|Open>)"
|
|
||||||
|
|
||||||
// throw err
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }, 'macOS': {
|
|
||||||
// node('macOS') {
|
|
||||||
// try {
|
|
||||||
// checkout scm
|
|
||||||
|
|
||||||
// stage('Build macOS') {
|
|
||||||
// sh 'make -f make-mac.mk'
|
|
||||||
// }
|
|
||||||
|
|
||||||
// stage('Build macOS UI') {
|
|
||||||
// sh 'cd macui && xcodebuild -target "ZeroTier One" -configuration Debug'
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// catch (err) {
|
|
||||||
// currentBuild.result = "FAILURE"
|
|
||||||
// mattermostSend color: '#ff0000', message: "${env.JOB_NAME} broken on macOS (<${env.BUILD_URL}|Open>)"
|
|
||||||
|
|
||||||
// throw err
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }, 'windows': {
|
|
||||||
// node('windows') {
|
|
||||||
// try {
|
|
||||||
// checkout scm
|
|
||||||
|
|
||||||
// stage('Build Windows') {
|
|
||||||
// bat '''CALL "C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\vcvarsall.bat" amd64
|
|
||||||
// git clean -dfx
|
|
||||||
// msbuild windows\\ZeroTierOne.sln
|
|
||||||
// '''
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// catch (err) {
|
|
||||||
// currentBuild.result = "FAILURE"
|
|
||||||
// mattermostSend color: '#ff0000', message: "${env.JOB_NAME} broken on Windows (<${env.BUILD_URL}|Open>)"
|
|
||||||
|
|
||||||
// throw err
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
mattermostSend color: "#00ff00", message: "${env.JOB_NAME} #${env.BUILD_NUMBER} Complete (<${env.BUILD_URL}|Show More...>)"
|
def buildStaticBinaries() {
|
||||||
|
def tasks = [:]
|
||||||
|
def dist = ["alpine"]
|
||||||
|
def archs = []
|
||||||
|
if (params.BUILD_ALL == true) {
|
||||||
|
archs = ["arm64", "amd64", "i386", "armhf", "armel", "ppc64le", "s390x"]
|
||||||
|
} else {
|
||||||
|
archs = ["amd64", "i386"]
|
||||||
|
}
|
||||||
|
|
||||||
|
tasks << getTasks(dist, archs, { distro, platform ->
|
||||||
|
def myNode = {
|
||||||
|
node ('linux-build') {
|
||||||
|
dir ("build") {
|
||||||
|
checkout scm
|
||||||
|
}
|
||||||
|
def runtime = docker.image("ztbuild/${distro}-${platform}:latest")
|
||||||
|
runtime.inside {
|
||||||
|
dir("build") {
|
||||||
|
sh 'make -j8 ZT_STATIC=1 all'
|
||||||
|
sh "mv zerotier-one zerotier-one-static-${platform}"
|
||||||
|
stash includes: 'zerotier-one-static-*', name: "static-${platform}"
|
||||||
|
}
|
||||||
|
cleanWs deleteDirs: true, disableDeferredWipeout: true, notFailBuild: true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return myNode
|
||||||
|
})
|
||||||
|
|
||||||
|
return tasks
|
||||||
|
}
|
||||||
|
|
||||||
|
def getTasks(axisDistro, axisPlatform, task) {
|
||||||
|
def tasks = [:]
|
||||||
|
for(int i=0; i< axisDistro.size(); i++) {
|
||||||
|
def axisDistroValue = axisDistro[i]
|
||||||
|
for(int j=0; j< axisPlatform.size(); j++) {
|
||||||
|
def axisPlatformValue = axisPlatform[j]
|
||||||
|
tasks["${axisDistroValue}/${axisPlatformValue}"] = task(axisDistroValue, axisPlatformValue)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return tasks
|
||||||
|
}
|
||||||
|
|
||||||
|
def packageStatic() {
|
||||||
|
def tasks = [:]
|
||||||
|
|
||||||
|
def centos6 = ["centos6"]
|
||||||
|
def centos6Arch = ["i386", "amd64"]
|
||||||
|
tasks << getTasks(centos6, centos6Arch, { 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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
cleanWs deleteDirs: true, disableDeferredWipeout: true, notFailBuild: true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return myNode
|
||||||
|
})
|
||||||
|
|
||||||
|
if (params.BUILD_ALL == true) {
|
||||||
|
def clefos7 = ["clefos"]
|
||||||
|
def clefos7Arch = ["s390x"]
|
||||||
|
tasks << getTasks(clefos7, clefos7Arch, { 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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
cleanWs deleteDirs: true, disableDeferredWipeout: true, notFailBuild: true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return myNode
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
def debianJessie = ["debian-jessie"]
|
||||||
|
def debianJessieArchs = []
|
||||||
|
if (params.BUILD_ALL == true) {
|
||||||
|
debianJessieArch = ["armhf", "armel", "amd64", "i386"]
|
||||||
|
} else {
|
||||||
|
debianJessieArch = ["amd64", "i386"]
|
||||||
|
}
|
||||||
|
tasks << getTasks(debianJessie, debianJessieArch, { distro, arch ->
|
||||||
|
def myNode = {
|
||||||
|
node ('linux-build') {
|
||||||
|
dir ("build") {
|
||||||
|
checkout scm
|
||||||
|
}
|
||||||
|
def runtime = docker.image("ztbuild/${distro}-${arch}:latest")
|
||||||
|
runtime.inside {
|
||||||
|
sh "ls -la ."
|
||||||
|
dir('build/') {
|
||||||
|
sh "ls -la ."
|
||||||
|
unstash "static-${arch}"
|
||||||
|
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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return myNode
|
||||||
|
})
|
||||||
|
|
||||||
|
def ubuntuTrusty = ["ubuntu-trusty"]
|
||||||
|
def ubuntuTrustyArch = []
|
||||||
|
if (params.BUILD_ALL == true) {
|
||||||
|
ubuntuTrustyArch = ["i386", "amd64", "armhf", "arm64", "ppc64le"]
|
||||||
|
} else {
|
||||||
|
ubuntuTrustyArch = ["i386", "amd64"]
|
||||||
|
}
|
||||||
|
tasks << getTasks(ubuntuTrusty, ubuntuTrustyArch, { distro, arch ->
|
||||||
|
def myNode = {
|
||||||
|
node ('linux-build') {
|
||||||
|
dir ("build") {
|
||||||
|
checkout scm
|
||||||
|
}
|
||||||
|
def runtime = docker.image("ztbuild/${distro}-${arch}:latest")
|
||||||
|
runtime.inside {
|
||||||
|
sh "ls -la ."
|
||||||
|
dir('build/') {
|
||||||
|
sh "ls -la ."
|
||||||
|
unstash "static-${arch}"
|
||||||
|
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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return myNode
|
||||||
|
})
|
||||||
|
|
||||||
|
def debianWheezy = ["debian-wheezy"]
|
||||||
|
def debianWheezyArchs = []
|
||||||
|
if (params.BUILD_ALL == true) {
|
||||||
|
debianWheezyArchs = ["armhf", "armel", "amd64", "i386"]
|
||||||
|
} else {
|
||||||
|
debianWheezyArchs = ["amd64", "i386"]
|
||||||
|
}
|
||||||
|
tasks << getTasks(debianJessie, debianJessieArch, { 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 && 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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return myNode
|
||||||
|
})
|
||||||
|
|
||||||
|
return tasks
|
||||||
|
}
|
||||||
|
|
||||||
|
def buildDebianNative() {
|
||||||
|
def tasks = [:]
|
||||||
|
def buster = ["debian-buster", "debian-stretch", "debian-bullseye", "debian-sid"]
|
||||||
|
def busterArchs = []
|
||||||
|
if (params.BUILD_ALL) {
|
||||||
|
busterArchs = ["s390x", "ppc64le", "i386", "armhf", "armel", "arm64", "amd64"]
|
||||||
|
} else {
|
||||||
|
busterArchs = ["amd64", "i386"]
|
||||||
|
}
|
||||||
|
|
||||||
|
def build = { distro, arch ->
|
||||||
|
def myNode = {
|
||||||
|
node ('linux-build') {
|
||||||
|
dir ("build") {
|
||||||
|
checkout scm
|
||||||
|
}
|
||||||
|
def runtime = docker.image("ztbuild/${distro}-${arch}:latest")
|
||||||
|
runtime.inside {
|
||||||
|
dir("build") {
|
||||||
|
sh 'make -j4'
|
||||||
|
}
|
||||||
|
// sh "mkdir -p ${distro}"
|
||||||
|
// sh "mv *.deb ${distro}"
|
||||||
|
// archiveArtifacts artifacts: "${distro}/*.deb", onlyIfSuccessful: true
|
||||||
|
cleanWs deleteDirs: true, disableDeferredWipeout: true, notFailBuild: true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return myNode
|
||||||
|
}
|
||||||
|
|
||||||
|
tasks << getTasks(buster, busterArchs, build)
|
||||||
|
|
||||||
|
// bash is broken when running under QEMU-s390x on Xenial
|
||||||
|
def xenial = ["ubuntu-xenial"]
|
||||||
|
def xenialArchs = []
|
||||||
|
if (params.BUILD_ALL == true) {
|
||||||
|
xenialArchs = ["i386", "amd64", "armhf", "arm64", "ppc64le"]
|
||||||
|
} else {
|
||||||
|
xenialArchs = ["i386", "amd64"]
|
||||||
|
}
|
||||||
|
tasks << getTasks(xenial, xenialArchs, build)
|
||||||
|
|
||||||
|
def ubuntu = ["ubuntu-bionic", "ubuntu-eoan"]
|
||||||
|
def ubuntuArchs = []
|
||||||
|
if (params.BUILD_ALL == true) {
|
||||||
|
ubuntuArchs = ["i386", "amd64", "armhf", "arm64", "ppc64le", "s390x"]
|
||||||
|
} else {
|
||||||
|
ubuntuArchs = ["i386", "amd64"]
|
||||||
|
}
|
||||||
|
tasks << getTasks(ubuntu, ubuntuArchs, build)
|
||||||
|
|
||||||
|
def kali = ["kali-rolling"]
|
||||||
|
def kaliArchs = ["amd64"]
|
||||||
|
tasks << getTasks(kali, kaliArchs, build)
|
||||||
|
|
||||||
|
return tasks
|
||||||
|
}
|
||||||
|
|
||||||
|
def buildCentosNative() {
|
||||||
|
def tasks = [:]
|
||||||
|
|
||||||
|
def build = { distro, arch ->
|
||||||
|
def myNode = {
|
||||||
|
node ('linux-build') {
|
||||||
|
dir ("build") {
|
||||||
|
checkout scm
|
||||||
|
}
|
||||||
|
def runtime = docker.image("ztbuild/${distro}-${arch}:latest")
|
||||||
|
runtime.inside {
|
||||||
|
dir("build") {
|
||||||
|
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
|
||||||
|
}
|
||||||
|
|
||||||
|
cleanWs deleteDirs: true, disableDeferredWipeout: true, notFailBuild: true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return myNode
|
||||||
|
}
|
||||||
|
|
||||||
|
def centos8 = ["centos8"]
|
||||||
|
def centos8Archs = []
|
||||||
|
if (params.BUILD_ALL == true) {
|
||||||
|
centos8Archs = ["amd64", "arm64", "ppc64le"]
|
||||||
|
} else {
|
||||||
|
centos8Archs = ["amd64"]
|
||||||
|
}
|
||||||
|
tasks << getTasks(centos8, centos8Archs, build)
|
||||||
|
|
||||||
|
def centos7 = ["centos7"]
|
||||||
|
def centos7Archs = ["amd64"]
|
||||||
|
tasks << getTasks(centos7, centos7Archs, build)
|
||||||
|
|
||||||
|
return tasks
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>IDEDidComputeMac32BitWarning</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
|
@ -13,7 +13,7 @@ ifeq ($(ZT_SANITIZE),1)
|
||||||
endif
|
endif
|
||||||
# "make debug" is a shortcut for this
|
# "make debug" is a shortcut for this
|
||||||
ifeq ($(ZT_DEBUG),1)
|
ifeq ($(ZT_DEBUG),1)
|
||||||
CFLAGS+=-Wall -Werror -g -pthread $(INCLUDES) $(DEFS)
|
CFLAGS+=-Wall -g -pthread $(INCLUDES) $(DEFS)
|
||||||
LDFLAGS+=
|
LDFLAGS+=
|
||||||
STRIP=echo
|
STRIP=echo
|
||||||
ZT_TRACE=1
|
ZT_TRACE=1
|
||||||
|
|
|
@ -260,12 +260,12 @@ endif
|
||||||
# ARM32 hell -- use conservative CFLAGS
|
# ARM32 hell -- use conservative CFLAGS
|
||||||
ifeq ($(ZT_ARCHITECTURE),3)
|
ifeq ($(ZT_ARCHITECTURE),3)
|
||||||
ifeq ($(shell if [ -e /usr/bin/dpkg ]; then dpkg --print-architecture; fi),armel)
|
ifeq ($(shell if [ -e /usr/bin/dpkg ]; then dpkg --print-architecture; fi),armel)
|
||||||
override CFLAGS+=-march=armv5 -mfloat-abi=soft -msoft-float -mno-unaligned-access -marm
|
override CFLAGS+=-march=armv5t -mfloat-abi=soft -msoft-float -mno-unaligned-access -marm
|
||||||
override CXXFLAGS+=-march=armv5 -mfloat-abi=soft -msoft-float -mno-unaligned-access -marm
|
override CXXFLAGS+=-march=armv5t -mfloat-abi=soft -msoft-float -mno-unaligned-access -marm
|
||||||
ZT_USE_ARM32_NEON_ASM_CRYPTO=0
|
ZT_USE_ARM32_NEON_ASM_CRYPTO=0
|
||||||
else
|
else
|
||||||
override CFLAGS+=-march=armv5 -mno-unaligned-access -marm -fexceptions
|
override CFLAGS+=-march=armv5t -mno-unaligned-access -marm -fexceptions
|
||||||
override CXXFLAGS+=-march=armv5 -mno-unaligned-access -marm -fexceptions
|
override CXXFLAGS+=-march=armv5t -mno-unaligned-access -marm -fexceptions
|
||||||
ZT_USE_ARM32_NEON_ASM_CRYPTO=0
|
ZT_USE_ARM32_NEON_ASM_CRYPTO=0
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
@ -334,8 +334,8 @@ docker: FORCE
|
||||||
central-controller: FORCE
|
central-controller: FORCE
|
||||||
make -j4 LDLIBS="-L/usr/pgsql-10/lib/ -lpq -Lext/librabbitmq/centos_x64/lib/ -lrabbitmq" CXXFLAGS="-I/usr/pgsql-10/include -I./ext/librabbitmq/centos_x64/include -fPIC" DEFS="-DZT_CONTROLLER_USE_LIBPQ -DZT_CONTROLLER" ZT_OFFICIAL=1 ZT_USE_X64_ASM_ED25519=1 one
|
make -j4 LDLIBS="-L/usr/pgsql-10/lib/ -lpq -Lext/librabbitmq/centos_x64/lib/ -lrabbitmq" CXXFLAGS="-I/usr/pgsql-10/include -I./ext/librabbitmq/centos_x64/include -fPIC" DEFS="-DZT_CONTROLLER_USE_LIBPQ -DZT_CONTROLLER" ZT_OFFICIAL=1 ZT_USE_X64_ASM_ED25519=1 one
|
||||||
|
|
||||||
central-controller-docker: central-controller
|
central-controller-docker: FORCE
|
||||||
docker build -t docker.zerotier.com/zerotier-central/ztcentral-controller:${TIMESTAMP} -f ext/central-controller-docker/Dockerfile .
|
docker build -t docker.zerotier.com/zerotier-central/ztcentral-controller:${TIMESTAMP} -f ext/central-controller-docker/Dockerfile --build-arg git_branch=`git name-rev --name-only HEAD` .
|
||||||
|
|
||||||
debug: FORCE
|
debug: FORCE
|
||||||
make ZT_DEBUG=1 one
|
make ZT_DEBUG=1 one
|
||||||
|
@ -390,7 +390,7 @@ uninstall: FORCE
|
||||||
# These are just for convenience for building Linux packages
|
# These are just for convenience for building Linux packages
|
||||||
|
|
||||||
debian: FORCE
|
debian: FORCE
|
||||||
debuild -I -i -us -uc -nc -b
|
debuild --no-lintian -I -i -us -uc -nc -b
|
||||||
|
|
||||||
debian-clean: FORCE
|
debian-clean: FORCE
|
||||||
rm -rf debian/files debian/zerotier-one*.debhelper debian/zerotier-one.substvars debian/*.log debian/zerotier-one debian/.debhelper debian/debhelper-build-stamp
|
rm -rf debian/files debian/zerotier-one*.debhelper debian/zerotier-one.substvars debian/*.log debian/zerotier-one debian/.debhelper debian/debhelper-build-stamp
|
||||||
|
|
|
@ -18,14 +18,18 @@ ZT_VERSION_MINOR=$(shell cat version.h | grep -F VERSION_MINOR | cut -d ' ' -f 3
|
||||||
ZT_VERSION_REV=$(shell cat version.h | grep -F VERSION_REVISION | cut -d ' ' -f 3)
|
ZT_VERSION_REV=$(shell cat version.h | grep -F VERSION_REVISION | cut -d ' ' -f 3)
|
||||||
ZT_VERSION_BUILD=$(shell cat version.h | grep -F VERSION_BUILD | cut -d ' ' -f 3)
|
ZT_VERSION_BUILD=$(shell cat version.h | grep -F VERSION_BUILD | cut -d ' ' -f 3)
|
||||||
|
|
||||||
|
# for central controller builds
|
||||||
|
TIMESTAMP=$(shell date +"%Y%m%d%H%M")
|
||||||
|
|
||||||
DEFS+=-DZT_BUILD_PLATFORM=$(ZT_BUILD_PLATFORM) -DZT_BUILD_ARCHITECTURE=$(ZT_BUILD_ARCHITECTURE)
|
DEFS+=-DZT_BUILD_PLATFORM=$(ZT_BUILD_PLATFORM) -DZT_BUILD_ARCHITECTURE=$(ZT_BUILD_ARCHITECTURE)
|
||||||
|
|
||||||
include objects.mk
|
include objects.mk
|
||||||
ONE_OBJS+=osdep/MacEthernetTap.o osdep/MacKextEthernetTap.o ext/http-parser/http_parser.o
|
ONE_OBJS+=osdep/MacEthernetTap.o osdep/MacKextEthernetTap.o ext/http-parser/http_parser.o
|
||||||
|
|
||||||
ifeq ($(ZT_CONTROLLER),1)
|
ifeq ($(ZT_CONTROLLER),1)
|
||||||
LIBS+=-lpq -lrabbitmq
|
LIBS+=-L/usr/local/opt/libpq/lib -lpq -Lext/librabbitmq/macos/lib -lrabbitmq
|
||||||
DEFS+=-DZT_CONTROLLER_USE_LIBPQ -DZT_CONTROLLER
|
DEFS+=-DZT_CONTROLLER_USE_LIBPQ -DZT_CONTROLLER
|
||||||
|
INCLUDES+=-Iext/librabbitmq/macos/include -I/usr/local/opt/libpq/include
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Official releases are signed with our Apple cert and apply software updates by default
|
# Official releases are signed with our Apple cert and apply software updates by default
|
||||||
|
@ -145,6 +149,9 @@ official: FORCE
|
||||||
make ZT_OFFICIAL_RELEASE=1 macui
|
make ZT_OFFICIAL_RELEASE=1 macui
|
||||||
make ZT_OFFICIAL_RELEASE=1 mac-dist-pkg
|
make ZT_OFFICIAL_RELEASE=1 mac-dist-pkg
|
||||||
|
|
||||||
|
central-controller-docker: FORCE
|
||||||
|
docker build -t docker.zerotier.com/zerotier-central/ztcentral-controller:${TIMESTAMP} -f ext/central-controller-docker/Dockerfile --build-arg git_branch=$(shell git name-rev --name-only HEAD) .
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -rf MacEthernetTapAgent *.dSYM build-* *.a *.pkg *.dmg *.o node/*.o controller/*.o service/*.o osdep/*.o ext/http-parser/*.o $(CORE_OBJS) $(ONE_OBJS) zerotier-one zerotier-idtool zerotier-selftest zerotier-cli zerotier doc/node_modules macui/build zt1_update_$(ZT_BUILD_PLATFORM)_$(ZT_BUILD_ARCHITECTURE)_*
|
rm -rf MacEthernetTapAgent *.dSYM build-* *.a *.pkg *.dmg *.o node/*.o controller/*.o service/*.o osdep/*.o ext/http-parser/*.o $(CORE_OBJS) $(ONE_OBJS) zerotier-one zerotier-idtool zerotier-selftest zerotier-cli zerotier doc/node_modules macui/build zt1_update_$(ZT_BUILD_PLATFORM)_$(ZT_BUILD_ARCHITECTURE)_*
|
||||||
|
|
||||||
|
|
|
@ -544,16 +544,20 @@ public:
|
||||||
// than one device behind the same NAT tries to use the same internal
|
// than one device behind the same NAT tries to use the same internal
|
||||||
// private address port number. Buggy NATs are a running theme.
|
// private address port number. Buggy NATs are a running theme.
|
||||||
if (_allowSecondaryPort) {
|
if (_allowSecondaryPort) {
|
||||||
_ports[1] = (_secondaryPort == 0) ? 20000 + ((unsigned int)_node->address() % 45500) : _secondaryPort;
|
if (_secondaryPort) {
|
||||||
for(int i=0;;++i) {
|
_ports[1] = _secondaryPort;
|
||||||
if (i > 1000) {
|
} else {
|
||||||
_ports[1] = 0;
|
_ports[1] = 20000 + ((unsigned int)_node->address() % 45500);
|
||||||
break;
|
for(int i=0;;++i) {
|
||||||
} else if (++_ports[1] >= 65536) {
|
if (i > 1000) {
|
||||||
_ports[1] = 20000;
|
_ports[1] = 0;
|
||||||
|
break;
|
||||||
|
} else if (++_ports[1] >= 65536) {
|
||||||
|
_ports[1] = 20000;
|
||||||
|
}
|
||||||
|
if (_trialBind(_ports[1]))
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
if (_trialBind(_ports[1]))
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -562,21 +566,25 @@ public:
|
||||||
// use the other two ports for that because some NATs do really funky
|
// use the other two ports for that because some NATs do really funky
|
||||||
// stuff with ports that are explicitly mapped that breaks things.
|
// stuff with ports that are explicitly mapped that breaks things.
|
||||||
if (_ports[1]) {
|
if (_ports[1]) {
|
||||||
_ports[2] = (_tertiaryPort == 0) ? _ports[1] : _tertiaryPort;
|
if (_tertiaryPort) {
|
||||||
for(int i=0;;++i) {
|
_ports[2] = _tertiaryPort;
|
||||||
if (i > 1000) {
|
} else {
|
||||||
_ports[2] = 0;
|
_ports[2] = _ports[1];
|
||||||
break;
|
for(int i=0;;++i) {
|
||||||
} else if (++_ports[2] >= 65536) {
|
if (i > 1000) {
|
||||||
_ports[2] = 20000;
|
_ports[2] = 0;
|
||||||
|
break;
|
||||||
|
} else if (++_ports[2] >= 65536) {
|
||||||
|
_ports[2] = 20000;
|
||||||
|
}
|
||||||
|
if (_trialBind(_ports[2]))
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (_ports[2]) {
|
||||||
|
char uniqueName[64];
|
||||||
|
OSUtils::ztsnprintf(uniqueName,sizeof(uniqueName),"ZeroTier/%.10llx@%u",_node->address(),_ports[2]);
|
||||||
|
_portMapper = new PortMapper(_ports[2],uniqueName);
|
||||||
}
|
}
|
||||||
if (_trialBind(_ports[2]))
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
if (_ports[2]) {
|
|
||||||
char uniqueName[64];
|
|
||||||
OSUtils::ztsnprintf(uniqueName,sizeof(uniqueName),"ZeroTier/%.10llx@%u",_node->address(),_ports[2]);
|
|
||||||
_portMapper = new PortMapper(_ports[2],uniqueName);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -828,9 +836,9 @@ public:
|
||||||
fprintf(stderr, "Reading RabbitMQ Config\n");
|
fprintf(stderr, "Reading RabbitMQ Config\n");
|
||||||
_mqc = new MQConfig;
|
_mqc = new MQConfig;
|
||||||
_mqc->port = rmq["port"];
|
_mqc->port = rmq["port"];
|
||||||
_mqc->host = OSUtils::jsonString(rmq["host"], "").c_str();
|
_mqc->host = OSUtils::jsonString(rmq["host"], "");
|
||||||
_mqc->username = OSUtils::jsonString(rmq["username"], "").c_str();
|
_mqc->username = OSUtils::jsonString(rmq["username"], "");
|
||||||
_mqc->password = OSUtils::jsonString(rmq["password"], "").c_str();
|
_mqc->password = OSUtils::jsonString(rmq["password"], "");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Bind to wildcard instead of to specific interfaces (disables full tunnel capability)
|
// Bind to wildcard instead of to specific interfaces (disables full tunnel capability)
|
||||||
|
|
|
@ -75,7 +75,15 @@ namespace WinUI
|
||||||
{
|
{
|
||||||
byte[] tmp = File.ReadAllBytes(centralConfigPath);
|
byte[] tmp = File.ReadAllBytes(centralConfigPath);
|
||||||
string json = Encoding.UTF8.GetString(tmp).Trim();
|
string json = Encoding.UTF8.GetString(tmp).Trim();
|
||||||
Central = JsonConvert.DeserializeObject<CentralServer>(json);
|
CentralServer ctmp = JsonConvert.DeserializeObject<CentralServer>(json);
|
||||||
|
if (ctmp != null)
|
||||||
|
{
|
||||||
|
Central = ctmp;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Central = new CentralServer();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -105,7 +113,10 @@ namespace WinUI
|
||||||
{
|
{
|
||||||
string json = JsonConvert.SerializeObject(Central);
|
string json = JsonConvert.SerializeObject(Central);
|
||||||
byte[] tmp = Encoding.UTF8.GetBytes(json);
|
byte[] tmp = Encoding.UTF8.GetBytes(json);
|
||||||
File.WriteAllBytes(CentralConfigFile(), tmp);
|
if (tmp != null)
|
||||||
|
{
|
||||||
|
File.WriteAllBytes(CentralConfigFile(), tmp);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void UpdateRequestHeaders()
|
private void UpdateRequestHeaders()
|
||||||
|
|
|
@ -220,37 +220,37 @@
|
||||||
<PropertyGroup Label="Globals">
|
<PropertyGroup Label="Globals">
|
||||||
<ProjectGuid>{B00A4957-5977-4AC1-9EF4-571DC27EADA2}</ProjectGuid>
|
<ProjectGuid>{B00A4957-5977-4AC1-9EF4-571DC27EADA2}</ProjectGuid>
|
||||||
<RootNamespace>ZeroTierOne</RootNamespace>
|
<RootNamespace>ZeroTierOne</RootNamespace>
|
||||||
<WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
|
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
<UseDebugLibraries>true</UseDebugLibraries>
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
<PlatformToolset>v141</PlatformToolset>
|
<PlatformToolset>v142</PlatformToolset>
|
||||||
<CharacterSet>MultiByte</CharacterSet>
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'" Label="Configuration">
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
<UseDebugLibraries>true</UseDebugLibraries>
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
<PlatformToolset>v141</PlatformToolset>
|
<PlatformToolset>v142</PlatformToolset>
|
||||||
<CharacterSet>MultiByte</CharacterSet>
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
<UseDebugLibraries>true</UseDebugLibraries>
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
<PlatformToolset>v141</PlatformToolset>
|
<PlatformToolset>v142</PlatformToolset>
|
||||||
<CharacterSet>MultiByte</CharacterSet>
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Profile|x64'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Profile|x64'" Label="Configuration">
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
<UseDebugLibraries>true</UseDebugLibraries>
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
<PlatformToolset>v141</PlatformToolset>
|
<PlatformToolset>v142</PlatformToolset>
|
||||||
<CharacterSet>MultiByte</CharacterSet>
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
<UseDebugLibraries>false</UseDebugLibraries>
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
<PlatformToolset>v141</PlatformToolset>
|
<PlatformToolset>v142</PlatformToolset>
|
||||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
<CharacterSet>MultiByte</CharacterSet>
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
<UseOfMfc>Static</UseOfMfc>
|
<UseOfMfc>Static</UseOfMfc>
|
||||||
|
@ -258,7 +258,7 @@
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
<UseDebugLibraries>false</UseDebugLibraries>
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
<PlatformToolset>v141</PlatformToolset>
|
<PlatformToolset>v142</PlatformToolset>
|
||||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
<CharacterSet>MultiByte</CharacterSet>
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
<UseOfMfc>Static</UseOfMfc>
|
<UseOfMfc>Static</UseOfMfc>
|
||||||
|
|
|
@ -760,7 +760,7 @@ void PostgreSQL::networksDbWatcher()
|
||||||
fprintf(stderr, "ERROR: %s networksDbWatcher should still be running! Exiting Controller.\n", _myAddressStr.c_str());
|
fprintf(stderr, "ERROR: %s networksDbWatcher should still be running! Exiting Controller.\n", _myAddressStr.c_str());
|
||||||
exit(8);
|
exit(8);
|
||||||
}
|
}
|
||||||
fprintf(stderr, "Exited membersDbWatcher\n");
|
fprintf(stderr, "Exited networksDbWatcher\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
void PostgreSQL::_networksWatcher_Postgres(PGconn *conn) {
|
void PostgreSQL::_networksWatcher_Postgres(PGconn *conn) {
|
||||||
|
|
|
@ -51,13 +51,13 @@ void RabbitMQ::init()
|
||||||
throw std::runtime_error("Can't create socket for RabbitMQ");
|
throw std::runtime_error("Can't create socket for RabbitMQ");
|
||||||
}
|
}
|
||||||
|
|
||||||
_status = amqp_socket_open_noblock(_socket, _mqc->host, _mqc->port, &tval);
|
_status = amqp_socket_open_noblock(_socket, _mqc->host.c_str(), _mqc->port, &tval);
|
||||||
if (_status) {
|
if (_status) {
|
||||||
throw std::runtime_error("Can't connect to RabbitMQ");
|
throw std::runtime_error("Can't connect to RabbitMQ");
|
||||||
}
|
}
|
||||||
|
|
||||||
amqp_rpc_reply_t r = amqp_login(_conn, "/", 0, 131072, 0, AMQP_SASL_METHOD_PLAIN,
|
amqp_rpc_reply_t r = amqp_login(_conn, "/", 0, 131072, 0, AMQP_SASL_METHOD_PLAIN,
|
||||||
_mqc->username, _mqc->password);
|
_mqc->username.c_str(), _mqc->password.c_str());
|
||||||
if (r.reply_type != AMQP_RESPONSE_NORMAL) {
|
if (r.reply_type != AMQP_RESPONSE_NORMAL) {
|
||||||
throw std::runtime_error("RabbitMQ Login Error");
|
throw std::runtime_error("RabbitMQ Login Error");
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,14 +15,15 @@
|
||||||
#define ZT_CONTROLLER_RABBITMQ_HPP
|
#define ZT_CONTROLLER_RABBITMQ_HPP
|
||||||
|
|
||||||
#include "DB.hpp"
|
#include "DB.hpp"
|
||||||
|
#include <string>
|
||||||
|
|
||||||
namespace ZeroTier
|
namespace ZeroTier
|
||||||
{
|
{
|
||||||
struct MQConfig {
|
struct MQConfig {
|
||||||
const char *host;
|
std::string host;
|
||||||
int port;
|
int port;
|
||||||
const char *username;
|
std::string username;
|
||||||
const char *password;
|
std::string password;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -32,7 +33,7 @@ struct MQConfig {
|
||||||
|
|
||||||
#include <amqp.h>
|
#include <amqp.h>
|
||||||
#include <amqp_tcp_socket.h>
|
#include <amqp_tcp_socket.h>
|
||||||
#include <string>
|
|
||||||
|
|
||||||
namespace ZeroTier
|
namespace ZeroTier
|
||||||
{
|
{
|
||||||
|
|
23
dockerbuild/Dockerfile.alpine
Normal file
23
dockerbuild/Dockerfile.alpine
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
FROM alpine:3.11.3
|
||||||
|
|
||||||
|
ARG go_pkg_url
|
||||||
|
|
||||||
|
RUN apk add --update alpine-sdk linux-headers cmake openssh curl
|
||||||
|
|
||||||
|
|
||||||
|
RUN adduser -D -s /bin/ash jenkins && \
|
||||||
|
passwd -u jenkins && \
|
||||||
|
ssh-keygen -A && \
|
||||||
|
mkdir /home/jenkins/.ssh && \
|
||||||
|
chown -R jenkins:jenkins /home/jenkins
|
||||||
|
|
||||||
|
RUN curl -s $go_pkg_url -o go.tar.gz && \
|
||||||
|
tar -C /usr/local -xzf go.tar.gz
|
||||||
|
|
||||||
|
COPY authorized_keys /home/jenkins/.ssh/authorized_keys
|
||||||
|
RUN chown -R jenkins:jenkins /home/jenkins/.ssh && \
|
||||||
|
chmod 600 /home/jenkins/.ssh/authorized_keys
|
||||||
|
|
||||||
|
EXPOSE 22
|
||||||
|
CMD ["/usr/sbin/sshd", "-D"]
|
||||||
|
|
20
dockerbuild/Dockerfile.centos6
Normal file
20
dockerbuild/Dockerfile.centos6
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
FROM centos:6
|
||||||
|
|
||||||
|
ARG go_pkg_url
|
||||||
|
|
||||||
|
RUN yum update -y
|
||||||
|
RUN yum install -y curl git wget openssh-server sudo make rpmdevtools && yum clean all
|
||||||
|
|
||||||
|
RUN curl -s $go_pkg_url -o go.tar.gz && \
|
||||||
|
tar -C /usr/local -xzf go.tar.gz && \
|
||||||
|
rm go.tar.gz
|
||||||
|
|
||||||
|
RUN groupadd -g 1000 jenkins-build && useradd -u 1000 -g 1000 jenkins-build
|
||||||
|
|
||||||
|
RUN echo $'\n\
|
||||||
|
export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin\n'\
|
||||||
|
>> ~/.bash_profile
|
||||||
|
|
||||||
|
RUN mkdir /rpmbuild && chmod 777 /rpmbuild
|
||||||
|
|
||||||
|
CMD ["/usr/sbin/sshd", "-D"]
|
21
dockerbuild/Dockerfile.centos6-i386
Normal file
21
dockerbuild/Dockerfile.centos6-i386
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
FROM i386/centos:6
|
||||||
|
|
||||||
|
ARG go_pkg_url
|
||||||
|
|
||||||
|
RUN echo i386 > /etc/yum/vars/basearch && echo i686 > /etc/yum/vars/arch
|
||||||
|
|
||||||
|
RUN yum install -y curl git wget openssh-server sudo make rpmdevtools && yum clean all
|
||||||
|
|
||||||
|
RUN curl -s $go_pkg_url -o go.tar.gz && \
|
||||||
|
tar -C /usr/local -xzf go.tar.gz && \
|
||||||
|
rm go.tar.gz
|
||||||
|
|
||||||
|
RUN groupadd -g 1000 jenkins-build && useradd -u 1000 -g 1000 jenkins-build
|
||||||
|
|
||||||
|
RUN echo $'\n\
|
||||||
|
export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin\n'\
|
||||||
|
>> ~/.bash_profile
|
||||||
|
|
||||||
|
RUN mkdir /rpmbuild && chmod 777 /rpmbuild
|
||||||
|
|
||||||
|
CMD ["/usr/sbin/sshd", "-D"]
|
32
dockerbuild/Dockerfile.centos7
Normal file
32
dockerbuild/Dockerfile.centos7
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
FROM centos:7
|
||||||
|
|
||||||
|
ARG go_pkg_url
|
||||||
|
|
||||||
|
RUN yum install -y epel-release
|
||||||
|
RUN yum install -y curl git wget openssh-server sudo make development-tools rpmdevtools clang gcc-c++ ruby ruby-devel centos-release-scl devtoolset-8 llvm-toolset-7 openssl-devel && yum clean all
|
||||||
|
|
||||||
|
RUN curl -sL https://github.com/Kitware/CMake/releases/download/v3.16.3/cmake-3.16.3.tar.gz -o cmake.tar.gz && \
|
||||||
|
tar -xzf cmake.tar.gz && \
|
||||||
|
cd cmake-3.16.3 && \
|
||||||
|
./bootstrap && \
|
||||||
|
make -j4 && \
|
||||||
|
make install
|
||||||
|
|
||||||
|
RUN curl -s $go_pkg_url -o go.tar.gz && \
|
||||||
|
tar -C /usr/local -xzf go.tar.gz && \
|
||||||
|
rm go.tar.gz
|
||||||
|
|
||||||
|
RUN wget -qO- "https://cmake.org/files/v3.15/cmake-3.15.1-Linux-x86_64.tar.gz" | tar --strip-components=1 -xz -C /usr/local
|
||||||
|
|
||||||
|
RUN /usr/bin/ssh-keygen -A
|
||||||
|
RUN useradd jenkins-build
|
||||||
|
|
||||||
|
RUN echo $'\n\
|
||||||
|
export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin\n\
|
||||||
|
source scl_source enable devtoolset-8 llvm-toolset-7\n'\
|
||||||
|
>> ~/.bash_profile
|
||||||
|
|
||||||
|
RUN mkdir /rpmbuild && chmod 777 /rpmbuild
|
||||||
|
|
||||||
|
CMD ["/usr/sbin/sshd", "-D"]
|
||||||
|
|
29
dockerbuild/Dockerfile.centos7-i386
Normal file
29
dockerbuild/Dockerfile.centos7-i386
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
FROM centos:7
|
||||||
|
|
||||||
|
ARG go_pkg_url
|
||||||
|
|
||||||
|
RUN yum install -y curl git wget openssh-server sudo make development-tools rpmdevtools clang gcc-c++ ruby ruby-devel openssl-devel && yum clean all
|
||||||
|
|
||||||
|
RUN curl -sL https://github.com/Kitware/CMake/releases/download/v3.16.3/cmake-3.16.3.tar.gz -o cmake.tar.gz && \
|
||||||
|
tar -xzf cmake.tar.gz && \
|
||||||
|
cd cmake-3.16.3 && \
|
||||||
|
./bootstrap && \
|
||||||
|
make -j4 && \
|
||||||
|
make install
|
||||||
|
|
||||||
|
RUN curl -s $go_pkg_url -o go.tar.gz && \
|
||||||
|
tar -C /usr/local -xzf go.tar.gz && \
|
||||||
|
rm go.tar.gz
|
||||||
|
|
||||||
|
RUN /usr/bin/ssh-keygen -A
|
||||||
|
|
||||||
|
RUN useradd jenkins-build
|
||||||
|
|
||||||
|
RUN echo $'\n\
|
||||||
|
export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin\n'\
|
||||||
|
>> ~/.bash_profile
|
||||||
|
|
||||||
|
RUN mkdir /rpmbuild && chmod 777 /rpmbuild
|
||||||
|
|
||||||
|
CMD ["/usr/sbin/sshd", "-D"]
|
||||||
|
|
25
dockerbuild/Dockerfile.centos8
Normal file
25
dockerbuild/Dockerfile.centos8
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
FROM centos:8
|
||||||
|
|
||||||
|
ARG go_pkg_url
|
||||||
|
|
||||||
|
RUN yum install -y epel-release
|
||||||
|
RUN yum install -y curl git wget openssh-server sudo make rpmdevtools clang gcc-c++ ruby ruby-devel cmake && yum clean all
|
||||||
|
|
||||||
|
RUN curl -s $go_pkg_url -o go.tar.gz && \
|
||||||
|
tar -C /usr/local -xzf go.tar.gz && \
|
||||||
|
rm go.tar.gz
|
||||||
|
|
||||||
|
RUN wget -qO- "https://cmake.org/files/v3.15/cmake-3.15.1-Linux-x86_64.tar.gz" | tar --strip-components=1 -xz -C /usr/local
|
||||||
|
|
||||||
|
RUN /usr/bin/ssh-keygen -A
|
||||||
|
RUN useradd jenkins-build
|
||||||
|
|
||||||
|
RUN echo $'\n\
|
||||||
|
export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin\n\
|
||||||
|
source scl_source enable devtoolset-8 llvm-toolset-7\n'\
|
||||||
|
>> ~/.bash_profile
|
||||||
|
|
||||||
|
RUN mkdir /rpmbuild && chmod 777 /rpmbuild
|
||||||
|
|
||||||
|
CMD ["/usr/sbin/sshd", "-D"]
|
||||||
|
|
26
dockerbuild/Dockerfile.clefos-s390x
Normal file
26
dockerbuild/Dockerfile.clefos-s390x
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
FROM s390x/clefos:7
|
||||||
|
|
||||||
|
ARG go_pkg_url
|
||||||
|
|
||||||
|
RUN yum install -y curl git wget openssh-server sudo make development-tools rpmdevtools clang gcc-c++ ruby ruby-devel openssl-devel && yum clean all
|
||||||
|
RUN curl -sL https://github.com/Kitware/CMake/releases/download/v3.16.3/cmake-3.16.3.tar.gz -o cmake.tar.gz && \
|
||||||
|
tar -xzf cmake.tar.gz && \
|
||||||
|
cd cmake-3.16.3 && \
|
||||||
|
./bootstrap && \
|
||||||
|
make -j4 && \
|
||||||
|
make install
|
||||||
|
|
||||||
|
RUN curl -s $go_pkg_url -o go.tar.gz && \
|
||||||
|
tar -C /usr/local -xzf go.tar.gz && \
|
||||||
|
rm go.tar.gz
|
||||||
|
|
||||||
|
RUN /usr/bin/ssh-keygen -A
|
||||||
|
|
||||||
|
RUN echo $'\n\
|
||||||
|
export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin\n'\
|
||||||
|
>> ~/.bash_profile
|
||||||
|
|
||||||
|
RUN mkdir /rpmbuild && chmod 777 /rpmbuild
|
||||||
|
|
||||||
|
CMD ["/usr/sbin/sshd", "-D"]
|
||||||
|
|
15
dockerbuild/Dockerfile.debian-bullseye
Normal file
15
dockerbuild/Dockerfile.debian-bullseye
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
FROM debian:bullseye-20191224
|
||||||
|
|
||||||
|
ARG go_pkg_url
|
||||||
|
|
||||||
|
RUN apt-get update && apt-get upgrade -y && apt-get -y install build-essential curl ca-certificates devscripts dh-systemd cmake
|
||||||
|
|
||||||
|
RUN curl -s -k $go_pkg_url -o go.tar.gz && \
|
||||||
|
tar -C /usr/local -xzf go.tar.gz && \
|
||||||
|
rm go.tar.gz
|
||||||
|
|
||||||
|
RUN groupadd -g 1000 jenkins-build && useradd -u 1000 -g 1000 jenkins-build
|
||||||
|
RUN chmod 777 /home
|
||||||
|
|
||||||
|
CMD ["/usr/bin/sshd", "-D"]
|
||||||
|
|
15
dockerbuild/Dockerfile.debian-buster
Normal file
15
dockerbuild/Dockerfile.debian-buster
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
FROM debian:buster-20191224
|
||||||
|
|
||||||
|
ARG go_pkg_url
|
||||||
|
|
||||||
|
RUN apt-get update && apt-get -y install build-essential curl ca-certificates devscripts dh-systemd cmake
|
||||||
|
|
||||||
|
RUN curl -s -k $go_pkg_url -o go.tar.gz && \
|
||||||
|
tar -C /usr/local -xzf go.tar.gz && \
|
||||||
|
rm go.tar.gz
|
||||||
|
|
||||||
|
RUN groupadd -g 1000 jenkins-build && useradd -u 1000 -g 1000 jenkins-build
|
||||||
|
RUN chmod 777 /home
|
||||||
|
|
||||||
|
CMD ["/usr/bin/sshd", "-D"]
|
||||||
|
|
22
dockerbuild/Dockerfile.debian-jessie
Normal file
22
dockerbuild/Dockerfile.debian-jessie
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
FROM debian:jessie-20191224
|
||||||
|
|
||||||
|
ARG go_pkg_url
|
||||||
|
|
||||||
|
RUN apt-get update && apt-get -y install build-essential curl ca-certificates devscripts dh-systemd libssl-dev
|
||||||
|
|
||||||
|
RUN curl -s -k $go_pkg_url -o go.tar.gz && \
|
||||||
|
tar -C /usr/local -xzf go.tar.gz && \
|
||||||
|
rm go.tar.gz
|
||||||
|
|
||||||
|
RUN curl -sL https://github.com/Kitware/CMake/releases/download/v3.16.3/cmake-3.16.3.tar.gz -o cmake.tar.gz && \
|
||||||
|
tar -xzf cmake.tar.gz && \
|
||||||
|
cd cmake-3.16.3 && \
|
||||||
|
./bootstrap && \
|
||||||
|
make -j4 && \
|
||||||
|
make install
|
||||||
|
|
||||||
|
RUN groupadd -g 1000 jenkins-build && useradd -u 1000 -g 1000 jenkins-build
|
||||||
|
RUN chmod 777 /home
|
||||||
|
|
||||||
|
CMD ["/usr/bin/sshd", "-D"]
|
||||||
|
|
15
dockerbuild/Dockerfile.debian-sid
Normal file
15
dockerbuild/Dockerfile.debian-sid
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
FROM debian:sid-20191224
|
||||||
|
|
||||||
|
ARG go_pkg_url
|
||||||
|
|
||||||
|
RUN apt-get update && apt-get upgrade -y && apt-get -y install build-essential curl ca-certificates devscripts dh-systemd cmake
|
||||||
|
|
||||||
|
RUN curl -s -k $go_pkg_url -o go.tar.gz && \
|
||||||
|
tar -C /usr/local -xzf go.tar.gz && \
|
||||||
|
rm go.tar.gz
|
||||||
|
|
||||||
|
RUN groupadd -g 1000 jenkins-build && useradd -u 1000 -g 1000 jenkins-build
|
||||||
|
RUN chmod 777 /home
|
||||||
|
|
||||||
|
CMD ["/usr/bin/sshd", "-D"]
|
||||||
|
|
22
dockerbuild/Dockerfile.debian-stretch
Normal file
22
dockerbuild/Dockerfile.debian-stretch
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
FROM debian:stretch-20191224
|
||||||
|
|
||||||
|
ARG go_pkg_url
|
||||||
|
|
||||||
|
RUN apt-get update && apt-get -y install build-essential curl ca-certificates devscripts dh-systemd libssl-dev
|
||||||
|
|
||||||
|
RUN curl -sL https://github.com/Kitware/CMake/releases/download/v3.16.3/cmake-3.16.3.tar.gz -o cmake.tar.gz && \
|
||||||
|
tar -xzf cmake.tar.gz && \
|
||||||
|
cd cmake-3.16.3 && \
|
||||||
|
./bootstrap && \
|
||||||
|
make -j4 && \
|
||||||
|
make install
|
||||||
|
|
||||||
|
RUN curl -s -k $go_pkg_url -o go.tar.gz && \
|
||||||
|
tar -C /usr/local -xzf go.tar.gz && \
|
||||||
|
rm go.tar.gz
|
||||||
|
|
||||||
|
RUN groupadd -g 1000 jenkins-build && useradd -u 1000 -g 1000 jenkins-build
|
||||||
|
RUN chmod 777 /home
|
||||||
|
|
||||||
|
CMD ["/usr/bin/sshd", "-D"]
|
||||||
|
|
23
dockerbuild/Dockerfile.debian-wheezy
Normal file
23
dockerbuild/Dockerfile.debian-wheezy
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
FROM debian:wheezy-20190228
|
||||||
|
|
||||||
|
ARG go_pkg_url
|
||||||
|
|
||||||
|
RUN echo "deb http://archive.debian.org/debian/ wheezy contrib main non-free" > /etc/apt/sources.list && \
|
||||||
|
echo "deb-src http://archive.debian.org/debian/ wheezy contrib main non-free" >> /etc/apt/sources.list && \
|
||||||
|
apt-get update && apt-get install -y apt-utils && \
|
||||||
|
apt-get install -y --force-yes \
|
||||||
|
curl gcc make sudo expect gnupg fakeroot perl-base=5.14.2-21+deb7u3 perl \
|
||||||
|
libc-bin=2.13-38+deb7u10 libc6=2.13-38+deb7u10 libc6-dev build-essential \
|
||||||
|
cdbs devscripts equivs automake autoconf libtool libaudit-dev selinux-basics \
|
||||||
|
libdb5.1=5.1.29-5 libdb5.1-dev libssl1.0.0=1.0.1e-2+deb7u20 procps gawk libsigsegv2 \
|
||||||
|
curl ca-certificates devscripts
|
||||||
|
|
||||||
|
RUN curl -s -k $go_pkg_url -o go.tar.gz && \
|
||||||
|
tar -C /usr/local -xzf go.tar.gz && \
|
||||||
|
rm go.tar.gz
|
||||||
|
|
||||||
|
RUN groupadd -g 1000 jenkins-build && useradd -u 1000 -g 1000 jenkins-build
|
||||||
|
RUN chmod 777 /home
|
||||||
|
|
||||||
|
CMD ["/usr/bin/sshd", "-D"]
|
||||||
|
|
15
dockerbuild/Dockerfile.kali-rolling
Normal file
15
dockerbuild/Dockerfile.kali-rolling
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
FROM kalilinux/kali-rolling:latest
|
||||||
|
|
||||||
|
ARG go_pkg_url
|
||||||
|
|
||||||
|
RUN apt-get update && apt-get upgrade -y && apt-get -y install build-essential curl ca-certificates devscripts dh-systemd cmake
|
||||||
|
|
||||||
|
RUN curl -s -k $go_pkg_url -o go.tar.gz && \
|
||||||
|
tar -C /usr/local -xzf go.tar.gz && \
|
||||||
|
rm go.tar.gz
|
||||||
|
|
||||||
|
RUN groupadd -g 1000 jenkins-build && useradd -u 1000 -g 1000 jenkins-build
|
||||||
|
RUN chmod 777 /home
|
||||||
|
|
||||||
|
CMD ["/usr/bin/sshd", "-D"]
|
||||||
|
|
15
dockerbuild/Dockerfile.ubuntu-bionic
Normal file
15
dockerbuild/Dockerfile.ubuntu-bionic
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
FROM ubuntu:bionic-20200112
|
||||||
|
|
||||||
|
ARG go_pkg_url
|
||||||
|
|
||||||
|
RUN apt-get update && apt-get upgrade -y && apt-get -y install build-essential curl ca-certificates devscripts dh-systemd cmake
|
||||||
|
|
||||||
|
RUN curl -s -k $go_pkg_url -o go.tar.gz && \
|
||||||
|
tar -C /usr/local -xzf go.tar.gz && \
|
||||||
|
rm go.tar.gz
|
||||||
|
|
||||||
|
RUN groupadd -g 1000 jenkins-build && useradd -u 1000 -g 1000 jenkins-build
|
||||||
|
RUN chmod 777 /home
|
||||||
|
|
||||||
|
CMD ["/usr/bin/sshd", "-D"]
|
||||||
|
|
15
dockerbuild/Dockerfile.ubuntu-eoan
Normal file
15
dockerbuild/Dockerfile.ubuntu-eoan
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
FROM ubuntu:eoan-20200114
|
||||||
|
|
||||||
|
ARG go_pkg_url
|
||||||
|
|
||||||
|
RUN apt-get update && apt-get upgrade -y && apt-get -y install build-essential curl ca-certificates devscripts dh-systemd cmake
|
||||||
|
|
||||||
|
RUN curl -s -k $go_pkg_url -o go.tar.gz && \
|
||||||
|
tar -C /usr/local -xzf go.tar.gz && \
|
||||||
|
rm go.tar.gz
|
||||||
|
|
||||||
|
RUN groupadd -g 1000 jenkins-build && useradd -u 1000 -g 1000 jenkins-build
|
||||||
|
RUN chmod 777 /home
|
||||||
|
|
||||||
|
CMD ["/usr/bin/sshd", "-D"]
|
||||||
|
|
22
dockerbuild/Dockerfile.ubuntu-trusty
Normal file
22
dockerbuild/Dockerfile.ubuntu-trusty
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
FROM ubuntu:trusty-20191217
|
||||||
|
|
||||||
|
ARG go_pkg_url
|
||||||
|
|
||||||
|
RUN apt-get update && apt-get upgrade -y && apt-get -y install build-essential curl ca-certificates devscripts dh-systemd libssl-dev
|
||||||
|
|
||||||
|
RUN curl -sL https://github.com/Kitware/CMake/releases/download/v3.16.3/cmake-3.16.3.tar.gz -o cmake.tar.gz && \
|
||||||
|
tar -xzf cmake.tar.gz && \
|
||||||
|
cd cmake-3.16.3 && \
|
||||||
|
./bootstrap && \
|
||||||
|
make -j4 && \
|
||||||
|
make install
|
||||||
|
|
||||||
|
RUN curl -s -k $go_pkg_url -o go.tar.gz && \
|
||||||
|
tar -C /usr/local -xzf go.tar.gz && \
|
||||||
|
rm go.tar.gz
|
||||||
|
|
||||||
|
RUN groupadd -g 1000 jenkins-build && useradd -u 1000 -g 1000 jenkins-build
|
||||||
|
RUN chmod 777 /home
|
||||||
|
|
||||||
|
CMD ["/usr/bin/sshd", "-D"]
|
||||||
|
|
22
dockerbuild/Dockerfile.ubuntu-xenial
Normal file
22
dockerbuild/Dockerfile.ubuntu-xenial
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
FROM ubuntu:xenial-20200114
|
||||||
|
|
||||||
|
ARG go_pkg_url
|
||||||
|
|
||||||
|
RUN apt-get update && apt-get -y install build-essential curl ca-certificates devscripts dh-systemd
|
||||||
|
|
||||||
|
RUN curl -sL https://github.com/Kitware/CMake/releases/download/v3.16.3/cmake-3.16.3.tar.gz -o cmake.tar.gz && \
|
||||||
|
tar -xzf cmake.tar.gz && \
|
||||||
|
cd cmake-3.16.3 && \
|
||||||
|
./bootstrap && \
|
||||||
|
make -j4 && \
|
||||||
|
make install
|
||||||
|
|
||||||
|
RUN curl -s -k $go_pkg_url -o go.tar.gz && \
|
||||||
|
tar -C /usr/local -xzf go.tar.gz && \
|
||||||
|
rm go.tar.gz
|
||||||
|
|
||||||
|
RUN groupadd -g 1000 jenkins-build && useradd -u 1000 -g 1000 jenkins-build
|
||||||
|
RUN chmod 777 /home
|
||||||
|
|
||||||
|
CMD ["/usr/bin/sshd", "-D"]
|
||||||
|
|
111
dockerbuild/Makefile
Normal file
111
dockerbuild/Makefile
Normal file
|
@ -0,0 +1,111 @@
|
||||||
|
.PHONY: all
|
||||||
|
|
||||||
|
all: alpine centos clefos debian ubuntu kali-rolling
|
||||||
|
|
||||||
|
alpine:
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-arm64.tar.gz" --platform linux/arm64 -f Dockerfile.alpine . -t ztbuild/alpine-arm64 --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-386.tar.gz" --platform linux/386 -f Dockerfile.alpine . -t ztbuild/alpine-i386 --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-amd64.tar.gz" --platform linux/amd64 -f Dockerfile.alpine . -t ztbuild/alpine-amd64 --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-armv6l.tar.gz" --platform linux/arm/v6 -f Dockerfile.alpine . -t ztbuild/alpine-armel --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-armv6l.tar.gz" --platform linux/arm/v7 -f Dockerfile.alpine . -t ztbuild/alpine-armhf --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-ppc64le.tar.gz" --platform linux/ppc64le -f Dockerfile.alpine . -t ztbuild/alpine-ppc64le --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-s390x.tar.gz" --platform linux/s390x -f Dockerfile.alpine . -t ztbuild/alpine-s390x --load
|
||||||
|
|
||||||
|
centos:
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-amd64.tar.gz" --platform linux/amd64 -f Dockerfile.centos7 . -t ztbuild/centos7-amd64 --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-386.tar.gz" --platform linux/386 -f Dockerfile.centos7-i386 . -t ztbuild/centos7-i386 --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-amd64.tar.gz" --platform linux/amd64 -f Dockerfile.centos6 . -t ztbuild/centos6-amd64 --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-386.tar.gz" --platform linux/386 -f Dockerfile.centos6-i386 . -t ztbuild/centos6-i386 --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-amd64.tar.gz" --platform linux/amd64 -f Dockerfile.centos8 . -t ztbuild/centos8-amd64 --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-arm64.tar.gz" --platform linux/arm64 -f Dockerfile.centos8 . -t ztbuild/centos8-arm64 --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-ppc64le.tar.gz" --platform linux/ppc64le -f Dockerfile.centos8 . -t ztbuild/centos8-ppc64le --load
|
||||||
|
|
||||||
|
clefos:
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-s390x.tar.gz" --platform linux/s390x -f Dockerfile.clefos-s390x . -t ztbuild/clefos-s390x --load
|
||||||
|
|
||||||
|
debian: debian-wheezy debian-jessie debian-buster debian-stretch debian-bullseye debian-sid
|
||||||
|
|
||||||
|
debian-wheezy:
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-amd64.tar.gz" --platform linux/amd64 -f Dockerfile.debian-wheezy . -t ztbuild/debian-wheezy-amd64 --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-armv6l.tar.gz" --platform linux/arm/v7 -f Dockerfile.debian-wheezy . -t ztbuild/debian-wheezy-armhf --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-armv6l.tar.gz" --platform linux/arm/v6 -f Dockerfile.debian-wheezy . -t ztbuild/debian-wheezy-armel --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-386.tar.gz" --platform linux/386 -f Dockerfile.debian-wheezy . -t ztbuild/debian-wheezy-i386 --load
|
||||||
|
|
||||||
|
debian-jessie:
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-amd64.tar.gz" --platform linux/amd64 -f Dockerfile.debian-jessie . -t ztbuild/debian-jessie-amd64 --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-armv6l.tar.gz" --platform linux/arm/v7 -f Dockerfile.debian-jessie . -t ztbuild/debian-jessie-armhf --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-armv6l.tar.gz" --platform linux/arm/v6 -f Dockerfile.debian-jessie . -t ztbuild/debian-jessie-armel --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-386.tar.gz" --platform linux/386 -f Dockerfile.debian-jessie . -t ztbuild/debian-jessie-i386 --load
|
||||||
|
|
||||||
|
debian-buster:
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-amd64.tar.gz" --platform linux/amd64 -f Dockerfile.debian-buster . -t ztbuild/debian-buster-amd64 --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-arm64.tar.gz" --platform linux/arm64 -f Dockerfile.debian-buster . -t ztbuild/debian-buster-arm64 --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-armv6l.tar.gz" --platform linux/arm/v6 -f Dockerfile.debian-buster . -t ztbuild/debian-buster-armel --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-armv6l.tar.gz" --platform linux/arm/v7 -f Dockerfile.debian-buster . -t ztbuild/debian-buster-armhf --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-386.tar.gz" --platform linux/386 -f Dockerfile.debian-buster . -t ztbuild/debian-buster-i386 --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-ppc64le.tar.gz" --platform linux/ppc64le -f Dockerfile.debian-buster . -t ztbuild/debian-buster-ppc64le --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-s390x.tar.gz" --platform linux/s390x -f Dockerfile.debian-buster . -t ztbuild/debian-buster-s390x --load
|
||||||
|
|
||||||
|
debian-stretch:
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-amd64.tar.gz" --platform linux/amd64 -f Dockerfile.debian-stretch . -t ztbuild/debian-stretch-amd64 --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-arm64.tar.gz" --platform linux/arm64 -f Dockerfile.debian-stretch . -t ztbuild/debian-stretch-arm64 --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-armv6l.tar.gz" --platform linux/arm/v6 -f Dockerfile.debian-stretch . -t ztbuild/debian-stretch-armel --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-armv6l.tar.gz" --platform linux/arm/v7 -f Dockerfile.debian-stretch . -t ztbuild/debian-stretch-armhf --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-386.tar.gz" --platform linux/386 -f Dockerfile.debian-stretch . -t ztbuild/debian-stretch-i386 --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-ppc64le.tar.gz" --platform linux/ppc64le -f Dockerfile.debian-stretch . -t ztbuild/debian-stretch-ppc64le --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-s390x.tar.gz" --platform linux/s390x -f Dockerfile.debian-stretch . -t ztbuild/debian-stretch-s390x --load
|
||||||
|
|
||||||
|
debian-bullseye:
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-amd64.tar.gz" --platform linux/amd64 -f Dockerfile.debian-bullseye . -t ztbuild/debian-bullseye-amd64 --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-arm64.tar.gz" --platform linux/arm64 -f Dockerfile.debian-bullseye . -t ztbuild/debian-bullseye-arm64 --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-armv6l.tar.gz" --platform linux/arm/v6 -f Dockerfile.debian-bullseye . -t ztbuild/debian-bullseye-armel --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-armv6l.tar.gz" --platform linux/arm/v7 -f Dockerfile.debian-bullseye . -t ztbuild/debian-bullseye-armhf --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-386.tar.gz" --platform linux/386 -f Dockerfile.debian-bullseye . -t ztbuild/debian-bullseye-i386 --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-ppc64le.tar.gz" --platform linux/ppc64le -f Dockerfile.debian-bullseye . -t ztbuild/debian-bullseye-ppc64le --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-s390x.tar.gz" --platform linux/s390x -f Dockerfile.debian-bullseye . -t ztbuild/debian-bullseye-s390x --load
|
||||||
|
|
||||||
|
debian-sid:
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-amd64.tar.gz" --platform linux/amd64 -f Dockerfile.debian-sid . -t ztbuild/debian-sid-amd64 --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-arm64.tar.gz" --platform linux/arm64 -f Dockerfile.debian-sid . -t ztbuild/debian-sid-arm64 --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-armv6l.tar.gz" --platform linux/arm/v6 -f Dockerfile.debian-sid . -t ztbuild/debian-sid-armel --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-armv6l.tar.gz" --platform linux/arm/v7 -f Dockerfile.debian-sid . -t ztbuild/debian-sid-armhf --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-386.tar.gz" --platform linux/386 -f Dockerfile.debian-sid . -t ztbuild/debian-sid-i386 --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-ppc64le.tar.gz" --platform linux/ppc64le -f Dockerfile.debian-sid . -t ztbuild/debian-sid-ppc64le --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-s390x.tar.gz" --platform linux/s390x -f Dockerfile.debian-sid . -t ztbuild/debian-sid-s390x --load
|
||||||
|
|
||||||
|
ubuntu: ubuntu-trusty ubuntu-xenial ubuntu-bionic ubuntu-eoan
|
||||||
|
|
||||||
|
ubuntu-trusty:
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-amd64.tar.gz" --platform linux/amd64 -f Dockerfile.ubuntu-trusty . -t ztbuild/ubuntu-trusty-amd64 --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-arm64.tar.gz" --platform linux/arm64 -f Dockerfile.ubuntu-trusty . -t ztbuild/ubuntu-trusty-arm64 --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-armv6l.tar.gz" --platform linux/arm/v7 -f Dockerfile.ubuntu-trusty . -t ztbuild/ubuntu-trusty-armhf --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-386.tar.gz" --platform linux/386 -f Dockerfile.ubuntu-trusty . -t ztbuild/ubuntu-trusty-i386 --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-ppc64le.tar.gz" --platform linux/ppc64le -f Dockerfile.ubuntu-trusty . -t ztbuild/ubuntu-trusty-ppc64le --load
|
||||||
|
|
||||||
|
ubuntu-xenial:
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-amd64.tar.gz" --platform linux/amd64 -f Dockerfile.ubuntu-xenial . -t ztbuild/ubuntu-xenial-amd64 --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-arm64.tar.gz" --platform linux/arm64 -f Dockerfile.ubuntu-xenial . -t ztbuild/ubuntu-xenial-arm64 --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-armv6l.tar.gz" --platform linux/arm/v7 -f Dockerfile.ubuntu-xenial . -t ztbuild/ubuntu-xenial-armhf --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-386.tar.gz" --platform linux/386 -f Dockerfile.ubuntu-xenial . -t ztbuild/ubuntu-xenial-i386 --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-ppc64le.tar.gz" --platform linux/ppc64le -f Dockerfile.ubuntu-xenial . -t ztbuild/ubuntu-xenial-ppc64le --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-s390x.tar.gz" --platform linux/s390x -f Dockerfile.ubuntu-xenial . -t ztbuild/ubuntu-xenial-s390x --load
|
||||||
|
|
||||||
|
ubuntu-bionic:
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-amd64.tar.gz" --platform linux/amd64 -f Dockerfile.ubuntu-bionic . -t ztbuild/ubuntu-bionic-amd64 --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-arm64.tar.gz" --platform linux/arm64 -f Dockerfile.ubuntu-bionic . -t ztbuild/ubuntu-bionic-arm64 --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-armv6l.tar.gz" --platform linux/arm/v7 -f Dockerfile.ubuntu-bionic . -t ztbuild/ubuntu-bionic-armhf --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-386.tar.gz" --platform linux/386 -f Dockerfile.ubuntu-bionic . -t ztbuild/ubuntu-bionic-i386 --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-ppc64le.tar.gz" --platform linux/ppc64le -f Dockerfile.ubuntu-bionic . -t ztbuild/ubuntu-bionic-ppc64le --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-s390x.tar.gz" --platform linux/s390x -f Dockerfile.ubuntu-bionic . -t ztbuild/ubuntu-bionic-s390x --load
|
||||||
|
|
||||||
|
ubuntu-eoan:
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-amd64.tar.gz" --platform linux/amd64 -f Dockerfile.ubuntu-eoan . -t ztbuild/ubuntu-eoan-amd64 --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-arm64.tar.gz" --platform linux/arm64 -f Dockerfile.ubuntu-eoan . -t ztbuild/ubuntu-eoan-arm64 --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-armv6l.tar.gz" --platform linux/arm/v7 -f Dockerfile.ubuntu-eoan . -t ztbuild/ubuntu-eoan-armhf --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-386.tar.gz" --platform linux/386 -f Dockerfile.ubuntu-eoan . -t ztbuild/ubuntu-eoan-i386 --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-ppc64le.tar.gz" --platform linux/ppc64le -f Dockerfile.ubuntu-eoan . -t ztbuild/ubuntu-eoan-ppc64le --load
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-s390x.tar.gz" --platform linux/s390x -f Dockerfile.ubuntu-eoan . -t ztbuild/ubuntu-eoan-s390x --load
|
||||||
|
|
||||||
|
kali-rolling:
|
||||||
|
@docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go1.13.6.linux-amd64.tar.gz" --platform linux/amd64 -f Dockerfile.kali-rolling . -t ztbuild/kali-rolling-amd64 --load
|
||||||
|
|
2
dockerbuild/authorized_keys
Normal file
2
dockerbuild/authorized_keys
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8hgysbj2Luu3aN/Ya2wr4Y9LpUGqWWfn3k+UhIwOIE/Kd7/YpLjxHpseUA1hLnj9kHFShH8eiqoY0S6EDIYrTUwbXMMu8454lX/LcJOCJ9RlSeMMf7vpkxcI7cVRgOA430a3FR7M0Q8vKlyJzxxAEjMIxMyuVyinknfanNt+sQFiDUvOXoacqgZAHBWMlO7wOPyHWHNOzy7g8N0dHiJveKZqX/UUwuqJuS6UBq7MBMSU6TcMvJwHr+AbNvfyIUWCqlTByqFL9cmviRbIvQanxoRxi/5fVUGhtVBXUYvbCdFxDw5W2Svo9fDMm4Z5xWAD7rY1J3AM15RVyRTTtYvgD
|
||||||
|
|
13
dockerbuild/pipelint.sh
Normal file
13
dockerbuild/pipelint.sh
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
# curl (REST API)
|
||||||
|
# User
|
||||||
|
JENKINS_USER=grant
|
||||||
|
|
||||||
|
# Api key from "/me/configure" on my Jenkins instance
|
||||||
|
JENKINS_USER_KEY=11edf2d49321321119712c46c6349eaad7
|
||||||
|
|
||||||
|
# Url for my local Jenkins instance.
|
||||||
|
JENKINS_URL=http://$JENKINS_USER:$JENKINS_USER_KEY@jenkins.int.zerotier.com
|
||||||
|
|
||||||
|
# JENKINS_CRUMB is needed if your Jenkins master has CRSF protection enabled (which it should)
|
||||||
|
JENKINS_CRUMB=`curl "$JENKINS_URL/crumbIssuer/api/xml?xpath=concat(//crumbRequestField,\":\",//crumb)"`
|
||||||
|
curl -X POST -H $JENKINS_CRUMB -F "jenkinsfile=<Jenkinsfile" $JENKINS_URL/pipeline-model-converter/validate
|
|
@ -1,19 +1,26 @@
|
||||||
# Dockerfile for ZeroTier Central Controllers
|
# Dockerfile for ZeroTier Central Controllers
|
||||||
FROM centos:7
|
FROM centos:7 as builder
|
||||||
MAINTAINER Adam Ierymekno <adam.ierymenko@zerotier.com>, Grant Limberg <grant.limberg@zerotier.com>
|
MAINTAINER Adam Ierymekno <adam.ierymenko@zerotier.com>, Grant Limberg <grant.limberg@zerotier.com>
|
||||||
|
|
||||||
|
ARG git_branch=master
|
||||||
|
|
||||||
RUN yum update -y
|
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 install -y https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm
|
||||||
RUN yum install -y bash postgresql10 libpqxx-devel
|
|
||||||
|
|
||||||
RUN yum -y install epel-release && yum -y update && yum clean all
|
RUN yum -y install epel-release && yum -y update && yum clean all
|
||||||
RUN yum -y install clang jemalloc jemalloc-devel
|
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
|
||||||
|
|
||||||
ADD zerotier-one /usr/local/bin/zerotier-one
|
FROM centos:7
|
||||||
|
|
||||||
|
COPY --from=builder /ZeroTierOne/zerotier-one /usr/local/bin/zerotier-one
|
||||||
RUN chmod a+x /usr/local/bin/zerotier-one
|
RUN chmod a+x /usr/local/bin/zerotier-one
|
||||||
|
|
||||||
ADD docker/main.sh /
|
ADD ext/central-controller-docker/main.sh /
|
||||||
RUN chmod a+x /main.sh
|
RUN chmod a+x /main.sh
|
||||||
|
|
||||||
ENTRYPOINT /main.sh
|
ENTRYPOINT /main.sh
|
||||||
|
|
2538
ext/librabbitmq/macos/include/amqp.h
Normal file
2538
ext/librabbitmq/macos/include/amqp.h
Normal file
File diff suppressed because it is too large
Load diff
1144
ext/librabbitmq/macos/include/amqp_framing.h
Normal file
1144
ext/librabbitmq/macos/include/amqp_framing.h
Normal file
File diff suppressed because it is too large
Load diff
68
ext/librabbitmq/macos/include/amqp_tcp_socket.h
Normal file
68
ext/librabbitmq/macos/include/amqp_tcp_socket.h
Normal file
|
@ -0,0 +1,68 @@
|
||||||
|
/** \file */
|
||||||
|
/*
|
||||||
|
* Portions created by Alan Antonuk are Copyright (c) 2013-2014 Alan Antonuk.
|
||||||
|
* All Rights Reserved.
|
||||||
|
*
|
||||||
|
* Portions created by Michael Steinert are Copyright (c) 2012-2013 Michael
|
||||||
|
* Steinert. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
* copy of this software and associated documentation files (the "Software"),
|
||||||
|
* to deal in the Software without restriction, including without limitation
|
||||||
|
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||||
|
* and/or sell copies of the Software, and to permit persons to whom the
|
||||||
|
* Software is furnished to do so, subject to the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included in
|
||||||
|
* all copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||||
|
* DEALINGS IN THE SOFTWARE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A TCP socket connection.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef AMQP_TCP_SOCKET_H
|
||||||
|
#define AMQP_TCP_SOCKET_H
|
||||||
|
|
||||||
|
#include <amqp.h>
|
||||||
|
|
||||||
|
AMQP_BEGIN_DECLS
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new TCP socket.
|
||||||
|
*
|
||||||
|
* Call amqp_connection_close() to release socket resources.
|
||||||
|
*
|
||||||
|
* \return A new socket object or NULL if an error occurred.
|
||||||
|
*
|
||||||
|
* \since v0.4.0
|
||||||
|
*/
|
||||||
|
AMQP_PUBLIC_FUNCTION
|
||||||
|
amqp_socket_t *AMQP_CALL amqp_tcp_socket_new(amqp_connection_state_t state);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Assign an open file descriptor to a socket object.
|
||||||
|
*
|
||||||
|
* This function must not be used in conjunction with amqp_socket_open(), i.e.
|
||||||
|
* the socket connection should already be open(2) when this function is
|
||||||
|
* called.
|
||||||
|
*
|
||||||
|
* \param [in,out] self A TCP socket object.
|
||||||
|
* \param [in] sockfd An open socket descriptor.
|
||||||
|
*
|
||||||
|
* \since v0.4.0
|
||||||
|
*/
|
||||||
|
AMQP_PUBLIC_FUNCTION
|
||||||
|
void AMQP_CALL amqp_tcp_socket_set_sockfd(amqp_socket_t *self, int sockfd);
|
||||||
|
|
||||||
|
AMQP_END_DECLS
|
||||||
|
|
||||||
|
#endif /* AMQP_TCP_SOCKET_H */
|
BIN
ext/librabbitmq/macos/lib/librabbitmq.a
Normal file
BIN
ext/librabbitmq/macos/lib/librabbitmq.a
Normal file
Binary file not shown.
Loading…
Add table
Reference in a new issue