Commit Graph

7763 Commits

Author SHA1 Message Date
Matt Feddersen
2e7c68440b Bump OEMCrypto API to 18.2 to match ODK
Merged from https://widevine-internal-review.googlesource.com/170295

Change-Id: I9e9cc0c7c3296db71ac31518cf2d3d8608066686
2024-01-29 12:38:34 -08:00
Fred Gylys-Colwell
84e27c660d Initialize renewal request time
The `time_of_renewal_request` field in the clock_values struct was not being initialized. With this CL, we use a value of 0 to indicate a renewal has not been requested yet.

We also modify the check in `ODK_ParseRenewal` to use a value of 0 for the `time_of_renewal_request` to skip the check for a stale renewal. This is done because now that a "renew on license load" license starts the playback clock immediately, we need a different way to decide if a renewal from a previous session can be loaded.

PiperOrigin-RevId: 546129556
Merged from https://widevine-internal-review.googlesource.com/177998

Change-Id: I17282cf918d0cdb4d9b5108a41914ecd7d87cc8f
2024-01-29 12:31:37 -08:00
Fred Gylys-Colwell
d0752047fc Document b/290249855 in ODK
PiperOrigin-RevId: 546118816
Merged from https://widevine-internal-review.googlesource.com/177992

Change-Id: I6ab0b599a2d858f9451a5fbd3e3612275b729ee6
2024-01-29 12:31:36 -08:00
Vicky Min
414e928238 Remove version check in ODK_InitializeSessionValues
It seems ODK_InitializeSessionValues is only used in initializing the session in OEMCrypto, so we can remove this check.

PiperOrigin-RevId: 545729842
Merged from https://widevine-internal-review.googlesource.com/169914

Change-Id: Idcc58166f64116214540591dc71a774f3ce3f3d1
2024-01-29 12:31:36 -08:00
Alex Dale
48b1aed404 Set min_sdk_version for the Widevine APEX on ODK
This change brings the odk/Android.bp in sync with the Android repo.  Change was originally made in ag/22120778

PiperOrigin-RevId: 540398693
Merged from https://widevine-internal-review.googlesource.com/177000

Change-Id: Id3bf7193da8de3b9942da052c32065f031102d9b
2024-01-29 12:31:03 -08:00
Vicky Min
ff80927f90 Allow server to send license with larger ODK_MAX_NUM_KEYS
PiperOrigin-RevId: 538676411
Merged from https://widevine-internal-review.googlesource.com/175915

Change-Id: Iadef2115fe3f9001034223e647cbfa6228484281
2024-01-29 12:31:03 -08:00
Fred Gylys-Colwell
57e997fe19 Add golden test data for ODK
This data was generated using the code in CLs go/wvgerrit/163726 (for v16),
go/wvgerrit/171730 (for v17), and go/wvgerrit/171750 (for v18).

PiperOrigin-RevId: 535679470
Change-Id: Ib644bbed7e7329dfea30ce25d325fd0556fdb7a7
2024-01-29 12:30:15 -08:00
John Bruce
db670e7bcc Add tests for ODK overflow functions
Merged from http://go/wvgerrit/175855

This includes testing overflow functions that are only used in the Widevine client repository.

This patch also includes the following fix for the previous commit:

Add type casting for ODK overflow function unit tests

Merged from http://go/wvgerrit/175893

The new ODK overflow unit tests are causing some unit test failures in oemcrypto-v18 due to mismatched type comparisons.

PiperOrigin-RevId: 535308670
PiperOrigin-RevId: 534890798
Change-Id: I8bb67e47193a92191a91c83bf8a0de61e1b87793
2024-01-29 11:51:41 -08:00
Vicky Min
8f6dbdb94e Set rental clock if not already set in ODK_ParseLicense
PiperOrigin-RevId: 535020833
Merged from https://widevine-internal-review.googlesource.com/175851

Change-Id: Idc5e2123e56346b9d7c036683c184057f49ea58a
2024-01-29 11:51:41 -08:00
Vicky Min
d5afa3fd99 Cleanup design of ODK_ParsedLicense handling and maintain backwards compatibility
PiperOrigin-RevId: 529531139
Merged from https://widevine-internal-review.googlesource.com/172870

Change-Id: Id07dc82a8c2729cdbf10a9c8680ed979f8de51b5
2024-01-29 11:51:41 -08:00
Vicky Min
6c953ab651 Fix license response default values error in CreateCoreLicenseResponse
PiperOrigin-RevId: 529588784
Merged from https://widevine-internal-review.googlesource.com/174260

# Conflicts:
#	oemcrypto/odk/include/odk_structs.h

Change-Id: I96f348bfc9b5be7113ddb2af18a38c36d337697c
2024-01-29 11:51:41 -08:00
Vicky Min
f71014507d Set renewal_delay_base in function CreateCoreLicenseResponseFromProto
PiperOrigin-RevId: 525261485
Merged from https://widevine-internal-review.googlesource.com/170810

Change-Id: I96f16639a728db9b6922d3f23e0212fa2902602e
2024-01-29 11:51:41 -08:00
Vicky Min
152f2144f9 Fix ODK warning errors for WV DRM
PiperOrigin-RevId: 525266553
Merged from https://widevine-internal-review.googlesource.com/169640

Change-Id: Id92dac068a2b2f767287641170f7b522f54588e4
2024-01-29 11:51:41 -08:00
Fred Gylys-Colwell
ae0134b21d Make the server send ODK v18 messages by default
The core message had been throttled to only generate v17 messages because we wanted to stabilize the format before making the code live.

PiperOrigin-RevId: 524309559
Merged from https://widevine-internal-review.googlesource.com/170311

Change-Id: I2d09c9f6c73f844fd509531e86285ad71d22690f
2024-01-29 11:51:41 -08:00
Googler
89666aeb89 Fix issues identified by clang-tidy
- Replace assert with odk_static_assert for checks that can be handled
  at compile time.
- Use explicit bool conversion with memcmp.

Merged from https://widevine-internal-review.googlesource.com/170414

PiperOrigin-RevId: 524277743
Change-Id: I8b32e886e780e80406afceea562be2033d75d340
2024-01-29 11:51:41 -08:00
Matt Feddersen
a2a27c44ef Correctly parse v18.0 provisioning requests
The previous code fixed a backwards compatibility error for v18 provisioning requests being parsed by a v17 or older server. This bumped the minor version number to v18.1. v17 servers are still expected to fail when trying to parse v18.0 provisioning requests, and v18.1 requests will pass.

However, it did not correctly account for existing v18.0 requests on v18.1+ servers. v18.0 messages were naively detected by a failure to parse, and the parse function was not run again. This left the resulting nonce and session_id values uninitialized.

This CL fixes that by explicitly handling the v18.0 and v18.1+ cases, ensuring that the parse function succeeds and all relevant information is copied over. Furthermore, the unit test that was meant to catch this edge case has been improved to validate the resulting parsed message.

All code changes affect the server. This does not affect the client code eg OEMCrypto

PiperOrigin-RevId: 523714529
Merged from https://widevine-internal-review.googlesource.com/170110

Change-Id: I21911c4bb4304de2d93f092f356402bbd4240874
2024-01-29 11:20:20 -08:00
Vicky Min
c6e7c70a6b Remove reference to OEMCrypto_LoadKeys() in ODK code
PiperOrigin-RevId: 522089097
Merged from https://widevine-internal-review.googlesource.com/168481

Change-Id: I59927c7f5aba52523aeba78c130f4b148d1c363f
2024-01-29 11:20:11 -08:00
Fred Gylys-Colwell
231ff3735c Backport http://go/ag/21276850
Changes to the Android build files.

PiperOrigin-RevId: 512200169
Merged from https://widevine-internal-review.googlesource.com/166925

Change-Id: If6247499693013099d705dd22a123c36a76e0404
2024-01-29 11:06:45 -08:00
Ling-Yu Lee
0919fb7ea6 Merge "Add GMScore into allow list to invoke signRSA API." into main 2024-01-26 00:18:19 +00:00
Ling-Yu Lee
3a87988181 Add GMScore into allow list to invoke signRSA API.
Purpose: Moving cast auth into GMScore.
Deisign doc: go/gtv-cast-auth

Bug: b/318467776
Test: Manual
Change-Id: Ic18188dfa61df0d64c1b19fddc99abe851f8b724
2024-01-26 00:17:03 +00:00
Treehugger Robot
665781cba3 Merge "widevine fuzzer: remove relative paths" into main 2024-01-25 00:28:07 +00:00
Treehugger Robot
47f5d9906c Merge "Updated crypto_session_fuzzer" into main 2024-01-22 16:30:03 +00:00
Treehugger Robot
27b5316c39 Merge "Updated cdm_engine_fuzzer" into main 2024-01-22 16:21:23 +00:00
Treehugger Robot
da299dfd47 Merge "Updated system_id_extractor_fuzzer" into main 2024-01-22 05:24:56 +00:00
Treehugger Robot
f6dcfb08e1 Merge "Updated cdm_license_fuzzer" into main 2024-01-16 04:53:09 +00:00
Steven Moreland
ec6cb73143 widevine fuzzer: remove relative paths
breaks fuzzing packaging

Bug: 300993391
Test: run fuzzer, check lsof
Change-Id: Ibfbfcff377ffb3a15197de4c80cdd3d4e27c8b0a
2023-12-28 01:07:58 +00:00
Kyle Alexander
163db3777f Remove unnecessary test dependency on libmedia_omx
Test: ./build_and_run_all_unit_tests.sh

Bug: 312063280
Change-Id: Id8c8c4d3d778599c4c418b667497ff7f50f8152e
2023-12-21 20:55:58 +00:00
Treehugger Robot
b83113f891 Merge "Updated content_decryption_fuzzer" into main 2023-12-13 22:53:00 +00:00
Onkar Shinde
2415894e2f Updated cdm_license_fuzzer
Implemented google c++ code style changes for cdm_license_fuzzer

exec/s: 91
Test: ./cdm_license_fuzzer
Bug: 312374669

Change-Id: Iac18772277cddad8ca182e60fc426721717d38d4
2023-12-12 12:19:19 +00:00
Onkar Shinde
c39f453c59 Updated cdm_engine_fuzzer
Implemented google c++ code style changes for cdm_engine_fuzzer

exec/s: 323
Test: ./cdm_engine_fuzzer
Bug: 312374669

Change-Id: Iddaeab285d591d77f16c10e62a88b1af3f8af7c5
2023-12-12 08:46:03 +00:00
Onkar Shinde
982bec196b Updated crypto_session_fuzzer
Implemented google c++ code style changes for crypto_session_fuzzer

exec/s: 136
Test: ./crypto_session_fuzzer
Bug: 312374669

Change-Id: Ie490914858a35dfe0f8bfdd4a40f9be65d41b6bd
2023-12-12 08:34:08 +00:00
Treehugger Robot
d866ba45aa Merge "Updated service_certificate_fuzzer" into main 2023-12-11 20:42:34 +00:00
Treehugger Robot
f99bdc79c7 Merge "Updated privacy_crypto_fuzzer" into main 2023-12-11 17:13:03 +00:00
Treehugger Robot
9243037fca Merge "Updated policy_timers_fuzzer" into main 2023-12-11 17:13:03 +00:00
Onkar Shinde
44e768678b Updated privacy_crypto_fuzzer
Implemented google c++ code style changes for privacy_crypto_fuzzer

exec/s: 3456
Test: ./privacy_crypto_fuzzer
Bug: 312374669

Change-Id: I1422956e873130e9f10b6b5612ea12397fbe3b08
2023-12-08 11:37:33 +00:00
Onkar Shinde
c010396125 Updated policy_timers_fuzzer
Implemented google c++ code style changes for policy_timers_fuzzer

exec/s: 15780
Test: ./policy_timers_fuzzer
Bug: 312374669

Change-Id: I0868deac9ec55549db0da3eaeee23daee9516c0f
2023-12-08 10:31:38 +00:00
Onkar Shinde
363447d00c Updated buffer_reader_fuzzer
Implemented google c++ code style changes for buffer_reader_fuzzer

exec/s: 3649
Test: ./buffer_reader_fuzzer
Bug: 312374669

Change-Id: I53bd247f6c95202d7a5e86115aa060c61821d49c
2023-12-08 10:26:48 +00:00
Onkar Shinde
98fd5501b3 Updated service_certificate_fuzzer
Implemented google c++ code style changes for service_certificate_fuzzer

exec/s: 4511
Test: ./service_certificate_fuzzer
Bug: 312374669

Change-Id: I5858fa10a84508d1cfdfce4d0933cbdb97a0ab75
2023-12-05 06:30:22 +00:00
Onkar Shinde
214fec8bb4 Updated content_decryption_fuzzer
Implemented google c++ code style changes for content_decryption_fuzzer

exec/s: 37
Test: ./content_decryption_fuzzer
Bug: 312374669

Change-Id: Ic9d6e59716811b3d90bfbe96b7d59674bf53277c
2023-12-05 06:25:47 +00:00
Onkar Shinde
8bfb8bd34d Updated system_id_extractor_fuzzer
Implemented google c++ code style changes for system_id_extractor_fuzzer

exec/s: 73
Test: ./system_id_extractor_fuzzer
Bug: 312374669

Change-Id: I9ffb9f1de99a3e37fa456b357946292f16af5dc3
2023-12-05 06:07:41 +00:00
Treehugger Robot
2b3de00a36 Merge "Updated certificate_provisioning_fuzzer" into main 2023-11-29 18:08:13 +00:00
Onkar Shinde
02441b620f Updated cdm_session_fuzzer
Implemented google c++ code style changes for cdm_session_fuzzer

exec/s: 21
Test: ./cdm_session_fuzzer
Bug: 312374669

Change-Id: I4dd20d3120876dd12b599ebf6fe8aa43dc0207f9
2023-11-28 12:32:58 +00:00
Onkar Shinde
32acc95f8f Updated certificate_provisioning_fuzzer
Implemented google c++ code style changes for certificate_provisioning_fuzzer

exec/s: 97
Test: ./certificate_provisioning_fuzzer
Bug: 312374669

Change-Id: I5501a2c2237ea5f2d2931465b4391c29c4500ce3
2023-11-28 12:17:25 +00:00
Kunal Rai
f3c22ff3f1 Updated policy_engine_fuzzer
Implemented google c++ code style changes for policy_engine_fuzzer

execs/s: 71
Test: ./policy_engine_fuzzer
Bug: 312374669

Change-Id: I8320f360f0c58c4fd3309a9f159ca49568da2abc
2023-11-21 09:53:58 +00:00
Kyle Zhang
c8ec53bbc1 Merge changes from topic "wv-force-l3" into main
* changes:
  Add libPlatformProperties dependency
  Add property to check if user forces L3
2023-11-17 19:46:53 +00:00
Kyle Zhang
bc3187a5d1 Add libPlatformProperties dependency
Bug: 301669353
Change-Id: I6bbabbc6590cd57dc85ec96e5048efb6be0613e6
2023-11-14 23:50:30 +00:00
Kyle Zhang
8a9be792c9 Merge "Do not fall back to L3 if L1 has test keybox" into main 2023-11-13 22:14:38 +00:00
Kyle Zhang
6b60fc3a76 Add property to check if user forces L3
[ Merge of go/wvgerrit/186611 ]

Android user can set the property using the developer option.

Bug: 301669353
Change-Id: I730b635f6cc28dfb0471c1d679627c94b9e16af1
2023-11-09 19:59:46 +00:00
Kyle Zhang
3101930ea6 Merge "Updated widevine fuzzers" into main 2023-11-09 18:38:11 +00:00
Akshata Kadam
e8d78fb219 Updated widevine fuzzers
Test: ./cdm_engine_fuzzer
Test: ./crypto_session_fuzzer
Bug: 309924911

Change-Id: I6fdf1b11173bc428b36749d7184ae6dc38cedc32
2023-11-09 12:13:54 +00:00