derp, cmd/derper: relay client app names to watchers, allow banning them
Clients can advertise an opaque app name in their ClientInfo but the server previously did nothing with it. Constrain app names to at most 32 bytes of printable ASCII, enforced both in derp.NewClient and by the server when it parses the ClientInfo. Extend the peerPresent frame, following its existing pattern of appending optional fields, with a length-prefixed app name after the flags byte, so trusted mesh watchers (other DERP nodes and stats tools) can attribute connections by app. Old clients ignore the extra bytes; old servers send frames without them. Also add a derper --disallow-app-names flag taking a comma-separated list of app names whose connections are refused, except for trusted mesh peers. Updates tailscale/corp#24454 Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com> Change-Id: I6e721258675145833aafa1355fabf7fc05a5a204
B
Brad Fitzpatrick committed
75519889f55d0ac99ae5f151d7a2f072113ffed7
Parent: 6872f1c
Committed by Brad Fitzpatrick <brad@danga.com>
on 8/24/2026, 3:37:00 PM