[prev in list] [next in list] [prev in thread] [next in thread] 

List:       httpcomponents-commits
Subject:    svn commit: r389604 - in /jakarta/httpcomponents/trunk/http-core/src:
From:       olegk () apache ! org
Date:       2006-03-28 21:03:48
Message-ID: 20060328210349.83573.qmail () minotaur ! apache ! org
[Download RAW message or body]

Author: olegk
Date: Tue Mar 28 13:03:47 2006
New Revision: 389604

URL: http://svn.apache.org/viewcvs?rev=389604&view=rev
Log:
Reverted to Integer#parseInt for parsing numbers in HTTP messages

Removed:
    jakarta/httpcomponents/trunk/http-core/src/java/org/apache/http/util/NumUtils.java
  jakarta/httpcomponents/trunk/http-core/src/test/org/apache/http/util/TestNumUtils.java
 Modified:
    jakarta/httpcomponents/trunk/http-core/src/java/org/apache/http/HttpVersion.java
    jakarta/httpcomponents/trunk/http-core/src/java/org/apache/http/io/ChunkedInputStream.java
  jakarta/httpcomponents/trunk/http-core/src/test/org/apache/http/io/TestChunkCoding.java
  jakarta/httpcomponents/trunk/http-core/src/test/org/apache/http/util/TestAllUtil.java


Modified: jakarta/httpcomponents/trunk/http-core/src/java/org/apache/http/HttpVersion.java
                
URL: http://svn.apache.org/viewcvs/jakarta/httpcomponents/trunk/http-core/src/java/org/apache/http/HttpVersion.java?rev=389604&r1=389603&r2=389604&view=diff
 ==============================================================================
--- jakarta/httpcomponents/trunk/http-core/src/java/org/apache/http/HttpVersion.java \
                (original)
+++ jakarta/httpcomponents/trunk/http-core/src/java/org/apache/http/HttpVersion.java \
Tue Mar 28 13:03:47 2006 @@ -31,7 +31,6 @@
 
 import org.apache.http.io.CharArrayBuffer;
 import org.apache.http.protocol.HTTP;
-import org.apache.http.util.NumUtils;
 
 /**
  *  <p>HTTP version, as specified in RFC 2616.</p>
@@ -257,13 +256,13 @@
                         buffer.substring(indexFrom, indexTo));
             }
             try {
-                major = NumUtils.parseUnsignedInt(buffer, i, period); 
+                major = Integer.parseInt(buffer.substringTrimmed(i, period)); 
             } catch (NumberFormatException e) {
                 throw new ProtocolException("Invalid HTTP major version number: " + 
                         buffer.substring(indexFrom, indexTo));
             }
             try {
-                minor = NumUtils.parseUnsignedInt(buffer, period + 1, indexTo); 
+                minor = Integer.parseInt(buffer.substringTrimmed(period + 1, \
indexTo));   } catch (NumberFormatException e) {
                 throw new ProtocolException("Invalid HTTP minor version number: " + 
                         buffer.substring(indexFrom, indexTo));

Modified: jakarta/httpcomponents/trunk/http-core/src/java/org/apache/http/io/ChunkedInputStream.java
                
URL: http://svn.apache.org/viewcvs/jakarta/httpcomponents/trunk/http-core/src/java/org/apache/http/io/ChunkedInputStream.java?rev=389604&r1=389603&r2=389604&view=diff
 ==============================================================================
--- jakarta/httpcomponents/trunk/http-core/src/java/org/apache/http/io/ChunkedInputStream.java \
                (original)
+++ jakarta/httpcomponents/trunk/http-core/src/java/org/apache/http/io/ChunkedInputStream.java \
Tue Mar 28 13:03:47 2006 @@ -36,7 +36,6 @@
 import org.apache.http.HttpException;
 import org.apache.http.protocol.HTTP;
 import org.apache.http.util.ExceptionUtils;
-import org.apache.http.util.NumUtils;
 
 /**
  * <p>This class implements chunked transfer coding as described in the 
@@ -232,6 +231,9 @@
      */
     private void nextChunk() throws IOException {
         chunkSize = getChunkSize();
+        if (chunkSize < 0) {
+            throw new MalformedChunkCodingException("Negative chunk size");
+        }
         bof = false;
         pos = 0;
         if (chunkSize == 0) {
@@ -275,7 +277,7 @@
             separator = this.buffer.length();
         }
         try {
-            return NumUtils.parseUnsignedHexInt(this.buffer, 0, separator);
+            return Integer.parseInt(this.buffer.substringTrimmed(0, separator), 16);
         } catch (NumberFormatException e) {
             throw new MalformedChunkCodingException("Bad chunk header");
         }

Modified: jakarta/httpcomponents/trunk/http-core/src/test/org/apache/http/io/TestChunkCoding.java
                
URL: http://svn.apache.org/viewcvs/jakarta/httpcomponents/trunk/http-core/src/test/org/apache/http/io/TestChunkCoding.java?rev=389604&r1=389603&r2=389604&view=diff
 ==============================================================================
--- jakarta/httpcomponents/trunk/http-core/src/test/org/apache/http/io/TestChunkCoding.java \
                (original)
+++ jakarta/httpcomponents/trunk/http-core/src/test/org/apache/http/io/TestChunkCoding.java \
Tue Mar 28 13:03:47 2006 @@ -258,6 +258,20 @@
         }
     }
 
+    // Negative chunk size
+    public void testCorruptChunkedInputStreamNegativeSize() throws IOException {
+        String s = "-5\r\n01234\r\n5\r\n56789\r\n0\r\n";
+        InputStream in = new ChunkedInputStream(
+                new HttpDataReceiverMockup(
+                        EncodingUtils.getBytes(s, CONTENT_CHARSET)));
+        try {
+            in.read();
+            fail("MalformedChunkCodingException should have been thrown");
+        } catch(MalformedChunkCodingException e) {
+            /* expected exception */
+        }
+    }
+
     // Invalid footer
     public void testCorruptChunkedInputStreamInvalidFooter() throws IOException {
         String s = "1\r\n0\r\n0\r\nstuff\r\n";

Modified: jakarta/httpcomponents/trunk/http-core/src/test/org/apache/http/util/TestAllUtil.java
                
URL: http://svn.apache.org/viewcvs/jakarta/httpcomponents/trunk/http-core/src/test/org/apache/http/util/TestAllUtil.java?rev=389604&r1=389603&r2=389604&view=diff
 ==============================================================================
--- jakarta/httpcomponents/trunk/http-core/src/test/org/apache/http/util/TestAllUtil.java \
                (original)
+++ jakarta/httpcomponents/trunk/http-core/src/test/org/apache/http/util/TestAllUtil.java \
Tue Mar 28 13:03:47 2006 @@ -43,7 +43,6 @@
         suite.addTest(TestEncodingUtils.suite());
         suite.addTest(TestDateUtils.suite());
         suite.addTest(TestEntityUtils.suite());
-        suite.addTest(TestNumUtils.suite());
         return suite;
     }
 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic