func (c *CmdStatus) outputTerminal(status *fstatus) error { dui := c.G().UI.GetDumbOutputUI() dui.Printf("Username: %s\n", status.Username) dui.Printf("Logged in: %s\n", BoolString(status.LoggedInProvisioned, "yes", "no")) if status.Device != nil { dui.Printf("\nDevice:\n") dui.Printf(" name: %s\n", status.Device.Name) dui.Printf(" ID: %s\n", status.Device.DeviceID) dui.Printf(" status: %s\n\n", libkb.DeviceStatusToString(&status.Device.Status)) } dui.Printf("Local keybase keychain: %s\n", BoolString(status.PassphraseStreamCached, "unlocked", "locked")) dui.Printf("Session status: %s\n", status.SessionStatus) dui.Printf("\nKBFS:\n") dui.Printf(" status: %s\n", BoolString(status.KBFS.Running, "running", "not running")) dui.Printf(" version: %s\n", status.KBFS.Version) dui.Printf(" log: %s\n", status.KBFS.Log) dui.Printf("\nService:\n") dui.Printf(" status: %s\n", BoolString(status.Service.Running, "running", "not running")) dui.Printf(" version: %s\n", status.Service.Version) dui.Printf(" log: %s\n", status.Service.Log) dui.Printf("\nPlatform Information:\n") dui.Printf(" OS: %s\n", status.PlatformInfo.Os) dui.Printf(" Runtime: %s\n", status.PlatformInfo.GoVersion) dui.Printf(" Arch: %s\n", status.PlatformInfo.Arch) dui.Printf("\nClient:\n") dui.Printf(" version: %s\n", status.Client.Version) dui.Printf("\nDesktop app:\n") dui.Printf(" status: %s\n", BoolString(status.Desktop.Running, "running", "not running")) dui.Printf(" log: %s\n\n", status.Desktop.Log) dui.Printf("Config path: %s\n", status.ConfigPath) dui.Printf("Default user: %s\n", status.DefaultUsername) dui.Printf("Provisioned users: %s\n", strings.Join(status.ProvisionedUsernames, ", ")) c.outputClients(dui, status.Clients) return nil }
func (c *CmdStatus) outputTerminal(status *fstatus) error { dui := c.G().UI.GetDumbOutputUI() dui.Printf("Username: %s\n", status.Username) dui.Printf("Logged in: %s\n", BoolString(status.LoggedInProvisioned, "yes", "no")) if status.Device != nil { dui.Printf("\nDevice:\n") dui.Printf(" name: %s\n", status.Device.Name) dui.Printf(" ID: %s\n", status.Device.DeviceID) dui.Printf(" status: %s\n\n", libkb.DeviceStatusToString(&status.Device.Status)) } dui.Printf("Session: %s\n", status.SessionStatus) dui.Printf(" is valid: %s\n", BoolString(status.SessionIsValid, "yes", "no")) var deviceKeysLockStatus string switch { case status.PassphraseStreamCached: deviceKeysLockStatus = "unlocked" case status.DeviceSigKeyCached && status.DeviceEncKeyCached: deviceKeysLockStatus = "unlocked" case status.StoredSecret: deviceKeysLockStatus = "unlockable via stored secret" case status.DeviceSigKeyCached: deviceKeysLockStatus = "signing only" case status.DeviceEncKeyCached: deviceKeysLockStatus = "encryption only" default: deviceKeysLockStatus = "locked" } dui.Printf(" keys: %s\n", deviceKeysLockStatus) dui.Printf("\nKey status:\n") dui.Printf(" stream: %s\n", BoolString(status.PassphraseStreamCached, "cached", "not cached")) dui.Printf(" secret: %s\n", BoolString(status.StoredSecret, "stored", "not stored")) dui.Printf(" dev sig: %s\n", BoolString(status.DeviceSigKeyCached, "cached", "not cached")) dui.Printf(" dev enc: %s\n", BoolString(status.DeviceEncKeyCached, "cached", "not cached")) dui.Printf(" paper sig: %s\n", BoolString(status.PaperSigKeyCached, "cached", "not cached")) dui.Printf(" paper enc: %s\n", BoolString(status.PaperEncKeyCached, "cached", "not cached")) dui.Printf(" prompt: %s\n", BoolString(status.SecretPromptSkip, "skip", "show")) dui.Printf(" tsec: %s\n", BoolString(status.TsecCached, "cached", "not cached")) dui.Printf("\nKBFS:\n") dui.Printf(" status: %s\n", BoolString(status.KBFS.Running, "running", "not running")) dui.Printf(" version: %s\n", status.KBFS.Version) dui.Printf(" log: %s\n", status.KBFS.Log) dui.Printf("\nService:\n") dui.Printf(" status: %s\n", BoolString(status.Service.Running, "running", "not running")) dui.Printf(" version: %s\n", status.Service.Version) dui.Printf(" log: %s\n", status.Service.Log) dui.Printf("\nUpdater:\n") dui.Printf(" log: %s\n", status.Updater.Log) dui.Printf("\nPlatform Information:\n") dui.Printf(" OS: %s\n", status.PlatformInfo.Os) dui.Printf(" Runtime: %s\n", status.PlatformInfo.GoVersion) dui.Printf(" Arch: %s\n", status.PlatformInfo.Arch) dui.Printf("\nClient:\n") dui.Printf(" version: %s\n", status.Client.Version) dui.Printf("\nDesktop app:\n") dui.Printf(" status: %s\n", BoolString(status.Desktop.Running, "running", "not running")) dui.Printf(" version: %s\n", status.Desktop.Version) dui.Printf(" log: %s\n\n", status.Desktop.Log) dui.Printf("Config path: %s\n", status.ConfigPath) dui.Printf("Default user: %s\n", status.DefaultUsername) dui.Printf("Other users: %s\n", strings.Join(status.ProvisionedUsernames, ", ")) c.outputClients(dui, status.Clients) return nil }