cmd/tailscale,tka: implement compat for TKA messages, minor UX tweaks

Signed-off-by: Tom DNetto <tom@tailscale.com>
This commit is contained in:
Tom DNetto
2022-12-13 09:33:13 -08:00
committed by Tom
parent c4e262a0fc
commit 8724aa254f
3 changed files with 31 additions and 10 deletions

View File

@@ -5,6 +5,7 @@
package cli
import (
"bytes"
"context"
"crypto/rand"
"encoding/hex"
@@ -99,6 +100,18 @@ func runNetworkLockInit(ctx context.Context, args []string) error {
return err
}
// Common mistake: Not specifying the current node's key as one of the trusted keys.
foundSelfKey := false
for _, k := range keys {
if bytes.Equal(k.ID(), st.PublicKey.KeyID()) {
foundSelfKey = true
break
}
}
if !foundSelfKey {
return errors.New("the tailnet lock key of the current node must be one of the trusted keys during initialization")
}
fmt.Println("You are initializing tailnet lock with the following trusted signing keys:")
for _, k := range keys {
fmt.Printf(" - tlpub:%x (%s key)\n", k.Public, k.Kind.String())
@@ -196,7 +209,7 @@ func runNetworkLockStatus(ctx context.Context, args []string) error {
line.WriteString(fmt.Sprint(k.Votes))
line.WriteString("\t")
if k.Key == st.PublicKey {
line.WriteString("(us)")
line.WriteString("(self)")
}
fmt.Println(line.String())
}