hi, i posted this message to the yahoo group about soap, but i thought i +'d cover all the bases. here's my posted mesg: After using SOAP::Lite with Perl 5.6.1, I discovered a bug in the software. the problem seems to be with the regex engine and the lines: $_[0] =~ /^(\w+):/ or die "proxy: transport protocol not specified\n +"; my $protocol = uc $1; # untainted now the problem is that the $1 appears to be interpolated in the wrong context. the uc call ends up being AUTOLOAD'ed and calling proxy->ToUpper from the utf8_heavy library. I must confess ignorance as to why this occurs, but here's a super easy patch that will solves the problem for 5.6.1 and will work in 5.005 versions too: it's just wrapping the $1 in a join() to force string context. --- Lite.pm.orig Wed Jun 27 13:28:08 2001 +++ Lite.pm.new Wed Jun 27 15:50:14 2001 @@ -120,7 +120,8 @@ return $self->{_proxy} unless @_; $_[0] =~ /^(\w+):/ or die "proxy: transport protocol not specified\ +n"; - my $protocol = uc $1; # untainted now + ## need to join $1 to force string context in 5.6.1 + my $protocol = uc(join("",$1)); # untainted now # https: should be done through Transport::HTTP.pm for ($protocol) { s/^HTTPS$/HTTP/ } Cheers dave viner
In reply to Re^3: SOAP::Lite and proxy settings
by doowah2004
in thread SOAP::Lite and proxy settings
by mrguy123
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |