[jboss-cvs] JBossAS SVN: r112045 - in projects/vfs/branches/2.2.0.SP1_JBPAPP-6983/src: test/java/org/jboss/test/virtual/test and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Aug 12 12:58:22 EDT 2011
Author: miclark
Date: 2011-08-12 12:58:21 -0400 (Fri, 12 Aug 2011)
New Revision: 112045
Modified:
projects/vfs/branches/2.2.0.SP1_JBPAPP-6983/src/main/java/org/jboss/virtual/plugins/context/zip/CertificateReaderInputStream.java
projects/vfs/branches/2.2.0.SP1_JBPAPP-6983/src/test/java/org/jboss/test/virtual/test/VirtualFileUnitTestCase.java
Log:
[JBPAPP-6983] Backported code changes from JBVFS-176
Modified: projects/vfs/branches/2.2.0.SP1_JBPAPP-6983/src/main/java/org/jboss/virtual/plugins/context/zip/CertificateReaderInputStream.java
===================================================================
--- projects/vfs/branches/2.2.0.SP1_JBPAPP-6983/src/main/java/org/jboss/virtual/plugins/context/zip/CertificateReaderInputStream.java 2011-08-12 16:26:52 UTC (rev 112044)
+++ projects/vfs/branches/2.2.0.SP1_JBPAPP-6983/src/main/java/org/jboss/virtual/plugins/context/zip/CertificateReaderInputStream.java 2011-08-12 16:58:21 UTC (rev 112045)
@@ -50,6 +50,9 @@
/** Is stream closed */
private boolean closed;
+ /** Has the entry been consumed */
+ private boolean consumedEntry ;
+
/**
* ZipEntryInputStream constructor.
*
@@ -82,7 +85,8 @@
try
{
- info.readCertificates();
+ if (consumedEntry)
+ info.readCertificates();
}
finally
{
@@ -108,7 +112,8 @@
}
finally
{
- streamClosed(rc < 0);
+ consumedEntry = (rc < 0);
+ streamClosed(consumedEntry);
}
}
@@ -131,7 +136,8 @@
}
finally
{
- streamClosed(rc < 0);
+ consumedEntry = (rc < 0);
+ streamClosed(consumedEntry);
}
}
@@ -155,7 +161,8 @@
}
finally
{
- streamClosed(rc < 0);
+ consumedEntry = (rc < 0);
+ streamClosed(consumedEntry);
}
}
Modified: projects/vfs/branches/2.2.0.SP1_JBPAPP-6983/src/test/java/org/jboss/test/virtual/test/VirtualFileUnitTestCase.java
===================================================================
--- projects/vfs/branches/2.2.0.SP1_JBPAPP-6983/src/test/java/org/jboss/test/virtual/test/VirtualFileUnitTestCase.java 2011-08-12 16:26:52 UTC (rev 112044)
+++ projects/vfs/branches/2.2.0.SP1_JBPAPP-6983/src/test/java/org/jboss/test/virtual/test/VirtualFileUnitTestCase.java 2011-08-12 16:58:21 UTC (rev 112045)
@@ -1345,8 +1345,6 @@
public void testCertificates() throws Exception
{
- //Debug.getInstance("jar");
-
URL url = getResource("/vfs/test/cert_test.jar");
VirtualFile jar = VFS.getRoot(url);
VirtualFile clazz = jar.findChild("examplets/plugins/impl/AnotherInjectedPlugin.class");
@@ -1357,4 +1355,24 @@
Certificate[] certs = clazz.getCertificates();
assertNotNull("No certificates: " + clazz, certs);
}
+
+ public void testCertificatesNoRead() throws Exception
+ {
+ URL url = getResource("/vfs/test/cert_test.jar");
+ VirtualFile jar = VFS.getRoot(url);
+ VirtualFile clazz = jar.findChild("examplets/plugins/impl/AnotherInjectedPlugin.class");
+
+ // Closing the stream without consuming the entry will cause the signature information to be ignored
+ InputStream tmp = clazz.openStream();
+ tmp.close() ;
+
+ Certificate[] certs = clazz.getCertificates();
+ assertNull("Certificates present: " + clazz, certs);
+
+ tmp = clazz.openStream();
+ VFSUtils.copyStreamAndClose(tmp, new ByteArrayOutputStream()); // dummy read
+
+ certs = clazz.getCertificates();
+ assertNotNull("No certificates: " + clazz, certs);
+ }
}
More information about the jboss-cvs-commits
mailing list