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

650cfe
+  /* Sets the NSS_USE_ALG_IN_ANY_SIGNATURE bit.
650cfe
+   * does not change NSS_USE_ALG_IN_CERT_SIGNATURE,
650cfe
+   * so policy will still disable use of sha1 in
650cfe
+   * certificate related signature processing. */
650cfe
+  srv = NSS_SetAlgorithmPolicy(SEC_OID_SHA1, NSS_USE_ALG_IN_ANY_SIGNATURE, 0);
650cfe
+  if (srv != SECSuccess) {
650cfe
+    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.");
650cfe
+  }
650cfe
+
650cfe
   if (nssDbConfig == NSSDBConfig::ReadWrite) {
650cfe
     UniquePK11SlotInfo slot(PK11_GetInternalKeySlot());
650cfe
     if (!slot) {