bug 613603 - Don't check the manifest in the omnijar r=tglek a=blocking-fennec
authorMichael Wu <mwu@mozilla.com>
Tue, 23 Nov 2010 21:14:52 -0500
changeset 58122 4deec1586536fe0773aab091b4c259b3d0d753a7
parent 58121 2aceea4f527bfa32a2db95f7b465ef4961b24a95
child 58123 9c3babe383e147c4ec8e1fb11462fd0425d49c42
push id17166
push userblassey@mozilla.com
push dateWed, 24 Nov 2010 02:17:51 +0000
treeherdermozilla-central@4deec1586536 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerstglek, blocking-fennec
bugs613603
milestone2.0b8pre
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
bug 613603 - Don't check the manifest in the omnijar r=tglek a=blocking-fennec
modules/libjar/nsJAR.cpp
--- a/modules/libjar/nsJAR.cpp
+++ b/modules/libjar/nsJAR.cpp
@@ -388,16 +388,23 @@ nsJAR::GetInputStreamWithSpec(const nsAC
 NS_IMETHODIMP
 nsJAR::GetCertificatePrincipal(const char* aFilename, nsIPrincipal** aPrincipal)
 {
   //-- Parameter check
   if (!aPrincipal)
     return NS_ERROR_NULL_POINTER;
   *aPrincipal = nsnull;
 
+#ifdef MOZ_OMNIJAR
+  // Don't check signatures in the omnijar - this is only
+  // interesting for extensions/XPIs.
+  if (mZip == mozilla::OmnijarReader())
+    return NS_OK;
+#endif
+
   //-- Parse the manifest
   nsresult rv = ParseManifest();
   if (NS_FAILED(rv)) return rv;
   if (mGlobalStatus == JAR_NO_MANIFEST)
     return NS_OK;
 
   PRInt16 requestedStatus;
   if (aFilename)