Upstream proxmox-git/pve-http-server state of the touched files before e5201cc2e8

This commit is contained in:
upstream committed 2026-09-25 07:15:08 +02:00
1 parent 4f58bd2e24
commit 6ac04472a9
1 file changed
+8 -11
+8 -11
View File
@@ -1303,9 +1303,8 @@ sub file_upload_multipart {
my $extract_form_disposition = sub {
my ($name) = @_;
# parameter values can be a token or a quoted-string, see RFC 7578, section 4.2
if ($hdl->{rbuf} =~
s/^${delim_re}.*?Content-Disposition: (.*?); name=(?:"\Q$name\E"|\Q$name\E(?=[;\s]))(.*?${delim_re})/$2/s
s/^${delim_re}.*?Content-Disposition: (.*?); name="$name"(.*?${delim_re})/$2/s
) {
assert_form_disposition($1);
$remove_until_data->($hdl);
@@ -1320,14 +1319,13 @@ sub file_upload_multipart {
$extract_form_disposition->('checksum');
if ($hdl->{rbuf} =~
s/^${delim_re}Content-Disposition: (.*?); name=(?:"(.*?)"|([^\s;"]+)); filename=(?:"([^"]+)"|([^\s;"]+))//s
s/^${delim_re}Content-Disposition: (.*?); name="(.*?)"; filename="([^"]+)"//s
) {
my ($disposition, $field, $filename) = ($1, $2 // $3, $4 // $5);
assert_form_disposition($disposition);
die "wrong field name '$field' for file upload, expected 'filename'"
if $field ne "filename";
assert_form_disposition($1);
die "wrong field name '$2' for file upload, expected 'filename'"
if $2 ne "filename";
$rstate->{phase} = 2;
$rstate->{params}->{filename} = trim($filename);
$rstate->{params}->{filename} = trim($3);
$remove_until_data->($hdl); # any remaining multipart "headers" like Content-Type
}
}
@@ -1384,9 +1382,8 @@ sub parse_content_type {
my ($ct, @params) = split(/\s*[;,]\s*/o, $ctype);
foreach my $v (@params) {
# the boundary may be given as quoted-string, see RFC 2046, section 5.1.1
if ($v =~ m/^\s*boundary\s*=\s*(?:"([^"]+)"|(\S+?))\s*$/o) {
return wantarray ? ($ct, $1 // $2) : $ct;
if ($v =~ m/^\s*boundary\s*=\s*(\S+?)\s*$/o) {
return wantarray ? ($ct, $1) : $ct;
}
}