Hello community, here is the log from the commit of package perl-Config-General for openSUSE:Factory checked in at 2015-05-27 12:48:21 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-Config-General (Old) and /work/SRC/openSUSE:Factory/.perl-Config-General.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Config-General" Changes: -------- --- /work/SRC/openSUSE:Factory/perl-Config-General/perl-Config-General.changes 2014-09-17 17:26:41.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.perl-Config-General.new/perl-Config-General.changes 2015-05-27 12:48:22.000000000 +0200 @@ -1,0 +2,13 @@ +Thu May 21 08:28:02 UTC 2015 - co...@suse.com + +- updated to 2.57 + see /usr/share/doc/packages/perl-Config-General/Changelog + + 2.57 - fix rt.cpan.org#104548, dont allow special chars like newline + or < in keys, which leads to faile when saving. + + 2.56 - fix rt.cpan.org#95325 + + 2.55 - fix rt.cpan.org#95314 + +------------------------------------------------------------------- Old: ---- Config-General-2.56.tar.gz New: ---- Config-General-2.57.tar.gz cpanspec.yml ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-Config-General.spec ++++++ --- /var/tmp/diff_new_pack.njarz7/_old 2015-05-27 12:48:23.000000000 +0200 +++ /var/tmp/diff_new_pack.njarz7/_new 2015-05-27 12:48:23.000000000 +0200 @@ -1,7 +1,7 @@ # # spec file for package perl-Config-General # -# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2015 SUSE LINUX 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,14 +17,15 @@ Name: perl-Config-General -Version: 2.56 +Version: 2.57 Release: 0 %define cpan_name Config-General Summary: Generic Config Module -License: Artistic-1.0 or GPL-1.0+ +License: GPL-1.0+ or Artistic-1.0 Group: Development/Libraries/Perl Url: http://search.cpan.org/dist/Config-General/ -Source: http://www.cpan.org/authors/id/T/TL/TLINDEN/%{cpan_name}-%{version}.tar.gz +Source0: http://www.cpan.org/authors/id/T/TL/TLINDEN/%{cpan_name}-%{version}.tar.gz +Source1: cpanspec.yml BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: perl BuildRequires: perl-macros @@ -61,6 +62,6 @@ %files -f %{name}.files %defattr(-,root,root,755) -%doc Changelog README +%doc Changelog README TODO %changelog ++++++ Config-General-2.56.tar.gz -> Config-General-2.57.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Config-General-2.56/Changelog new/Config-General-2.57/Changelog --- old/Config-General-2.56/Changelog 2014-05-01 13:17:18.000000000 +0200 +++ new/Config-General-2.57/Changelog 2015-05-20 19:30:20.000000000 +0200 @@ -1,3 +1,10 @@ +2.57 - fix rt.cpan.org#104548, dont allow special chars like newline + or < in keys, which leads to faile when saving. + +2.56 - fix rt.cpan.org#95325 + +2.55 - fix rt.cpan.org#95314 + 2.54 - fixed rt.cpan.org#39814. changed the order of pre-processing in _read(): 1) remove comments, 2) check for continuation, 3) remove empty lines. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Config-General-2.56/General.pm new/Config-General-2.57/General.pm --- old/Config-General-2.56/General.pm 2014-05-04 15:25:59.000000000 +0200 +++ new/Config-General-2.57/General.pm 2015-05-20 19:30:20.000000000 +0200 @@ -5,7 +5,7 @@ # config values from a given file and # return it as hash structure # -# Copyright (c) 2000-2014 Thomas Linden <tlinden |AT| cpan.org>. +# Copyright (c) 2000-2015 Thomas Linden <tlinden |AT| cpan.org>. # All Rights Reserved. Std. disclaimer applies. # Artistic License, same as perl itself. Have fun. # @@ -32,7 +32,7 @@ use Carp; use Exporter; -$Config::General::VERSION = "2.56"; +$Config::General::VERSION = "2.57"; use vars qw(@ISA @EXPORT_OK); use base qw(Exporter); @@ -1258,6 +1258,11 @@ my $config_string = q(); foreach my $entry ( $this->{SaveSorted} ? sort keys %$config : keys %$config ) { + # fix rt#104548 + if ($entry =~ /[<>\n\r]/) { + croak "Config::General: current key contains invalid characters: $entry!\n"; + } + if (ref($config->{$entry}) eq 'ARRAY') { if( $this->{ForceArray} && scalar @{$config->{$entry}} == 1 && ! ref($config->{$entry}->[0]) ) { # a single value array forced to stay as array @@ -2748,7 +2753,7 @@ =head1 VERSION -2.56 +2.57 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Config-General-2.56/META.yml new/Config-General-2.57/META.yml --- old/Config-General-2.56/META.yml 2014-05-04 15:27:09.000000000 +0200 +++ new/Config-General-2.57/META.yml 2015-05-20 19:30:20.000000000 +0200 @@ -1,26 +1,16 @@ ---- #YAML:1.0 -name: Config-General -version: 2.56 -abstract: ~ -author: [] -license: perl -distribution_type: module -configure_requires: - ExtUtils::MakeMaker: 0 -build_requires: - ExtUtils::MakeMaker: 0 +name: Config-General +version: 2.50 +version_from: General.pm +installdirs: site requires: - File::Glob: 0 - File::Spec::Functions: 0 - FileHandle: 0 - IO::File: 0 + File::Glob: 0 + File::Spec::Functions: 0 + FileHandle: 0 + IO::File: 0 resources: - repository: http://dev.catalyst.perl.org/repos/Config-General/trunk/ -no_index: - directory: - - t - - inc -generated_by: ExtUtils::MakeMaker version 6.56 -meta-spec: - url: http://module-build.sourceforge.net/META-spec-v1.4.html - version: 1.4 + bugtracker: https://rt.cpan.org/Public/Dist/Display.html?Name=Config-General + homepage: http://search.cpan.org/dist/Config-General/ + license: http://dev.perl.org/licenses/artistic.html + repository: http://dev.catalyst.perl.org/repos/Config-General +distribution_type: module +generated_by: ExtUtils::MakeMaker version 6.30 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Config-General-2.56/README new/Config-General-2.57/README --- old/Config-General-2.56/README 2014-05-04 15:26:10.000000000 +0200 +++ new/Config-General-2.57/README 2015-05-20 19:30:20.000000000 +0200 @@ -104,4 +104,4 @@ VERSION - 2.56 + 2.57 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Config-General-2.56/TODO new/Config-General-2.57/TODO --- old/Config-General-2.56/TODO 1970-01-01 01:00:00.000000000 +0100 +++ new/Config-General-2.57/TODO 2015-05-20 19:30:20.000000000 +0200 @@ -0,0 +1,5 @@ + + + o need separate methods like ::String or ::File to fill + module parameters, and ::Parse and/or ::Read for manually + invocation of the parser diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Config-General-2.56/t/PathObject.pm new/Config-General-2.57/t/PathObject.pm --- old/Config-General-2.56/t/PathObject.pm 1970-01-01 01:00:00.000000000 +0100 +++ new/Config-General-2.57/t/PathObject.pm 2015-05-20 19:30:20.000000000 +0200 @@ -0,0 +1,24 @@ +# +# Pathobject fake module to test Config::General +# without the need to install Path::Class::File module. +# +# Submitted by Matt S Trout, Copyright (c) 2009 Matt S Trout. + + +package PathObject; + +use overload ('""' => 'stringify'); + +sub new { + my $class = shift; + my $self = {}; + bless $self, $class; + return $self; +} + +sub stringify { + my ($self) = @_; + return "t/test.rc"; +} + +1; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Config-General-2.56/t/run.t new/Config-General-2.57/t/run.t --- old/Config-General-2.56/t/run.t 2014-05-01 13:15:57.000000000 +0200 +++ new/Config-General-2.57/t/run.t 2015-05-20 19:30:20.000000000 +0200 @@ -8,7 +8,7 @@ use Data::Dumper; -use Test::More tests => 71; +use Test::More tests => 72; #use Test::More qw(no_plan); # ahem, we deliver the test code with a local copy of @@ -742,3 +742,9 @@ my $cfg55 = new Config::General( -ConfigFile => "t/cfg.55" ); my %hash55 = $cfg55->getall(); is($hash55{b}, "nochop", "check continuation followed by empty line"); + +my $cfg56 = Config::General->new(); +eval { + $cfg56->save_file("t/56.out", { "new\nline" => 9, "brack<t" => 8 }); +}; +ok($@, "catch special chars in keys"); ++++++ cpanspec.yml ++++++ --- #description_paragraphs: 3 #no_testing: broken upstream #sources: # - source1 # - source2 #patches: # foo.patch: -p1 # bar.patch: #preamble: |- # BuildRequires: gcc-c++ #post_prep: |- # hunspell=`pkg-config --libs hunspell | sed -e 's,-l,,; s, *,,g'` # sed -i -e "s,hunspell-X,$hunspell," t/00-prereq.t Makefile.PL #post_install: |- # sed on %{name}.files #license: SUSE-NonFree #skip_noarch: 1 #custom_build: |- #./Build build flags=%{?_smp_mflags} --myflag #custom_test: |- #startserver && make test #ignore_requires: Bizarre::Module