Attempt to get around the fact that XP SP2 (and below) systems won't be able to
handle Authenticode signatues with SHA-2 digests by disabling the maintenance
service, the only thing on our update path that uses Authenticode, on systems
running WinXP below SP3.
This patch both prevents the service from being included in new installations,
and prevents the service from being used where it is already installed.
--HG--
extra : transplant_source : %F7%BE%0B%FDYd%CF%24%E7%B2%A5l%40%8D%E5%81%88F%E4%07
If not building the Windows Maintenance Service, avoid a dependency
on crypt32.dll and wintrust.dll.
Also, avoid setting sUsingService inside the updater code; this
ensures that all Maintenance Service related codepaths are skipped.
Rather that trying to get the method from the sandbox global object which will
only work for var and function declared methods instead evaluate the function
name in the sandbox scope and get the result which will give us access to the
lexical scope.
--HG--
extra : commitid : 1yWu6Go3XoQ
extra : rebase_source : 447ef2f2184229693cd6a45d6d5ac9705b200847
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.
By making the updated system add-on install location return an empty set when
in safe mode it causes us to rescan and enable the default system add-ons.
The complication is calling the uninstall method on the updated add-ons when
switching to safe mode, for that we have to cache the fact that an add-on
can run in safe mode in the bootstrappedAddons data so it persists to the
next restart and can be accessed when the updated add-on has been hidden.
--HG--
extra : commitid : 2BJfLTeXSwu
extra : rebase_source : 79d6df358d6cec2d5e4b8df265a56da049d6fd58
Unifies the methods we have to check that bootstrap add-ons are correctly loaded
and makes it easier to make changes to them all in the future without needing to
re-sign add-ons etc.
This code allows a bootstrap script to use a shared script in a single line of
code. The shared scripts sends out all the relevant info over the observer
service, the add-ons manager test harness receives and retains the current state
for every add-on also performing sanity checks like making sure an "install"
method is always called before any "startup" method etc. It also provides simple
functions to check the state of a given add-on.
--HG--
extra : commitid : 3a3arh4wfjK
extra : source : 3d3f055ade5269d45ae3acc45c91da8390c25554
extra : amend_source : 5c47df309fda0c67d04877101ef0295ff66f651e
Unifies the methods we have to check that bootstrap add-ons are correctly loaded
and makes it easier to make changes to them all in the future without needing to
re-sign add-ons etc.
This code allows a bootstrap script to use a shared script in a single line of
code. The shared scripts sends out all the relevant info over the observer
service, the add-ons manager test harness receives and retains the current state
for every add-on also performing sanity checks like making sure an "install"
method is always called before any "startup" method etc. It also provides simple
functions to check the state of a given add-on.
--HG--
extra : commitid : 2mhI13iGMy6
extra : rebase_source : 1565c2909517c363a81b0516748c1c80a8890bdd
extra : amend_source : f8a1c8ad54d76109efbcad2ba5611cb89ab8e9a0