Commit Graph

6487 Commits

Author SHA1 Message Date
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
David Anderson
5bc632271b Introduce a state store to LocalBackend.
The store is passed-in by callers of NewLocalBackend and
ipnserver.Run, but currently all callers are hardcoded to
an in-memory store. The store is unused.

Signed-Off-By: David Anderson <dave@natulte.net>
2020-02-13 19:26:53 -08:00
David Anderson
21280ca2d1 Make ipn.Options.Prefs a pointer.
This is a prelude to making it truly optional, once state
management has moved into the backend. For now though, it's
still required. This change is just isolating the bubbling-up
of the pointerification into other layers.

Signed-Off-By: David Anderson <dave@natulte.net>
2020-02-13 19:26:53 -08:00
David Anderson
f6f154193f Remove LoginFlags from Backend options.
- It was only used in one currently-unused client.
- It's an imperative command, not a configuration setting.
- The LoginFlags stuff in controlclient feels like it needs
  a refactor anyway.

I'll put this logic back once ipnd owns its state and Backend
commands reflect that.

Signed-Off-By: David Anderson <dave@natulte.net>
2020-02-13 19:26:53 -08:00
Brad Fitzpatrick
b5346fe7b4 meta: move cross-compiled builds to their own parallel jobs
And add FreeBSD.

Fixes #37

Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2020-02-13 11:28:07 -08:00
wardn
2cafbd74c7 monitor: refactor for architecture-specific connection implementations
Signed-off-by: wardn <wardn@users.noreply.github.com>
2020-02-13 09:46:17 -08:00
David Crawshaw
aa73b7972c Merge branch 'master' of github.com:tailscale/tailscale into HEAD 2020-02-13 12:16:01 -05:00
Brad Fitzpatrick
c773abde77 wgengine: fix nil pointer deref crash from earlier change
Fixes #45
2020-02-13 08:59:31 -08:00
David Crawshaw
3bf9d53d40 Merge branch 'master' of github.com:tailscale/tailscale into HEAD 2020-02-13 10:40:05 -05:00
David Crawshaw
a631466587 cmd/tsshd: empty file for windows build
Signed-off-by: David Crawshaw <david@zentus.com>
2020-02-13 10:39:44 -05:00
David Crawshaw
cbfef0c8b7 Merge branch 'master' of github.com:tailscale/tailscale into HEAD 2020-02-13 10:12:06 -05:00
evalexpr
e5481f33d3 meta: cross-compile tests for other geese
For now this is just darwin/windows, but we'll eventually add support
for {free,open}bsd

Signed-off-by: evalexpr <wilkinsphysics@gmail.com>
2020-02-12 23:11:46 -08:00
Jonathan Wilkins
ae89a7a65d meta: build different GOOSes in CI
First pass at #37 without support for cross-compilation of tests

Signed-off-by: evalexpr <wilkinsphysics@gmail.com>
2020-02-12 23:11:46 -08:00
Brad Fitzpatrick
745c8c92b1 wgengine: fix windows build for winipcfg-go
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2020-02-12 22:05:13 -08:00
David Anderson
36f5433476 wgengine: fix the build on darwin, windows, openbsd.
7e5e3277 changed the Router interface definition, but forgot to
fix up these platform files.

Signed-off-by: David Anderson <dave@natulte.net>
2020-02-12 16:16:05 -08:00
David Anderson
67c1b2c6ef cmd/tsshd: fix lint.
Signed-off-by: David Anderson <dave@natulte.net>
2020-02-12 16:01:54 -08:00
David Anderson
5c2deb66be wgengine: remove MTU TODO.
The MTU is currently set when creating the tun device,
elsewhere in the code. Maybe someday we'll want some kind
of per-platform MTU configuration here, but not in the
short-medium term.

Signed-off-by: David Anderson <dave@natulte.net>
2020-02-12 15:59:13 -08:00
David Anderson
afa83358f7 wgenging: use logger.Logf type in openbsd router.
Signed-off-by: David Anderson <dave@natulte.net>
2020-02-12 15:58:49 -08:00
Martin Baillie
3d5ef74f26 tailscaled: add tunnel name and port flags
OpenBSD tunnel names are prefixed with `tun`.

Controlling the port allows for deterministic configuration of firewall
rules (using `pf` in this case).

Signed-off-by: Martin Baillie <martin@baillie.email>
2020-02-12 15:57:49 -08:00
Martin Baillie
15f8c8dde4 wgengine: add initial rough OpenBSD implementation
Signed-off-by: Martin Baillie <martin@baillie.email>
2020-02-12 15:57:49 -08:00
Brad Fitzpatrick
13dc12814e cmd/tsshd: fix log text 2020-02-12 14:51:47 -08:00
Brad Fitzpatrick
d404f1caed cmd/tsshd: add basic SSH server 2020-02-12 14:46:59 -08:00
Brad Fitzpatrick
7e5e32775a wgengine: flesh out some docs, minor cleanups
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2020-02-12 13:37:45 -08:00
Brad Fitzpatrick
819daf10e2 wgengine: flesh out some docs
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2020-02-12 13:37:45 -08:00
wardn
490e586eac wgengine: add required NewFakeRouter parameter
Signed-off-by: wardn <wardn@users.noreply.github.com>
2020-02-12 13:09:33 -08:00
David Crawshaw
e180bd67e6 controlclient: handle nil Logf option 2020-02-11 15:20:45 -05:00
David Crawshaw
2b947b3b40 controlclient: handle nil Logf option 2020-02-11 15:08:07 -05:00
David Anderson
ea11d58e96 debian: fix changelog generation.
It seems changelog generation got broken by moving the code between
corp and OSS repos, because one of the commit SHAs doesn't have an
associated tag.

In the interest of fixing the build, and because we're not yet trying
to upstream the debian package, I fixed this by allowing hash-based
versions to show up in the changelog. This maybe wrong from a
debian standards perspective, but for our current point in life
it'll work until we learn to do it better.

Signed-Off-By: David Anderson <dave@natulte.net>
2020-02-11 11:54:55 -08:00
David Anderson
595325c716 meta: add a staticcheck CI step.
Signed-off-by: David Anderson <dave@natulte.net>
2020-02-11 10:58:57 -08:00
David Anderson
81eedcd5be ipnserver: ignore lint error for unused context.
The linter is strictly correct, but the code is structured
this way to avoid variable shadowing problems in the following
for loop. The context doesn't leak.

Staticcheck is correctly pointing out that this code is hard to
follow. However, this chunk of code is in service of enforcing
one frontend <> one backend, and we want to remove that limitation.
So, we'll just ignore the lint warning until this entire piece of
code goes away.

Signed-off-by: David Anderson <dave@natulte.net>
2020-02-11 10:35:55 -08:00
David Anderson
8380d8575a logtail: remove unused code from old sentinel logic.
Signed-off-by: David Anderson <dave@natulte.net>
2020-02-11 10:33:36 -08:00