Commit a1375562 authored by Dietmar Maurer's avatar Dietmar Maurer

fix multipart parser

Content-Type is optional and not well defined, so do not use it.
parent b4acd24b
...@@ -512,23 +512,25 @@ sub file_upload_multipart { ...@@ -512,23 +512,25 @@ sub file_upload_multipart {
} }
if (!($disp && $disp eq 'form-data' && $name)) { if (!($disp && $disp eq 'form-data' && $name)) {
syslog('err', "wrong content disposition im multipart - abort upload"); syslog('err', "wrong content disposition in multipart - abort upload");
$rstate->{phase} = -1; $rstate->{phase} = -1;
} else { } else {
$rstate->{fieldname} = $name; $rstate->{fieldname} = $name;
if (!$ct) { if ($filename) {
# found form data for field $name if ($name eq 'filename') {
$rstate->{phase} = 2;
} elsif ($ct && $ct eq 'application/octet-stream' && $name eq 'filename' && $filename) {
# found file upload data # found file upload data
$rstate->{phase} = 1; $rstate->{phase} = 1;
$rstate->{filename} = $filename; $rstate->{filename} = $filename;
} else { } else {
syslog('err', "wrong content type '$ct' im multipart - abort upload"); syslog('err', "wrong field name for file upload - abort upload");
$rstate->{phase} = -1; $rstate->{phase} = -1;
} }
} else {
# found form data for field $name
$rstate->{phase} = 2;
}
} }
} else { } else {
my $len = length($hdl->{rbuf}); my $len = length($hdl->{rbuf});
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment