From be96c89353b38ffc8a81e631e5d2cf416815328d Mon Sep 17 00:00:00 2001 From: Miroslav Suchý Date: Jul 30 2008 09:28:09 +0000 Subject: Upgrade perl-Frontier-RPC to version 0.07b4p1-4 --- diff --git a/.cvsignore b/.cvsignore index 740c23e..bb838c2 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,2 +1 @@ -Frontier-RPC-0.06.tar.gz -Frontier-RPC-0.07b4.tar.gz +Frontier-RPC-0.07b4p1.tar.gz diff --git a/apache2.patch b/apache2.patch new file mode 100644 index 0000000..5cd9ebb --- /dev/null +++ b/apache2.patch @@ -0,0 +1,47 @@ +--- Frontier-RPC-0.07b4p1/lib/Apache/XMLRPC.pm.apache2 2007-11-08 17:01:28.000000000 +0100 ++++ Frontier-RPC-0.07b4p1/lib/Apache/XMLRPC.pm 2007-11-08 17:24:46.000000000 +0100 +@@ -10,16 +10,18 @@ + + package Apache::XMLRPC; + +-use Apache::Constants qw(:common); ++use Apache2::Const; ++use Apache2::ServerUtil; + use Frontier::RPC2; + + sub handler { + my $r = shift; + +- my $conf = $r->server_root_relative( $r->dir_config( "XMLRPC_Config" ) ); ++ my $path = $r->dir_config( "XMLRPC_Config" ); ++ my $conf = Apache2::ServerUtil::server_root_relative( $r->pool, $path ); + + if( -f $conf ) { +- unless( $rt = do $conf ) { ++ unless( my $rt = do $conf ) { + die "Couldn\'t parse conf file ($conf): $@\n" if $@; + die "Couldn\'t compile conf file ($conf): $!\n" unless defined $rt; + die "Couldn\'t run conf file ($conf)\n" unless $rt; +@@ -28,15 +30,16 @@ + + my $decoder = Frontier::RPC2->new(); + +- my $content; +- $r->read( $content, $r->header_in( 'Content-length' ) ); ++ if (defined $clength and $clength >= 0) { ++ my $content; ++ $r->read( $content, $r->headers_in->{'Content-length'} ); + +- my $answer = $decoder->serve( $content, $Apache::XMLRPC::map ); ++ my $answer = $decoder->serve( $content, $Apache::XMLRPC::map ); + +- $r->send_http_header(); +- $r->print($answer); ++ $r->print($answer); ++ } + +- return OK; ++ return Apache2::Const::OK(); + } + + 1; diff --git a/import.log b/import.log new file mode 100644 index 0000000..b533a25 --- /dev/null +++ b/import.log @@ -0,0 +1 @@ +perl-Frontier-RPC-0_07b4p1-4:HEAD:perl-Frontier-RPC-0.07b4p1-4.src.rpm:1217410048 diff --git a/perl-Frontier-RPC.spec b/perl-Frontier-RPC.spec index 59d4ce2..7deb380 100644 --- a/perl-Frontier-RPC.spec +++ b/perl-Frontier-RPC.spec @@ -1,64 +1,87 @@ Summary: A Perl interface for making and serving XML-RPC calls Name: perl-Frontier-RPC -Version: 0.07b4 +Version: 0.07b4p1 Release: 4%{?dist} - -Group: Development/Libraries License: GPL+ or Artistic -Url: http://search.cpan.org/dist/Frontier-RPC/ -Source0: ftp://cpan.org/pub/CPAN/authors/id/K/KM/KMACLEOD/Frontier-RPC-%{version}.tar.gz +Group: Development/Libraries +URL: http://search.cpan.org/dist/Frontier-RPC/ +Source0: http://search.cpan.org/CPAN/authors/id/R/RT/RTFIREFLY/Frontier-RPC-%{version}.tar.gz Patch0: perl-frontier-raw-call.patch Patch1: perl-frontier-raw-serve.patch +Patch2: perl-frontier-undef-scalar.patch +Patch3: security-xml-external-entity.patch +Patch4: apache2.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) - BuildArch: noarch BuildRequires: perl(LWP::UserAgent), perl(XML::Parser), perl(ExtUtils::MakeMaker) Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) +Provides: perl-Frontier-RPC-Client = %{version} +%package Client +Summary: Frontier-RPC-Client Perl module +Group: Development/Libraries +Conflicts: perl-Frontier-RPC +License: GPL or Artistic %description -Frontier::RPC implements UserLand Software's XML RPC (Remote Procedure -Calls using Extensible Markup Language). Frontier::RPC includes both -a client module for making requests to a server and a daemon module -for implementing servers. Frontier::RPC uses RPC2 format messages. +Frontier::RPC implements UserLand Software's XML RPC (Remote +Procedure Calls using Extensible Markup Language). Frontier::RPC +includes both a client module for making requests to a server and +several server modules for implementing servers using CGI, Apache, +and standalone with HTTP::Daemon. +%description Client +Frontier::RPC::Client implements UserLand Software's XML RPC (Remote +Procedure Calls using Extensible Markup Language). Frontier::RPC::Client +includes just client module for making requests to a server. %prep -%setup -q -n Frontier-RPC-%{version} +%setup -q -n Frontier-RPC-%{version} %patch0 -p1 %patch1 -p1 - +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 %build %{__perl} Makefile.PL INSTALLDIRS=vendor make %{?_smp_mflags} - %install rm -rf $RPM_BUILD_ROOT + make pure_install PERL_INSTALL_ROOT=$RPM_BUILD_ROOT -find $RPM_BUILD_ROOT -type f -name .packlist -exec rm -f {} ';' -find $RPM_BUILD_ROOT -type d -depth -exec rmdir {} 2>/dev/null ';' -chmod -R u+w $RPM_BUILD_ROOT/* +find $RPM_BUILD_ROOT -type f -name .packlist -exec rm -f {} \; +find $RPM_BUILD_ROOT -depth -type d -exec rmdir {} 2>/dev/null \; + +%{_fixperms} $RPM_BUILD_ROOT/* %check make test - %clean rm -rf $RPM_BUILD_ROOT - %files %defattr(-,root,root,-) %doc ChangeLog Changes COPYING README examples/ -%{perl_vendorlib}/Frontier/ -%{perl_vendorlib}/Apache/XMLRPC.pm -%{_mandir}/man3/*.3* +%{perl_vendorlib}/* +%{_mandir}/man3/* +%files Client +%defattr(-,root,root,-) +%doc ChangeLog Changes COPYING README examples/ +%{perl_vendorlib}/Frontier/Client.pm +%{perl_vendorlib}/Frontier/RPC2.pm +%{_mandir}/man3/Frontier::Client.3pm.gz +%{_mandir}/man3/Frontier::RPC2.3pm.gz %changelog +* Wed Jul 30 2008 Miroslav Suchý 0.07b4p1-4 +- applied security patches. +- created light package with only Client part. + * Thu Mar 06 2008 Tom "spot" Callaway - 0.07b4-4 Rebuild for new perl @@ -97,12 +120,13 @@ Rebuild for new perl - automated release bump and build * Fri Apr 5 2002 Chip Turner -- add patch from RHN to allow raw non-conformat calls. -- doesn't affect main code path, but adds functionality +- add patch from RHN to allow raw non-conformat calls. +- doesn't affect main code path, but adds functionality - similar to python xmlrpc module * Wed Jan 09 2002 Tim Powers - automated rebuild * Mon Apr 30 2001 Chip Turner -- Spec file was autogenerated. +- Spec file was autogenerated. + diff --git a/perl-frontier-undef-scalar.patch b/perl-frontier-undef-scalar.patch new file mode 100644 index 0000000..5655f97 --- /dev/null +++ b/perl-frontier-undef-scalar.patch @@ -0,0 +1,11 @@ +--- Frontier-RPC-0.06/lib/Frontier/RPC2.pm.undef-scalar 2005-06-15 11:28:48.323851492 -0400 ++++ Frontier-RPC-0.06/lib/Frontier/RPC2.pm 2005-06-15 12:24:44.739297487 -0400 +@@ -226,6 +226,8 @@ + sub _scalar { + my $self = shift; my $value = shift; + ++ $value = '' unless defined $value; ++ + # these are from `perldata(1)' + if ($value =~ /^[+-]?\d+$/) { + return ("$value"); diff --git a/security-xml-external-entity.patch b/security-xml-external-entity.patch new file mode 100644 index 0000000..00d9cb9 --- /dev/null +++ b/security-xml-external-entity.patch @@ -0,0 +1,13 @@ +--- Frontier-RPC-0.07b3-orig/lib/Frontier/RPC2.pm Mon Apr 23 15:17:32 2001 ++++ Frontier-RPC-0.07b3/lib/Frontier/RPC2.pm Wed Oct 30 00:03:39 2002 +@@ -302,6 +302,9 @@ + ### XML::Parser callbacks + ### + ++sub externent { '' } ++sub externentfin { '' } ++ + sub die { + my $expat = shift; my $message = shift; + + diff --git a/sources b/sources index 0de37ef..8dcecbe 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -c04582da604f11bdbe60606738f92457 Frontier-RPC-0.07b4.tar.gz +308f8b81cef0c195d83dded6d1e83f0d Frontier-RPC-0.07b4p1.tar.gz