Verify OEMCrypto API has not changed

Merge from Widevine repo of http://go/wvgerrit/157923

This adds a C file to be built by Luci to verify that nobody
has made a change to OEMCryptoCENC.h that changes the
signature of any _oecc function. See the new comment in the
header for an explanation why we don't want to chage the
function signature of an oecc function.

We also update the OEMCrypto release script to verify that
all of the functions have been locked. There is a script to
update the lock file that should be run before each release.

Bug: 235858362
Test: tested with http://go/ag/20420224

Change-Id: Id890054e82cf8cc4c75e83c8347a776bda2d8a3b
This commit is contained in:
Fred Gylys-Colwell
2022-11-08 13:43:12 -08:00
parent f862f2a378
commit b10a4459f8
3 changed files with 243 additions and 0 deletions

View File

@@ -574,6 +574,13 @@ typedef enum OEMCrypto_WatermarkingSupport {
/**
* Obfuscation Renames.
*
* The function signatures of each oecc obfuscated name should remain static
* across multiple versions. When we want to change the function signature of a
* function, we will give the new signature a new oecc number and keep the
* original oecc name with the original function signature. This allows us to
* maintain backwards compatibility when the CDM loads an older version of
* liboemcrypto.so using dlopen.
*/
// clang-format off
#define OEMCrypto_Initialize _oecc01