diff options
Diffstat (limited to '')
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | scripts/multipart/multipart.cgi.in | 23 |
2 files changed, 28 insertions, 4 deletions
@@ -1,3 +1,10 @@ +2003-02-19 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03753] Fixed multipart.cgi + * scripts/multipart/multipart.cgi.in: remove w3m-control + use input hidden + add form_encode + 2003-02-18 WATANABE Katsuyuki <knabe@sannet.ne.jp> * [w3m-dev 03749] README.cygwin @@ -7167,4 +7174,4 @@ a * [w3m-dev 03276] compile error on EWS4800 * release-0-2-1 * import w3m-0.2.1 -$Id: ChangeLog,v 1.752 2003/02/17 16:02:04 ukai Exp $ +$Id: ChangeLog,v 1.753 2003/02/18 15:26:38 ukai Exp $ diff --git a/scripts/multipart/multipart.cgi.in b/scripts/multipart/multipart.cgi.in index 1dd981a..db8001c 100644 --- a/scripts/multipart/multipart.cgi.in +++ b/scripts/multipart/multipart.cgi.in @@ -77,7 +77,11 @@ if (defined($v{'count'})) { $_ = &decode($_, $MIME_DECODE); } if (s/^(\S+)\s*:\s*//) { - $hbody .= "$&$_\n"; + $h = $&; + if ($h =~ /^w3m-control/i) { + $h = "WARNING: $h"; + } + $hbody .= "$h$_\n"; $p = $1; $p =~ tr/A-Z/a-z/; $header{$p} = $_; @@ -192,9 +196,16 @@ while(! $end) { } else { $name = "Content"; } - print "<form action=\"$qcgi?file=$qfile&boundary=$qboundary&count=$count\">\n"; + print "<form action=\"$qcgi\">\n"; + print "<input type=hidden name=file value=\"$qfile\">\n"; + print "<input type=hidden name=boundary value=\"$qboundary\">\n"; + print "<input type=hidden name=count value=\"$count\">\n"; if ($image) { - print "<input type=image name=submit src=\"$qcgi?file=$qfile&boundary=$qboundary&count=$count\" alt=\"", + print "<input type=image name=submit src=\"$qcgi?file=", + &html_quote(&form_encode($file)), + "&boundary=", + &html_quote(&form_encode($boundary)), + "&count=$count\" alt=\"", &html_quote($name), "\">\n"; } else { print "<input type=submit name=submit value=\"", @@ -268,6 +279,12 @@ sub form_decode { return $_; } +sub form_encode { + local($_) = @_; + s/[\000-\040\+:#?&%<>"\177-\377]/sprintf('%%%02X', unpack('C', $&))/eg; + return $_; +} + sub guess_type { local($_) = @_; |