ea5ee6f87c
all: update golang.zx2c4.com/wireguard to github.com/tailscale/wireguard-go ( #6692 )
...
This is temporary while we work to upstream performance work in
https://github.com/WireGuard/wireguard-go/pull/64 . A replace directive
is less ideal as it breaks dependent code without duplication of the
directive.
Signed-off-by: Jordan Whited <jordan@tailscale.com >
2022-12-09 15:12:20 -08:00
d585cbf02a
wgengine/router: [bsd/darwin] remove and readd routes on profile change
...
Noticed when testing FUS on tailscale-on-macOS, that routing would break
completely when switching between profiles. However, it would start working
again when going back to the original profile tailscaled started with.
Turns out that if we change the addrs on the interface we need to remove and readd
all the routes.
Updates #713
Signed-off-by: Maisem Ali <maisem@tailscale.com >
2022-11-11 19:49:01 +05:00
da8def8e13
all: remove old +build tags
...
The //go:build syntax was introduced in Go 1.17:
https://go.dev/doc/go1.17#build-lines
gofmt has kept the +build and go:build lines in sync since
then, but enough time has passed. Time to remove them.
Done with:
perl -i -npe 's,^// \+build.*\n,,' $(git grep -l -F '+build')
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2022-11-04 07:25:42 -07:00
d4811f11a0
all: fix spelling mistakes
...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2022-09-29 13:36:13 -07:00
a12aad6b47
all: convert more code to use net/netip directly
...
perl -i -npe 's,netaddr.IPPrefixFrom,netip.PrefixFrom,' $(git grep -l -F netaddr.)
perl -i -npe 's,netaddr.IPPortFrom,netip.AddrPortFrom,' $(git grep -l -F netaddr. )
perl -i -npe 's,netaddr.IPPrefix,netip.Prefix,g' $(git grep -l -F netaddr. )
perl -i -npe 's,netaddr.IPPort,netip.AddrPort,g' $(git grep -l -F netaddr. )
perl -i -npe 's,netaddr.IP\b,netip.Addr,g' $(git grep -l -F netaddr. )
perl -i -npe 's,netaddr.IPv6Raw\b,netip.AddrFrom16,g' $(git grep -l -F netaddr. )
goimports -w .
Then delete some stuff from the net/netaddr shim package which is no
longer neeed.
Updates #5162
Change-Id: Ia7a86893fe21c7e3ee1ec823e8aba288d4566cd8
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2022-07-25 21:53:49 -07:00
7eaf5e509f
net/netaddr: start migrating to net/netip via new netaddr adapter package
...
Updates #5162
Change-Id: Id7bdec303b25471f69d542f8ce43805328d56c12
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2022-07-25 16:20:43 -07:00
a5da4ed981
all: gofmt with Go 1.17
...
This adds "//go:build" lines and tidies up existing "// +build" lines.
Signed-off-by: Josh Bleecher Snyder <josh@tailscale.com >
2021-08-05 15:54:00 -07:00
ed8587f90d
wgengine/router: take a link monitor
...
Prep for #1591 which will need to make Linux's router react to changes
that the link monitor observes.
The router package already depended on the monitor package
transitively. Now it's explicit.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-07-20 13:43:40 -07:00
1ece91cede
go.mod: upgrade wireguard-windows, de-fork wireguard-go
...
Pull in the latest version of wireguard-windows.
Switch to upstream wireguard-go.
This requires reverting all of our import paths.
Unfortunately, this has to happen at the same time.
The wireguard-go change is very low risk,
as that commit matches our fork almost exactly.
(The only changes are import paths, CI files, and a go.mod entry.)
So if there are issues as a result of this commit,
the first place to look is wireguard-windows changes.
Signed-off-by: Josh Bleecher Snyder <josh@tailscale.com >
2021-05-25 13:18:21 -07:00
25df067dd0
all: adapt to opaque netaddr types
...
This commit is a mishmash of automated edits using gofmt:
gofmt -r 'netaddr.IPPort{IP: a, Port: b} -> netaddr.IPPortFrom(a, b)' -w .
gofmt -r 'netaddr.IPPrefix{IP: a, Port: b} -> netaddr.IPPrefixFrom(a, b)' -w .
gofmt -r 'a.IP.Is4 -> a.IP().Is4' -w .
gofmt -r 'a.IP.As16 -> a.IP().As16' -w .
gofmt -r 'a.IP.Is6 -> a.IP().Is6' -w .
gofmt -r 'a.IP.As4 -> a.IP().As4' -w .
gofmt -r 'a.IP.String -> a.IP().String' -w .
And regexps:
\w*(.*)\.Port = (.*) -> $1 = $1.WithPort($2)
\w*(.*)\.IP = (.*) -> $1 = $1.WithIP($2)
And lots of manual fixups.
Signed-off-by: Josh Bleecher Snyder <josh@tailscale.com >
2021-05-16 14:52:00 -07:00
4f3203556d
wgengine/router: add the Tailscale ULA route on darwin.
...
Signed-off-by: Maisem Ali <maisem@tailscale.com >
2021-04-15 17:07:50 -07:00
19eca34f47
wgengine/router: fix FreeBSD configuration failure on the v6 /48.
...
On FreeBSD, we add the interface IP as a /48 to work around a kernel
bug, so we mustn't then try to add a /48 route to the Tailscale ULA,
since that will fail as a dupe.
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-10 19:36:26 -07:00
4c61ebacf4
wgengine: move DNS configuration out of wgengine/router.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-05 10:55:35 -07:00
fcfc0d3a08
net/dns: remove ManagerConfig, pass relevant args directly.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-04-01 23:26:52 -07:00
0a84aaca0a
wgengine/router: remove unused wireguard *Device argument.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-03-26 19:43:13 -07:00
672731ac6f
many: gofmt.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-03-25 17:41:51 -07:00
9f7f2af008
wgengine/router/dns: move to net/dns.
...
Preparation for merging the APIs and whatnot.
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-03-25 16:25:30 -07:00
d580b3f09e
wgengine/router: fix go vet failure on BSDs
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-03-15 14:27:39 -07:00
bcea88da46
wgengine: support FreeBSD with IPv6.
...
Fixes https://github.com/tailscale/tailscale/issues/1307 for keepsies.
We cannot set the tun interface address as a /128 on FreeBSD,
due to https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=218508
Instead we set the interface address as a /48, which is enabled
by commit 82edf94df7
.
Signed-off-by: Denton Gentry <dgentry@tailscale.com >
2021-03-05 19:34:14 -08:00
c8af6bc009
Revert "freebsd: ignore IPv6 for now"
...
This reverts commit 061422affc
.
We have a way to support IPv6 on FreeBSD now.
Signed-off-by: Denton Gentry <dgentry@tailscale.com >
2021-03-05 19:34:14 -08:00
061422affc
freebsd: ignore IPv6 for now
...
FreeBSD tun devices don't work with the way we implement IPv6
https://github.com/tailscale/tailscale/issues/1307
At least for now, remove any IPv6 addresses from the netmap.
Signed-off-by: Denton Gentry <dgentry@tailscale.com >
2021-03-03 15:33:13 -08:00
88ab0173a7
wgengine/router: fix BSD router to support multiple local addrs, IPv6
...
Fixes #1201
2021-02-11 19:13:03 -08:00
2fe770ed72
all: replace wgcfg.IP and wgcfg.CIDR with netaddr types
...
Signed-off-by: Josh Bleecher Snyder <josh@tailscale.com >
2020-12-28 13:00:42 -08:00
6d14678009
wgengine/router: remove unnecessary newlines in log.Printf formats
2020-09-01 13:27:42 -07:00
6fa7a9a055
wgengine/router/router_userspace_bsd: on Mac the route program syntax expects delete not del -- this had caused router reconfig to fail in some cases. Fixes #673
...
Signed-off-by: Mike Kramlich <groglogic@gmail.com >
2020-08-12 13:22:19 -07:00
28e52a0492
all: dns refactor, add Proxied and PerDomain flags from control ( #615 )
...
Signed-off-by: Dmytro Shynkevych <dmytro@tailscale.com >
2020-07-31 16:27:09 -04:00
8c850947db
router: split off sandboxed path from router_darwin ( #624 )
...
Signed-off-by: Dmytro Shynkevych <dmytro@tailscale.com >
2020-07-31 01:10:14 -04:00
2ce2b63239
router: stop iOS subprocess sandbox violations ( #617 )
...
Signed-off-by: Dmytro Shynkevych <dmytro@tailscale.com >
2020-07-29 21:09:18 -04:00
30bbbe9467
wgengine/router: dns: unify on *BSD, multimode on Linux, Magic DNS ( #536 )
...
Signed-off-by: Dmytro Shynkevych <dmytro@tailscale.com >
2020-07-14 09:12:00 -04:00
a8635784bc
wgengine: add BSD userspace router to darwin
...
Darwin and FreeBSD are compatible enough to share the userspace router.
The OSX router delegates to the BSD userspace router unless `SetRoutesFunc` is set.
That preserves the mechanism that allows `ipn-go-bridge` to specify its own routing behavior.
Fixes #177
Signed-off-by: Reinaldo de Souza <github@rei.nal.do >
2020-06-24 09:42:20 -07:00