Hello community,

here is the log from the commit of package perl-HTTP-DAV for openSUSE:Factory 
checked in at 2013-06-06 15:26:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-HTTP-DAV (Old)
 and      /work/SRC/openSUSE:Factory/.perl-HTTP-DAV.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-HTTP-DAV"

Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-HTTP-DAV/perl-HTTP-DAV.changes      
2012-02-14 13:09:03.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.perl-HTTP-DAV.new/perl-HTTP-DAV.changes 
2013-06-06 15:26:11.000000000 +0200
@@ -1,0 +2,7 @@
+Wed Jun  5 07:24:55 UTC 2013 - co...@suse.com
+
+- updated to 0.47
+  Improve C<propfind()> resilience when server response contains
+  broken, truncated or no XML at all. RT#75011.
+
+-------------------------------------------------------------------

Old:
----
  HTTP-DAV-0.46.tar.gz

New:
----
  HTTP-DAV-0.47.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ perl-HTTP-DAV.spec ++++++
--- /var/tmp/diff_new_pack.SU9Gdx/_old  2013-06-06 15:26:11.000000000 +0200
+++ /var/tmp/diff_new_pack.SU9Gdx/_new  2013-06-06 15:26:11.000000000 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package perl-HTTP-DAV
 #
-# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,25 +17,38 @@
 
 
 Name:           perl-HTTP-DAV
-Version:        0.46
+Version:        0.47
 Release:        0
 %define cpan_name HTTP-DAV
-Summary:        WebDAV client library for Perl5
-License:        GPL-1.0+ or Artistic-1.0
+Summary:        A WebDAV client library for Perl5
+License:        Artistic-1.0 or GPL-1.0+
 Group:          Development/Libraries/Perl
 Url:            http://search.cpan.org/dist/HTTP-DAV/
-#Source:         
http://www.cpan.org/modules/by-module/HTTP/HTTP-DAV-%{version}.tar.gz
-Source:         %{cpan_name}-%{version}.tar.gz
+Source:         
http://www.cpan.org/authors/id/C/CO/COSIMO/%{cpan_name}-%{version}.tar.gz
+BuildArch:      noarch
+BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 BuildRequires:  perl
 BuildRequires:  perl-macros
 BuildRequires:  perl(LWP) >= 5.48
-BuildRequires:  perl(Scalar::Util)
+BuildRequires:  perl(URI)
+BuildRequires:  perl(URI::Escape)
 BuildRequires:  perl(XML::DOM)
+#BuildRequires: perl(HTTP::Date)
+#BuildRequires: perl(HTTP::DAV)
+#BuildRequires: perl(HTTP::DAV::Comms)
+#BuildRequires: perl(HTTP::DAV::Lock)
+#BuildRequires: perl(HTTP::DAV::Resource)
+#BuildRequires: perl(HTTP::DAV::ResourceList)
+#BuildRequires: perl(HTTP::DAV::Response)
+#BuildRequires: perl(HTTP::DAV::Utils)
+#BuildRequires: perl(HTTP::Headers)
+#BuildRequires: perl(HTTP::Response)
+#BuildRequires: perl(TestDetails)
+#BuildRequires: perl(URI::file)
 Requires:       perl(LWP) >= 5.48
-Requires:       perl(Scalar::Util)
+Requires:       perl(URI)
+Requires:       perl(URI::Escape)
 Requires:       perl(XML::DOM)
-BuildRoot:      %{_tmppath}/%{name}-%{version}-build
-BuildArch:      noarch
 %{perl_requires}
 
 %description
@@ -45,32 +58,21 @@
 
 %prep
 %setup -q -n %{cpan_name}-%{version}
-perl -p -i -e "s|\r\n|\n|" TODO
-# to decrease rpmlint badness
-chmod -x Changes README TODO
 
 %build
-perl Makefile.PL INSTALLDIRS=vendor
-
-make %{?_smp_mflags}
+%{__perl} Makefile.PL INSTALLDIRS=vendor
+%{__make} %{?_smp_mflags}
 
 %check
-make test
+%{__make} test
 
 %install
 %perl_make_install
-# do not perl_process_packlist (noarch)
-# remove .packlist file
-rm -rf %{buildroot}%perl_vendorarch
-# remove perllocal.pod file
-rm -rf %{buildroot}%perl_archlib
+%perl_process_packlist
 %perl_gen_filelist
 
-%clean
-rm -rf %{buildroot}
-
 %files -f %{name}.files
-%defattr(-,root,root,-)
-%doc Changes README TODO
+%defattr(-,root,root,755)
+%doc Changes doc README TODO
 
 %changelog

++++++ HTTP-DAV-0.46.tar.gz -> HTTP-DAV-0.47.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/HTTP-DAV-0.46/META.yml new/HTTP-DAV-0.47/META.yml
--- old/HTTP-DAV-0.46/META.yml  2012-01-11 09:54:16.000000000 +0100
+++ new/HTTP-DAV-0.47/META.yml  2012-03-24 14:53:48.000000000 +0100
@@ -1,6 +1,6 @@
 --- #YAML:1.0
 name:               HTTP-DAV
-version:            0.46
+version:            0.47
 abstract:           ~
 author:  []
 license:            unknown
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/HTTP-DAV-0.46/lib/HTTP/DAV/Changes.pod 
new/HTTP-DAV-0.47/lib/HTTP/DAV/Changes.pod
--- old/HTTP-DAV-0.46/lib/HTTP/DAV/Changes.pod  2012-01-11 09:50:05.000000000 
+0100
+++ new/HTTP-DAV-0.47/lib/HTTP/DAV/Changes.pod  2012-03-24 14:51:17.000000000 
+0100
@@ -12,6 +12,17 @@
 
 =end text
 
+=head2 v0.47 (released 2012/03/24):
+
+=over 4
+
+=item * B<bug fixes>
+
+Improve C<propfind()> resilience when server response contains
+broken, truncated or no XML at all. RT#75011.
+
+=back
+
 =head2 v0.46 (released 2012/01/11):
 
 =over 4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/HTTP-DAV-0.46/lib/HTTP/DAV/Resource.pm 
new/HTTP-DAV-0.47/lib/HTTP/DAV/Resource.pm
--- old/HTTP-DAV-0.46/lib/HTTP/DAV/Resource.pm  2012-01-11 09:46:18.000000000 
+0100
+++ new/HTTP-DAV-0.47/lib/HTTP/DAV/Resource.pm  2012-03-24 14:46:25.000000000 
+0100
@@ -486,34 +486,53 @@
         -content => $xml_request,
     );
 
+    # Reset the resource list, in case of intermediate errors,
+    # to keep object state consistent
+    $self->{_resource_list} = undef;
+
     if (! $self->content_type_is_xml($resp)) {
         $resp->add_status_line(
             "HTTP/1.1 422 Unprocessable Entity, no XML body.",
             "", $self->{_uri}, $self->{_uri}
         );
+        return $resp;
     }
-    else {
 
-        # use XML::DOM to parse the result.
-        my $parser = new XML::DOM::Parser;
-        my $doc    = $parser->parse($resp->content);
-
-        # Setup a ResourceList in which to pump all of the collection
-        my $resource_list;
-        eval { $resource_list = $self->_XML_parse_multistatus($doc, $resp) };
-
-        warn "XML error: " . $@ if $@;
-
-        if ($resource_list && $resource_list->count_resources()) {
-            $self->{_resource_list} = $resource_list;
-        }
-        else {
-            $self->{_resource_list} = undef;
-        }
+    # use XML::DOM to parse the result.
+    my $parser = XML::DOM::Parser->new();
+    my $xml_resp = $resp->content;
+    my $doc;
 
-        $doc->dispose;
+    if (! $xml_resp) {
+        $resp->add_status_line(
+            "HTTP/1.1 422 Unprocessable Entity, no XML body.",
+            "", $self->{_uri}, $self->{_uri}
+        );
+        return $resp;
     }
 
+    eval {
+        $doc = $parser->parse($xml_resp);
+    } or do {
+        warn "Unparsable XML received from server (" . length($xml_resp) . " 
bytes)\n";
+        warn "ERROR: $@\n";
+        return $resp;
+    };
+
+    # Setup a ResourceList in which to pump all of the collection
+    my $resource_list;
+    eval {
+        $resource_list = $self->_XML_parse_multistatus($doc, $resp)
+    } or do {
+        warn "Error parsing PROPFIND response XML: $@\n";
+    };
+
+    if ($resource_list && $resource_list->count_resources()) {
+        $self->{_resource_list} = $resource_list;
+    }
+
+    $doc->dispose;
+
     return $resp;
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/HTTP-DAV-0.46/lib/HTTP/DAV.pm 
new/HTTP-DAV-0.47/lib/HTTP/DAV.pm
--- old/HTTP-DAV-0.46/lib/HTTP/DAV.pm   2012-01-11 09:46:58.000000000 +0100
+++ new/HTTP-DAV-0.47/lib/HTTP/DAV.pm   2012-03-24 14:47:12.000000000 +0100
@@ -6,8 +6,8 @@
 use vars qw($VERSION $VERSION_DATE $DEBUG);
 
 # Globals
-$VERSION = '0.46';
-$VERSION_DATE = '2012/01/11';
+$VERSION = '0.47';
+$VERSION_DATE = '2012/03/24';
 
 # Set this up to 3
 $DEBUG = 0;

-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to