9eec91
diff -up firefox-84.0.2/security/certverifier/NSSCertDBTrustDomain.cpp.nss-hack firefox-84.0.2/security/certverifier/NSSCertDBTrustDomain.cpp
9eec91
--- firefox-84.0.2/security/certverifier/NSSCertDBTrustDomain.cpp.nss-hack      2021-01-11 12:12:02.585514543 +0100
9eec91
+++ firefox-84.0.2/security/certverifier/NSSCertDBTrustDomain.cpp       2021-01-11 12:47:50.345984582 +0100
9eec91
@@ -1619,6 +1619,15 @@ SECStatus InitializeNSS(const nsACString
9eec91
     return srv;
9eec91
   }
9eec91

9eec91
+  /* Sets the NSS_USE_ALG_IN_ANY_SIGNATURE bit.
9eec91
+   * does not change NSS_USE_ALG_IN_CERT_SIGNATURE,
9eec91
+   * so policy will still disable use of sha1 in
9eec91
+   * certificate related signature processing. */
9eec91
+  srv = NSS_SetAlgorithmPolicy(SEC_OID_SHA1, NSS_USE_ALG_IN_ANY_SIGNATURE, 0);
9eec91
+  if (srv != SECSuccess) {
9eec91
+    NS_WARNING("Unable to use SHA1 for Add-ons, expect broken/disabled Add-ons. See https://bugzilla.redhat.com/show_bug.cgi?id=1908018 for details.");
9eec91
+  }
9eec91
+
9eec91
   if (nssDbConfig == NSSDBConfig::ReadWrite) {
9eec91
     UniquePK11SlotInfo slot(PK11_GetInternalKeySlot());
9eec91
     if (!slot) {