func (c *CmdDeviceRemove) Run() (err error) { protocols := []rpc.Protocol{ NewSecretUIProtocol(c.G()), } if err = RegisterProtocolsWithContext(protocols, c.G()); err != nil { return err } var id keybase1.DeviceID id, err = keybase1.DeviceIDFromString(c.idOrName) if err != nil { id, err = c.lookup(c.idOrName) if err != nil { return err } } cli, err := GetRevokeClient() if err != nil { return err } return cli.RevokeDevice(context.TODO(), keybase1.RevokeDeviceArg{ Force: c.force, DeviceID: id, }) }
func (c *CmdDeviceRemove) ParseArgv(ctx *cli.Context) error { if len(ctx.Args()) != 1 { return fmt.Errorf("Device remove only takes one argument, the device ID.") } id, err := keybase1.DeviceIDFromString(ctx.Args()[0]) if err != nil { return err } c.id = id c.force = ctx.Bool("force") return nil }
func (u *UserConfig) Import() (err error) { var tmp keybase1.UID if tmp, err = UIDFromHex(u.ID); err != nil { return } u.importedID = tmp if u.importedSalt, err = hex.DecodeString(u.Salt); err != nil { return } if u.Device != nil { if u.importedDeviceID, err = keybase1.DeviceIDFromString(*u.Device); err != nil { return } } return }
func (s *Session) Load() error { s.G().Log.Debug("+ Loading session") if s.loaded { s.G().Log.Debug("- Skipped; already loaded") return nil } err := s.nukeSessionFileIfOutOfSync() if err != nil { return err } s.file = NewJSONFile(s.G().Env.GetSessionFilename(), "session") err = s.file.Load(false) s.loaded = true if err != nil { s.G().Log.Error("Failed to load session file") return err } if s.file.Exists() { var tmp error var token, csrf, devid string ok := true s.file.jw.AtKey("session").GetStringVoid(&token, &tmp) if tmp != nil { s.G().Log.Warning("Bad 'session' value in session file %s: %s", s.file.filename, tmp) ok = false } s.file.jw.AtKey("csrf").GetStringVoid(&csrf, &tmp) if tmp != nil { s.G().Log.Warning("Bad 'csrf' value in session file %s: %s", s.file.filename, tmp) ok = false } var did keybase1.DeviceID s.file.jw.AtKey("device_provisioned").GetStringVoid(&devid, &tmp) if tmp != nil { s.G().Log.Debug("Bad 'device_provisioned' value in session file %s: %s", s.file.filename, tmp) ok = false } else { var err error did, err = keybase1.DeviceIDFromString(devid) if err != nil { s.G().Log.Debug("Bad 'device_provisioned' value in session file %s: %s (%s)", s.file.filename, err, devid) ok = false } } mtime, _ := s.file.jw.AtKey("mtime").GetInt64() if ok { s.token = token s.csrf = csrf s.inFile = true s.deviceID = did s.mtime = time.Unix(mtime, 0) } } s.G().Log.Debug("- Loaded session") return nil }