tailscale/ipn
Brendan Creane ffa7df2789
ipn: reject advertised routes with non-address bits set (#18649)
* ipn: reject advertised routes with non-address bits set

The config file path, EditPrefs local API, and App Connector API were
accepting invalid subnet route prefixes with non-address bits set (e.g.,
2a01:4f9:c010:c015::1/64 instead of 2a01:4f9:c010:c015::/64). All three
paths now reject prefixes where prefix != prefix.Masked() with an error
message indicating the expected masked form.

Updates tailscale/corp#36738

Signed-off-by: Brendan Creane <bcreane@gmail.com>

* address review comments

Signed-off-by: Brendan Creane <bcreane@gmail.com>

---------

Signed-off-by: Brendan Creane <bcreane@gmail.com>
2026-03-20 10:10:43 -07:00
..
auditlog all: use Go 1.26 things, run most gofix modernizers 2026-03-06 13:32:03 -08:00
conffile all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
desktop all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
ipnauth all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
ipnext ipnext,ipnlocal: add ExtraWireGuardAllowedIPs hook 2026-03-06 09:42:44 -05:00
ipnlocal ipn: reject advertised routes with non-address bits set (#18649) 2026-03-20 10:10:43 -07:00
ipnserver types/ptr: deprecate ptr.To, use Go 1.26 new 2026-03-05 20:13:18 -08:00
ipnstate types/ptr: deprecate ptr.To, use Go 1.26 new 2026-03-05 20:13:18 -08:00
lapitest types/ptr: deprecate ptr.To, use Go 1.26 new 2026-03-05 20:13:18 -08:00
localapi all: use Go 1.26 things, run most gofix modernizers 2026-03-06 13:32:03 -08:00
policy all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
store all: use Go 1.26 things, run most gofix modernizers 2026-03-06 13:32:03 -08:00
backend_test.go all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
backend.go all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
conf_test.go ipn: reject advertised routes with non-address bits set (#18649) 2026-03-20 10:10:43 -07:00
conf.go ipn: reject advertised routes with non-address bits set (#18649) 2026-03-20 10:10:43 -07:00
doc.go all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
ipn_clone.go tailcfg: reintroduce UserProfile.Groups 2026-03-09 11:08:45 +00:00
ipn_test.go all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
ipn_view.go tailcfg: reintroduce UserProfile.Groups 2026-03-09 11:08:45 +00:00
prefs_test.go all: use Go 1.26 things, run most gofix modernizers 2026-03-06 13:32:03 -08:00
prefs.go all: use Go 1.26 things, run most gofix modernizers 2026-03-06 13:32:03 -08:00
serve_expand_test.go all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
serve_test.go all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
serve.go all: use Go 1.26 things, run most gofix modernizers 2026-03-06 13:32:03 -08:00
store_test.go all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
store.go all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00