David Anderson
cf1e386cbd
ipn: move Options.ServerURL into Prefs.
...
We can't rely on a frontend to provide a control
server URL, so this naturally belongs in server-persisted
state.
Signed-off-by: David Anderson <dave@natulte.net >
2020-02-19 10:34:39 -08:00
David Crawshaw
45d687e213
wgengine: fix build on linux/freebsd/openbsd/windows
...
Signed-off-by: David Crawshaw <crawshaw@tailscale.com >
2020-02-19 11:58:59 -05:00
David Crawshaw
431929c09a
go.mod: fix wireguard-go version
2020-02-19 11:48:59 -05:00
David Crawshaw
d0f697ee07
wgengine: update for wgcfg changes
...
Signed-off-by: David Crawshaw <crawshaw@tailscale.com >
2020-02-19 11:44:37 -05:00
David Anderson
c4f6f622f0
tailscaled: remove comment from systemd unit.
...
No need to ship TODOs to end user systems.
Signed-off-by: David Anderson <dave@natulte.net >
2020-02-18 14:46:02 -08:00
David Anderson
20e6fc1d78
tailscaled: fix systemd unit definition.
...
Port number has to be by itself for substitution to work.
Disabling the restart rate-limiting has to be in [Unit] not
[Service].
Signed-off-by: David Anderson <dave@natulte.net >
2020-02-18 13:46:03 -08:00
David Anderson
5d4b96b8f2
tailscaled: add a systemd unit.
...
Signed-off-by: David Anderson <dave@natulte.net >
2020-02-18 13:30:54 -08:00
David Anderson
85ac82c386
tailscaled: default to a sock in current dir, for development.
...
Signed-off-by: David Anderson <dave@natulte.net >
2020-02-18 13:30:23 -08:00
David Anderson
76819e7432
tailscaled: call the network interface tailscale0, not ts0.
...
Signed-off-by: David Anderson <dave@natulte.net >
2020-02-18 13:15:15 -08:00
David Anderson
4460bd638b
safesocket: simplify API.
...
On unix, we want to provide a full path to the desired unix socket.
On windows, currently we want to provide a TCP port, but someday
we'll also provide a "path-ish" object for a named pipe.
For now, simplify the API down to exactly a path and a TCP port.
Signed-off-by: David Anderson <dave@natulte.net >
2020-02-18 12:56:19 -08:00
Brad Fitzpatrick
b72e6446e2
cmd/derper: add a basic DERP server
...
Mostly Crawshaw's earlier code, refactored a bit.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2020-02-18 11:25:11 -08:00
David Anderson
c7e2fcd517
Dockerfile: install iptables in the container.
...
We need iptables to make subnet routing work. Without it,
Tailscale mostly works, but subnet routing mysteriously doesn't.
Signed-off-by: David Anderson <dave@natulte.net >
2020-02-18 11:05:24 -08:00
Brad Fitzpatrick
fd1aa4f7f6
wgengine/magicsock: add a reSTUN method
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2020-02-18 10:55:36 -08:00
Brad Fitzpatrick
619697063e
derp: more misc cleanups
...
And add an explicit derphttp.Client.Connect in the test now that it's
done lazily.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2020-02-18 10:09:37 -08:00
Brad Fitzpatrick
e06ca40650
wgengine, magicsock, derp: misc cleanups, docs
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2020-02-18 08:58:00 -08:00
David Crawshaw
a23a0d9c9f
tailcfg: add RegisterRequest.Copy
...
Add some docs while I'm here.
Signed-off-by: David Crawshaw <crawshaw@tailscale.com >
2020-02-18 06:45:56 -05:00
David Anderson
47da432991
ipn: handle advertised routes provided by frontend.
...
Signed-off-by: David Anderson <dave@natulte.net >
2020-02-17 20:47:45 -08:00
wardn
5d79530caa
wgengine: create freebsd-specific implementation
...
Signed-off-by: wardn <wardn@users.noreply.github.com >
2020-02-17 19:16:08 -08:00
Dave Anderson
a0af5655a8
Merge pull request #67 from tailscale/danderson/adv-routes
...
ipn: add AdvertiseRoutes to Prefs.
2020-02-17 16:03:33 -08:00
David Anderson
e0c35723a8
ipn: add documentation to the Prefs struct.
...
Signed-off-by: David Anderson <dave@natulte.net >
2020-02-17 15:52:44 -08:00
David Anderson
59ba2e6316
ipn: implement Prefs.Equals efficiently.
...
Signed-off-by: David Anderson <dave@natulte.net >
2020-02-17 15:01:23 -08:00
Brad Fitzpatrick
259406e797
derp: move away from [32]byte key types
...
And some minor cleanup in the process.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2020-02-17 14:18:09 -08:00
Tobias Klauser
4d09316f9a
wgengine/monitor: use RTMGRP_* consts from x/sys/unix
...
Bump golang.org/x/sys/unix to get the RTMGRP_* consts and use them.
Signed-off-by: Tobias Klauser <tklauser@distanz.ch >
2020-02-17 14:15:08 -08:00
David Anderson
a5b84fa921
ipn: add AdvertiseRoutes to Prefs.
...
This is a prelude to supporting relaynode's --routes in
tailscaled. The daemon needs to remembers routes to
advertise, and the CLI needs to be able to change the
set of advertised routes. Prefs is the thing used for
both of these.
Signed-off-by: David Anderson <dave@natulte.net >
2020-02-17 13:50:16 -08:00
Brad Fitzpatrick
769e25e37b
derp: use new types/key package
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2020-02-17 13:29:49 -08:00
David Anderson
a70a91521b
ipn: print the packet filter setting in prefs.
...
Signed-off-by: David Anderson <dave@natulte.net >
2020-02-17 12:34:33 -08:00
David Anderson
62fb652eef
cmd/tailscaled: run off internal state autonomously.
...
With this change, tailscaled can be restarted and reconnect
without interaction from `tailscale`, and `tailscale` is merely
there to provide login assistance and adjust preferences.
Signed-off-by: David Anderson <dave@natulte.net >
2020-02-17 12:34:33 -08:00
Brad Fitzpatrick
997678f540
wgengine/monitor: make Close not block forever on Linux
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2020-02-17 11:39:33 -08:00
Brad Fitzpatrick
7f5e3febe5
wgengine: move link monitor to be owned by the engine, not the router
...
And make the monitor package portable with no-op implementations on
unsupported operating systems.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2020-02-17 09:53:17 -08:00
wardn
09fbae01a9
tailcfg: don't panic on node equal check
...
Signed-off-by: wardn <wardn@users.noreply.github.com >
2020-02-17 09:26:39 -08:00
Brad Fitzpatrick
80d5d4bdfe
ipn: fix test breakage from earlier 79295b1138
...
This test is skipped in tailscale/tailscale because it depends on
parts that haven't been released yet and was thus overlooked in the
git commit 79295b1138
cleanup.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2020-02-17 08:19:50 -08:00
Brad Fitzpatrick
79295b1138
wgengine: simplify, change some signatures
...
* make RouterGen return an error, not take both tunname and tundev
* also remove RouteGen taking a wireguard/device.Device; currently unused
* remove derp parameter (it'll work differently)
* unexport NewUserspaceRouter in per-OS impls, add documented wrapper
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2020-02-17 08:04:31 -08:00
Brad Fitzpatrick
9dbc52bb5b
go.mod: fix wireguard-go dep
...
Fixes #59
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2020-02-15 18:50:05 -08:00
Brad Fitzpatrick
2896be60db
Move "logger" package to under types, now that we have it.
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2020-02-14 20:23:05 -08:00
David Anderson
dec5d64593
ipn/ipnserver: remove Options.AllowQuit.
...
It was previously used by the MacOS client, but it now does
something different. ipnserver should never obey a client's
request to exit.
Signed-off-by: David Anderson <dave@natulte.net >
2020-02-14 14:52:43 -08:00
Brad Fitzpatrick
c393f0bfae
Dockerfile: optimize incremental build a bit, copy all binaries to output
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2020-02-14 13:39:59 -08:00
Brad Fitzpatrick
747c7d7ce2
types/empty: add Message, stop using mysterious *struct{}
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2020-02-14 13:35:49 -08:00
David Anderson
4796f6fd67
cmd/tailscale: document pump().
...
Signed-off-by: David Anderson <dave@natulte.net >
2020-02-14 10:19:22 -08:00
David Anderson
47820db381
cmd/tailscale{,d}: rename main file.
...
Signed-off-by: David Anderson <dave@natulte.net >
2020-02-14 10:12:33 -08:00
Brad Fitzpatrick
587c3fcac4
control/controlclient, wgengine/magicsock: misc cleanups
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2020-02-14 09:50:08 -08:00
wardn
58ce50389e
wgengine: build for freebsd
...
Signed-off-by: wardn <wardn@users.noreply.github.com >
2020-02-14 08:40:04 -08:00
Brad Fitzpatrick
fbfe474492
logpolicy: add some docs
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2020-02-14 07:51:51 -08:00
David Anderson
de0239375a
logtail/filch: use x/sys/unix instead of syscall.
...
In particular, the Dup2 syscall is not defined in the syscall
package on arm64, but is defined in x/sys/unix.
Signed-off-by: David Anderson <dave@natulte.net >
2020-02-13 23:56:39 -08:00
David Anderson
a416d10e85
Remove the explicit security redirect.
...
Github makes one of those automatically based on SECURITY.md.
Signed-off-by: David Anderson <dave@natulte.net >
2020-02-13 22:44:08 -08:00
David Anderson
f96e9a123d
Add issue templates and redirects.
...
"New issues" will now suggest templates for bugs and
feature requests. Support requests get directed to
support@tailscale.com , and security reports to
security@tailscale.com .
Signed-off-by: David Anderson <dave@natulte.net >
2020-02-13 22:41:17 -08:00
David Anderson
5f45b7c765
ipn: make LocalBackend.loadStateWithLock easier to follow.
...
Signed-off-by: David Anderson <dave@natulte.net >
2020-02-13 19:26:53 -08:00
David Anderson
96fd8b4230
ipn: adjust backend docs a bit more.
...
Signed-off-by: David Anderson <dave@natulte.net >
2020-02-13 19:26:53 -08:00
David Anderson
73c0a2bee2
Improve documentation in backend.go.
...
Signed-off-by: David Anderson <dave@natulte.net >
2020-02-13 19:26:53 -08:00
David Anderson
b0f5751a76
cmd/tailscale: remove statekey for now.
...
Signed-off-by: David Anderson <dave@natulte.net >
2020-02-13 19:26:53 -08:00
David Anderson
f51293a2c7
Lint fixes.
...
Signed-off-by: David Anderson <dave@natulte.net >
2020-02-13 19:26:53 -08:00