FYI, i'm not the only one seeing this bug.

Begin forwarded message:

From: " via RT" <[EMAIL PROTECTED]>
Date: August 13, 2005 8:55:10 PM MDT
To: [EMAIL PROTECTED]
Subject: [cpan #13025] parsing bug in HTTP::Message::parse()
Reply-To: [EMAIL PROTECTED]


Full context and any attached attachments can be found at:
<URL: http://rt.cpan.org/NoAuth/Bug.html?id=13025 >

[guest - Mon May 30 19:20:21 2005]:


Hi!

I've stumbled across a bug in multi-part messages in HTTP::Message.
If the message content contains something that looks like a header,
   it accidentally gets detected as a header.   However, a blank line
   after a header should signal the end of headers, and below it, the
   start of content as per the spec.  It just looks like your regex
   needs some tweeking, or maybe do something like this:


Found the same problem today... :(

  #!/usr/bin/perl
  use strict;
  use warnings;
  use HTTP::Message;
  use Data::Dumper;

  my $bad = qq(Content-Disposition: form-data; name="fetch_url"\n)
      . qq(\nhttp://www.jbisbee.com/\n);
  my $part = HTTP::Message->parse($bad);
  warn Dumper($part);

With the output...

  $VAR1 = bless( {
    '_content' => '',
    '_headers' => bless( {
      'content-disposition' => 'form-data; name="fetch_url"',
      '                                  '
http' => '//www.jbisbee.com/'
    }, 'HTTP::Headers' )
  }, 'HTTP::Message' );

of course this only happens with forms that specify

  enctype="multipart/form-data"

for uploads so it may be a bit hard to reproduce


--------------------------------------------
MobyGames
http://www.mobygames.com
The world's largest and most comprehensive
gaming database project

Reply via email to