You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tailscale/control
James Tucker c09c95ef67 types/key,wgengine/magicsock,control/controlclient,ipn: add debug disco key rotation
Adds the ability to rotate discovery keys on running clients, needed for
testing upcoming disco key distribution changes.

Introduces key.DiscoKey, an atomic container for a disco private key,
public key, and the public key's ShortString, replacing the prior
separate atomic fields.

magicsock.Conn has a new RotateDiscoKey method, and access to this is
provided via localapi and a CLI debug command.

Note that this implementation is primarily for testing as it stands, and
regular use should likely introduce an additional mechanism that allows
the old key to be used for some time, to provide a seamless key rotation
rather than one that invalidates all sessions.

Updates tailscale/corp#34037

Signed-off-by: James Tucker <james@tailscale.com>
2 weeks ago
..
controlbase syncs: add Mutex/RWMutex alias/wrappers for future mutex debugging 2 weeks ago
controlclient types/key,wgengine/magicsock,control/controlclient,ipn: add debug disco key rotation 2 weeks ago
controlhttp feature/ace: make ACE modular 2 months ago
controlknobs control, ipn, tailcfg: enable seamless key renewal by default 3 months ago
ts2021 control/ts2021: fix data race during concurrent Close and conn ending 2 months ago