Project

General

Profile

Actions

Bug #1796

closed

open-uri doesn't support multiline server headers

Added by m.carrasco.m (Manuel Carrasco) about 13 years ago. Updated over 11 years ago.

Status:
Closed
Priority:
Normal
ruby -v:
ruby 1.8.7 (2008-05-31 patchlevel 0) [i686-linux]
[ruby-core:24459]

Description

=begin
When a server sends a multiline header, open-uri raises an exception with the message 'wrong header line format'.

Multi-line headers are valid since RFC 2616 says: 'Each header field consists of a name followed by a colon (":") and the field value. Field names are case-insensitive. The field value MAY be preceded by any amount of LWS, though a single SP is preferred. Header fields can be extended over multiple lines by preceding each extra line with at least one SP or HT'.

The problem is in the line 2034 of net/http.rb where the code handles response headers. It reads bytes until a new line character is detected and expects each header in one line. Nonetheless it has to read until a line followed by a non space/tab character is detected.
=end


Files

open_uri_multiline_headers.patch (540 Bytes) open_uri_multiline_headers.patch m.carrasco.m (Manuel Carrasco), 09/02/2009 12:36 AM
Actions #1

Updated by m.carrasco.m (Manuel Carrasco) about 13 years ago

=begin
I attach a patch that fixes this bug.
The patch makes extra header lines be ignored.

Thanks

=end

Actions #2

Updated by naruse (Yui NARUSE) almost 13 years ago

  • Category set to lib
  • Status changed from Open to Assigned
  • Assignee set to akr (Akira Tanaka)

=begin

=end

Actions #3

Updated by nahi (Hiroshi Nakamura) almost 13 years ago

=begin
I fixed the bug of net/http at r25577.

Manuel, would you please post the actual HTTP response header that caused the problem?
I added some tests but I want to ensure the problem won't happen again for you.
Thanks in advance.
=end

Actions #4

Updated by naruse (Yui NARUSE) almost 13 years ago

  • Status changed from Assigned to Feedback

=begin

=end

Actions #5

Updated by naruse (Yui NARUSE) almost 13 years ago

  • Status changed from Feedback to Closed

=begin

=end

Actions

Also available in: Atom PDF