[Seems like Gnus' MIME composition support is a bit flaky, so let me redo the message without the MIMEs.] A new release of libwww-perl should now be on CPAN. This release contains an important security fix for those that use LWP from CGI scripts. It is recommended that everybody that use LWP::UserAgent (including LWP::Simple) in CGI scripts upgrade to this release. If you don't feel like upgrading you should at least apply the attached patch to the 'env_proxy' method. Changes since release 5.50 are: SECURITY FIX: If LWP::UserAgent::env_proxy is called in a CGI environment, the case-insensitivity when looking for "http_proxy" permits "HTTP_PROXY" to be found, but this can be trivially set by the web client using the "Proxy:" header. The fix applied is that $ENV{HTTP_PROXY} is not longer honored for CGI scripts. The CGI_HTTP_PROXY environment variable can be used instead. Problem reported by Randal L. Schwartz. Fix qop="auth" handling for Digest authentication. Patch by Dave Dunkin <dave_dunkin@hotmail.com>. Explicit setting of action on HTML::Form had no effect because of a code typo. Patch by BooK <book@netcourrier.com>. HTTP::Daemon: The CONNECT method need special treatment because it does not provide a URI as argument (just a "hostname:port"). The non-upward compatibility warning is that you must now call $request->url->host_port to get the host/port string for CONNECT, rather than calling $request->url and using the entire string. Based on patch from Randal L. Schwartz <merlyn@stonehenge.com> HTTP::Daemon: Create self URL based on $self->sockaddr. This works better when LocalAddr is used to specify the port number. Based on patch from Ben Low <ben@snrc.uow.edu.au>. Avoid potential '<FILE> chunk 1' messages at the end of the response 'message'. Regards, Gisle Index: lib/LWP/UserAgent.pm =================================================================== RCS file: /cvsroot/libwww-perl/lwp5/lib/LWP/UserAgent.pm,v retrieving revision 1.74 retrieving revision 1.77 diff -u -p -u -r1.74 -r1.77 --- lib/LWP/UserAgent.pm 2000/06/01 13:35:15 1.74 +++ lib/LWP/UserAgent.pm 2001/03/14 20:48:19 1.77 @@ -627,12 +627,24 @@ specify proxies like this (sh-syntax): Csh or tcsh users should use the C<setenv> command to define these environment variables. +On systems with case-insensitive environment variables there exists a +name clash between the CGI environment variables and the C<HTTP_PROXY> +environment variable normally picked up by env_proxy(). Because of +this C<HTTP_PROXY> is not honored for CGI scripts. The +C<CGI_HTTP_PROXY> environment variable can be used instead. + =cut sub env_proxy { my ($self) = @_; my($k,$v); while(($k, $v) = each %ENV) { + if ($ENV{REQUEST_METHOD}) { + # Need to be careful when called in the CGI environment, as + # the HTTP_PROXY variable is under control of that other guy. + next if $k =~ /^HTTP_/; + $k = "HTTP_PROXY" if $k eq "CGI_HTTP_PROXY"; + } $k = lc($k); next unless $k =~ /^(.*)_proxy$/; $k = $1;Thread Previous