mirror of
https://github.com/status-im/status-keycard-go.git
synced 2025-03-03 07:20:56 +00:00
add missing restarts on pcsc errors
This commit is contained in:
parent
5b6786acb8
commit
2cfb537259
@ -14,6 +14,8 @@ func (f *KeycardFlow) factoryReset(kc *keycardContext) error {
|
||||
if err == nil {
|
||||
delete(f.params, FactoryReset)
|
||||
return restartErr()
|
||||
} else if isSCardError(err) {
|
||||
return restartErr()
|
||||
} else {
|
||||
return err
|
||||
}
|
||||
@ -22,14 +24,14 @@ func (f *KeycardFlow) factoryReset(kc *keycardContext) error {
|
||||
func (f *KeycardFlow) selectKeycard(kc *keycardContext) error {
|
||||
appInfo, err := kc.selectApplet()
|
||||
|
||||
f.cardInfo.instanceUID = btox(appInfo.InstanceUID)
|
||||
f.cardInfo.keyUID = btox(appInfo.KeyUID)
|
||||
f.cardInfo.freeSlots = bytesToInt(appInfo.AvailableSlots)
|
||||
|
||||
if err != nil {
|
||||
return restartErr()
|
||||
}
|
||||
|
||||
f.cardInfo.instanceUID = btox(appInfo.InstanceUID)
|
||||
f.cardInfo.keyUID = btox(appInfo.KeyUID)
|
||||
f.cardInfo.freeSlots = bytesToInt(appInfo.AvailableSlots)
|
||||
|
||||
if !appInfo.Installed {
|
||||
return f.pauseAndRestart(SwapCard, ErrorNotAKeycard)
|
||||
}
|
||||
@ -108,7 +110,9 @@ func (f *KeycardFlow) initCard(kc *keycardContext) error {
|
||||
|
||||
err := kc.init(newPIN.(string), newPUK.(string), newPairing.(string))
|
||||
|
||||
if err != nil {
|
||||
if isSCardError(err) {
|
||||
return restartErr()
|
||||
} else if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user