Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 685140 | Differences between
and this patch

Collapse All | Expand All

(-)a/toolkit/mozapps/extensions/internal/XPIProvider.jsm (+27 lines)
Lines 1875-1890 class BootstrapScope { Link Here
1875
      await updateCallback();
1875
      await updateCallback();
1876
    }
1876
    }
1877
1877
1878
    this.addon = newAddon;
1878
    this.addon = newAddon;
1879
    return this._install(reason, callUpdate, startup, extraArgs);
1879
    return this._install(reason, callUpdate, startup, extraArgs);
1880
  }
1880
  }
1881
}
1881
}
1882
1882
1883
// https://bugzilla.mozilla.org/show_bug.cgi?id=1548973
1884
const MISSING_INTERMEDIATE_CERTIFICATE = "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";
1885
1886
function addMissingIntermediateCertificate() {
1887
  const PREF_SIGNER_HOTFIXED = "extensions.signer.hotfixed";
1888
  let hotfixApplied = Services.prefs.getBoolPref(PREF_SIGNER_HOTFIXED, false);
1889
  if (hotfixApplied) {
1890
    return;
1891
  }
1892
  logger.debug("hotfix for addon signing cert has not been applied; applying");
1893
1894
  try {
1895
    let certDB = Cc["@mozilla.org/security/x509certdb;1"].getService(Ci.nsIX509CertDB);
1896
    certDB.addCertFromBase64(MISSING_INTERMEDIATE_CERTIFICATE, ",,");
1897
    logger.debug("new intermediate certificate added");
1898
  } catch (e) {
1899
    logger.error("failed to add new intermediate certificate:", e);
1900
    return;
1901
  }
1902
1903
  Services.prefs.setBoolPref(PREF_SIGNER_HOTFIXED, true);
1904
}
1905
1883
var XPIProvider = {
1906
var XPIProvider = {
1884
  get name() {
1907
  get name() {
1885
    return "XPIProvider";
1908
    return "XPIProvider";
1886
  },
1909
  },
1887
1910
1888
  BOOTSTRAP_REASONS: Object.freeze(BOOTSTRAP_REASONS),
1911
  BOOTSTRAP_REASONS: Object.freeze(BOOTSTRAP_REASONS),
1889
1912
1890
  // A Map of active addons to their bootstrapScope by ID
1913
  // A Map of active addons to their bootstrapScope by ID
Lines 2110-2125 var XPIProvider = { Link Here
2110
   * @param {string?} [aOldAppVersion]
2133
   * @param {string?} [aOldAppVersion]
2111
   *        The version of the application last run with this profile or null
2134
   *        The version of the application last run with this profile or null
2112
   *        if it is a new profile or the version is unknown
2135
   *        if it is a new profile or the version is unknown
2113
   * @param {string?} [aOldPlatformVersion]
2136
   * @param {string?} [aOldPlatformVersion]
2114
   *        The version of the platform last run with this profile or null
2137
   *        The version of the platform last run with this profile or null
2115
   *        if it is a new profile or the version is unknown
2138
   *        if it is a new profile or the version is unknown
2116
   */
2139
   */
2117
  startup(aAppChanged, aOldAppVersion, aOldPlatformVersion) {
2140
  startup(aAppChanged, aOldAppVersion, aOldPlatformVersion) {
2141
    // Add missing certificate (bug 1548973). Mistakenly disabled add-ons are
2142
    // going to be re-enabled because the schema version bump forces a new
2143
    // signature verification check.
2144
    addMissingIntermediateCertificate();
2118
    try {
2145
    try {
2119
      AddonManagerPrivate.recordTimestamp("XPI_startup_begin");
2146
      AddonManagerPrivate.recordTimestamp("XPI_startup_begin");
2120
2147
2121
      logger.debug("startup");
2148
      logger.debug("startup");
2122
2149
2123
      this.builtInAddons = {};
2150
      this.builtInAddons = {};
2124
      try {
2151
      try {
2125
        let url = Services.io.newURI(BUILT_IN_ADDONS_URI);
2152
        let url = Services.io.newURI(BUILT_IN_ADDONS_URI);

Return to bug 685140