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/ipn
Tobi Lutke a6efc5093c
ipn/ipnlocal: add Tailscale-User-Handle header to serve proxy
Add a new Tailscale-User-Handle header that provides a sanitized version
of the user's login name, suitable for use as a username in applications
like Forgejo/Gitea that require handles matching [\w\-_.]+.

The header takes the local part of the login (before @), lowercases it,
and replaces any invalid characters with hyphens. For example,
"John.Doe@example.com" becomes "john.doe".

This is useful because many self-hosted applications behind tailscale
serve need a valid username format, and the full email in
Tailscale-User-Login causes errors like:
"CreateUser: name is invalid [user@domain.com]: must be valid alpha
or numeric or dash(-_) or dot characters"

Signed-off-by: Tobi Lutke <tobi@shopify.com>
3 weeks ago
..
auditlog syncs: add Mutex/RWMutex alias/wrappers for future mutex debugging 2 months ago
conffile cmd/tailscale/cli,ipn/conffile: add declarative config mode for Services (#17435) 3 months ago
desktop go.mod: bump golang.org/x/crypto (#17907) 2 months ago
ipnauth all: use buildfeature constants in a few more places 3 months ago
ipnext ipn/ipnlocal: remove all the weird locking (LockedOnEntry, UnlockEarly, etc) 2 months ago
ipnlocal ipn/ipnlocal: add Tailscale-User-Handle header to serve proxy 3 weeks ago
ipnserver feature/featuretags, all: add build features, use existing ones in more places 3 months ago
ipnstate cmd/tailscale/cli: stabilise the output of `tailscale lock status --json` 1 month ago
lapitest various: allow tailscaled shutdown via LocalAPI 4 months ago
localapi client/local: add method to set gauge metric to a value 4 weeks ago
policy ipn,tailconfig: clean up unreleased and removed app connector service 2 years ago
store ipn/store, feature/condregister: permit callers to empty import optonal ipn stores 3 months ago
backend.go types/netmap: remove PrivateKey from NetworkMap 2 months ago
backend_test.go ipn: fix the string representation of an empty ipn.Notify 4 months ago
conf.go ipn: ensure that conffile is source of truth for advertised services. (#15361) 10 months ago
doc.go ipn: generate LoginProfileView and use it instead of *LoginProfile where appropriate 12 months ago
ipn_clone.go cmd/tailscale/cli,ipn,all: make peer relay server port a *uint16 2 months ago
ipn_test.go all: do not depend on the testing package 2 years ago
ipn_view.go cmd/tailscale/cli,ipn,all: make peer relay server port a *uint16 2 months ago
prefs.go cmd/tailscale/cli,ipn,all: make peer relay server port a *uint16 2 months ago
prefs_test.go cmd/tailscale/cli,ipn,all: make peer relay server port a *uint16 2 months ago
serve.go cmd/tailscale,ipn: add Unix socket support for serve 1 month ago
serve_expand_test.go cmd/tailscale,ipn: add Unix socket support for serve 1 month ago
serve_test.go ipn/serve: validate service paths in HasPathHandler 2 months ago
store.go cmd/tailscaled,ipn: show a health warning when state store fails to open (#17883) 2 months ago
store_test.go ipn/store: automatically migrate between plaintext and encrypted state (#16318) 7 months ago