From 6bb6018e1ad6465ad00e753c794b61f83ab93eb33898bfa68daa2fe487450bc6 Mon Sep 17 00:00:00 2001 From: OBS User unknown Date: Wed, 14 Jan 2009 16:44:56 +0000 Subject: [PATCH] OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/perl?expand=0&rev=26 --- perl-file_path_rmtree_chmod_again.diff | 24 ++++++++++++++++++++++++ perl-nroff.diff | 11 +++++++++++ perl.changes | 6 ++++++ perl.spec | 9 ++++++++- 4 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 perl-file_path_rmtree_chmod_again.diff create mode 100644 perl-nroff.diff diff --git a/perl-file_path_rmtree_chmod_again.diff b/perl-file_path_rmtree_chmod_again.diff new file mode 100644 index 0000000..48fe856 --- /dev/null +++ b/perl-file_path_rmtree_chmod_again.diff @@ -0,0 +1,24 @@ +--- lib/File/Path.pm.orig ++++ lib/File/Path.pm +@@ -316,10 +316,8 @@ sub _rmtree { + print "skipped $root\n" if $arg->{verbose}; + next ROOT_DIR; + } +- if (!chmod $perm | 0700, $root) { +- if ($Force_Writeable) { +- _error($arg, "cannot make directory writeable", $canon); +- } ++ if ($Force_Writeable && !chmod $perm | 0700, $root) { ++ _error($arg, "cannot make directory writeable", $canon); + } + print "rmdir $root\n" if $arg->{verbose}; + if (rmdir $root) { +@@ -328,7 +326,7 @@ sub _rmtree { + } + else { + _error($arg, "cannot remove directory", $canon); +- if (!chmod($perm, ($Is_VMS ? VMS::Filespec::fileify($root) : $root)) ++ if ($Force_Writeable && !chmod($perm, ($Is_VMS ? VMS::Filespec::fileify($root) : $root)) + ) { + _error($arg, sprintf("cannot restore permissions to 0%o",$perm), $canon); + } diff --git a/perl-nroff.diff b/perl-nroff.diff new file mode 100644 index 0000000..c7a194b --- /dev/null +++ b/perl-nroff.diff @@ -0,0 +1,11 @@ +--- ./lib/Pod/Perldoc.pm.orig 2009-01-14 14:57:51.000000000 +0000 ++++ ./lib/Pod/Perldoc.pm 2009-01-14 14:58:15.000000000 +0000 +@@ -648,7 +648,7 @@ sub options_processing { + + $self->options_sanity; + +- $self->opt_n("nroff") unless $self->opt_n; ++ $self->opt_n("nroff -c") unless $self->opt_n; + $self->add_formatter_option( '__nroffer' => $self->opt_n ); + + # Adjust for using translation packages diff --git a/perl.changes b/perl.changes index e04c062..e32f37e 100644 --- a/perl.changes +++ b/perl.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Wed Jan 14 15:58:56 CET 2009 - mls@suse.de + +- work around nroff change [bnc#463444] +- fix another rmtree vulnerability [bnc#450385] + ------------------------------------------------------------------- Wed Jan 7 12:34:56 CET 2009 - olh@suse.de diff --git a/perl.spec b/perl.spec index d5cec5b..439e538 100644 --- a/perl.spec +++ b/perl.spec @@ -22,7 +22,7 @@ Name: perl Url: http://www.perl.org/ BuildRequires: db-devel gdbm-devel ncurses-devel zlib-devel Version: 5.10.0 -Release: 63 +Release: 65 Summary: The Perl interpreter License: Artistic License; GPL v2 or later Group: Development/Languages/Perl @@ -47,6 +47,8 @@ Patch3: perl-fix_dbmclose_call.patch Patch4: perl-5.10.0-warn.diff Patch5: perl-regexp-refoverflow.diff Patch6: perl-file_path_rmtree_chmod.diff +Patch7: perl-file_path_rmtree_chmod_again.diff +Patch8: perl-nroff.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -122,6 +124,8 @@ Authors: %patch4 %patch5 %patch6 +%patch7 +%patch8 %build options="-Doptimize='$RPM_OPT_FLAGS -Wall -pipe'" @@ -352,6 +356,9 @@ EOF %doc /usr/lib/perl5/*/unicore/*.txt %changelog +* Wed Jan 14 2009 mls@suse.de +- work around nroff change [bnc#463444] +- fix another rmtree vulnerability [bnc#450385] * Wed Jan 07 2009 olh@suse.de - obsolete old -XXbit packages (bnc#437293) * Wed Nov 26 2008 mls@suse.de