[Mono-bugs] [Bug 597556] New: HttpWebRequest doesn't ignore chunk-extension in chunked encoding
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Sat Apr 17 01:48:19 EDT 2010
http://bugzilla.novell.com/show_bug.cgi?id=597556
http://bugzilla.novell.com/show_bug.cgi?id=597556#c0
Summary: HttpWebRequest doesn't ignore chunk-extension in
chunked encoding
Classification: Mono
Product: Mono: Class Libraries
Version: 2.6.x
Platform: All
OS/Version: All
Status: NEW
Severity: Minor
Priority: P5 - None
Component: System
AssignedTo: mono-bugs at lists.ximian.com
ReportedBy: brian at sooloos.com
QAContact: mono-bugs at lists.ximian.com
Found By: ---
Blocker: ---
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US)
AppleWebKit/533.2 (KHTML, like Gecko) Chrome/5.0.342.9 Safari/533.2
see http/1.1 docs here:
http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.6.1
It is legal for an HTTP/1.1 server to send an optional chunk-extension after a
chunk-size. The chunk decoder in the GetChunkSize method in ChunkStream.cs is
clearly just reading the chunk header until it sees \r\n and trying to parse
the result as a HexNumber directly.
This fails if the chunk has a chunk-extension since the string being parsed
would look like "1A0; foo\r\n" instead of the more common "1A0\r\n".
The chunk decoder should instead read up to a semicolon OR \r\n, parse those
characters as a hex number, then in the case where it read up to a semicolon,
discard bytes until an \r\n is encountered.
Reproducible: Always
Steps to Reproduce:
1. set up a webrequest to a server that sends chunk-extension
2. call GetResponse() on it
3. call GetResponseStream() on the response
4. call Read(...) on the stream.
Actual Results:
mono http stack throws a protocol violation "Cannot parse chunk size."
Expected Results:
mono reads the data sent by the server, ignoring the chunk-extension
--
Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the mono-bugs
mailing list