Commit Graph

902 Commits

Author SHA1 Message Date
philipp
3971a035c7 Bug 1043775 - Put old versions of GDATA GDKBFltDll64.dll on Dll blocklist. r=marco 2018-02-14 09:51:00 +02:00
Chris Peterson
fe5cd3d5d9 Bug 1436263 - Part 3: Remove virtual from final virtual function declarations. r=froydnj
MozReview-Commit-ID: 8pjYjEvQF42

--HG--
extra : rebase_source : 5eb0bea2ef5f06a811b4f3daf57ce8720f12dd07
2018-02-08 21:22:43 -08:00
Chris Peterson
0129d900f3 Bug 1436263 - Part 2: Replace override final virtual function specifiers with just final. r=froydnj
MozReview-Commit-ID: 70gt5SUu4Dv

--HG--
extra : rebase_source : 71912c6bde22aaed01e70615a4ee794a36e70d0e
extra : source : 1c22d4c65d70b797ee3e963ec426c90e1f89b5e3
2018-02-05 22:50:00 -08:00
Jim Chen
589e7e1a01 Bug 1391268 - 1. Add call to verify CRC; r=glandium
To reliably detect corrupt APK, this patch adds a GeckoLoader.verifyCRC
call to enable verification of CRC before extracting libs.

MozReview-Commit-ID: 5EpIfwREGIv
2018-02-14 16:56:54 -05:00
Aaron Klotz
1eec067d63 Bug 1437309: Delayload crypt32 and wintrust in mozglue; r=glandium 2018-02-12 12:17:36 -07:00
Alex Gaynor
de20b74dc4 Bug 1407693 - Part 2 - when a child process crashes, write extra annotation data to a pre-opened file descriptor instead of creating a new file; r=gsvelto,rbarker
This removes the need for the content process to have permissions to create new
files on macOS, allowing more aggressive sandboxing.

MozReview-Commit-ID: 8agL5jwxDSL

--HG--
extra : rebase_source : 17ebcef3e9d24f3d4e7515e3fae95e65cef76a79
2017-11-27 14:37:34 -06:00
Aaron Klotz
1beac92cc2 Bug 1430857: Part 2 - Add cert annotations to Windows crash reports; r=mhowell
MozReview-Commit-ID: 270iURVhNRu

This patch builds upon the existing DLL services functionality:

1) We add code to obtain the name of the subject from the cert used to sign a
   binary (if present). This code is added inside mozglue because in the future
   we will be using this code from the DLL blocklist, which is also located
   there.
2) We add annotation functionality that registers itself for DLL load events
   and updates crash reporter annotations as new libraries are loaded. It also
   annotates any existing libraries that are also in memory at the time that the
   CertAnnotator is first instantiated. This all happens off main thread, with
   the exception of actually making the annotation when in a child process.

--HG--
extra : rebase_source : 2e3726d37356479aee81915caed04fe7af74c815
2018-01-30 15:08:03 -07:00
Aaron Klotz
0213e8a4b6 Bug 1430857: Part 1 - Refactor DllServices to make it possible to obtain them from anywhere in Gecko; r=jimm
MozReview-Commit-ID: GfWata0eCc5

--HG--
extra : rebase_source : f280fec92c867d0adbe7b82c0e829eeb10fce5a9
2018-01-30 14:23:10 -07:00
Dorel Luca
112cc1ff6b Backed out 3 changesets (bug 1430857) for breaking tests on Windows Code Coverage builds a=backout
Backed out changeset a992887a6060 (bug 1430857)
Backed out changeset cc9b0ac5f66b (bug 1430857)
Backed out changeset 4bdd6d82f993 (bug 1430857)
2018-02-07 15:02:58 +02:00
Aaron Klotz
e398eaca79 Bug 1430857: Part 2 - Add cert annotations to Windows crash reports; r=mhowell
MozReview-Commit-ID: 270iURVhNRu

This patch builds upon the existing DLL services functionality:

1) We add code to obtain the name of the subject from the cert used to sign a
   binary (if present). This code is added inside mozglue because in the future
   we will be using this code from the DLL blocklist, which is also located
   there.
2) We add annotation functionality that registers itself for DLL load events
   and updates crash reporter annotations as new libraries are loaded. It also
   annotates any existing libraries that are also in memory at the time that the
   CertAnnotator is first instantiated. This all happens off main thread, with
   the exception of actually making the annotation when in a child process.

--HG--
extra : rebase_source : f86c1a6fd2a44f21a71e7a7418267b3b0d5feeec
2018-01-30 15:08:03 -07:00
Aaron Klotz
200eb77750 Bug 1430857: Part 1 - Refactor DllServices to make it possible to obtain them from anywhere in Gecko; r=jimm
MozReview-Commit-ID: GfWata0eCc5

--HG--
extra : rebase_source : 3a5b4a6f0412311f0b9080a2b3b3a31e45d15b75
2018-01-30 14:23:10 -07:00
Gurzau Raul
c104d865cc Backed out 2 changesets (bug 1430857) for build bustage on a CLOSED TREE
Backed out changeset b12ea04f9c5a (bug 1430857)
Backed out changeset 6b88557d1e50 (bug 1430857)
2018-02-06 23:27:33 +02:00
Aaron Klotz
5f9a96be9c Bug 1430857: Part 2 - Add cert annotations to Windows crash reports; r=mhowell
MozReview-Commit-ID: 270iURVhNRu

This patch builds upon the existing DLL services functionality:

1) We add code to obtain the name of the subject from the cert used to sign a
   binary (if present). This code is added inside mozglue because in the future
   we will be using this code from the DLL blocklist, which is also located
   there.
2) We add annotation functionality that registers itself for DLL load events
   and updates crash reporter annotations as new libraries are loaded. It also
   annotates any existing libraries that are also in memory at the time that the
   CertAnnotator is first instantiated. This all happens off main thread, with
   the exception of actually making the annotation when in a child process.

--HG--
extra : rebase_source : e032ee8c4cf71e5225b51797443764549f4bbe56
2018-01-30 15:08:03 -07:00
Aaron Klotz
eb3453b4d6 Bug 1430857: Part 1 - Refactor DllServices to make it possible to obtain them from anywhere in Gecko; r=jimm
MozReview-Commit-ID: GfWata0eCc5

--HG--
extra : rebase_source : d8d2ec74e7f452cb1e8b5430f4445f3b0fc9181a
2018-01-30 14:23:10 -07:00
Tom Ritter
6d070e11bd Bug 1235982 Add CFG to firefox.exe and mozglue, and a mochitest to ensure a crash r=glandium,mconley
MozReview-Commit-ID: EYKgDyGtw8m

--HG--
extra : rebase_source : 76166d4fca452674d0a442778290e40106ce339c
2018-01-25 12:15:40 -06:00
Jim Chen
1f4f8416df Bug 1428182 - 3. Only include <linux/elf.h> for non-unified headers; r=glandium
Unified headers have a complete <elf.h> so we should include that
instead of <linux/elf.h>.

MozReview-Commit-ID: DkQv2vk1Q62

--HG--
extra : rebase_source : 7cd9eb04532c14b1dd0dc8747448b89d16e4f118
2018-01-30 14:08:22 -05:00
Cosmin Sabou
c6a0d55423 Backed out 11 changesets (bug 1428182) for build bustages on pixman-inlines.h:29:10 on a CLOSED TREE
Backed out changeset 84c767de6202 (bug 1428182)
Backed out changeset 429433caa78c (bug 1428182)
Backed out changeset c576e9d1f68f (bug 1428182)
Backed out changeset 092662eab5eb (bug 1428182)
Backed out changeset 4dd7eaff3ab5 (bug 1428182)
Backed out changeset fbbb0745b139 (bug 1428182)
Backed out changeset 1d1278b289b7 (bug 1428182)
Backed out changeset 55891ffb3768 (bug 1428182)
Backed out changeset 4655e1b1b237 (bug 1428182)
Backed out changeset 377eada51b3c (bug 1428182)
Backed out changeset 17c0e373d921 (bug 1428182)

--HG--
rename : ipc/chromium/src/third_party/libevent/patches/android-api-level.patch => ipc/chromium/src/third_party/libevent/patches/android-arc4random-buf.patch
2018-01-30 01:22:33 +02:00
Jim Chen
3e76d4e233 Bug 1428182 - 3. Only include <linux/elf.h> for non-unified headers; r=glandium
Unified headers have a complete <elf.h> so we should include that
instead of <linux/elf.h>.

MozReview-Commit-ID: DkQv2vk1Q62

--HG--
extra : rebase_source : 43b3fa15042246d2c3ec37a3ca904822b0f68d0c
2018-01-29 17:38:13 -05:00
Mike Hommey
d76723e154 Bug 1433273 - Remove mozglue/linker/dladdr.h. r=froydnj
It was added in bug 683127 as a forced include for nspr, and
accidentally became unused after bug 1230117, but it turns out that all
versions of Android we care about nowadays (and probably back then) now
support dladdr.

--HG--
extra : rebase_source : 024244627c215de2d35e2f4595b7612eb1723996
2018-01-26 06:21:30 +09:00
Mike Hommey
5e48214af2 Bug 1414506 - Use system dl_iterate_phdr for system loaded libraries when we can. r=froydnj
When looping through the debugger helper links during our
dl_iterate_phdr implementation, we effectively race with other threads
dlclose()ing libraries while we're working.

We do have a (rather involved) check in place to ensure that elf headers
are readable. But it turns out in practice, some dlclose() do happen
between the check and the actual read of the elf headers.

Unfortunately, we can't lock the system linker while we're looping, so a
better approach is to only loop through the libraries we loaded, and
rely on the system dl_iterate_phdr to iterate over the (remaining)
system libraries.

Unfortunately (again), Android versions < 5.0 don't have a system
dl_iterate_phdr, so we have to rely on the old iterator when it's not
present.

--HG--
extra : rebase_source : 3fd07589ed1939411ef72f481b7c72f761d53701
2018-01-23 15:59:18 +09:00
Mike Hommey
76f5fcdbab Bug 1414506 - Move dl_phdr_info filling and callback invocation to a separate class. r=froydnj
We're going to introduce two code paths that need to fill dl_phdr_info
from different iterators, so first move the code to a separate class,
that both code paths will be able to call.

--HG--
extra : rebase_source : a50663ad8d15d4f7a28d7138824003df5edd7f1c
2018-01-23 15:50:38 +09:00
Mike Hommey
2d8f41393f Bug 1414506 - Drive-by: Remove MOZ_CONCAT definition from mozglue/linker/Logging.h. r=froydnj
The same exists in mozilla/MacroArgs.h, avoiding a macro redefined warning
when building on non-Android.

--HG--
extra : rebase_source : 6e3502ddf9deb96b29e3663f5867f852a2912401
2018-01-19 20:12:04 +09:00
Mike Hommey
73673fc86e Bug 1414506 - Drive-by: Add missing <cstring> include to XZStream.cpp. r=froydnj
--HG--
extra : rebase_source : 25942242d9e2cb1ccc1e18f06635218dfc894637
2018-01-19 20:08:08 +09:00
Philip Chimento
6b52ba7b8d Bug 1176787 - Always link mozglue into the shared library when building standalone. r=glandium
Regardless of which platform we are building on.

--HG--
extra : rebase_source : b10b6b7127e8ed86e9c19f4cba9d54fd2f02f99f
2018-01-15 13:57:03 -08:00
Aaron Klotz
35b1027e2c Bug 1423999: Improved UIA detection that eliminates handle duplication; r=Jamie
MozReview-Commit-ID: 5CqjkyDoPs8

--HG--
extra : amend_source : 877a3d6cadab0645274c9542249fc35cfd682d41
2017-12-07 12:13:14 -07:00
Sylvestre Ledru
9bfe27d903 Bug 1394734 - Replace CONFIG['GNU_C*'] by CONFIG['CC_TYPE'] r=glandium
MozReview-Commit-ID: 7duJk2gSd4m

--HG--
extra : rebase_source : 7312fe276e561e8c034a5f6749774ae812727f9c
2017-12-07 22:09:15 +01:00
Aaron Klotz
0f6431e1f3 Bug 1422394: Add a mechanism to report dll loads to an observer; r=jimm
MozReview-Commit-ID: 1ocag6jTBVV
2017-12-04 18:08:17 -07:00
Brindusan Cristian
14add183dc Backed out 2 changesets (bug 1422394) for browser-chrome failure in test_headless_screenshot.html on Windows 7 debug non-e10s r=backout a=backout on a CLOSED TREE
Backed out changeset 8f233446cd06 (bug 1422394)
Backed out changeset 96940dc4db44 (bug 1422394)
2017-12-05 23:49:08 +02:00
Aaron Klotz
7abd7674c8 Bug 1422394: Follow-up: Add missing include to fix mingw bustage; r=bustage 2017-12-05 13:00:05 -07:00
Aaron Klotz
9da53d8e93 Bug 1422394: Add a mechanism to report dll loads to an observer; r=jimm
--HG--
extra : rebase_source : ddd40aa520447fea1bdccdbe8208bb3bfd26afe7
2017-12-04 18:08:17 -07:00
Christian Holler
586ce17728 Bug 1419371 - Set max_malloc_fill_size/max_free_fill_size for ASan. r=glandium
MozReview-Commit-ID: KPng6w8JsHI

--HG--
extra : rebase_source : fcf2aced83cdf73cccb6cf572ca7da3f6a76c515
2017-11-22 13:49:36 +01:00
Julien Cristau
e8ea0fb58a Bug 1421991 - Add old versions of G DATA BankGuard .dll to Windows blocklist. r=jimm 2017-11-30 17:37:20 +01:00
Aaron Klotz
010af8a7d8 Bug 1420276: Backed out changeset 244c97bc16e3 since we don't want to ship this yet; r=backout
--HG--
extra : rebase_source : f7376192a23e85f8850ef5b250e35813ef72e0e3
2017-12-04 15:58:20 -07:00
Jim Chen
190f7edde5 Bug 1416940; r=snorp
MozReview-Commit-ID: 7izmybLFG6i
2017-11-28 23:07:52 -05:00
Aaron Klotz
04c107efd4 Bug 1420276: Add uiautomationcore.dll to blocklist; r=Jamie
MozReview-Commit-ID: AIYZfyKm20b

--HG--
extra : amend_source : d49b08f20f7aebb05ff40cd0bf13ccbad0a78c5f
2017-11-23 14:07:59 -07:00
Mike Hommey
32ecc64ada Bug 1420353 - Change how replace-malloc initializes, part 2. r=njn
Because one entry point is simpler than two, we make replace_init fulfil
both the roles of replace_init and replace_get_bridge.

Note this should be binary compatible with older replace-malloc
libraries, albeit not detecting their bridge (and with the
previous change, they do not register anyways). So loading older
replace-malloc libraries should do nothing, but not crash in awful ways.

--HG--
extra : rebase_source : aaf83e706ee34f45cfa75551a2f0998e5c5b8726
2017-11-24 16:02:05 +09:00
Mike Hommey
845f9c5d82 Bug 1420353 - Change how replace-malloc initializes, part 1. r=njn
The allocator API is a moving target, and every time we change it, the
surface for replace-malloc libraries grows. This causes some build
system problems, because of the tricks in replace_malloc.mk, which
require the full list of symbols.

Considering the above and the goal of moving some of the replace-malloc
libraries into mozglue, it becomes simpler to reduce the replace-malloc
exposure to the initialization functions.

So instead of the allocator poking into replace-malloc libraries for all
the functions, we expect their replace_init function to alter the table
of allocator functions it's passed to register its own functions.

This means replace-malloc implementations now need to copy the original
table, which is not a bad thing, as it allows function calls with one
level of indirection less. It also replace_init functions to not
actually register the replace-malloc functions in some cases, which will
be useful when linking some replace-malloc libraries into mozglue.

Note this is binary compatible with previously built replace-malloc
libraries, but because those libraries wouldn't update the function
table, they would stay disabled.

--HG--
extra : rebase_source : 2518f6ebe76b4c82359e98369de6a5a8c3ca9967
2017-11-22 17:24:29 +09:00
Chris Manchester
1877e49bc4 Bug 1411712 - Move symbol version script flags for arm in mozglue to moz.build. r=mshal
MozReview-Commit-ID: II250cfTmip

--HG--
extra : rebase_source : 70a8764e3bb646c54005fb25dc4343fdc201bade
2017-11-02 11:47:48 -07:00
Chris Manchester
f8a3e49e93 Bug 1411712 - Make a new variable for LDFLAGS to be set by Makefile.in that aren't intended to be handled by other backends. r=mshal
These flags are only relevant on OS X, and will not be necessary soon, so this
commit moves them to a separate variable while we move the remainder of the
ldflags to mozbuild.

MozReview-Commit-ID: 1NDgz3HIYpT

--HG--
extra : rebase_source : 6e9b5f5a5be5ff916db89a0b73896b9058eb040e
2017-11-02 11:47:47 -07:00
Martin Stransky
79aef7f85b Bug 1348310 - Use CLOCK_MONOTONIC as a base for nsWindow::GetEventTimeStamp() on Wayland, r=karlt
We assume CLOCK_MONOTONIC as timebase for events on Wayland and use that to translates GDK event times to gecko timestamps.

MozReview-Commit-ID: LWd2KWTQeha

--HG--
extra : rebase_source : 1839d35989b9c29c60dd33d445db79afc75af9ab
2017-10-19 15:28:47 +02:00
Hiroyuki Ikezoe
12c6f62e78 Bug 1379564 - Make BaseTimeDuration::Forever() constexpr. r=birtles
MozReview-Commit-ID: DFse9SD1taP

--HG--
extra : rebase_source : a23d92c8b959c7f680b06c223e266ff1646813b0
2017-07-10 16:21:34 +09:00
Nathan Froyd
c04d322a0a Bug 1412405 - fix isnanf symbol lookup by using a LoadedElf for libm; r=glandium
We already dealt with issues around dlsym not resolving weak symbols
with libc in bug 1081034.  This fix applies the same workaround to libm,
which solves the isnanf issue.

The previous fix for looking up __isnanf is no longer needed.
2017-10-28 08:51:23 -04:00
Marco Castelluccio
1c0b2d34a1 Bug 1385542 - Blocklist pghook.dll as it causes crashes. r=jimm
--HG--
extra : rebase_source : e0a8b869388d5772697bf31e900b691534b93e63
2017-10-21 01:15:58 +01:00
Nathan Froyd
936aff29b5 Bug 1412405 - try harder to find a definition for isnanf in the custom linker; r=nalexander
The comment with the accompanying change explains things, but the short
version is that clang generates full calls to isnanf, which our
dlsym-based symbol lookup in the custom linker cannot handle correctly.
We therefore need to do extra work for isnanf to find the correct symbol.
2017-10-27 17:08:20 -04:00
Marco Castelluccio
9264f7616b Bug 1407337 - Block OpenSC < 0.16.0.0. r=jimm
--HG--
extra : rebase_source : 6f2f1d3f7e3219e4d78b36fef92613fb23b77218
extra : histedit_source : fbe1d04b2577caeb7380c505ed53047435194159
2017-10-11 11:45:44 +01:00
Bob Owen
75a8563510 Bug 1410073: Load user32.dll immediately after the DLL Blocklist is in place. r=aklotz
This is to reduce the chance of it being loaded on an injected thread.
2017-10-19 20:49:44 +01:00
Bob Owen
25f5a8b221 Bug 1372823 Part 5: Extend BaseThreadInitThunk thread start address verification to 64-bit. r=dmajor 2017-09-21 09:31:07 +01:00
Marco Castelluccio
0bdfded31a Bug 1360029 - Block Nahimic DLLs affected by a bug which causes Firefox to crash. r=jimm
--HG--
extra : rebase_source : 9d35825a8ce1ecb43f72b95ac7b27c33a834521f
2017-10-12 15:08:04 +01:00
Mike Hommey
9f2dd4775e Bug 1407468 - Replace multiple !JS_STANDALONE with MOZ_WIDGET_TOOLKIT. r=mshal
--HG--
extra : rebase_source : 4f9f9f583c3422ed0f8d1d65ea8e7575bd9baf2c
2017-10-05 14:50:01 +09:00
Honza Bambas
581d528607 Bug 1406386 - Control how TimeStamp works on Windows via and envvar. r=froydnj 2017-10-06 09:16:00 -04:00