Closed
Bug 224537
Opened 21 years ago
Closed 21 years ago
[FIXr]Handling of 1xx provisional responses not RFC2616-compliant
Categories
(Core :: Networking: HTTP, defect, P2)
Tracking
()
RESOLVED
FIXED
mozilla1.6beta
People
(Reporter: jorton, Assigned: bzbarsky)
Details
Attachments
(1 file, 2 obsolete files)
1.29 KB,
patch
|
Details | Diff | Splinter Review |
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4.1) Gecko/20031008 Build Identifier: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4.1) Gecko/20031008 Mozilla handles provisional responses with the "100" code correctly, but RFC2616 requires that any 1xx responses are handled the same--section 10.1: A client MUST be prepared to accept one or more 1xx status responses prior to a regular response, even if the client does not expect a 100 (Continue) status message. Unexpected 1xx status responses MAY be ignored by a user agent. Reproducible: Always Steps to Reproduce: Here's an nph- CGI script you can use with Apache to reproduce it: #!/bin/sh printf "HTTP/1.1 101 Blah\r\n" printf "Header: foo\n" printf "\r\n" printf "HTTP/1.1 101 Blee\r\n" printf "\r\n" printf "HTTP/1.1 200 OK\r\n" echo "Server: fish" echo "Content-type: text/html" printf "\r\n" echo "This is content!" install this as cgi-bin/nph-101 then request it with Mozilla. Actual Results: Mozilla renders: HTTP/1.1 101 Blee HTTP/1.1 200 OK Server: fish Content-type: text/html This is content! Expected Results: Mozilla should render just: This is content!
Comment 1•21 years ago
|
||
Confirmed (based on reading the RFC and LXR), but not tested. I think we just need to change this line in nsHttpTransaction: http://lxr.mozilla.org/seamonkey/source/netwerk/protocol/http/src/nsHttpTransact ion.cpp#591 591 // discard this response if it is a 100 continue. 592 if (mResponseHead->Status() == 100) { 593 LOG(("ignoring 100 response\n")); 594 mHaveStatusLine = PR_FALSE; 595 mResponseHead->Reset(); 596 return NS_OK; 597 }
Status: UNCONFIRMED → NEW
Ever confirmed: true
Assignee | ||
Comment 2•21 years ago
|
||
Assignee | ||
Updated•21 years ago
|
Attachment #134722 -
Flags: review?(darin)
Comment 3•21 years ago
|
||
Comment on attachment 134722 [details] [diff] [review] Something like that? r=darin if you update the LOG statement to something like "ignoring 1xx response" ;)
Attachment #134722 -
Flags: review?(darin) → review+
Assignee | ||
Comment 4•21 years ago
|
||
Attachment #134722 -
Attachment is obsolete: true
Assignee | ||
Updated•21 years ago
|
Attachment #134728 -
Flags: superreview?(darin)
Attachment #134728 -
Flags: review?(darin)
Comment 5•21 years ago
|
||
Comment on attachment 134728 [details] [diff] [review] Better logging no need to log the exact status code. it is already logged in ParseStatusLine. that's why i suggested "ignoring 1xx response\n" since http logging is enabled by default, we should keep it brief (though of course it is already super verbose!)
Attachment #134728 -
Flags: superreview?(darin)
Attachment #134728 -
Flags: superreview+
Attachment #134728 -
Flags: review?(darin)
Attachment #134728 -
Flags: review+
Assignee | ||
Comment 6•21 years ago
|
||
Attachment #134728 -
Attachment is obsolete: true
Assignee | ||
Comment 7•21 years ago
|
||
taking
Assignee: darin → bz-vacation
Priority: -- → P2
Summary: Handling of 1xx provisional responses not RFC2616-compliant → [FIXr]Handling of 1xx provisional responses not RFC2616-compliant
Target Milestone: --- → mozilla1.6beta
Assignee | ||
Comment 8•21 years ago
|
||
Checked in.
Status: NEW → RESOLVED
Closed: 21 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•