You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by bo...@apache.org on 2009/02/26 10:31:44 UTC

svn commit: r748067 - in /commons/sandbox/compress/trunk/src: main/java/org/apache/commons/compress/archivers/jar/ main/java/org/apache/commons/compress/archivers/zip/ test/java/org/apache/commons/compress/

Author: bodewig
Date: Thu Feb 26 09:31:43 2009
New Revision: 748067

URL: http://svn.apache.org/viewvc?rev=748067&view=rev
Log:
correct signature detection of ZIP archives.

Modified:
    commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/jar/JarArchiveInputStream.java
    commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveInputStream.java
    commons/sandbox/compress/trunk/src/test/java/org/apache/commons/compress/DetectArchiverTestCase.java

Modified: commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/jar/JarArchiveInputStream.java
URL: http://svn.apache.org/viewvc/commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/jar/JarArchiveInputStream.java?rev=748067&r1=748066&r2=748067&view=diff
==============================================================================
--- commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/jar/JarArchiveInputStream.java (original)
+++ commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/jar/JarArchiveInputStream.java Thu Feb 26 09:31:43 2009
@@ -41,37 +41,6 @@
     }
 
     public static boolean matches(byte[] signature, int length ) {
-        // 4b50 0403 0014 0008
-
-        if (length < 8) {
-            return false;
-        }
-
-        if (signature[0] != 0x50) {
-            return false;
-        }
-        if (signature[1] != 0x4b) {
-            return false;
-        }
-        if (signature[2] != 0x03) {
-            return false;
-        }
-        if (signature[3] != 0x04) {
-            return false;
-        }
-        if (signature[4] != 0x14) {
-            return false;
-        }
-        if (signature[5] != 0x00) {
-            return false;
-        }
-        if (signature[6] != 0x08) {
-            return false;
-        }
-        if (signature[7] != 0x00) {
-            return false;
-        }
-
-        return true;
+        return ZipArchiveInputStream.matches(signature, length);
     }
 }

Modified: commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveInputStream.java
URL: http://svn.apache.org/viewvc/commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveInputStream.java?rev=748067&r1=748066&r2=748067&view=diff
==============================================================================
--- commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveInputStream.java (original)
+++ commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveInputStream.java Thu Feb 26 09:31:43 2009
@@ -54,36 +54,15 @@
     }
 
 
-    public static boolean matches( byte[] signature, int length ) {
-        // 4b50 0403 0014 0000
-
-        if (length < 8) {
+    public static boolean matches(byte[] signature, int length) {
+        if (length < ZipArchiveOutputStream.LFH_SIG.length) {
             return false;
         }
 
-        if (signature[0] != 0x50) {
-            return false;
-        }
-        if (signature[1] != 0x4b) {
-            return false;
-        }
-        if (signature[2] != 0x03) {
-            return false;
-        }
-        if (signature[3] != 0x04) {
-            return false;
-        }
-        if (signature[4] != 0x14) {
-            return false;
-        }
-        if (signature[5] != 0x00) {
-            return false;
-        }
-        if (signature[6] != 0x00) {
-            return false;
-        }
-        if (signature[7] != 0x00) {
-            return false;
+        for (int i = 0; i < ZipArchiveOutputStream.LFH_SIG.length; i++) {
+            if (signature[i] != ZipArchiveOutputStream.LFH_SIG[i]) {
+                return false;
+            }
         }
 
         return true;

Modified: commons/sandbox/compress/trunk/src/test/java/org/apache/commons/compress/DetectArchiverTestCase.java
URL: http://svn.apache.org/viewvc/commons/sandbox/compress/trunk/src/test/java/org/apache/commons/compress/DetectArchiverTestCase.java?rev=748067&r1=748066&r2=748067&view=diff
==============================================================================
--- commons/sandbox/compress/trunk/src/test/java/org/apache/commons/compress/DetectArchiverTestCase.java (original)
+++ commons/sandbox/compress/trunk/src/test/java/org/apache/commons/compress/DetectArchiverTestCase.java Thu Feb 26 09:31:43 2009
@@ -58,7 +58,7 @@
                                                                         new BufferedInputStream(new FileInputStream(
                                                                                                                     new File(getClass().getClassLoader().getResource("bla.jar").getFile()))));
         assertNotNull(jar);
-        assertTrue(jar instanceof JarArchiveInputStream);
+        assertTrue(jar instanceof ZipArchiveInputStream);
 
         final ArchiveInputStream cpio = factory.createArchiveInputStream(
                                                                          new BufferedInputStream(new FileInputStream(