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