func (c *CmdStatus) load() (*fstatus, error) { var status fstatus status.Client.Version = libkb.VersionString() cli, err := GetConfigClient(c.G()) if err != nil { return nil, err } curStatus, err := cli.GetCurrentStatus(context.TODO(), 0) if err != nil { return nil, err } status.LoggedInProvisioned = curStatus.LoggedIn if curStatus.User != nil { status.Username = curStatus.User.Username status.UserID = curStatus.User.Uid.String() } extStatus, err := cli.GetExtendedStatus(context.TODO(), 0) if err != nil { return nil, err } config, err := cli.GetConfig(context.TODO(), 0) if err != nil { return nil, err } status.ConfigPath = config.ConfigPath status.Service.Version = config.Version status.Device = extStatus.Device if extStatus.Standalone { status.Service.Running = false } else { status.Service.Running = true status.Service.Log = path.Join(extStatus.LogDir, c.serviceLogFilename()) } status.SessionStatus = c.sessionStatus(extStatus.Session) status.PassphraseStreamCached = extStatus.PassphraseStreamCached kbfsVersion, err := install.KBFSBundleVersion(c.G(), "") if err == nil { status.KBFS.Version = kbfsVersion } status.KBFS.Log = path.Join(extStatus.LogDir, c.kbfsLogFilename()) status.Desktop.Running = extStatus.DesktopUIConnected status.Desktop.Log = path.Join(extStatus.LogDir, c.desktopLogFilename()) status.DefaultUsername = extStatus.DefaultUsername status.ProvisionedUsernames = extStatus.ProvisionedUsernames status.Clients = extStatus.Clients status.PlatformInfo = extStatus.PlatformInfo // set anything os-specific: if err := c.osSpecific(&status); err != nil { return nil, err } return &status, nil }
func (c *CmdStatus) load() (*fstatus, error) { var status fstatus status.Client.Version = libkb.VersionString() cli, err := GetConfigClient(c.G()) if err != nil { return nil, err } curStatus, err := cli.GetCurrentStatus(context.TODO(), 0) if err != nil { return nil, err } status.LoggedInProvisioned = curStatus.LoggedIn status.SessionIsValid = curStatus.SessionIsValid if curStatus.User != nil { status.Username = curStatus.User.Username status.UserID = curStatus.User.Uid.String() } extStatus, err := cli.GetExtendedStatus(context.TODO(), 0) if err != nil { return nil, err } config, err := cli.GetConfig(context.TODO(), 0) if err != nil { return nil, err } status.ConfigPath = config.ConfigPath status.Service.Version = config.Version status.Device = extStatus.Device if extStatus.Standalone { status.Service.Running = false } else { status.Service.Running = true status.Service.Log = filepath.Join(extStatus.LogDir, libkb.ServiceLogFileName) } status.SessionStatus = c.sessionStatus(extStatus.Session) status.PassphraseStreamCached = extStatus.PassphraseStreamCached status.TsecCached = extStatus.TsecCached status.DeviceSigKeyCached = extStatus.DeviceSigKeyCached status.DeviceEncKeyCached = extStatus.DeviceEncKeyCached status.PaperSigKeyCached = extStatus.PaperSigKeyCached status.PaperEncKeyCached = extStatus.PaperEncKeyCached status.StoredSecret = extStatus.StoredSecret status.SecretPromptSkip = extStatus.SecretPromptSkip if kbfs := getFirstClient(extStatus.Clients, keybase1.ClientType_KBFS); kbfs != nil { status.KBFS.Version = kbfs.Version status.KBFS.Running = true } else { kbfsVersion, err := install.KBFSBundleVersion(c.G(), "") if err == nil { status.KBFS.Version = kbfsVersion } } if desktop := getFirstClient(extStatus.Clients, keybase1.ClientType_GUI); desktop != nil { status.Desktop.Running = true status.Desktop.Version = desktop.Version } status.KBFS.Log = filepath.Join(extStatus.LogDir, libkb.KBFSLogFileName) status.Desktop.Log = filepath.Join(extStatus.LogDir, libkb.DesktopLogFileName) status.Updater.Log = filepath.Join(extStatus.LogDir, libkb.UpdaterLogFileName) status.Start.Log = filepath.Join(extStatus.LogDir, libkb.StartLogFileName) status.DefaultUsername = extStatus.DefaultUsername status.ProvisionedUsernames = extStatus.ProvisionedUsernames status.Clients = extStatus.Clients status.PlatformInfo = extStatus.PlatformInfo // set anything os-specific: if err := c.osSpecific(&status); err != nil { return nil, err } return &status, nil }