aboutsummaryrefslogtreecommitdiff
path: root/hal.h
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2016-09-30 08:34:59 -0400
committerRob Austein <sra@hactrn.net>2016-09-30 08:34:59 -0400
commit378bcae718b7b8785b06c8cf82344e4f344a9215 (patch)
treef3d51e30c0d9e6ec8edff7b9ddd752e288672c0a /hal.h
parent4a2bede5881a23a69f94beefe7d5dd56a12b9985 (diff)
Multi-block object support in keystore.
The main reason for supporting multi-block objects is to allow the PKCS #11 code to attach more attributes than will fit comfortably in a single flash block. This may turn out to be unnecessary once we've fleshed out the attribute storage and retrieval code; if so, we can simplify the code, but this way the keystore won't impose arbitrary (and somewhat inscrutable) size limits on PKCS #11 attributes for large keys. This snapshot passes light testing (PKCS #11 "make test" runs), but the tombstone recovery code in ks_init() is a bit involved, and needs more testing with simulated failures (probably induced under GDB).
Diffstat (limited to 'hal.h')
-rw-r--r--hal.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/hal.h b/hal.h
index 4e69981..e94f3b8 100644
--- a/hal.h
+++ b/hal.h
@@ -146,6 +146,7 @@
DEFINE_HAL_ERROR(HAL_ERROR_KS_DRIVER_NOT_FOUND, "Keystore driver not found") \
DEFINE_HAL_ERROR(HAL_ERROR_KEYSTORE_BAD_CRC, "Bad CRC in keystore") \
DEFINE_HAL_ERROR(HAL_ERROR_KEYSTORE_BAD_BLOCK_TYPE, "Unsupported keystore block type") \
+ DEFINE_HAL_ERROR(HAL_ERROR_KEYSTORE_LOST_DATA, "Keystore appears to have lost data") \
END_OF_HAL_ERROR_LIST
/* Marker to forestall silly line continuation errors */