|
|
|
@ -82,11 +82,46 @@ func runNetworkLockStatus(ctx context.Context, args []string) error {
|
|
|
|
|
} else {
|
|
|
|
|
fmt.Println("Network-lock is NOT enabled.")
|
|
|
|
|
}
|
|
|
|
|
fmt.Println()
|
|
|
|
|
|
|
|
|
|
if st.Enabled && st.NodeKey != nil {
|
|
|
|
|
if st.NodeKeySigned {
|
|
|
|
|
fmt.Println("This node is trusted by network-lock.")
|
|
|
|
|
} else {
|
|
|
|
|
fmt.Println("This node IS NOT trusted by network-lock, and action is required to establish connectivity.")
|
|
|
|
|
fmt.Printf("Run the following command on a node with a network-lock key:\n\ttailscale lock sign %v\n", st.NodeKey)
|
|
|
|
|
}
|
|
|
|
|
fmt.Println()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
p, err := st.PublicKey.MarshalText()
|
|
|
|
|
if err != nil {
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
fmt.Printf("our public-key: %s\n", p)
|
|
|
|
|
fmt.Printf("This node's public-key: %s\n", p)
|
|
|
|
|
fmt.Println()
|
|
|
|
|
|
|
|
|
|
if st.Enabled && len(st.TrustedKeys) > 0 {
|
|
|
|
|
fmt.Println("Keys trusted to make changes to network-lock:")
|
|
|
|
|
for _, k := range st.TrustedKeys {
|
|
|
|
|
key, err := k.Key.MarshalText()
|
|
|
|
|
if err != nil {
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var line strings.Builder
|
|
|
|
|
line.WriteString("\t")
|
|
|
|
|
line.WriteString(string(key))
|
|
|
|
|
line.WriteString("\t")
|
|
|
|
|
line.WriteString(fmt.Sprint(k.Votes))
|
|
|
|
|
line.WriteString("\t")
|
|
|
|
|
if k.Key == st.PublicKey {
|
|
|
|
|
line.WriteString("(us)")
|
|
|
|
|
}
|
|
|
|
|
fmt.Println(line.String())
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return nil
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -143,8 +178,8 @@ func runNetworkLockModify(ctx context.Context, addArgs, removeArgs []string) err
|
|
|
|
|
if err != nil {
|
|
|
|
|
return fixTailscaledConnectError(err)
|
|
|
|
|
}
|
|
|
|
|
if st.Enabled {
|
|
|
|
|
return errors.New("network-lock is already enabled")
|
|
|
|
|
if !st.Enabled {
|
|
|
|
|
return errors.New("network-lock is not enabled")
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
addKeys, err := parseNLKeyArgs(addArgs)
|
|
|
|
|