Haik Aftandilian
7f32b33af4
Bug 1417005 - [Mac] Respect MOZ_DISABLE_GMP_SANDBOX r=Alex_Gaynor,cpearce
...
Respect MOZ_DISABLE_GMP_SANDBOX so that the GMP sandbox
can be disabled from the command line.
MozReview-Commit-ID: HLHQ6ImrzGe
--HG--
extra : rebase_source : 54335b6f612f5b09e2680ec6e6dee70f37a99e2b
2018-01-24 16:11:21 -08:00
Chris Pearce
d4a2f03ae3
Bug 1376957 - Call rand_s() before starting GMP sandbox on Windows. r=bobowen
...
The loading of Widevine CDM 970 is being blocked on Windows 7 by our sandbox
when the CDM calls RtlGenRandom(). Chrome is calling s_rand() before enabling
the sandbox [1] in order to load the appropriate DLLs so that the call
succeeds, so we should do the same.
[1] https://cs.chromium.org/chromium/src/content/ppapi_plugin/ppapi_thread.cc?l=424&rcl=d0d190c09619cb359296999438551b66f0e1cdb1
MozReview-Commit-ID: IvmlQY0ohHc
--HG--
extra : rebase_source : d84780fda8181d2afaf4526ea37526522e90431c
2017-06-28 15:19:30 -07:00
Sylvestre Ledru
0866d209a2
Bug 1338086 - Remove useless else blocks in order to reduce complexity in dom/media/gmp* r=cpearce
...
MozReview-Commit-ID: FaKW6Sb721i
--HG--
extra : rebase_source : f05a20bceeca69cb129067037e67f7bb57f5f450
2017-02-09 10:31:55 +01:00
Chris Pearce
67b9555200
Bug 1332530 - Remove code to pass nodeId to GMP process. r=gerald
...
MozReview-Commit-ID: Kw4Bx7zzkN1
--HG--
extra : rebase_source : 8b57219ff8856dfa33476c57449a55c9e12a5d37
2017-01-19 15:14:45 +13:00
Chris Pearce
a4fe4d518f
Bug 1332530 - Flatten GMPLoader and GMPLoaderImpl. r=gerald
...
MozReview-Commit-ID: GZ8feXmLuCb
--HG--
extra : rebase_source : e869cf9b25bdf3b5a6e6cbdcbd8c521987f826cb
2017-01-19 15:44:54 +13:00
Chris Pearce
701e1daf19
Bug 1332530 - Move GMPLoader code out of plugin-container and back into XUL. r=gerald
...
The GMPLoader code was in plugin-container so that it was covered by
Adobe's voucher of plugin-container, but that's no longer necessary.
MozReview-Commit-ID: 3VRBAohRI9I
--HG--
extra : rebase_source : 58a30855ade14af4c4b1420edabd3abb398f232e
2017-01-19 15:39:03 +13:00
Chris Pearce
6b15c34475
Bug 1332530 - Remove librlz and EME/GMP device binding code. r=gerald
...
MozReview-Commit-ID: FzJ220XlrJi
--HG--
extra : rebase_source : 0945a3b46bcc90de9b48f56da46090cb2f777411
2017-01-20 13:47:48 +13:00
Mike Hommey
35a7101bda
Bug 1306327 - Use UniquePtr for CreateGMPLoader. r=cpearce
...
--HG--
extra : rebase_source : 9f363a194d63c531f37946d76103cb0ad830c1a3
2016-12-15 16:14:34 +09:00
Andi-Bogdan Postelnicu
65ae72060c
Bug 1317241 - Use C++11's override and remove virtual where applicable in dom/ r=baku
...
MozReview-Commit-ID: 8jUAehd1odv
--HG--
extra : rebase_source : 13375a14447ce344214fa30babf540de0a394c6a
2016-11-15 13:09:07 +02:00
Andi-Bogdan Postelnicu
aaf2063029
Bug 1317241 - Replace default bodies of special member functions with = default in dom/. r=baku
...
MozReview-Commit-ID: 12AHOhrpaNO
--HG--
extra : rebase_source : 7881277a13fe7389b95635ee9b94f1686f56d142
2016-11-14 11:40:37 +02:00
Chris Pearce
451c0b5421
Bug 1306314 - Pipe decryptor ID through to WidevineAdapter. r=gerald
...
MozReview-Commit-ID: HqRoImDhuFl
--HG--
extra : rebase_source : b153d8f7557c0bbf78ed04c01dd11b2400c324a7
2016-11-11 14:55:56 +13:00
Iris Hsiao
8be72fb1e5
Backed out changeset e2a5702d96b0 (bug 1306314)
2016-11-14 11:07:23 +08:00
Chris Pearce
7af167a212
Bug 1306314 - Pipe decryptor ID through to WidevineAdapter. r=gerald
...
MozReview-Commit-ID: HqRoImDhuFl
--HG--
extra : rebase_source : 7c8459af145e948a15eade34a842df92184353d4
2016-11-11 14:55:56 +13:00
Chris Pearce
9c711e8fb4
Bug 1271169 - Move EME/GMP device binding code into GMPDeviceBinding.h/cpp. r=gerald
...
I want the EME device binding/nodeId code to be callable from gtests, as well
as from in plugin-container.
First step is to move the device binding code into a discrete file, so I can
also link that into gtests, and call it from there to compare the result with
what's in the GMP process.
MozReview-Commit-ID: 9xT2rp3hWW
--HG--
extra : rebase_source : 824c7a9841bce83c438decad48ce210f6c2a5571
2016-05-11 19:56:42 +12:00
Bob Owen
c43bf02cda
Bug 1035125 Part 8: Pass sandboxing pointers through XRE_InitChildProcess instead of linking to more functions in xul. r=aklotz,glandium
...
MozReview-Commit-ID: 5AiktOArpfU
--HG--
extra : rebase_source : 1ba3be949e2bfeb3b67687ab05d43342852ab764
2016-05-15 16:35:22 +01:00
Chris Pearce
d0c07d0732
Bug 1264497 - Call GMPSetNodeId in GMPLoader. r=gerald
...
MozReview-Commit-ID: I6BApLKpjPS
--HG--
extra : rebase_source : de79801f0a0e295725c6bc8b8a99fe7022323956
2016-05-06 14:49:12 +12:00
Chris Pearce
f706b0c753
Bug 1245789 - Add GMPAdapter which can be passed to GMPLoader to adapt non GMP library to GMP API. r=gerald
...
This means we can pass a non GMP library to GMPLoader::Load() and the adapter will make it usable.
MozReview-Commit-ID: GihjX2JRw3l
2016-04-12 16:12:20 +12:00
Jean-Yves Avenard
a9394d5946
Bug 1240411: P5. Clean up GMP headers. r=cpearce
...
Remove redundant virtual keywords
2016-01-19 19:47:32 +11:00
Nathan Froyd
ffeb7c7fe3
Bug 1229963
- use UniquePtr<T[]> instead of nsAutoArrayPtr<T> in dom/media/; r=cpearce
2015-12-02 18:07:59 -05:00
Ehsan Akhgari
2bc6fae605
Add a missing include to GMPLoader.cpp to fix local OSX builds, no bug
2015-11-23 10:10:44 -05:00
Gerald Squelart
2617625048
Bug 1220326 - Wipe stack after Mac node id generation. r=jrmuizel
...
Implemented GetStackAfterCurrentFrame() for Mac, by finding which Mach VM
region contains the stack, then erasing everything between the start of the
region (lowest possible stack address) and the current stack frame pointer.
2015-11-16 11:51:00 -05:00
Gerald Squelart
ccb6be36b4
Bug 1214018 - p4: Use machine_id_mac in GMPLoader - r=cpearce
...
Having HASH_NODE_ID_WITH_DEVICE_ID #defined is enough for GMPLoader to start
using the Mac version of GetRawMachineId.
Note: The stack (that may contain information gathered during GetRawMachineId)
is not erased, so it could theoretically be possible for a compromised GMP to
find out some sensitive user information. Another bug will deal with this.
2015-10-29 16:27:00 +01:00
Gerald Squelart
b5784fbd39
Bug 1214018 - p1: Using vector to pass machine id - r=cpearce
...
GetRawMachineId was returning its generated data through a 'string16', which on
Windows was conveniently equivalent to a std::wstring.
However on Mac, wstring uses 32-bit characters, so in order to comply with the
string16 interface, a lot of non-trivial code would have to be imported and
vetted.
Also, in the end GMPLoader::Load passes this string16 to SHA256_Update() as a
sequence of bytes, the actual type of the data is lost!
So to simplify this work, GetRawMachineId will now return its data through a
vector of bytes, and the platform-dependent implementations may use whatever
data type they want internally.
The Windows GetRawMachineId actually returns the same data in this vector, so
it stays compatible with the previous code.
2015-10-29 16:25:00 +01:00
Bob Owen
2233e7518a
Bug 1187031: Move back to using USER_LOCKDOWN for the GMP sandbox policy on Windows. r=aklotz
...
This also removes turning off optimization for the Load function. That was an
attempt to fix the side-by-side loading. It may also have helped with ensuring
that the memsets were not optimized, but that has been fixed by Bug 1208892.
2015-10-21 08:46:57 +01:00
Ehsan Akhgari
ad3a3c6527
Bug 1208892 - Replace the uses of memset to clean up data in GMPLoader::Load with an inline memset; r=cpearce
...
This is found by Viva64. Because the data we're memsetting to 0
may not be used after this point, the compiler can eliminate the
memsets. We need to roll our own inline memset that cannot be
optimized away.
2015-09-27 17:46:04 -04:00
Bob Owen
607371b8d4
Bug 1197007: Turn off optimization for GMPLoaderImpl::Load. r=cpearce
2015-09-09 07:34:56 +01:00
Jacek Caban
403c515868
Bug 1188439 - Fixed GMPLoader.cpp compilation with sandbox disabled. r=cpearce
2015-07-29 12:27:07 +02:00
Chris Pearce
c629cf3789
Bug 1184333 - Handle UTF8 paths as input for GMP loading. r=bobowen
2015-07-17 11:09:49 +12:00
Birunthan Mohanathas
a8939590de
Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
...
The bulk of this commit was generated by running:
run-clang-tidy.py \
-checks='-*,llvm-namespace-comment' \
-header-filter=^/.../mozilla-central/.* \
-fix
2015-07-13 08:25:42 -07:00
Chris Pearce
aa0f7c2a75
Bug 1164245 - Add envvar check to disable stack clearing after generating GMP node id. r=edwin
2015-06-10 14:42:10 +12:00
Steven Michaud
551b2900b8
Bug 1167494 - Build error with --disable-sandbox on OS X. r=jld
2015-05-29 11:07:06 -05:00
Steven Michaud
33228918ed
Bug 1110911 - Move Mac sandboxing code into plugin-container. r=cpearce,areinald,jld
2015-04-03 11:51:41 -05:00
Bob Owen
eef3ca5f6e
Bug 1119878 Part 1: Change SandboxTarget to hold sandbox target services to provide functions. r=aklotz, r=glandium, r=cpearce
2015-04-01 09:40:35 +01:00
Ehsan Akhgari
883849ee32
Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
...
This patch was automatically generated using the following script:
function convert() {
echo "Converting $1 to $2..."
find . \
! -wholename "*/.git*" \
! -wholename "obj-ff-dbg*" \
-type f \
\( -iname "*.cpp" \
-o -iname "*.h" \
-o -iname "*.c" \
-o -iname "*.cc" \
-o -iname "*.idl" \
-o -iname "*.ipdl" \
-o -iname "*.ipdlh" \
-o -iname "*.mm" \) | \
xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}
convert MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Bob Owen
9bff5f0ad0
Bug 1094370: Use the USER_LOCKDOWN access token for GMP processes. r=aklotz
2015-01-26 10:14:39 +00:00
Masatoshi Kimura
bf312ad056
Bug 1120062 - Part 1: Remove most Nullptr.h includes. r=waldo
2015-01-11 11:34:52 +09:00
Chris Pearce
2e9cf595cd
Bug 1114867 - Manually inline RtlSecureZeroMemory in GMPLoader, to ensure it doesn't wipe its own stack while running. r=dmajor
2015-01-06 07:36:42 +13:00
Chris Pearce
93923b922e
Bug 1114867 - Revert c29ebd2b4a10. r=dmajor
2015-01-06 07:36:39 +13:00
Chris Pearce
03dbaa0232
Bug 1101308 - Remove code to zero stack after GMP device binding as it's causing crashes. r=edwin
2014-12-22 19:59:00 +01:00
Daniel Holbert
3229ae5426
Bug 1105065: Remove an #ifdef, to fix a -Wunused-private-field build warning in GMPLoader.cpp for builds with --disable-sandbox. r=cpearce
2014-12-19 10:12:23 -08:00
Jed Davis
e78aaded67
Bug 1101170 - Move GMP's LinuxSandboxStarter into plugin-container. r=cpearce r=glandium
2014-11-24 15:22:14 -08:00
Jacek Caban
c44c25bce3
Bug 1100963 - Fixed Windows compilation with disabled sandbox. r=cpearce
2014-11-19 11:07:52 +01:00
Chris Pearce
a5cac33aae
Bug 1088488 - During GMP loading, zero stack memory after binding origin salt with device id. r=dmajor
2014-11-14 21:39:24 +13:00
Chris Pearce
eb5bfa0cf3
Bug 1088488 - On Windows only, use librlz and SHA256 code to generate a device-bound node id inside plugin-container, pass to GMP. r=henri,r=jesup
2014-11-14 21:39:18 +13:00
Chris Pearce
f3af16c459
Bug 1088488 - Add GMPLoader interface to encapsulate loading GMPs, pass that to XRE_InitChildProcess. r=jesup,r=bsmedberg,r=glandium
2014-11-14 21:26:24 +13:00