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

171 Коммитов

Автор SHA1 Сообщение Дата
Benjamin Smedberg ac290e07e4 Bug 1332639 - Fix nsBrowserApp.cpp and related headers to compile without the external string API, r=glandium
MozReview-Commit-ID: CQjtpA2lxAM

--HG--
extra : rebase_source : ae92ab7141cba8f3db41d5130059d02866242ccd
2017-02-27 13:39:34 -05:00
David Parks 26437f4ecd Bug 1284897 - Add mechanism to libsandbox_s to track names of files that have been given special sandbox access permissions (PermissionsService). r=bobowen, r=glandium
Hook this into the browser via the XREAppData. This patch does not include the changes to Chromium source code.

--HG--
extra : rebase_source : 4d5637bcdbeae605b0b99e9192598d48f371b698
2017-02-14 15:08:40 -08:00
Sebastian Hengst 68e7240c0c Backed out changeset 71b9ac06a60a (bug 1284897) 2017-02-21 23:13:29 +01:00
David Parks 82eb0f3fdd Bug 1284897 - Add mechanism to libsandbox_s to track names of files that have been given special sandbox access permissions (PermissionsService). r=bobowen, r=glandium
Hook this into the browser via the XREAppData. This patch does not include the changes to Chromium source code.

--HG--
extra : rebase_source : e34e8b50101cc40ded26e80791052123b24c8243
extra : histedit_source : 69c9b2dc91546adbfdad03b5d43842809191ffb9
2017-02-14 15:08:40 -08:00
Phil Ringnalda 87ae1a50e4 Backed out 5 changesets (bug 1284897) for mozilla::SandboxPermissions::RemovePermissionsForProcess crashes
Backed out changeset 19b2fcee13a9 (bug 1284897)
Backed out changeset a5171791437f (bug 1284897)
Backed out changeset 3ea8b8a18515 (bug 1284897)
Backed out changeset 21497a4e3bde (bug 1284897)
Backed out changeset 12e17d5f0fa9 (bug 1284897)
2017-02-16 22:14:15 -08:00
David Parks e9bcaf4cbe Bug 1284897 - Add mechanism to libsandbox_s to track names of files that have been given special sandbox access permissions (PermissionsService). r=bobowen, r=glandium
Hook this into the browser via the XREAppData. This patch does not include the changes to Chromium source code.
2017-02-14 15:08:40 -08:00
Mike Hommey 9a71407b51 Bug 1332523 - Add BinaryPath::Get variant that returns a UniquePtr instead of filling a stack buffer. r=bsmedberg
--HG--
extra : rebase_source : 3fd502f67bd28e504f9a5d1a6ea1e790e9fec774
2017-01-13 09:40:54 +09:00
Mike Hommey 45bb38d482 Bug 1332523 - Make GetBootstrap take the path to an arbitrary file next to libxul. r=bsmedberg
The FileExists check can be removed because the code loading the library
will handle that case already.

--HG--
extra : rebase_source : bac53d3f88ed1dd716ee1340d40dae42becdfdf0
2017-01-13 09:27:39 +09:00
Mike Hommey 11a4734e0d Bug 1332523 - Remove nsXPCOMGlue.h. r=bsmedberg
--HG--
extra : rebase_source : 7a0b2441f768cbdef1a5b51139f8ecd4a6fde0c1
2017-01-13 07:56:05 +09:00
Mike Hommey 9d2b3754b7 Bug 1332523 - Move message indicating when the blocklist is initialized after user32.dll was loaded to the blocklist itself. r=dmajor
--HG--
extra : rebase_source : 4aea579104d2bad56a91f67e66d0af8c4ada9c3d
2017-01-12 11:13:40 +09:00
Mike Hommey 7523430127 Bug 1330533 - Use FuzzerDriver directly instead of wrapping it in a libfuzzer_main function. r=decoder
Going further from the previous changes, all libfuzzer_main really does
is call the init function, and then proceed to call the fuzzer driver
with the testing function.

So instead of calling that function for it to do all that, the
LibFuzzerRunner can just call the init function itself, and then
call the fuzzer driver with the testing function.

--HG--
extra : rebase_source : 2eb1a2ae763ef21827471cd32addceacefc1ac5d
2017-01-12 14:44:18 +09:00
Mike Hommey cc6c5d8f71 Bug 1330533 - Pass LibFuzzerInitFunc and LibFuzzerTestingFunc to libfuzzer_main. r=decoder
The LibFuzzerRunner code lives in libxul. It's unnecessary complications
to have it call back a function in the firefox executable just so that
it calls another function that is in libxul. Passing the init and
testing functions to the libfuzzer_main function allows to just bypass
that roundtrip, simplifying the setup.

--HG--
extra : rebase_source : ba72c029a904e05fe3b0ed5984c1bad946b73c6a
2017-01-12 14:50:14 +09:00
Mike Hommey 92c5bff388 Bug 1330533 - Remove argc/argv arguments to XRE_LibFuzzerSetMain. r=decoder
The function given to XRE_LibFuzzerSetMain is called from somewhere that
does have access to argc/argv already, so we can avoid passing them
to XRE_LibFuzzerSetMain.

This actually might fix subtle issues with argc/argv not really matching
reality when calling the LibFuzzerMain function in the current code:
some arguments are handled before the call, and both argc and argv are
modified from within XRE_main, but the values stored for the
LibFuzzerMain call still are the original ones.

Argv being a pointer, and it not being reallocated, the value stored for
the LibFuzzerMain call points to the changed one, but argc, being an
integer, is not modified accordingly.

In fact, it's actually worse, because while the Gecko code doesn't
reallocate argv, gtk_main might. So if some GTK flag is passed on the
command line, there's also a possibility that the LibFuzzerMain function
will do a use-after-free.

So all in all, it's just better to use the set of modified argc/argv
from XRE_main instead of storing them from main().

--HG--
extra : rebase_source : 92b89909eab0fc2f67ce372b959bb0e3ed12cd2b
2017-01-12 11:59:37 +09:00
Mike Hommey 2330dcf840 Bug 1306327 - Move reading application.ini to XRE_main. r=bsmedberg
Reading application.ini involves using nsCOMPtr<nsIFile>, and that can
only happen through the XPCOM glue, which we eventually want to get rid
of.

So, while keeping the command line argument/environment variable
handling in nsBrowserApp, we move the actually parsing of the file to
XRE_main, where things can be handled without the XPCOM glue.

--HG--
extra : rebase_source : 487960a671476d4edae4f568c37efa6563ef4dff
2017-01-10 16:43:23 +09:00
Mike Hommey 09dc362a61 Bug 1306327 - Use the new XRE Bootstrap API in Desktop Firefox. r=bsmedberg
This just wraps all the XRE method calls to go through the Bootstrap API
instead of relying on the XPCOM glue methods.

--HG--
extra : rebase_source : eccbe18b9b21ca1ab6c403515ffd60f0a9174d9c
2016-12-16 11:10:02 +09:00
Mike Hommey 17436e8731 Bug 1306327 - Remove NS_XRE_DLL_BLOCKLIST_ENABLED. r=bsmedberg
Instead of having nsBrowserApp.cpp set a flag in XREAppData to indicate
whether the DLL blocklist properly initialized, just have XRE code ask
the blocklist itself.

--HG--
extra : rebase_source : e872853481acce68b325909e476d009aec878701
2017-01-10 09:10:36 +09:00
Mike Hommey af19e1f051 Bug 1306327 - Remove the flags argument to XRE_main. r=bsmedberg
This hasn't been used since the removal of the Metro code in bug
1039866, close to two years ago.

--HG--
extra : rebase_source : 58ec1ce63e4231c8006cafd3424675f14ddbf9f1
2017-01-10 14:15:50 +09:00
Mike Hommey f6f8d88483 Bug 1306327 - Don't set XREAppData.xreDirectory from nsBrowserApp.cpp. r=bsmedberg
It turns out nsAppRunner.cpp sets it to the exact same thing when it's
not already set, so we might as well use that.

--HG--
extra : rebase_source : cb8955e75c13a02494f3e163089c53696a661aa9
2017-01-10 08:02:43 +09:00
Mike Hommey a92655a398 Bug 1306327 - Remove XPCOMGlueEnablePreload. r=froydnj
Back in bug 632404, when the function was added, preloading was
conditional. But after some A/B testing, the conclusion in bug 771745
was that we would just do preloading unconditionally.

Which means in practice, we don't need to have a function to enable it
manually anymore, since we're always enabling it.

--HG--
extra : rebase_source : c76307c13c057e87e1fe4564b82113fbfa20d382
2016-12-15 17:37:53 +09:00
Jed Davis c3255cccdd Bug 1277968 - Use `firefox -contentproc` on sandbox-enabled Linux. r=ted
MozReview-Commit-ID: 7izy7UvJpwS

--HG--
extra : rebase_source : 9f1fc09f5e814360d3a6154eea7860b15ffdd51d
2016-11-08 15:06:36 -07:00
Benjamin Smedberg ae824ee296 Bug 1321593 part B - Unify the startup path between `firefox --app` and normal Firefox startup. With fixup to properly release/not-leak xreDirectory r=glandium
--HG--
extra : source : e531af57cd60ba243721c90fc30fa47d6bdd37e0
extra : histedit_source : ec9153f5d1b61d960e9e39a4fa3eebc156fc83ae%2C265903daf485c9ce34d60e284e51701c6e72ef16
2016-12-13 09:15:31 -05:00
Benjamin Smedberg d37894f60d Bug 1321593 part A - Refactor nsXREAppData: 1) make nsXREAppData strongly own its members 2) rename it to mozilla::XREAppData 3) separate out the static compiled data into StaticXREAppData 4) Remove XRE_CreateAppData and XRE_FreeAppData 5) remove the struct size and related size-checking code which was only ever useful for cross-version compatibility, r=glandium
MozReview-Commit-ID: CQv1UrSaw4D

--HG--
rename : xpcom/build/nsXREAppData.h => xpcom/build/XREAppData.h
rename : xpcom/glue/AppData.cpp => xpcom/glue/XREAppData.cpp
extra : source : eae2252a519f3ac5850f5110a6a1be45891ea5e9
2016-12-02 09:07:24 -05:00
Sebastian Hengst 27bd22acd7 Backed out changeset eae2252a519f (bug 1321593) for leaks, e.g. in clipboard and jetpack tests. r=backout
--HG--
rename : xpcom/build/XREAppData.h => xpcom/build/nsXREAppData.h
rename : xpcom/glue/XREAppData.cpp => xpcom/glue/AppData.cpp
2016-12-12 22:10:17 +01:00
Sebastian Hengst b65cbf32d8 Backed out changeset e531af57cd60 (bug 1321593) 2016-12-12 22:09:40 +01:00
Benjamin Smedberg 2246c8a642 Bug 1321593 part B - Unify the startup path between `firefox --app` and normal Firefox startup, r=glandium
MozReview-Commit-ID: E6m3eWrX3aB

--HG--
extra : rebase_source : 6b365b0a16b70feeafc7f6a2daf4fb36075314d4
extra : histedit_source : 965abd3a83bdf847de2f617e14dd4e4b381d2b1e
2016-12-02 09:08:01 -05:00
Benjamin Smedberg 4df1abc2c0 Bug 1321593 part A - Refactor nsXREAppData: 1) make nsXREAppData strongly own its members 2) rename it to mozilla::XREAppData 3) separate out the static compiled data into StaticXREAppData 4) Remove XRE_CreateAppData and XRE_FreeAppData 5) remove the struct size and related size-checking code which was only ever useful for cross-version compatibility, r=glandium
MozReview-Commit-ID: CQv1UrSaw4D

--HG--
rename : xpcom/build/nsXREAppData.h => xpcom/build/XREAppData.h
rename : xpcom/glue/AppData.cpp => xpcom/glue/XREAppData.cpp
extra : rebase_source : c909ee206d31b110c6a38cc466ef24a465ee2ae5
extra : histedit_source : e86c3900412229f99ade29c5b8e3943d943ec718
2016-12-02 09:07:24 -05:00
Henri Sivonen 0ca8bb3905 Bug 1300843 - Print an error on 32-bit Linux in the absence of SSE2. r=glandium.
MozReview-Commit-ID: EEmAhXaeDeX
2016-09-14 12:40:53 +03:00
Tom Schuster 774a8bf34d Bug 1302163 - Change code to use SprintfLiteral instead of snprintf. r=ehsan 2016-10-04 17:57:51 +02:00
Christian Holler (:decoder) 3c7149e85d Bug 1289194 - Experimental LibFuzzer integration. r=glandium
MozReview-Commit-ID: 9njDcbltyow

--HG--
extra : rebase_source : 774d25f2ac4e4b1a876e48159333188bc722f940
2016-09-01 15:07:01 +02:00
Jorg K 75c7dd459f Bug 1301987 - removed unused io.h and fcntl.h. r=jimm 2016-09-12 13:04:39 -07:00
Sebastian Hengst a66df0b0c2 Backed out changeset 95e68b473e91 (bug 1289194) for failure to process moz.build file. r=backout a=backout
MozReview-Commit-ID: GhfzNoiE808
2016-09-07 18:45:40 +02:00
Christian Holler (:decoder) 055c4fb1dd Bug 1289194 - Experimental LibFuzzer integration. r=glandium
--HG--
extra : histedit_source : a632f3ff76e07562d1854bc68b50499e4b4667a0
2016-09-01 15:07:01 +02:00
Jim Mathies 118ac04293 Bug 1286306 - Add an app info property exposing the state of the Windows dll blocklist, and test the value during browser test runs. r=bsmedberg
MozReview-Commit-ID: H7206wTh8YM
2016-07-27 15:20:58 -05:00
Aaron Klotz cca20d7ddd Bug 1285356: Fix blocklist initialization regressions; r=bsmedberg
MozReview-Commit-ID: AlWyzVhtPLL

--HG--
extra : rebase_source : 865aff712f83a567c16b81f4512e072a04f7c6df
2016-07-07 17:00:23 -06:00
Eric Rahm 81e9abab83 Bug 1282980 - Remove MacQuirks. r=jrmuizel
MacQuirks was targeted for OSX from 10.6.8 up to but not including 10.7.0. We
have now removed support for 10.6 so we can safely remove this code. This also
fixes bug 1282184 where DMD is apparently choking on memory allocated in the
interpose library.
2016-07-19 23:48:29 -07:00
Makoto Kato 1fc6d9c9df Backed out changeset d6523dfaab78 (bug 1282980) due to OSX build failure
MozReview-Commit-ID: 9ZSylYsKDjp
2016-07-20 11:03:57 +09:00
Eric Rahm f5c6dc41eb Bug 1282980 - Remove MacQuirks. r=jrmuizel
MacQuirks was targeted for OSX from 10.6.8 up to but not including 10.7.0. We
have now removed support for 10.6 so we can safely remove this code. This also
fixes bug 1282184 where DMD is apparently choking on memory allocated in the
interpose library.
2016-07-19 16:49:24 -07:00
Chris Peterson 2b3b60f7b1 Bug 1277155 - Part 1: Remove snprintf() polyfills for VS2013 in Sprintf.h and #defines. r=froydnj r=mhowell 2016-06-27 20:45:03 -07:00
Andrea Marchesini 880aca8671 Bug 1281793 - Remove some non-used telemetry IDs - part 1 - expired keys in nsBrowserApp, r=gfritzsche 2016-06-28 19:29:09 +02:00
Carsten "Tomcat" Book 206dc72425 Backed out changeset e1001d232f8a (bug 1281793) for bustage on a CLOSED TREE 2016-06-28 17:05:04 +02:00
Andrea Marchesini 1a91dfc4d0 Bug 1281793 - Remove some non-used telemetry IDs - part 1 - expired keys in nsBrowserApp, r=gfritzsche 2016-06-28 16:44:42 +02:00
Mike Hommey 4725fcb648 Bug 1271574 - Purposefully leak the XUL_APP_FILE string passed to putenv. r=bsmedberg
Before bug 552864, the string was created with PR_smprintf, and
PR_SetEnv'ed (which, under the hood, just calls putenv). PR_smprintf was
allocating the string on the heap. Now, it's allocated on the stack, and
still putenv'ed.

putenv kind of takes ownership of the strings it's being passed, so
stack allocated strings are dangerous to use. It looks like we've been
fairly lucky that it worked, presumably because compilers would keep the
stack frame with the variable, but that's not guaranteed to happen, and
in some case, doesn't.

So we strdup the string and purposefully leak it instead, which matches
what happened before bug 552864, and is the only "sane" way to use
putenv.

--HG--
extra : rebase_source : e39349f90f5346b591e20696c0c3c7fdb26c3cfb
2016-06-02 08:44:16 +09:00
Bob Owen 5714578c95 Bug 1278528: Don't try to initialize the sandbox TargetServices when we are not sandboxed. r=jimm
MozReview-Commit-ID: EpXy9LYXwQL
2016-06-07 14:03:51 +01:00
Jed Davis 78e49e2efb Bug 1114647 - Use firefox for child processes instead of plugin-container. r=ted
Disabled on Mac (content processes need to use plugin-container.app for
UI reasons) and on Linux unless --disable-sandboxing (build issues).

Based on work by George Wright <george@mozilla.com>.

--HG--
extra : amend_source : 43986e25743de21e3ddfb7893e3ed550fe6eef76
2016-06-03 12:49:39 -07:00
Bob Owen e809e9f918 Bug 1035125 Part 9: Link Chromium sandbox into firefox.exe instead of having a separate DLL. r=aklotz,glandium
MozReview-Commit-ID: 1vgDPjpcwz3

--HG--
extra : rebase_source : 40966d98ca6c37f30884639d648907b4760ae240
2016-05-15 16:41:40 +01:00
Mike Hommey 5dc9f1b6cb Bug 1238769 - Add a -xpcshell option to Firefox. r=bsmedberg 2016-02-10 07:39:27 +09:00
Phil Ringnalda 4cff264841 Back out 7af06ac5c280 (bug 1238769) for bustage
CLOSED TREE
2016-02-03 20:15:33 -08:00
Mike Hommey 09eefcbf8d Bug 1238769 - Add a -xpcshell option to Firefox. r=bsmedberg 2016-02-04 12:49:57 +09:00
Mike Hommey 9af046b5b4 Bug 1211765 - Remove remnants from --with-libxul-sdk. r=bsmedberg
The configure option has explicitly thrown an error for more than a year now,
and it happens that the remaining way to still forcefully use it has been
broken for more than 8 months.
2015-10-14 08:02:34 +09:00
Gabriele Svelto 17358b10b8 Bug 858928 - Switch XRE_StartupTimelineRecord() from PRTime to TimeStamp. r=froydnj
--HG--
extra : rebase_source : b39bf19f68a124cefaf5ceac2adccb20e05bf279
2015-07-06 18:01:09 +02:00