tailscale/wgengine
Avery Pennarun 65fbb9c303 wgengine/filter: support subnet mask rules, not just /32 IPs.
This depends on improved support from the control server, to send the
new subnet width (Bits) fields. If these are missing, we fall back to
assuming their value is /32.

Conversely, if the server sends Bits fields to an older client, it will
interpret them as /32 addresses. Since the only rules we allow are
"accept" rules, this will be narrower or equal to the intended rule, so
older clients will simply reject hosts on the wider subnet (fail
closed).

With this change, the internal filter.Matches format has diverged
from the wire format used by controlclient, so move the wire format
into tailcfg and convert it to filter.Matches in controlclient.

Signed-off-by: Avery Pennarun <apenwarr@tailscale.com>
2020-04-30 04:56:43 -04:00
..
filter wgengine/filter: support subnet mask rules, not just /32 IPs. 2020-04-30 04:56:43 -04:00
magicsock ipn: don't listen on the unspecified address in test 2020-04-28 19:20:02 -07:00
monitor wgengine/monitor: disable monitor on Android 2020-04-24 06:35:31 -07:00
packet wgengine/filter: support subnet mask rules, not just /32 IPs. 2020-04-30 04:56:43 -04:00
winnet Move Linux client & common packages into a public repo. 2020-02-09 09:32:57 -08:00
faketun.go wgengine: properly clean up freebsd routes and interfaces on close 2020-02-25 16:40:10 -05:00
ifconfig_windows.go Update ifconfig_windows.go 2020-04-27 19:57:57 -07:00
router_darwin_support.go wgengine: make SetRoutesFunc less appealing to use. 2020-02-10 21:40:00 -08:00
router_darwin.go wgengine: define default tunname for each platform 2020-03-07 21:40:01 -08:00
router_default.go wgengine: define default tunname for each platform 2020-03-07 21:40:01 -08:00
router_fake.go all: remove unnecessary trailing newlines in format patterns for consistency 2020-04-11 08:35:34 -07:00
router_freebsd.go wgengine: define default tunname for each platform 2020-03-07 21:40:01 -08:00
router_linux.go wgengine: define default tunname for each platform 2020-03-07 21:40:01 -08:00
router_openbsd.go wgengine: define default tunname for each platform 2020-03-07 21:40:01 -08:00
router_windows.go wgengine: unexport some windows funcs 2020-04-05 08:23:53 -07:00
rusage_nowindows.go wgengine: flesh out some docs 2020-02-12 13:37:45 -08:00
rusage_windows.go Move Linux client & common packages into a public repo. 2020-02-09 09:32:57 -08:00
rusage.go Move "logger" package to under types, now that we have it. 2020-02-14 20:23:05 -08:00
userspace.go wgengine/magicsock: prune key.Public-keyed on peer removals 2020-04-18 08:48:01 -07:00
watchdog_test.go wgengine: simplify, change some signatures 2020-02-17 08:04:31 -08:00
watchdog.go cmd/tailscaled, wgengine, ipn: add /debug/ipn handler with world state 2020-03-26 14:26:24 -07:00
wgengine.go wgengine: quiet some engine reconfig logging, make more consistent 2020-04-10 13:53:01 -07:00