Commit Graph

994 Commits

Author SHA1 Message Date
Fred Gylys-Colwell
80e9ea9cb0 Add alternate RSA signing
From the Widevine CDM repository:
https://widevine-internal-review.googlesource.com/#/c/9183/

This adds unit tests for RSA signing with  PKCS1 block type 1. It also
adds a reference implementation.  This is part of OEMCrypto v9.

Change-Id: I2a40dbff65f6e09d75f16ae048499512f60c168d
2014-03-21 18:30:29 +00:00
Fred Gylys-Colwell
ba6b5c293a Allow OEMCrypto v8 or v9
From Widevine CL:
https://widevine-internal-review.googlesource.com/#/c/9184/

This is some shim code that will load either an OEMCrypto
version 8 or version 9 library.  This should allow us
to test and run stable devices until all OEM's have
updated to version 9.

Android Level 3 library versions are:
level3/mips/libwvlevel3.a  Level3 Library Feb 27 2014 18:18:34
level3/x86/libwvlevel3.a  Level3 Library Feb 27 2014 18:22:14
level3/arm/libwvlevel3.a  Level3 Library Feb 27 2014 12:31:29

Change-Id: I82911e3b4d9056cf3c3ab2b47194fe81ac2776d9
2014-03-21 18:29:06 +00:00
Jeff Tinker
71e9cacfe2 Merge "Changes from Widevine CDM repo" 2014-03-19 18:02:49 +00:00
Fred Gylys-Colwell
dd75655102 Changes from Widevine CDM repo
Squashed commit of these CLs from the widevine cdm repo:

Update YT CP server URI to point to the UAT server
https://widevine-internal-review.googlesource.com/#/c/9327/

OEMCrypto Version 9 API
https://widevine-internal-review.googlesource.com/#/c/9142/

Correct Device ID length in OEMCrypto reference version
https://widevine-internal-review.googlesource.com/#/c/8723/

Modify tests to prevent intermittent failures
https://widevine-internal-review.googlesource.com/#/c/8982/

Generate a unique license request ID
https://widevine-internal-review.googlesource.com/#/c/8721/

Re-enable android timer mechanisms
https://widevine-internal-review.googlesource.com/#/c/8833/

Do not close CDM session on removeKeys
https://widevine-internal-review.googlesource.com/#/c/8703/

And numerous changes required by Eureka, Steel, and CTE versions of
Widevine CDM, as highlighted here:
https://widevine-internal-review.googlesource.com/#/c/8596/
https://widevine-internal-review.googlesource.com/#/c/8955/
https://widevine-internal-review.googlesource.com/#/c/8922/
https://widevine-internal-review.googlesource.com/#/c/8890/
https://widevine-internal-review.googlesource.com/#/c/8871/
https://widevine-internal-review.googlesource.com/#/c/8706/
https://widevine-internal-review.googlesource.com/#/c/8425/

Change-Id: Iafd33905227e74eb2132c240b929d2282ab68042
2014-03-17 20:29:51 +00:00
Edwin Wong
0c0c21bb47 Upgrade Widevine Classic to 4.5.0.10120
Fix crash in WV_Teardown() causes by deleting shared output parser object.

We used to have a single output parser object and a single memory chunk object
that are shared by multiple sessions. When we delete the output parser, another
session may still be using it. The deletion causes a native crash intermittently.

The fix addresses these two issues: i)output parser object is now created per
session, and ii)add reference count to keep track of the single memory chunk
object use so we do not delet it while other sessions are still using it.

Merge of https://widevine-internal-review.googlesource.com/#/c/9253/ and
https://widevine-internal-review.googlesource.com/#/c/9271/ from widevine repo
RC/4.5.0/601_AndroidOS_K branch.

Change-Id: I7ce467a514904c9087f0da5cea74e4b85fcac1b3
related-to-bug: 13208359
2014-03-14 20:10:16 -07:00
Jeff Tinker
38f342d5d7 am 38cb1931: am f1e87b1b: resolved conflicts for merge of a0714170 to klp-modular-dev
* commit '38cb1931527ba37bf57fb7f216e2c77c62395c71':
  Remove external links from PDF documents.
2014-03-15 00:09:30 +00:00
Edwin Wong
1d4b791f63 am 0a4b49cf: (-s ours) am 349f48ef: am 338968b3: am dc3eebaf: Upgrade Widevine Classic to 4.5.0.10120
* commit '0a4b49cfdff153b24eb235dd56d21c1658f8a0e1':
  Upgrade Widevine Classic to 4.5.0.10120
2014-03-15 00:09:24 +00:00
Rahul Frias
4ff67723c8 am 564de4bb: (-s ours) am 1dab7bb3: am 47a4d355: am 21304f16: Correct encoding of make/model information
* commit '564de4bba98ec0dabbba12760f9dfe942d8d6068':
  Correct encoding of make/model information
2014-03-14 23:43:46 +00:00
Jeff Tinker
38cb193152 am f1e87b1b: resolved conflicts for merge of a0714170 to klp-modular-dev
* commit 'f1e87b1b043742166d0cb2ecb6530d5da832cbff':
  Remove external links from PDF documents.
2014-03-14 22:37:01 +00:00
Jeff Tinker
f1e87b1b04 resolved conflicts for merge of a0714170 to klp-modular-dev 2014-03-14 15:19:44 -07:00
Edwin Wong
0a4b49cfdf am 349f48ef: am 338968b3: am dc3eebaf: Upgrade Widevine Classic to 4.5.0.10120
* commit '349f48ef69a033432bb55d553a9a6f0a766db329':
  Upgrade Widevine Classic to 4.5.0.10120
2014-03-14 22:03:12 +00:00
Edwin Wong
349f48ef69 am 338968b3: am dc3eebaf: Upgrade Widevine Classic to 4.5.0.10120
* commit '338968b338facdb4a627774b264b768d517d3ceb':
  Upgrade Widevine Classic to 4.5.0.10120
2014-03-14 21:54:53 +00:00
Rahul Frias
564de4bba9 am 1dab7bb3: am 47a4d355: am 21304f16: Correct encoding of make/model information
* commit '1dab7bb3b4d55b3f9c5c9648b5beeb91492d66be':
  Correct encoding of make/model information
2014-03-14 21:50:46 +00:00
Rahul Frias
1dab7bb3b4 am 47a4d355: am 21304f16: Correct encoding of make/model information
* commit '47a4d355906000a9355222ce582d634b77640c11':
  Correct encoding of make/model information
2014-03-14 21:42:55 +00:00
Jeff Tinker
a071417071 am 47d85ef5: Merge "Remove external links from PDF documents." into klp-dev
* commit '47d85ef54ba162b77aae6a62264c23c141ae3173':
  Remove external links from PDF documents.
2014-03-14 20:51:36 +00:00
Jeff Tinker
47d85ef54b Merge "Remove external links from PDF documents." into klp-dev 2014-03-14 20:44:13 +00:00
Edwin Wong
338968b338 am dc3eebaf: Upgrade Widevine Classic to 4.5.0.10120
* commit 'dc3eebafa69ebd064cef14ac391b0e27ca3a19f0':
  Upgrade Widevine Classic to 4.5.0.10120
2014-03-14 08:48:05 +00:00
Edwin Wong
dc3eebafa6 Upgrade Widevine Classic to 4.5.0.10120
Fix crash in WV_Teardown() causes by deleting shared output parser object.

We used to have a single output parser object and a single memory chunk object
that are shared by multiple sessions. When we delete the output parser, another
session may still be using it. The deletion causes a native crash intermittently.

The fix addresses these two issues: i)output parser object is now created per
session, and ii)add reference count to keep track of the single memory chunk
object use so we do not delet it while other sessions are still using it.

Merge of https://widevine-internal-review.googlesource.com/#/c/9253/ and
https://widevine-internal-review.googlesource.com/#/c/9271/ from widevine repo
RC/4.5.0/601_AndroidOS_K branch.

Change-Id: I6426b544a6d0c264ec91a89e92153862b87607f3
related-to-bug: 13208359
2014-03-13 20:30:05 -07:00
Rahul Frias
47a4d35590 am 21304f16: Correct encoding of make/model information
* commit '21304f16fe4415c33a63042b242b69b64f45c789':
  Correct encoding of make/model information
2014-03-13 22:52:20 +00:00
Rahul Frias
21304f16fe Correct encoding of make/model information
Some make and model information was not being reported correctly to the
license server. "HTC One X+" was encoded as "HTC+One+X+" instead of
"HTC+One+X%2B", which when decoded becomes "HTC One X ". Make and model
information is now correctly url encoded.

Merge of https://widevine-internal-review.googlesource.com/#/c/9240/
from the widevine repo.

b/12722013

Change-Id: I987691c850648f92b408f8749327ff43b13b43a7
2014-03-13 11:14:44 -07:00
Jeff Tinker
7e8bea7d8d am 8d08a341: am 50e237cc: Updated gMock to 1.7.0
* commit '8d08a341a75a61a956e889e1650ca1e92f07de20':
  Updated gMock to 1.7.0
2014-03-10 19:45:51 +00:00
Jeff Tinker
8d08a341a7 am 50e237cc: Updated gMock to 1.7.0
* commit '50e237cccd6847cc23977e977f6693ae966794d6':
  Updated gMock to 1.7.0
2014-03-10 19:43:19 +00:00
Jeff Tinker
c4cd207d82 am 04c0ae3c: am f6ec81ff: Updated gMock to 1.7.0
* commit '04c0ae3c65f025b6ec5ef752ce0054e04b414ed4':
  Updated gMock to 1.7.0
2014-03-10 18:59:18 +00:00
Jeff Tinker
04c0ae3c65 am f6ec81ff: Updated gMock to 1.7.0
* commit 'f6ec81ffe782c16e3153ee65a40bfbc25458825f':
  Updated gMock to 1.7.0
2014-03-10 18:57:10 +00:00
Jeff Tinker
50e237cccd Updated gMock to 1.7.0
This change updates gMock to the new release, 1.7.0.  This is
necessary for Android, as Android Master has updated their gTest to
1.7.0, and we must always use the matching version of gMock.

This CL cleans up some removed files that were missed in the
previous commit.

Change-Id: I67ab17425aea8d44fff765f79737b6eb23d16b52
2014-03-10 11:55:41 -07:00
Jeff Tinker
0444a6499f am c10898e8: am b2af1e63: OEMCrypto Version 9 API (KLP Modular Version)
* commit 'c10898e8975683ca7243b524f7a0e42b06ebc7e3':
  OEMCrypto Version 9 API (KLP Modular Version)
2014-03-10 18:37:46 +00:00
Jeff Tinker
f6ec81ffe7 Updated gMock to 1.7.0
This change updates gMock to the new release, 1.7.0.  This is
necessary for Android, as Android Master has updated their gTest to
1.7.0, and we must always use the matching version of gMock.

This should not break any existing tests, as 1.7.0 is
backwards-compatible with 1.6.0 code in nearly all cases.  There are
a few bugfixes around being too generous with type coercion in
EXPECT_THAT() and ASSERT_THAT() that could break code that was
accepted by the compiler before but was never technically safe.

For a full list of changes, including all the awesome new matchers
you can now use in your tests, see CHANGES, which is included from
gMock unchanged.

For a full list of modifications made to allow this to work on
Android Master, see the updated README.android.

No changes to the GYP files were necessary as part of this upgrade.

Change-Id: Ib1445044e78c9fe0cf16031d544577d65ebbf6df
2014-03-10 11:37:24 -07:00
Jeff Tinker
c10898e897 am b2af1e63: OEMCrypto Version 9 API (KLP Modular Version)
* commit 'b2af1e6303f683833f09eeb3e808597b8ee7f076':
  OEMCrypto Version 9 API (KLP Modular Version)
2014-03-10 18:35:36 +00:00
Jeff Tinker
f794ea70b1 am 4ad288f0: am adfd5991: Remove external links from PDF documents.
* commit '4ad288f0c0ce79a0854edad8c99aa8a2d1396dd5':
  Remove external links from PDF documents.
2014-03-10 18:18:07 +00:00
Jeff Tinker
4ad288f0c0 am adfd5991: Remove external links from PDF documents.
* commit 'adfd599175add15875e6d3924dab82f0d3e359a2':
  Remove external links from PDF documents.
2014-03-10 18:15:12 +00:00
Jeff Tinker
b2af1e6303 OEMCrypto Version 9 API (KLP Modular Version)
This CL changes the header file and documentation for OEMCrypto
version 9.

It is a cherry pick of Change-Id: I1a43a686ef5d345132affc672bc1c6acf7b3f661

I modified the reference implementation and the calling functions just
enough that existing unit tests still pass.  Acutal implementation of this
API will be in future CLs.

Comments on the documentation can be made in the Google Doc here:
    https://docs.google.com/a/google.com/document/d/1pHSJ2IKL0axmQz2gmDZ7olxPWb_ZcULaJrYwDZAeS7k/edit?usp=sharing

Merge of https://widevine-internal-review.googlesource.com/#/c/9170/
from the widevine cdm repo.

Change-Id: I0197b1dfadedd6cc85710c7408e739cedeb45dce
2014-03-10 11:08:41 -07:00
Jeff Tinker
adfd599175 Remove external links from PDF documents.
A bug (b/8132682) in "Download as PDF" from Google Docs makes table of
contents links point back to the original document.  This causes
problems with external customers.

This change uses the following work around: print the document, and
select "Save as PDF" as the printer.

This only removes the links.  It does not fix them.  When bug 8132682
is fixed we can re-download the documents with proper links.

bug: 12585419

Merge of https://widevine-internal-review.googlesource.com/#/c/8775/
from the widevine cdm repo.

Change-Id: I5344b85bee213aba3a99913a4bb7be824fdd7acf
2014-03-10 10:25:35 -07:00
Jeff Tinker
bbb1df3571 Merge "Use the new borg-based proxy server for MediaDrmAPITest" 2014-03-05 19:27:11 +00:00
Jeff Tinker
e49f0e320e Use the new borg-based proxy server for MediaDrmAPITest
Improves availability and reliability of the server.

Change-Id: I53f71e618d9c3b9dcd5df16f8e8140e63a795c3d
2014-03-04 18:43:50 +00:00
Ying Wang
1b50031785 am a79dad48: Now the .pb.h files are generated to arch-neutral dir
* commit 'a79dad48e004d2355317bc486e17c31443694b83':
  Now the .pb.h files are generated to arch-neutral dir
2014-02-25 21:47:16 +00:00
Ying Wang
a79dad48e0 Now the .pb.h files are generated to arch-neutral dir
Change-Id: I950a23fd0e4dd3aca1a85588c65312fcd4c2065a
2014-02-25 11:22:51 -08:00
Ying Wang
0f2f50695a am 4fe637b6: Workaround for the intermediate dir in exported include path for multilib build
* commit '4fe637b638c7eb0b3375e3dc95d409dd38961f84':
  Workaround for the intermediate dir in exported include path for multilib build
2014-02-25 18:03:08 +00:00
Ying Wang
4fe637b638 Workaround for the intermediate dir in exported include path for multilib build
Change-Id: Id8a810f84c6bd383b338df54c2207ce3d0bd4e9a
2014-02-24 18:17:11 -08:00
Colin Cross
6386692315 am d6b79557: widevine: support multilib builds
* commit 'd6b79557aba05ad10f5ad4dda01800f07c11a888':
  widevine: support multilib builds
2014-02-21 13:54:20 +00:00
Colin Cross
d6b79557ab widevine: support multilib builds
Support builds for multiple architectures the same time:
Use LOCAL_MODULE_TARGET_ARCH to restrict building to specific arches
Use LOCAL_C_INCLUDES_x86 to set the include path for only x86 builds

Change-Id: I7c33c27f1c9bfb6e3318a07514698992482f6cd7
2014-02-20 12:48:45 -08:00
Fred Gylys-Colwell
9b6540b148 Remove external links from PDF documents.
A bug (8132682) in "Download as PDF" from Google Docs makes table of
contents links point back to the original document.  This causes
problems with external customers.

This change uses the following work around: print the document, and
select "Save as PDF" as the printer.

This only removes the links.  It does not fix them.  When bug 8132682
is fixed we can re-download the documents with proper links.

bug: 12585419
Change-Id: I4e4b0ff8d083192fd2db6a569d1c3f84c8ec4fa9
2014-01-31 11:21:34 -08:00
Andy Hung
641456cdcc Handle IOException from MediaCodec factory methods
Bug: 11364276
Change-Id: I930f37e8c2cba77e1da3d6a6878186182282b51e
Signed-off-by: Andy Hung <hunga@google.com>
2014-01-16 12:15:26 -08:00
Jeff Tinker
1d708f6bdd am ccecfd71: am 1c5ca642: NULL terminate device unique ID before use
* commit 'ccecfd7192f0f46ccaa4c4f1ee5b2b14c372b472':
  NULL terminate device unique ID before use
2013-12-27 21:02:05 +00:00
Jeff Tinker
ccecfd7192 am 1c5ca642: NULL terminate device unique ID before use
* commit '1c5ca642cb2021ffcdd253d929e40c393cf3fe07':
  NULL terminate device unique ID before use
2013-12-27 12:54:33 -08:00
Jeff Tinker
1c5ca642cb NULL terminate device unique ID before use
bug: 12228689

If the device ID returned from OEMCrypto_GetDeviceUniqueId is
not NULL terminated in the OEM code, trailing garbage characters
may be included in the license request's client_identification
field, which could be rejected by the server's utf8 parser if
they are invalid characters, causing a license request failure.

The code for CryptoSession::GetDeviceUniqueId should use the
updated id_length from OEMCrypto_GetDeviceUniqueId to adjust
the length of the *device_id string before returning the result
to the caller.

Change-Id: I659866d4234d4f21ec051590fc7bc6367904a48a
2013-12-19 16:05:06 -08:00
Jeff Tinker
0379dcd48c am 32579c9e: am 78a9d5cd: Merge "Add tests for key sharing mode and decrypting without keys" into klp-dev
* commit '32579c9e074a77bc525336b9915671340005548a':
  Add tests for key sharing mode and decrypting without keys
2013-12-19 22:12:52 +00:00
Jeff Tinker
32579c9e07 am 78a9d5cd: Merge "Add tests for key sharing mode and decrypting without keys" into klp-dev
* commit '78a9d5cd9a33e72df173accb6ce5a4b9dd0ffd2a':
  Add tests for key sharing mode and decrypting without keys
2013-12-19 13:53:55 -08:00
Jeff Tinker
78a9d5cd9a Merge "Add tests for key sharing mode and decrypting without keys" into klp-dev 2013-12-19 21:51:56 +00:00
Jeff Tinker
07a88c6c23 am 61c77cd9: am 623920d8: Fix seg fault when playing WV video on Molly with the MediaShell
* commit '61c77cd95dbd48288f8986389375cbd7843e3654':
  Fix seg fault when playing WV video on Molly with the MediaShell
2013-12-13 22:57:27 +00:00
Jeff Tinker
61c77cd95d am 623920d8: Fix seg fault when playing WV video on Molly with the MediaShell
* commit '623920d83f55011b7ce59c1224cbe7e7f335b0e5':
  Fix seg fault when playing WV video on Molly with the MediaShell
2013-12-13 13:34:33 -08:00