don't clear PIN on Initialize

pull/25/head
Pavol Rusnak 9 years ago
parent 956546ae54
commit 4cbf29505d

@ -113,7 +113,7 @@ void fsm_msgInitialize(Initialize *msg)
(void)msg;
recovery_abort();
signing_abort();
session_clear();
session_clear(false); // do not clear PIN
fsm_msgGetFeatures(0);
}
@ -447,7 +447,7 @@ void fsm_msgCipherKeyValue(CipherKeyValue *msg)
void fsm_msgClearSession(ClearSession *msg)
{
(void)msg;
session_clear();
session_clear(true); // clear PIN as well
fsm_sendSuccess("Session cleared");
}

@ -117,14 +117,16 @@ void storage_reset(void)
// reset storage struct
memset(&storage, 0, sizeof(storage));
storage.version = STORAGE_VERSION;
session_clear();
session_clear(true); // clear PIN as well
}
void session_clear(void)
void session_clear(bool clear_pin)
{
sessionRootNodeCached = false; memset(&sessionRootNode, 0, sizeof(sessionRootNode));
sessionPassphraseCached = false; memset(&sessionPassphrase, 0, sizeof(sessionPassphrase));
sessionPinCached = false;
if (clear_pin) {
sessionPinCached = false;
}
}
static uint8_t meta_backup[FLASH_META_LEN];

@ -29,7 +29,7 @@ void storage_init(void);
void storage_reset_uuid(void);
void storage_reset(void);
void storage_commit(void);
void session_clear(void);
void session_clear(bool clear_pin);
void storage_loadDevice(LoadDevice *msg);

Loading…
Cancel
Save