tailscale/control/controlclient
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
..
auto.go all: remove unnecessary trailing newlines in format patterns for consistency 2020-04-11 08:35:34 -07:00
auto_test.go tstest: rename from testy. 2020-04-28 20:45:12 -07:00
controlclient_test.go types/empty: add Message, stop using mysterious *struct{} 2020-02-14 13:35:49 -08:00
direct.go wgengine/filter: support subnet mask rules, not just /32 IPs. 2020-04-30 04:56:43 -04:00
direct_test.go ipn, controlclient: add control.New parameter 2020-04-29 08:06:06 +10:00
filter.go wgengine/filter: support subnet mask rules, not just /32 IPs. 2020-04-30 04:56:43 -04:00
netmap.go cmd/relaynode: delete it! 2020-03-25 04:48:15 -04:00
persist_test.go ipn: implement Prefs.Equals efficiently. 2020-02-17 15:01:23 -08:00