When you handle a multipart/form-data post with libapreq quotes in
filenames are mishandled. For example, a post that includes:
Content-Disposition: form-data; name="foo"; filename="break"here.jpg"
Will result in a filename of just 'break'.
To reproduce, set up a test following the snippets below, and upload a
file named 'break"here.jpg' to the resulting form.
I'm using Apache/2.2.9 (Ubuntu) DAV/2 SVN/1.5.1 mod_ssl/2.2.9
OpenSSL/0.9.8g mod_apreq2-20051231/2.6.0 mod_perl/2.0.4 Perl/v5.10.0
In your error log you will see just 'break'.
---httpd.conf---
<Perl>
use lib qw(/home/mcrawfor/);
</Perl>
PerlModule QuoteParse
<Location /test/>
SetHandler perl-script
PerlResponseHandler QuoteParse
</Location>
---QuoteParse.pm---
package QuoteParse;
use strict;
use warnings;
use Apache2::RequestRec ();
use Apache2::Request ();
use Apache2::Const -compile => qw(OK);
sub handler {
my $r = shift;
my $req = Apache2::Request->new($r);
warn $req->param('foo');
$r->content_type('text/html');
print "<form method='post' enctype='multipart/form-data'><input
type='file' name='foo'><input type='submit'></form>";
return Apache2::Const::OK;
}
1;