r23242 - in /trunk/soap-lite: Changes MANIFEST META.yml Makefile.PL SOAP-Lite-0.710.06.ppd SOAP-Lite-0.710.06.zip debian/changelog lib/IO/SessionData.pm lib/SOAP/Lite.pm lib/SOAP/Transport/HTTP.pm t/06-modules.t t/SOAP/Transport/HTTP/CGI.t

dmn at users.alioth.debian.org dmn at users.alioth.debian.org
Tue Jul 15 13:54:17 UTC 2008


Author: dmn
Date: Tue Jul 15 13:54:14 2008
New Revision: 23242

URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=23242
Log:
New upstream bugfix release

Removed:
    trunk/soap-lite/SOAP-Lite-0.710.06.ppd
    trunk/soap-lite/SOAP-Lite-0.710.06.zip
Modified:
    trunk/soap-lite/Changes
    trunk/soap-lite/MANIFEST
    trunk/soap-lite/META.yml
    trunk/soap-lite/Makefile.PL
    trunk/soap-lite/debian/changelog
    trunk/soap-lite/lib/IO/SessionData.pm
    trunk/soap-lite/lib/SOAP/Lite.pm
    trunk/soap-lite/lib/SOAP/Transport/HTTP.pm
    trunk/soap-lite/t/06-modules.t
    trunk/soap-lite/t/SOAP/Transport/HTTP/CGI.t

Modified: trunk/soap-lite/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/soap-lite/Changes?rev=23242&op=diff
==============================================================================
--- trunk/soap-lite/Changes (original)
+++ trunk/soap-lite/Changes Tue Jul 15 13:54:14 2008
@@ -1,7 +1,7 @@
 #
 # Revision history for Perl extension SOAP::Lite.
 #
-# $Id: Changes 276 2008-06-13 19:04:55Z kutterma $
+# $Id: Changes 298 2008-07-13 20:36:52Z kutterma $
 
 The contents of this file provides a change history for the SOAP::Lite
 Perl module. New features are designated with a '+' and bug fixes with
@@ -15,6 +15,16 @@
 -----------------------------------------------------------------------
 THIS RELEASE
 -----------------------------------------------------------------------
+0.710.08 - Jul 13 2008
+   ! [ 2015071 ] HTTP header is no more accessible
+   The HTTP header can be pre-filled again. Now, the HTTP header is cloned
+   from a (possibly user defined) header for every request
+   ! #37358: Test Failure in Strawberry perl - IO::SessionData
+   ! #37359: Test Failure in Strawberry perl - IO::SessionSet
+   ! [ 2005296 ] CPANTS says META.yml broken
+   ! [ 2005288 ] CPANTS: has_humanreadable_license not ok
+   ! #37040: Memory leak when calling WS using wsdl
+   SOAP::Transport::HTTP->new() was leaking two scalars per call
 0.710.07
    ! [ 1963995 ] > not deserialized in result
    ! [ 1833218 ] < and > not deserialized in faultstring/detail

Modified: trunk/soap-lite/MANIFEST
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/soap-lite/MANIFEST?rev=23242&op=diff
==============================================================================
--- trunk/soap-lite/MANIFEST (original)
+++ trunk/soap-lite/MANIFEST Tue Jul 15 13:54:14 2008
@@ -223,5 +223,3 @@
 t/XML/Parser/adam.xml
 t/XML/Parser/Lite.t
 
-SOAP-Lite-0.710.06.ppd
-SOAP-Lite-0.710.06.zip

Modified: trunk/soap-lite/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/soap-lite/META.yml?rev=23242&op=diff
==============================================================================
--- trunk/soap-lite/META.yml (original)
+++ trunk/soap-lite/META.yml Tue Jul 15 13:54:14 2008
@@ -1,9 +1,10 @@
 --- #YAML:1.0
 name:                SOAP-Lite
-version:             0.710.07
-abstract:            ~
-license:             ~
-author:              ~
+version:             0.710.08
+abstract:            Perl's Web Services Toolkit
+license:             perl
+author:              
+    - Pavel Kulchenko, Randy J Ray, Byrne Reese, Martin Kutter (MKUTTER at cpan.org)
 generated_by:        ExtUtils::MakeMaker version 6.44
 distribution_type:   module
 requires:     

Modified: trunk/soap-lite/Makefile.PL
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/soap-lite/Makefile.PL?rev=23242&op=diff
==============================================================================
--- trunk/soap-lite/Makefile.PL (original)
+++ trunk/soap-lite/Makefile.PL Tue Jul 15 13:54:14 2008
@@ -167,13 +167,16 @@
 }
 
 ExtUtils::MakeMaker::WriteMakefile(
-    'NAME'	   => 'SOAP::Lite',
-    'VERSION_FROM' => 'lib/SOAP/Lite.pm',
-    'PREREQ_PM'    => {
+    'NAME'          => 'SOAP::Lite',
+    'AUTHOR'        =>  'Pavel Kulchenko, Randy J Ray, Byrne Reese, Martin Kutter (MKUTTER at cpan.org)',
+    'LICENSE'       => 'perl',
+    'VERSION_FROM'  => 'lib/SOAP/Lite.pm',
+    'ABSTRACT_FROM' => 'lib/SOAP/Lite.pm',
+    'PREREQ_PM'     => {
         %prereqs
      },
-    'EXE_FILES'    => ['bin/SOAPsh.pl', 'bin/XMLRPCsh.pl', 'bin/stubmaker.pl'],
-    test           => {TESTS => $tests},
+    'EXE_FILES'     => ['bin/SOAPsh.pl', 'bin/XMLRPCsh.pl', 'bin/stubmaker.pl'],
+    test            => {TESTS => $tests},
 );
 
 

Modified: trunk/soap-lite/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/soap-lite/debian/changelog?rev=23242&op=diff
==============================================================================
--- trunk/soap-lite/debian/changelog (original)
+++ trunk/soap-lite/debian/changelog Tue Jul 15 13:54:14 2008
@@ -1,3 +1,9 @@
+soap-lite (0.710.08-1) UNRELEASED; urgency=low
+
+  * New upstream bugfix release
+
+ -- Damyan Ivanov <dmn at debian.org>  Tue, 15 Jul 2008 16:53:51 +0300
+
 soap-lite (0.710.07-1) unstable; urgency=low
 
   [ gregor herrmann ]

Modified: trunk/soap-lite/lib/IO/SessionData.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/soap-lite/lib/IO/SessionData.pm?rev=23242&op=diff
==============================================================================
--- trunk/soap-lite/lib/IO/SessionData.pm (original)
+++ trunk/soap-lite/lib/IO/SessionData.pm Tue Jul 15 13:54:14 2008
@@ -19,9 +19,23 @@
 
 BEGIN {
     my @names = qw(EWOULDBLOCK EAGAIN EINPROGRESS);
-    my %WOULDBLOCK = 
-        (eval {require Errno} ? map {Errno->can($_)->() => 1} grep {Errno->can($_)} @names : ()),
-        (eval {require POSIX} ? map {POSIX->can($_)->() => 1} grep {POSIX->can($_)} @names : ());
+    my %WOULDBLOCK =
+        (eval {require Errno}
+            ? map {
+                Errno->can($_)
+                    ? (Errno->can($_)->() => 1)
+                    : (),
+                } @names
+            : ()
+        ),
+        (eval {require POSIX}
+            ? map {
+                eval { POSIX->can($_)->() }
+                    ? (POSIX->can($_)->() => 1)
+                    : ()
+                } @names
+            : ()
+        );
 
     sub WOULDBLOCK { $WOULDBLOCK{$_[0]+0} }
 }

Modified: trunk/soap-lite/lib/SOAP/Lite.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/soap-lite/lib/SOAP/Lite.pm?rev=23242&op=diff
==============================================================================
--- trunk/soap-lite/lib/SOAP/Lite.pm (original)
+++ trunk/soap-lite/lib/SOAP/Lite.pm Tue Jul 15 13:54:14 2008
@@ -4,7 +4,7 @@
 # SOAP::Lite is free software; you can redistribute it
 # and/or modify it under the same terms as Perl itself.
 #
-# $Id: Lite.pm 274 2008-06-13 18:57:53Z kutterma $
+# $Id: Lite.pm 297 2008-07-13 20:32:25Z kutterma $
 #
 # ======================================================================
 
@@ -19,7 +19,7 @@
 use 5.005;
 use strict;
 use vars qw($VERSION);
-use version; $VERSION = qv('0.710.07');
+use version; $VERSION = qv('0.710.08');
 # ======================================================================
 
 package SOAP::XMLSchemaApacheSOAP::Deserializer;
@@ -3207,7 +3207,8 @@
         }
         $self->{'_stub'} .= "    parameters => [\n";
         foreach (@{$services->{$service}{parameters}}) {
-#           next unless $_;
+            # This is a workaround for https://sourceforge.net/tracker/index.php?func=detail&aid=2001592&group_id=66000&atid=513017
+            next unless ref $_;
             $self->{'_stub'} .= "      SOAP::Data->new(name => '".$_->name."', type => '".$_->type."', attr => {";
             $self->{'_stub'} .= do {
                 my %attr = %{$_->attr};
@@ -3685,8 +3686,8 @@
         for ($result->dataof(SOAP::SOM::paramsout), $result->dataof(SOAP::SOM::headers)) {
             my $signature = join $;, $_->name, $_->type || '';
             if (exists $signatures{$signature}) {
-    	        my $param = $signatures{$signature};
-    	        my($value) = $_->value; # take first value
+                my $param = $signatures{$signature};
+                my($value) = $_->value; # take first value
 
                 # fillup parameters
                 UNIVERSAL::isa($_[$param] => 'SOAP::Data')
@@ -4611,11 +4612,11 @@
     my $self = shift;
     my $envelope = pop;
     my $ent = build MIME::Entity
-	'Id'          => "<1234>",
-	'Type'        => "text/xml",
-	'Path'        => "some.xml",
-	'Filename'    => "some.xml",
-	'Disposition' => "attachment";
+    'Id'          => "<1234>",
+    'Type'        => "text/xml",
+    'Path'        => "some.xml",
+    'Filename'    => "some.xml",
+    'Disposition' => "attachment";
     return SOAP::Data->name("foo" => "blah blah blah"),$ent;
   }
 
@@ -5392,6 +5393,10 @@
 
 Copyright (C) 2000-2007 Paul Kulchenko. All rights reserved.
 
+Copyright (C) 2007-2008 Martin Kutter
+
+=head1 LICENSE
+
 This library is free software; you can redistribute it and/or modify
 it under the same terms as Perl itself.
 

Modified: trunk/soap-lite/lib/SOAP/Transport/HTTP.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/soap-lite/lib/SOAP/Transport/HTTP.pm?rev=23242&op=diff
==============================================================================
--- trunk/soap-lite/lib/SOAP/Transport/HTTP.pm (original)
+++ trunk/soap-lite/lib/SOAP/Transport/HTTP.pm Tue Jul 15 13:54:14 2008
@@ -4,7 +4,7 @@
 # SOAP::Lite is free software; you can redistribute it
 # and/or modify it under the same terms as Perl itself.
 #
-# $Id: HTTP.pm 267 2008-06-09 07:22:43Z kutterma $
+# $Id: HTTP.pm 295 2008-07-13 20:30:42Z kutterma $
 #
 # ======================================================================
 
@@ -82,7 +82,10 @@
 
     return $class if ref $class;  # skip if we're already object...
 
-    push @ISA,$USERAGENT_CLASS;
+    if (! grep { $_ eq $USERAGENT_CLASS } @ISA ) {
+        push @ISA,$USERAGENT_CLASS;
+    }
+
     eval("require $USERAGENT_CLASS")
         or die "Could not load UserAgent class $USERAGENT_CLASS: $@";
 
@@ -102,8 +105,10 @@
     die "SOAP::Transport::HTTP::Client must inherit from LWP::UserAgent, or one of its subclasses"
         if !$self->isa("LWP::UserAgent");
 
-    $self->agent(join '/', 'SOAP::Lite', 'Perl', SOAP::Transport::HTTP->VERSION);
+    $self->agent(join '/', 'SOAP::Lite', 'Perl', $SOAP::Transport::HTTP::VERSION);
     $self->options({});
+
+    $self->http_request(HTTP::Request->new());
 
     while (@methods) {
         my($method, $params) = splice(@methods,0,2);
@@ -130,20 +135,22 @@
             && eval { require Compress::Zlib };
 
     # Initialize the basic about the HTTP Request object
-    $self->http_request(HTTP::Request->new);
-    $self->http_request->headers(HTTP::Headers->new);
+    my $http_request = $self->http_request()->clone();
+
+    # $self->http_request(HTTP::Request->new);
+    $http_request->headers(HTTP::Headers->new);
 
     # TODO - add application/dime
-    $self->http_request->header(Accept => ['text/xml', 'multipart/*', 'application/soap']);
-    $self->http_request->method($method);
-    $self->http_request->url($endpoint);
+    $http_request->header(Accept => ['text/xml', 'multipart/*', 'application/soap']);
+    $http_request->method($method);
+    $http_request->url($endpoint);
 
     no strict 'refs';
     if ($parts) {
         my $packager = $context->packager;
         $envelope = $packager->package($envelope,$context);
         for my $hname (keys %{$packager->headers_http}) {
-            $self->http_request->headers->header(
+            $http_request->headers->header(
                 $hname => $packager->headers_http->{$hname}
             );
         }
@@ -157,7 +164,7 @@
 
         $envelope = Compress::Zlib::memGzip($envelope) if $compressed;
 
-        my $original_encoding = $self->http_request->content_encoding;
+        my $original_encoding = $http_request->content_encoding;
 
         while (1) {
             # check cache for redirect
@@ -184,10 +191,10 @@
                 if !$SOAP::Constants::DO_NOT_USE_LWP_LENGTH_HACK
                     && length($envelope) != $bytelength;
 
-            $self->http_request->content($envelope);
-            $self->http_request->protocol('HTTP/1.1');
-
-            $self->http_request
+            $http_request->content($envelope);
+            $http_request->protocol('HTTP/1.1');
+
+            $http_request
                 ->proxy_authorization_basic($ENV{'HTTP_proxy_user'},
                      $ENV{'HTTP_proxy_pass'})
                if ($ENV{'HTTP_proxy_user'} && $ENV{'HTTP_proxy_pass'});
@@ -195,28 +202,28 @@
             # by Murray Nesbitt
             if ($method eq 'M-POST') {
                my $prefix = sprintf '%04d', int(rand(1000));
-               $self->http_request->header(
+               $http_request->header(
                    Man => qq!"$SOAP::Constants::NS_ENV"; ns=$prefix!);
-               $self->http_request->header("$prefix-SOAPAction" => $action)
+               $http_request->header("$prefix-SOAPAction" => $action)
                    if defined $action;
             }
             else {
-               $self->http_request->header(SOAPAction => $action)
+               $http_request->header(SOAPAction => $action)
                    if defined $action;
             }
 
-#            $self->http_request->header(Expect => '100-Continue');
+#            $http_request->header(Expect => '100-Continue');
 
             # allow compress if present and let server know we could handle it
-            $self->http_request->header('Accept-Encoding' =>
+            $http_request->header('Accept-Encoding' =>
                 [$SOAP::Transport::HTTP::Client::COMPRESS])
                    if $self->options->{is_compress};
 
-            $self->http_request->content_encoding($SOAP::Transport::HTTP::Client::COMPRESS)
+            $http_request->content_encoding($SOAP::Transport::HTTP::Client::COMPRESS)
                if $compressed;
 
-            if(!$self->http_request->content_type) {
-                $self->http_request->content_type(join '; ',
+            if(!$http_request->content_type) {
+                $http_request->content_type(join '; ',
                      $SOAP::Constants::DEFAULT_HTTP_CONTENT_TYPE,
                      !$SOAP::Constants::DO_NOT_USE_CHARSET && $encoding
                          ? 'charset=' . lc($encoding)
@@ -224,21 +231,21 @@
                 );
             }
             elsif (!$SOAP::Constants::DO_NOT_USE_CHARSET && $encoding ) {
-                my $tmpType = $self->http_request->headers->header('Content-type');
-                #	$self->http_request->content_type($tmpType.'; charset=' . lc($encoding));
+                my $tmpType = $http_request->headers->header('Content-type');
+                #	$http_request->content_type($tmpType.'; charset=' . lc($encoding));
                 my $addition = '; charset=' . lc($encoding);
-                $self->http_request->content_type($tmpType.$addition) if ($tmpType !~ /$addition/);
+                $http_request->content_type($tmpType.$addition) if ($tmpType !~ /$addition/);
             }
 
-            $self->http_request->content_length($bytelength);
-            SOAP::Trace::transport($self->http_request);
-            SOAP::Trace::debug($self->http_request->as_string);
+            $http_request->content_length($bytelength);
+            SOAP::Trace::transport($http_request);
+            SOAP::Trace::debug($http_request->as_string);
 
             $self->SUPER::env_proxy if $ENV{'HTTP_proxy'};
 
             # send and receive the stuff.
             # TODO maybe eval this? what happens on connection close?
-            $self->http_response($self->SUPER::request($self->http_request));
+            $self->http_response($self->SUPER::request($http_request));
             SOAP::Trace::transport($self->http_response);
             SOAP::Trace::debug($self->http_response->as_string);
 
@@ -252,7 +259,7 @@
                 # 415 Unsupported Media Type
                 $nocompress{$endpoint} = 1;
                 $envelope = Compress::Zlib::memGunzip($envelope);
-                $self->http_request
+                $http_request
                     ->headers->remove_header('Content-Encoding');
                 redo COMPRESS; # try again without compression
             }
@@ -552,7 +559,7 @@
     my $http_daemon = $self->http_daemon_class;
     eval "require $http_daemon"
         or Carp::croak $@
-            unless UNIVERSAL::can($http_daemon => 'new');
+            unless $http_daemon->can('new');
 
     $self->{_daemon} = $http_daemon->new(@params)
         or Carp::croak "Can't create daemon: $!";
@@ -602,7 +609,7 @@
         }
         # replaced ->close, thanks to Sean Meisner <Sean.Meisner at VerizonWireless.com>
         # shutdown() doesn't work on AIX. close() is used in this case. Thanks to Jos Clijmans <jos.clijmans at recyfin.be>
-        UNIVERSAL::can($c, 'shutdown')
+        $c->can('shutdown')
             ? $c->shutdown(2)
             : $c->close();
         $c->close;

Modified: trunk/soap-lite/t/06-modules.t
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/soap-lite/t/06-modules.t?rev=23242&op=diff
==============================================================================
--- trunk/soap-lite/t/06-modules.t (original)
+++ trunk/soap-lite/t/06-modules.t Tue Jul 15 13:54:14 2008
@@ -1,29 +1,40 @@
-#!/bin/env perl 
+#!/bin/env perl
 
 BEGIN {
-  unless(grep /blib/, @INC) {
-    chdir 't' if -d 't';
-    unshift @INC, '../lib' if -d '../lib';
-  }
+unless(grep /blib/, @INC) {
+chdir 't' if -d 't';
+unshift @INC, '../lib' if -d '../lib';
+}
 }
 
 use strict;
-use Test;
+use Test::More qw(no_plan);
 
-BEGIN { plan tests => 17 }
+my @modules = qw(SOAP::Lite
+                 SOAP::Transport::HTTP
+                 SOAP::Transport::MAILTO
+                 SOAP::Transport::FTP
+                 SOAP::Transport::TCP
+                 SOAP::Transport::IO
+                 SOAP::Transport::LOCAL
+                 SOAP::Transport::POP3
+                 XML::Parser::Lite
+                 UDDI::Lite XMLRPC::Lite
+                 XMLRPC::Transport::HTTP
+                 XMLRPC::Transport::TCP
+                 XMLRPC::Transport::POP3
+                 SOAP::Packager
+                 SOAP::Transport::MQ SOAP::Transport::JABBER
+                );
+foreach (@modules) {
+    eval "require $_";
 
-foreach (qw(SOAP::Lite SOAP::Transport::HTTP SOAP::Transport::MAILTO
-            SOAP::Transport::FTP SOAP::Transport::TCP SOAP::Transport::IO
-            SOAP::Transport::LOCAL SOAP::Transport::POP3 XML::Parser::Lite
-            UDDI::Lite XMLRPC::Lite XMLRPC::Transport::HTTP 
-            XMLRPC::Transport::TCP XMLRPC::Transport::POP3 SOAP::Packager 
-            SOAP::Transport::MQ SOAP::Transport::JABBER
-            )) {
-  eval "require $_";
+    if ($@ =~ /(Can\'t locate)|(XML::Parser::Lite requires)|(this is only version)|(load mod_perl)/) {
+        SKIP: {
+            skip("Module $_ does not exist or is breaking in an expected way", 1);
+        }
+    next;
+    }
 
-  if ($@ =~ /(Can\'t locate)|(XML::Parser::Lite requires)|(this is only version)|(load mod_perl)/) {
-    skip($@ => $@, '');
-  } else {
-    ok(!$@) or warn "\nError while loading $_\n";
-  }
-}
+    is($@, '', "use $_") or warn $@;
+}

Modified: trunk/soap-lite/t/SOAP/Transport/HTTP/CGI.t
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/soap-lite/t/SOAP/Transport/HTTP/CGI.t?rev=23242&op=diff
==============================================================================
--- trunk/soap-lite/t/SOAP/Transport/HTTP/CGI.t (original)
+++ trunk/soap-lite/t/SOAP/Transport/HTTP/CGI.t Tue Jul 15 13:54:14 2008
@@ -4,12 +4,16 @@
 use IPC::Open2;
 use File::Basename qw(dirname);
 
+# make a send_receive which performs an open2, much like a web server
+# connects to STDIN and STDOUT...
 sub send_receive {
     my ($self, %parameters) = @_;
     my ($context, $envelope, $endpoint, $action, $encoding, $parts) =
         @parameters{qw(context envelope endpoint action encoding parts)};
 
-    # print $envelope;
+    # safety measure: Die if we hang
+    $SIG{ALRM} = sub { die "did not return" };
+    alarm(3);
 
     my $perl = $^X;
 
@@ -29,7 +33,7 @@
 
     close $child_out;
 
-    # print $result[-1];
+    alarm(0);
 
     return $result[-1];
 }
@@ -40,6 +44,8 @@
 use SOAP::Lite; # +trace;
 my $soap = SOAP::Lite->new()->proxy('http://');
 no warnings qw(redefine once);
+
+# make override send_receive in CGI client
 *SOAP::Transport::HTTP::Client::send_receive =
     \&SOAP::Transport::CGI_TEST::Client::send_receive;
 
@@ -54,6 +60,6 @@
     }
 }
 else {
-    use bytes;
+    eval { use bytes };
     is length $result, 8, "lenght of >$result< is 8 due to wide character";
 }




More information about the Pkg-perl-cvs-commits mailing list