forked from tailscale/tailscale
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Move Linux client & common packages into a public repo.
- Loading branch information
Earl Lee
committed
Feb 9, 2020
1 parent
c955043
commit a8d8b87
Showing
156 changed files
with
17,113 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
# This is the official list of Tailscale | ||
# authors for copyright purposes. | ||
# | ||
# Names should be added to this file as one of | ||
# Organization's name | ||
# Individual's name <submission email address> | ||
# Individual's name <submission email address> <email2> <emailN> | ||
# | ||
# Please keep the list sorted. | ||
# | ||
# You do not need to add entries to this list, and we don't actively | ||
# populate this list. If you do want to be acknowledged explicitly as | ||
# a copyright holder, though, then please send a PR referencing your | ||
# earlier contributions and clarifying whether it's you or your | ||
# company that owns the rights to your contribution. | ||
|
||
Tailscale Inc. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
Copyright (c) 2020 Tailscale & AUTHORS. All rights reserved. | ||
|
||
Redistribution and use in source and binary forms, with or without | ||
modification, are permitted provided that the following conditions are | ||
met: | ||
|
||
* Redistributions of source code must retain the above copyright | ||
notice, this list of conditions and the following disclaimer. | ||
* Redistributions in binary form must reproduce the above | ||
copyright notice, this list of conditions and the following disclaimer | ||
in the documentation and/or other materials provided with the | ||
distribution. | ||
* Neither the name of Tailscale Inc. nor the names of its | ||
contributors may be used to endorse or promote products derived from | ||
this software without specific prior written permission. | ||
|
||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
Additional IP Rights Grant (Patents) | ||
|
||
"This implementation" means the copyrightable works distributed by | ||
Tailscale Inc. as part of the Tailscale project. | ||
|
||
Tailscale Inc. hereby grants to You a perpetual, worldwide, | ||
non-exclusive, no-charge, royalty-free, irrevocable (except as stated | ||
in this section) patent license to make, have made, use, offer to | ||
sell, sell, import, transfer and otherwise run, modify and propagate | ||
the contents of this implementation of Tailscale, where such license | ||
applies only to those patent claims, both currently owned or | ||
controlled by Tailscale Inc. and acquired in the future, licensable | ||
by Tailscale Inc. that are necessarily infringed by this | ||
implementation of Tailscale. This grant does not include claims that | ||
would be infringed only as a consequence of further modification of | ||
this implementation. If you or your agent or exclusive licensee | ||
institute or order or agree to the institution of patent litigation | ||
against any entity (including a cross-claim or counterclaim in a | ||
lawsuit) alleging that this implementation of Tailscale or any code | ||
incorporated within this implementation of Tailscale constitutes | ||
direct or contributory patent infringement, or inducement of patent | ||
infringement, then any patent rights granted to you under this License | ||
for this implementation of Tailscale shall terminate as of the date | ||
such litigation is filed. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
// Copyright 2019 Tailscale & AUTHORS. All rights reserved. | ||
// Use of this source code is governed by a BSD-style | ||
// license that can be found in the LICENSE file. | ||
|
||
// Package atomicfile contains code related to writing to filesystems | ||
// atomically. | ||
// | ||
// This package should be considered internal; its API is not stable. | ||
package atomicfile // import "tailscale.com/atomicfile" | ||
|
||
import ( | ||
"fmt" | ||
"io/ioutil" | ||
"os" | ||
) | ||
|
||
// WriteFile writes data to filename+some suffix, then renames it | ||
// into filename. | ||
func WriteFile(filename string, data []byte, perm os.FileMode) error { | ||
tmpname := filename + ".new.tmp" | ||
if err := ioutil.WriteFile(tmpname, data, perm); err != nil { | ||
return fmt.Errorf("%#v: %v", tmpname, err) | ||
} | ||
if err := os.Rename(tmpname, filename); err != nil { | ||
return fmt.Errorf("%#v->%#v: %v", tmpname, filename, err) | ||
} | ||
return nil | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
/*.tar.gz | ||
/*.deb | ||
/*.rpm | ||
/*.spec | ||
/pkgver | ||
debian/changelog | ||
debian/debhelper-build-stamp | ||
debian/files | ||
debian/*.log | ||
debian/*.substvars | ||
debian/*.debhelper | ||
debian/tailscale-relay | ||
/tailscale-relay/ | ||
/tailscale-relay-* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
{ | ||
// Declare static groups of users beyond those in the identity service | ||
"Groups": { | ||
"group:eng": ["u1@example.com", "u2@example.com"] | ||
}, | ||
|
||
// Declare convenient hostname aliases to use in place of IP addresses | ||
"Hosts": { | ||
"h222": "100.2.2.2" | ||
}, | ||
|
||
// Access control list | ||
"ACLs": [ | ||
{ | ||
"Action": "accept", | ||
// Match any of several users | ||
"Users": ["a@example.com", "b@example.com"], | ||
// Match any port on h222, and port 22 of 10.1.2.3 | ||
"Ports": ["h222:*", "10.1.2.3:22"] | ||
}, | ||
{ | ||
"Action": "accept", | ||
// Match any user at all | ||
"Users": ["*"], | ||
// Match port 80 on one machine, ports 53 and 5353 on a second one, | ||
// and ports 8000 through 8080 (a port range) on a third one. | ||
"Ports": ["h222:80", "10.8.8.8:53,5353", "10.2.3.4:8000-8080"] | ||
}, | ||
{ | ||
"Action": "accept", | ||
// Match all users in the "Admin" role (network administrators) | ||
"Users": ["role:Admin", "group:eng"], | ||
// Allow access to port 22 on all servers | ||
"Ports": ["*:22"] | ||
}, | ||
{ | ||
"Action": "accept", | ||
"Users": ["role:User"], | ||
// Match only windows and linux workstations (not implemented yet) | ||
"OS": ["windows", "linux"], | ||
// Only desktop machines are allowed to access this server | ||
"Ports": ["10.1.1.1:443"] | ||
}, | ||
{ | ||
"Action": "accept", | ||
"Users": ["*"], | ||
// Match machines which have never been authorized, or which expired. | ||
// (not implemented yet) | ||
"MachineAuth": ["unauthorized", "expired"], | ||
// Logged-in users on unauthorized machines can access the email server. | ||
// Open the TLS ports for SMTP, IMAP, and HTTP. | ||
"Ports": ["10.1.2.3:465", "10.1.2.3:993", "10.1.2.3:443"] | ||
}, | ||
|
||
// Match absolutely everything. Comment out this section if you want | ||
// the above ACLs to apply. | ||
{ "Action": "accept", "Users": ["*"], "Ports": ["*:*"] }, | ||
|
||
// Leave this line here so that every rule can end in a comma. | ||
// It has no effect since it has no matching rules. | ||
{"Action": "accept"} | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
rm -f debian/changelog *~ debian/*~ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
exec >&2 | ||
read -r package <package | ||
rm -f *~ .*~ \ | ||
debian/*~ debian/changelog debian/debhelper-build-stamp \ | ||
debian/*.log debian/files debian/*.substvars debian/*.debhelper \ | ||
*.tar.gz *.deb *.rpm *.spec pkgver relaynode *.exe | ||
[ -n "$package" ] && rm -rf "debian/$package" | ||
for d in */.stamp; do | ||
if [ -e "$d" ]; then | ||
dir=$(dirname "$d") | ||
rm -rf "$dir" | ||
fi | ||
done |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
exec >&2 | ||
dir=${1%/*} | ||
redo-ifchange "$S/$dir/package" "$S/oss/version/short.txt" | ||
read -r package <"$S/$dir/package" | ||
read -r version <"$S/oss/version/short.txt" | ||
arch=$(dpkg --print-architecture) | ||
|
||
redo-ifchange "$dir/${package}_$arch.deb" | ||
rm -f "$dir/${package}"_*_"$arch.deb" | ||
ln -sf "${package}_$arch.deb" "$dir/${package}_${version}_$arch.deb" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
Tailscale IPN relay daemon. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
redo-ifchange ../../../version/short.txt gen-changelog | ||
( | ||
cd .. | ||
debian/gen-changelog | ||
) >$3 |
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
9 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
Source: tailscale-relay | ||
Section: net | ||
Priority: extra | ||
Maintainer: Avery Pennarun <apenwarr@tailscale.com> | ||
Build-Depends: debhelper (>= 10.2.5), dh-systemd (>= 1.5) | ||
Standards-Version: 3.9.2 | ||
Homepage: https://tailscale.com/ | ||
Vcs-Git: https://github.com/tailscale/tailscale | ||
Vcs-Browser: https://github.com/tailscale/tailscale | ||
|
||
Package: tailscale-relay | ||
Architecture: any | ||
Depends: ${shlibs:Depends}, ${misc:Depends} | ||
Description: Traffic relay node for Tailscale IPN |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
Format: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=173 | ||
Upstream-Name: tailscale-relay | ||
Upstream-Contact: Avery Pennarun <apenwarr@tailscale.com> | ||
Source: https://github.com/tailscale/tailscale/ | ||
|
||
Files: * | ||
Copyright: © 2019 Tailscale Inc. <info@tailscale.com> | ||
License: Proprietary | ||
* | ||
* Copyright 2019 Tailscale Inc. All rights reserved. | ||
* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
#!/bin/sh | ||
read junk pkgname <debian/control | ||
read shortver <../../version/short.txt | ||
git log --pretty='format:'"$pkgname"' (SHA:%H) unstable; urgency=low | ||
* %s | ||
-- %aN <%aE> %aD | ||
' . | | ||
python -Sc ' | ||
import os, re, subprocess, sys | ||
first = True | ||
def Describe(g): | ||
global first | ||
if first: | ||
s = sys.argv[1] | ||
first = False | ||
else: | ||
sha = g.group(1) | ||
s = subprocess.check_output(["git", "describe", "--", sha]).strip().decode("utf-8") | ||
return re.sub(r"^\D*", "", s) | ||
print(re.sub(r"SHA:([0-9a-f]+)", Describe, sys.stdin.read())) | ||
' "$shortver" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
relaynode /usr/sbin | ||
tailscale-login /usr/sbin | ||
taillogin /usr/sbin | ||
acl.json /etc/tailscale |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
#DEBHELPER# | ||
|
||
f=/var/lib/tailscale/relay.conf | ||
if ! [ -e "$f" ]; then | ||
echo | ||
echo "Note: Run tailscale-login to configure $f." >&2 | ||
echo | ||
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
#!/usr/bin/make -f | ||
DESTDIR=debian/tailscale-relay | ||
|
||
override_dh_auto_test: | ||
override_dh_auto_install: | ||
mkdir -p "${DESTDIR}/etc/default" | ||
cp tailscale-relay.defaults "${DESTDIR}/etc/default/tailscale-relay" | ||
|
||
%: | ||
dh $@ --with=systemd |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
[Unit] | ||
Description=Traffic relay node for Tailscale IPN | ||
After=network.target | ||
ConditionPathExists=/var/lib/tailscale/relay.conf | ||
|
||
[Service] | ||
EnvironmentFile=/etc/default/tailscale-relay | ||
ExecStart=/usr/sbin/relaynode --config=/var/lib/tailscale/relay.conf --tun=wg0 $PORT $ACL_FILE $FLAGS | ||
Restart=on-failure | ||
|
||
[Install] | ||
WantedBy=multi-user.target |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
exec >&2 | ||
dir=${1%/*} | ||
redo-ifchange "$S/oss/version/short.txt" "$S/$dir/package" "$dir/debtmp.dir" | ||
read -r package <"$S/$dir/package" | ||
read -r version <"$S/oss/version/short.txt" | ||
arch=$(dpkg --print-architecture) | ||
|
||
( | ||
cd "$S/$dir" | ||
git ls-files debian | xargs redo-ifchange debian/changelog | ||
) | ||
cp -a "$S/$dir/debian" "$dir/debtmp/" | ||
rm -f "$dir/debtmp/debian/$package.debhelper.log" | ||
( | ||
cd "$dir/debtmp" && | ||
debian/rules build && | ||
fakeroot debian/rules binary | ||
) | ||
|
||
mv "$dir/${package}_${version}_${arch}.deb" "$3" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
# Generate a directory tree suitable for forming a tarball of | ||
# this package. | ||
exec >&2 | ||
dir=${1%/*} | ||
outdir=$PWD/${1%.dir} | ||
rm -rf "$outdir" | ||
mkdir "$outdir" | ||
touch $outdir/.stamp | ||
sfiles=" | ||
tailscale-login | ||
acl.json | ||
debian/*.service | ||
*.defaults | ||
" | ||
ofiles=" | ||
relaynode | ||
../taillogin/taillogin | ||
" | ||
redo-ifchange "$outdir/.stamp" | ||
(cd "$S/$dir" && redo-ifchange $sfiles && cp $sfiles "$outdir/") | ||
(cd "$dir" && redo-ifchange $ofiles && cp $ofiles "$outdir/") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
exec >&2 | ||
dir=${1%/*} | ||
pkg=${1##*/} | ||
pkg=${pkg%.rpm} | ||
redo-ifchange "$S/oss/version/short.txt" "$dir/$pkg.tar.gz" "$dir/$pkg.spec" | ||
read -r pkgver junk <"$S/oss/version/short.txt" | ||
|
||
machine=$(uname -m) | ||
rpmbase=$HOME/rpmbuild | ||
|
||
mkdir -p "$rpmbase/SOURCES/" | ||
cp "$dir/$pkg.tar.gz" "$rpmbase/SOURCES/" | ||
rpmbuild -bb "$dir/$pkg.spec" | ||
mv "$rpmbase/RPMS/$machine/$pkg-$pkgver.$machine.rpm" $3 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
redo-ifchange "$S/$1.in" "$S/oss/version/short.txt" | ||
read -r pkgver junk <"$S/oss/version/short.txt" | ||
basever=${pkgver%-*} | ||
subver=${pkgver#*-} | ||
sed -e "s/Version: 0.00$/Version: $basever/" \ | ||
-e "s/Release: 0$/Release: $subver/" \ | ||
<"$S/$1.in" >"$3" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
exec >&2 | ||
xdir=${1%.tar.gz} | ||
base=${xdir##*/} | ||
updir=${xdir%/*} | ||
redo-ifchange "$xdir.dir" | ||
OUT="$PWD/$3" | ||
|
||
cd "$updir" && tar -czvf "$OUT" --exclude "$base/.stamp" "$base" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
# Build packages for customer distribution. | ||
dir=${1%/*} | ||
cd "$dir" | ||
targets="tarball" | ||
if which dh_clean fakeroot dpkg >/dev/null; then | ||
targets="$targets deb" | ||
else | ||
echo "Skipping debian packages: debhelper and/or dpkg build tools missing." >&2 | ||
fi | ||
if which rpm >/dev/null; then | ||
targets="$targets rpm" | ||
else | ||
echo "Skipping rpm packages: rpm build tools missing." >&2 | ||
fi | ||
redo-ifchange $targets |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
/relaynode |
Oops, something went wrong.