Граф коммитов

45 Коммитов

Автор SHA1 Сообщение Дата
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