mirror of
https://github.com/tailscale/tailscale.git
synced 2025-01-05 14:57:49 +00:00
tailcfg: add RegisterRequest.Copy
Add some docs while I'm here. Signed-off-by: David Crawshaw <crawshaw@tailscale.com>
This commit is contained in:
parent
47da432991
commit
a23a0d9c9f
@ -239,8 +239,12 @@ func (h *Hostinfo) Equal(h2 *Hostinfo) bool {
|
||||
return reflect.DeepEqual(h, h2)
|
||||
}
|
||||
|
||||
// RegisterRequest is sent by a client to register the key for a node.
|
||||
// It is encoded to JSON, encrypted with golang.org/x/crypto/nacl/box,
|
||||
// using the local machine key, and sent to:
|
||||
// https://login.tailscale.com/machine/<mkey hex>
|
||||
type RegisterRequest struct {
|
||||
Version int
|
||||
Version int // currently 1
|
||||
NodeKey NodeKey
|
||||
OldNodeKey NodeKey
|
||||
Auth struct {
|
||||
@ -254,6 +258,19 @@ type RegisterRequest struct {
|
||||
Hostinfo Hostinfo
|
||||
}
|
||||
|
||||
// Copy makes a deep copy of RegisterRequest.
|
||||
// The result aliases no memory with the original.
|
||||
func (req *RegisterRequest) Copy() *RegisterRequest {
|
||||
res := *req
|
||||
res.Hostinfo = *res.Hostinfo.Copy()
|
||||
if res.Auth.Oauth2Token != nil {
|
||||
tok := *res.Auth.Oauth2Token
|
||||
res.Auth.Oauth2Token = &tok
|
||||
}
|
||||
return &res
|
||||
}
|
||||
|
||||
// RegisterResponse is returned by the server in response to a RegisterRequest.
|
||||
type RegisterResponse struct {
|
||||
User User
|
||||
Login Login
|
||||
@ -262,13 +279,20 @@ type RegisterResponse struct {
|
||||
AuthURL string // if set, authorization pending
|
||||
}
|
||||
|
||||
// MapRequest is sent by a client to start a long-poll network map updates.
|
||||
// The request includes a copy of the client's current set of WireGuard
|
||||
// endpoints and general host information.
|
||||
//
|
||||
// The request is encoded to JSON, encrypted with golang.org/x/crypto/nacl/box,
|
||||
// using the local machine key, and sent to:
|
||||
// https://login.tailscale.com/machine/<mkey hex>/map
|
||||
type MapRequest struct {
|
||||
Version int // current version is 4
|
||||
Compress string // "zstd" or "" (no compression)
|
||||
KeepAlive bool // server sends keep-alives
|
||||
NodeKey NodeKey
|
||||
Endpoints []string
|
||||
Stream bool
|
||||
Stream bool // if true, multiple MapResponse objects are returned
|
||||
Hostinfo Hostinfo
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user