summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorShawn Willden <swillden@google.com>2015-06-01 14:40:19 -0600
committerShawn Willden <swillden@google.com>2015-06-02 22:35:51 -0600
commitac69d9559e96cf57d7705848a9f3d6e09eac9fe1 (patch)
treecb6f4bd61002bf669ec5273bbd5b622299289265 /include
parentbf0679a97499f92abc664179ddb8c1e3974f5c85 (diff)
downloadkeymaster-ac69d9559e96cf57d7705848a9f3d6e09eac9fe1.tar.gz
Add output params to Update & Finish messages.
Change-Id: I5f6ee245259788cb8c873d814e167f5d5bcdc08b
Diffstat (limited to 'include')
-rw-r--r--include/keymaster/android_keymaster_messages.h20
1 files changed, 12 insertions, 8 deletions
diff --git a/include/keymaster/android_keymaster_messages.h b/include/keymaster/android_keymaster_messages.h
index d7703b4..a28a95a 100644
--- a/include/keymaster/android_keymaster_messages.h
+++ b/include/keymaster/android_keymaster_messages.h
@@ -55,9 +55,8 @@ const uint32_t ADD_RNG_ENTROPY = 8;
* Note that this approach implies that GetVersionRequest and GetVersionResponse cannot be
* versioned.
*/
-const int32_t MAX_MESSAGE_VERSION = 1;
-inline int32_t MessageVersion(uint8_t major_ver, uint8_t /* minor_ver */,
- uint8_t /* subminor_ver */) {
+const int32_t MAX_MESSAGE_VERSION = 2;
+inline int32_t MessageVersion(uint8_t major_ver, uint8_t minor_ver, uint8_t /* subminor_ver */) {
int32_t message_version = -1;
switch (major_ver) {
case 0:
@@ -66,11 +65,14 @@ inline int32_t MessageVersion(uint8_t major_ver, uint8_t /* minor_ver */,
message_version = 0;
break;
case 1:
- // Currently all 1.X.X versions are interoperable and all use message version 1. In the
- // future minor numbers may indicate incompatibility. Subminor version should never matter
- // for compatibility.
- message_version = 1;
- break;
+ switch (minor_ver) {
+ case 0:
+ message_version = 1;
+ break;
+ case 1:
+ message_version = 2;
+ break;
+ }
};
return message_version;
}
@@ -266,6 +268,7 @@ struct UpdateOperationResponse : public KeymasterResponse {
Buffer output;
size_t input_consumed;
+ AuthorizationSet output_params;
};
struct FinishOperationRequest : public KeymasterMessage {
@@ -288,6 +291,7 @@ struct FinishOperationResponse : public KeymasterResponse {
bool NonErrorDeserialize(const uint8_t** buf_ptr, const uint8_t* end);
Buffer output;
+ AuthorizationSet output_params;
};
struct AddEntropyRequest : public KeymasterMessage {