Package: libwww-perl Version: 6.04-1 Tags: ipv6, patch The current version of LWP::UserAgent apparently dislikes IPv6 addresses given for proxies. Consider, e. g.:
$ http_proxy=http://\[2001:db8::1\]:3128/ perl -e ' use strict; use warnings; require LWP::UserAgent; my $ua = LWP::UserAgent->new (); $ua->env_proxy (); my $r = $ua->get ("http://www.example.org/"); warn ($r->status_line ()); die () unless ($r->is_success ());' Bad http proxy specification 'http://[2001:db8::1]:3128/' at -e line 1 $ The patch hereby suggested turns it into: 200 OK at -e line 1. (provided that an IPv6 address of an active HTTP proxy is given.) TIA. -- FSF associate member #7257
--- /usr/share/perl5/LWP/UserAgent.pm 2012-02-18 17:18:12.000000000 +0000 +++ /usr/share/perl5/LWP/UserAgent.pm 2013-07-04 18:24:36.000000000 +0000 @@ -985,7 +985,8 @@ my $url = shift; if (defined($url) && length($url)) { Carp::croak("Proxy must be specified as absolute URI; '$url' is not") unless $url =~ /^$URI::scheme_re:/; - Carp::croak("Bad http proxy specification '$url'") if $url =~ /^https?:/ && $url !~ m,^https?://\w,; + Carp::croak("Bad http proxy specification '$url'") + if $url =~ /^https?:/ && $url !~ m,^https?://(\w|\[),; } $self->{proxy}{$key} = $url; $self->set_my_handler("request_preprepare", \&_need_proxy)