aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSzczepan Zalega <szczepan@nitrokey.com>2018-11-22 12:28:32 +0100
committerSzczepan Zalega <szczepan@nitrokey.com>2018-11-22 12:39:23 +0100
commit4ac4f1c33b64c9fc80bc911681143a3a52c1e5df (patch)
treec78fda220a774ee525e6abfda35c36da9167d58c
parentef171dfd5bf23da606597a251c327ad2c52ec7b8 (diff)
downloadlibnitrokey-4ac4f1c33b64c9fc80bc911681143a3a52c1e5df.tar.gz
libnitrokey-4ac4f1c33b64c9fc80bc911681143a3a52c1e5df.tar.bz2
Handle UNKNOWN_ERROR return code
Handle UNKNOWN_ERROR code (introduced in Storage v0.51, firmware commit 687d4aca31ce405db41231be73864ee2f91b3714) and is returned, when device fails to retrieve the AES key. Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
-rw-r--r--unittest/constants.py1
-rw-r--r--unittest/test_pro.py3
2 files changed, 3 insertions, 1 deletions
diff --git a/unittest/constants.py b/unittest/constants.py
index 3fb444a..714c8c6 100644
--- a/unittest/constants.py
+++ b/unittest/constants.py
@@ -48,6 +48,7 @@ class DeviceErrorCode:
WRONG_PASSWORD = 4
STATUS_NOT_AUTHORIZED = 5
STATUS_AES_DEC_FAILED = 0xa
+ STATUS_UNKNOWN_ERROR = 100
class LibraryErrors:
diff --git a/unittest/test_pro.py b/unittest/test_pro.py
index 1c61399..afa9505 100644
--- a/unittest/test_pro.py
+++ b/unittest/test_pro.py
@@ -192,7 +192,8 @@ def test_enable_password_safe_after_factory_reset(C):
assert C.NK_clear_new_sd_card_warning(DefaultPasswords.ADMIN) == DeviceErrorCode.STATUS_OK
enable_password_safe_result = C.NK_enable_password_safe(DefaultPasswords.USER)
assert enable_password_safe_result == DeviceErrorCode.STATUS_AES_DEC_FAILED \
- or is_storage(C) and enable_password_safe_result == DeviceErrorCode.WRONG_PASSWORD
+ or is_storage(C) and enable_password_safe_result in \
+ [DeviceErrorCode.WRONG_PASSWORD, DeviceErrorCode.STATUS_UNKNOWN_ERROR] # UNKNOWN_ERROR since v0.51
assert C.NK_build_aes_key(DefaultPasswords.ADMIN) == DeviceErrorCode.STATUS_OK
assert C.NK_enable_password_safe(DefaultPasswords.USER) == DeviceErrorCode.STATUS_OK