Your message dated Sat, 11 Jul 2009 18:02:08 +0000 with message-id <e1mpgtk-0001p9...@ries.debian.org> and subject line Bug#471211: fixed in librpc-xml-perl 0.67-1 has caused the Debian Bug report #471211, regarding [PATCH] support nil type extension to be marked as done.
This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what this message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact ow...@bugs.debian.org immediately.) -- 471211: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=471211 Debian Bug Tracking System Contact ow...@bugs.debian.org with problems
--- Begin Message ---Package: librpc-xml-perl Version: 0.59-2 Severity: normal Tags: patch RPC-XML has the limitation that there is no support for the nil type, which corresponds to perl's undef, python's None, and C's NULL. There is an extension that defines this simple type, at <http://ontosys.com/xml-rpc/extensions.php> Many other RPC-XML libraries support this at least optionally. For example, in python, there is an allow_none flag. The RPC-Xmlrpc_c perl module (not packaged) supports nil. I needed it in RPC::XML, so I developed the attached patch. I took care to not have it emit or parse "<nil/>" unless $RPC::XML::ALLOW_NIL is set to 1. Please consider applying this patch, and encoruaging upstream to do so as well. -- System Information: Debian Release: lenny/sid APT prefers unstable APT policy: (500, 'unstable'), (500, 'stable'), (1, 'experimental') Architecture: i386 (i686) Kernel: Linux 2.6.24-1-686 (SMP w/1 CPU core) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages librpc-xml-perl depends on: ii libwww-perl 5.808-1 WWW client/server library for Perl ii libxml-parser-perl 2.36-1 Perl module for parsing XML files ii perl 5.8.8-12 Larry Wall's Practical Extraction librpc-xml-perl recommends no packages. -- no debconf information -- see shy jodiff -ur old/librpc-xml-perl-0.59/lib/RPC/XML/Parser.pm librpc-xml-perl-0.59/lib/RPC/XML/Parser.pm --- old/librpc-xml-perl-0.59/lib/RPC/XML/Parser.pm 2006-06-04 03:44:41.000000000 -0400 +++ librpc-xml-perl-0.59/lib/RPC/XML/Parser.pm 2008-03-16 13:34:06.000000000 -0400 @@ -205,7 +205,7 @@ { push(@{$robj->{stack}}, TAG2TOKEN->{$elem}); } - elsif (VALIDTYPES->{$elem}) + elsif (VALIDTYPES->{$elem} || ($elem eq 'nil' && $RPC::XML::ALLOW_NIL)) { # All datatypes are represented on the stack by this generic token push(@{$robj->{stack}}, DATATYPE); @@ -283,7 +283,7 @@ $op = pop(@{$robj->{stack}}); # Decide what to do from here - if (VALIDTYPES->{$elem}) + if (VALIDTYPES->{$elem} || ($elem eq 'nil' && $RPC::XML::ALLOW_NIL)) { # This is the closing tag of one of the data-types. $class = $elem; diff -ur old/librpc-xml-perl-0.59/lib/RPC/XML.pm librpc-xml-perl-0.59/lib/RPC/XML.pm --- old/librpc-xml-perl-0.59/lib/RPC/XML.pm 2006-06-30 03:36:29.000000000 -0400 +++ librpc-xml-perl-0.59/lib/RPC/XML.pm 2008-03-16 13:39:27.000000000 -0400 @@ -28,7 +28,8 @@ use 5.005; use strict; use vars qw(@EXPORT @EXPORT_OK %EXPORT_TAGS @ISA $VERSION $ERROR - %xmlmap $xmlre $ENCODING $FORCE_STRING_ENCODING); + %xmlmap $xmlre $ENCODING $FORCE_STRING_ENCODING + $ALLOW_NIL); use subs qw(time2iso8601 smart_encode bytelength); # The following is cribbed from SOAP::Lite, tidied up to suit my tastes @@ -57,6 +58,9 @@ # force strings? $FORCE_STRING_ENCODING = 0; + + # allow use of the nonstandard nil type? + $ALLOW_NIL = 0; } require Exporter; @@ -121,7 +125,14 @@ { if (!defined $_) { - $type = RPC::XML::string->new(''); + if (! $ALLOW_NIL) + { + $type = RPC::XML::string->new(''); + } + else + { + $type = RPC::XML::nil->new(); + } } elsif (ref $_) { @@ -403,6 +414,39 @@ ############################################################################### # +# Package: RPC::XML::nil +# +# Description: The "nil" type-class extension +# +############################################################################### +package RPC::XML::nil; + +use strict; +use vars qw(@ISA); + +...@isa = qw(RPC::XML::simple_type); + +# no value need be passed to this method +sub new +{ + my $class = shift; + my $value = undef; + + if (! $RPC::XML::ALLOW_NIL) { + die "\$RPC::XML::ALLOW_NIL must be set for RPC::XML::nil objects to be supported"; + } + + bless \$value, $class; +} + +# serialsation is trivial.. +sub as_string +{ + "<nil/>"; +} + +############################################################################### +# # Package: RPC::XML::array # # Description: This class encapsulates the array data type. Each element @@ -1464,6 +1508,15 @@ Creates an instance of the XML-RPC C<dateTime.iso8601> type. The specification for ISO 8601 may be found elsewhere. No processing is done to the data. +=item RPC::XML::nil + +Creates a nil value. The value returned will always be undef. No value +needs to be passed when calling the constructor. + +Note that nil is an extension to B<XML-RPC>, which is not supported by all +implementations. $ALLOW_NIL must be set before objects of this type can be +constructed. + =item RPC::XML::base64 Creates an object that encapsulates a chunk of data that will be treated as @@ -1658,6 +1711,11 @@ Defaults to C<false>. +=item $ALLOW_NIL + +By default, the XML-RPC nil extension is not supported. Set to allow +use of nil values, which will be represented as perl undef values. + =back =head1 CAVEATSsignature.asc
Description: Digital signature
--- End Message ---
--- Begin Message ---Source: librpc-xml-perl Source-Version: 0.67-1 We believe that the bug you reported is fixed in the latest version of librpc-xml-perl, which is due to be installed in the Debian FTP archive: librpc-xml-perl_0.67-1.diff.gz to pool/main/libr/librpc-xml-perl/librpc-xml-perl_0.67-1.diff.gz librpc-xml-perl_0.67-1.dsc to pool/main/libr/librpc-xml-perl/librpc-xml-perl_0.67-1.dsc librpc-xml-perl_0.67-1_all.deb to pool/main/libr/librpc-xml-perl/librpc-xml-perl_0.67-1_all.deb librpc-xml-perl_0.67.orig.tar.gz to pool/main/libr/librpc-xml-perl/librpc-xml-perl_0.67.orig.tar.gz A summary of the changes between this version and the previous one is attached. Thank you for reporting the bug, which will now be closed. If you have further comments please address them to 471...@bugs.debian.org, and the maintainer will reopen the bug report if appropriate. Debian distribution maintenance software pp. Salvatore Bonaccorso <salvatore.bonacco...@gmail.com> (supplier of updated librpc-xml-perl package) (This message was generated automatically at their request; if you believe that there is a problem with it please contact the archive administrators by mailing ftpmas...@debian.org) -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Format: 1.8 Date: Fri, 10 Jul 2009 20:32:31 +0200 Source: librpc-xml-perl Binary: librpc-xml-perl Architecture: source all Version: 0.67-1 Distribution: unstable Urgency: low Maintainer: Debian Perl Group <pkg-perl-maintain...@lists.alioth.debian.org> Changed-By: Salvatore Bonaccorso <salvatore.bonacco...@gmail.com> Description: librpc-xml-perl - Perl module implementation of XML-RPC Closes: 471211 Changes: librpc-xml-perl (0.67-1) unstable; urgency=low . [ gregor herrmann ] * debian/control: Changed: Switched Vcs-Browser field to ViewSVN (source stanza). * debian/control: Added: ${misc:Depends} to Depends: field. . [ Rene Mayorga ] * debian/control: update my email address. . [ Nathan Handler ] * debian/watch: Update to ignore development releases. . [ Salvatore Bonaccorso ] * New upstream release. - Adds support for <nil/> (Closes: #471211). * debian/control: - Add myself to Uploaders - Bump Standards-Version to 3.8.2 (no changes) - Add versioned Build Dependency on libscalar-util-perl (>= 1.20) * debian/copyright: Update copyrights for holder including 2009. . [ gregor herrmann ] * debian/copyright: update years of packaging copyright and a license URL. * debian/control: add libscalar-list-utils-perl (>= 1:1.20) to Depends. Checksums-Sha1: 64d7837cfc13375ef60695e0918eff40a976d432 1639 librpc-xml-perl_0.67-1.dsc c0b13093c16dad653dc49b9f0c6a17cdb53cf2d7 158785 librpc-xml-perl_0.67.orig.tar.gz 880070ccb0323bc8c0e7894cfcafea7faf7aa893 3605 librpc-xml-perl_0.67-1.diff.gz bce04151c733d6680599ed5388c991facfc50956 207612 librpc-xml-perl_0.67-1_all.deb Checksums-Sha256: 0e236f08bc75a08aa31db8ec77cdfd796844fda9aeef52116c62fd7ac374fdcc 1639 librpc-xml-perl_0.67-1.dsc d1cdd7b9f2c7970bdddc590c934756199c55d45e92af89c31bbb9c06cee0055f 158785 librpc-xml-perl_0.67.orig.tar.gz dfc646f47cb495eb9e479f1506ddea346b1c59018d30845a18def96f1a003537 3605 librpc-xml-perl_0.67-1.diff.gz 94bebd2566b7192044775abee7e93f531c874ed3ac7662f9af852abcd76df220 207612 librpc-xml-perl_0.67-1_all.deb Files: ebab44c4d2b3ffb334b6339f480962f5 1639 perl optional librpc-xml-perl_0.67-1.dsc 5a931e841a361bfb41be0c19b4431e99 158785 perl optional librpc-xml-perl_0.67.orig.tar.gz b49b42f53e6a24355bec1241cc2b25a6 3605 perl optional librpc-xml-perl_0.67-1.diff.gz da9c1cc6c5dc77b6c425e8ace12be234 207612 perl optional librpc-xml-perl_0.67-1_all.deb -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) iEYEARECAAYFAkpYz4gACgkQOzKYnQDzz+TOtgCglhuLqS6wv2pDZ5fEyT7c8L8o 8rgAn13lPJ9YabD1xZCw3rTttbhdBswm =qymI -----END PGP SIGNATURE-----
--- End Message ---