From 47ef97c747539ffec919736306b85f807ac91579 Mon Sep 17 00:00:00 2001 From: Cong Lin Date: Mon, 5 Feb 2024 14:45:05 -0800 Subject: [PATCH] L3 v19: Add missing v19 function declarations OEMCrypto_PrepAndSignReleaseRequest() and OEMCrypto_LoadRelease() declarations are needed for L3 static adapter to build. Test: run_level3_static_tests Bug: 323957284 Change-Id: I9ccb4e51fd404b6a49e865545e9a5b4f22169cf7 --- libwvdrmengine/level3/include/haystack.h | 9 +++++++++ libwvdrmengine/level3/src/level3_adapter.cpp | 19 +++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/libwvdrmengine/level3/include/haystack.h b/libwvdrmengine/level3/include/haystack.h index f512129e..ab4cbaa1 100644 --- a/libwvdrmengine/level3/include/haystack.h +++ b/libwvdrmengine/level3/include/haystack.h @@ -184,6 +184,15 @@ OEMCryptoResult Haystack_LoadProvisioningCast( size_t message_length, size_t core_message_length, const uint8_t* signature, size_t signature_length, uint8_t* wrapped_private_key, size_t* wrapped_private_key_length); +OEMCryptoResult Haystack_PrepAndSignReleaseRequest( + OEMCrypto_SESSION session, uint8_t* message, size_t message_length, + size_t* core_message_size, uint8_t* signature, size_t* signature_length); +OEMCryptoResult Haystack_LoadRelease(OEMCrypto_SESSION session, + const uint8_t* message, + size_t message_length, + size_t core_message_length, + const uint8_t* signature, + size_t signature_length); } // namespace haystack #endif diff --git a/libwvdrmengine/level3/src/level3_adapter.cpp b/libwvdrmengine/level3/src/level3_adapter.cpp index 7756c61c..8ab6aea8 100644 --- a/libwvdrmengine/level3/src/level3_adapter.cpp +++ b/libwvdrmengine/level3/src/level3_adapter.cpp @@ -600,3 +600,22 @@ OEMCryptoResult Level3_LoadProvisioningCast( size_t* wrapped_private_key_length) { return OEMCrypto_ERROR_NOT_IMPLEMENTED; } + +OEMCryptoResult Level3_PrepAndSignReleaseRequest( + OEMCrypto_SESSION session, uint8_t* message, size_t message_length, + size_t* core_message_size, uint8_t* signature, size_t* signature_length) { + return haystack::Haystack_PrepAndSignReleaseRequest( + session, message, message_length, core_message_size, signature, + signature_length); +} + +OEMCryptoResult Level3_LoadRelease(OEMCrypto_SESSION session, + const uint8_t* message, + size_t message_length, + size_t core_message_length, + const uint8_t* signature, + size_t signature_length) { + return haystack::Haystack_LoadRelease(session, message, message_length, + core_message_length, signature, + signature_length); +}