Add additional parameters to update and finish messages.

Change-Id: I3552d9c42bb781f80e7475edf295c1eb07a50b17
diff --git a/google_keymaster_messages.cpp b/google_keymaster_messages.cpp
index dea11ba..f73dabb 100644
--- a/google_keymaster_messages.cpp
+++ b/google_keymaster_messages.cpp
@@ -184,16 +184,25 @@
 }
 
 size_t UpdateOperationRequest::SerializedSize() const {
-    return sizeof(op_handle) + input.SerializedSize();
+    if (message_version == 0)
+        return sizeof(op_handle) + input.SerializedSize();
+    else
+        return sizeof(op_handle) + input.SerializedSize() + additional_params.SerializedSize();
 }
 
 uint8_t* UpdateOperationRequest::Serialize(uint8_t* buf, const uint8_t* end) const {
     buf = append_uint64_to_buf(buf, end, op_handle);
-    return input.Serialize(buf, end);
+    buf = input.Serialize(buf, end);
+    if (message_version > 0)
+        buf = additional_params.Serialize(buf, end);
+    return buf;
 }
 
 bool UpdateOperationRequest::Deserialize(const uint8_t** buf_ptr, const uint8_t* end) {
-    return copy_uint64_from_buf(buf_ptr, end, &op_handle) && input.Deserialize(buf_ptr, end);
+    bool retval = copy_uint64_from_buf(buf_ptr, end, &op_handle) && input.Deserialize(buf_ptr, end);
+    if (retval && message_version > 0)
+        retval = additional_params.Deserialize(buf_ptr, end);
+    return retval;
 }
 
 size_t UpdateOperationResponse::NonErrorSerializedSize() const {
@@ -218,16 +227,26 @@
 }
 
 size_t FinishOperationRequest::SerializedSize() const {
-    return sizeof(op_handle) + signature.SerializedSize();
+    if (message_version == 0)
+        return sizeof(op_handle) + signature.SerializedSize();
+    else
+        return sizeof(op_handle) + signature.SerializedSize() + additional_params.SerializedSize();
 }
 
 uint8_t* FinishOperationRequest::Serialize(uint8_t* buf, const uint8_t* end) const {
     buf = append_uint64_to_buf(buf, end, op_handle);
-    return signature.Serialize(buf, end);
+    buf = signature.Serialize(buf, end);
+    if (message_version > 0)
+        buf = additional_params.Serialize(buf, end);
+    return buf;
 }
 
 bool FinishOperationRequest::Deserialize(const uint8_t** buf_ptr, const uint8_t* end) {
-    return copy_uint64_from_buf(buf_ptr, end, &op_handle) && signature.Deserialize(buf_ptr, end);
+    bool retval =
+        copy_uint64_from_buf(buf_ptr, end, &op_handle) && signature.Deserialize(buf_ptr, end);
+    if (retval && message_version > 0)
+        retval = additional_params.Deserialize(buf_ptr, end);
+    return retval;
 }
 
 size_t FinishOperationResponse::NonErrorSerializedSize() const {