aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-12-17 22:15:46 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-12-17 22:15:46 +0000
commita4a5ba82c1f7f63e5590caf340309c592c37f890 (patch)
tree695669cab8e8037e02908644e2853cfa97482bdf
parent3f2daca5856ae342ff7764416330e9545dce13c4 (diff)
parent30ce5bfe589efd12365b044097ad723c00b004bc (diff)
downloadgeneric-android13-qpr2-s8-release.tar.gz
Change-Id: I7325563e99ae3b3210ff4e26c4d2f112a6f610f3
-rw-r--r--libnos/generator/main.cpp2
-rw-r--r--libnos_transport/test/test.cpp2
-rw-r--r--nugget/include/app_nugget.h12
-rw-r--r--nugget/include/application.h2
-rw-r--r--nugget/proto/nugget/app/identity/identity.proto3
-rw-r--r--nugget/proto/nugget/app/keymaster/keymaster.proto23
6 files changed, 39 insertions, 5 deletions
diff --git a/libnos/generator/main.cpp b/libnos/generator/main.cpp
index 04dfa89..25178c3 100644
--- a/libnos/generator/main.cpp
+++ b/libnos/generator/main.cpp
@@ -240,7 +240,7 @@ void GenerateClientSource(Printer& printer, const ServiceDescriptor& service) {
methodVars.insert(vars.begin(), vars.end());
printer.Print(methodVars, R"(
uint32_t $class$::$method_name$(const $method_input_type$& request, $method_output_type$* response) {
- const size_t request_size = request.ByteSize();
+ const size_t request_size = request.ByteSizeLong();
if (request_size > $max_request_size$) {
return APP_ERROR_TOO_MUCH;
}
diff --git a/libnos_transport/test/test.cpp b/libnos_transport/test/test.cpp
index 1090de4..c995c60 100644
--- a/libnos_transport/test/test.cpp
+++ b/libnos_transport/test/test.cpp
@@ -201,7 +201,7 @@ ACTION(ReadStatusV42_Working) {
status->length = STATUS_MAX_LENGTH;
status->version = 42;
status->flags = STATUS_FLAG_WORKING;
- status->crc = 0xaec0;
+ status->crc = 0xf781;
status->reply_crc = 0;
}
diff --git a/nugget/include/app_nugget.h b/nugget/include/app_nugget.h
index cbeac47..82554c5 100644
--- a/nugget/include/app_nugget.h
+++ b/nugget/include/app_nugget.h
@@ -562,7 +562,17 @@ struct secure_channel_retry_count_persist_storage {
* @param args GSA noise handshake state
* @param arg_len 1
* @param reply <none>
- * @param reply_len 0
+ * @param reply_len 1
+ */
+#define NUGGET_PARAM_GET_BIG_EVENT_REPORT 0x001b
+/*
+ * This retrieves one pending big_event_report (defined in citadel_events.h).
+ * If none are pending, it returns nothing.
+ *
+ * @param args <none>
+ * @param arg_len 0
+ * @param reply struct big_event_report
+ * @param reply_len sizeof struct big_event_report OR 0
*/
#define NUGGET_PARAM_GET_BIG_EVENT_REPORT 0x001b
/*
diff --git a/nugget/include/application.h b/nugget/include/application.h
index 1d485c6..2f897b6 100644
--- a/nugget/include/application.h
+++ b/nugget/include/application.h
@@ -239,7 +239,7 @@ struct transport_status {
/* Valid range of lengths for the status message */
#define STATUS_MIN_LENGTH 0x10
-#define STATUS_MAX_LENGTH 0xff
+#define STATUS_MAX_LENGTH (sizeof(struct transport_status)) /* 0x10 */
/* Flags used in the status message */
#define STATUS_FLAG_WORKING 0x0001 /* added in v1 */
diff --git a/nugget/proto/nugget/app/identity/identity.proto b/nugget/proto/nugget/app/identity/identity.proto
index a29aa16..8532f6a 100644
--- a/nugget/proto/nugget/app/identity/identity.proto
+++ b/nugget/proto/nugget/app/identity/identity.proto
@@ -251,7 +251,7 @@ message ICvalidateAccessControlProfileRequest{
uint64 secureUserId = 5;
bytes mac = 6;
uint32 publicKeyOffset = 7;
- uint32 publicKeysize = 8;
+ uint32 publicKeySize = 8;
}
message ICvalidateAccessControlProfileResponse{
@@ -297,6 +297,7 @@ message ICstartRetrieveEntryValueRequest{
message ICstartRetrieveEntryValueResponse{
AccessResult accessCheckResult = 1;
uint32 sessionCookie = 2;
+ Result result = 3;
}
// ICretrieveEntryValue
diff --git a/nugget/proto/nugget/app/keymaster/keymaster.proto b/nugget/proto/nugget/app/keymaster/keymaster.proto
index 89710e6..d4c5a6f 100644
--- a/nugget/proto/nugget/app/keymaster/keymaster.proto
+++ b/nugget/proto/nugget/app/keymaster/keymaster.proto
@@ -149,6 +149,11 @@ service Keymaster {
rpc GenerateRkpKey(GenerateRkpKeyRequest) returns (GenerateRkpKeyResponse);
rpc GenerateRkpCsr(GenerateRkpCsrRequest) returns (GenerateRkpCsrResponse);
+ /*
+ * Vendor specific method. To export IMEI/DSU to trusty only
+ */
+ rpc ExportDeviceIds(ExportDeviceIdsRequest) returns (ExportDeviceIdsResponse);
+
// These are implemented with a enum, so new RPCs must be appended, and
// deprecated RPCs need placeholders.
}
@@ -439,6 +444,24 @@ message ProvisionDeviceIdsResponse {
bool nodelocked_ro = 3;
}
+message ExportDeviceIdsRequest {
+ bytes challenge = 1;
+ bytes challenge_hmac = 2;
+}
+
+message ExportDeviceIdsResponse {
+ ErrorCode error_code = 1;
+ bytes product_brand = 2;
+ bytes product_device = 3;
+ bytes product_name = 4;
+ bytes serialno = 5;
+ bytes product_manufacturer = 6;
+ bytes product_model = 7;
+ bytes imei = 8;
+ bytes meid = 9;
+ bytes ids_hmac = 10;
+}
+
// ReadTeeBatchCertificate
// Only callable at the Device Factory
message ReadTeeBatchCertificateRequest {