From 72e0efe7b7e50985e0ecc7f303ed75dd9633248d Mon Sep 17 00:00:00 2001 From: Petr Písař Date: Jun 25 2019 15:24:26 +0000 Subject: Fix setting supplementar group IDs --- diff --git a/perl-5.31.0-Add-test-for-perl-134169.patch b/perl-5.31.0-Add-test-for-perl-134169.patch new file mode 100644 index 0000000..8eea2bf --- /dev/null +++ b/perl-5.31.0-Add-test-for-perl-134169.patch @@ -0,0 +1,56 @@ +From 3121d45269f99e4f103ab5b830d517ded30081a8 Mon Sep 17 00:00:00 2001 +From: Manuel Mausz +Date: Mon, 17 Jun 2019 10:24:03 +0200 +Subject: [PATCH] Add test for perl #134169 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Petr Písař +--- + t/op/groups.t | 22 +++++++++++++++++++++- + 1 file changed, 21 insertions(+), 1 deletion(-) + +diff --git a/t/op/groups.t b/t/op/groups.t +index e50c50a8c1..7e064cc21f 100644 +--- a/t/op/groups.t ++++ b/t/op/groups.t +@@ -51,7 +51,7 @@ sub Test { + my %basegroup = basegroups( $pwgid, $pwgnam ); + my @extracted_supplementary_groups = remove_basegroup( \ %basegroup, \ @extracted_groups ); + +- plan 2; ++ plan 3; + + + # Test: The supplementary groups in $( should match the +@@ -121,6 +121,26 @@ sub Test { + $gid_count->{0} //= 0; + ok 0 == $pwgid || $gid_count->{0} < 2, "groupstype should be type short, not long"; + ++ SKIP: { ++ # try to add a group as supplementary group ++ my $root_uid = 0; ++ skip "uid!=0", 1 if $< != $root_uid and $> != $root_uid; ++ my @groups = split ' ', $); ++ my @sup_group; ++ setgrent; ++ while(my @ent = getgrent) { ++ next if grep { $_ == $ent[2] } @groups; ++ @sup_group = @ent; ++ last; ++ } ++ endgrent; ++ skip "No group found we could add as a supplementary group", 1 ++ if (!@sup_group); ++ $) = "$) @sup_group[2]"; ++ my $ok = grep { $_ == $sup_group[2] } split ' ', $); ++ ok $ok, "Group `$sup_group[0]' added as supplementary group"; ++ } ++ + return; + } + +-- +2.20.1 + diff --git a/perl-5.31.0-Manuel-Mausz-is-now-a-perl-author.patch b/perl-5.31.0-Manuel-Mausz-is-now-a-perl-author.patch new file mode 100644 index 0000000..1a19b24 --- /dev/null +++ b/perl-5.31.0-Manuel-Mausz-is-now-a-perl-author.patch @@ -0,0 +1,28 @@ +From f83193f25095f9353c8e34c187184bc25fdadf51 Mon Sep 17 00:00:00 2001 +From: Tony Cook +Date: Wed, 19 Jun 2019 11:25:13 +1000 +Subject: [PATCH] Manuel Mausz is now a perl author +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Petr Písař +--- + AUTHORS | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/AUTHORS b/AUTHORS +index 8d5f5b0ad3..0091100600 100644 +--- a/AUTHORS ++++ b/AUTHORS +@@ -772,6 +772,7 @@ Maik Hentsche + Major Sébastien + Makoto MATSUSHITA + Malcolm Beattie ++Manuel Mausz + Manuel Valente + Marc Green + Marc Lehmann +-- +2.20.1 + diff --git a/perl-5.31.0-perl-134169-mg.c-reset-endptr-after-use.patch b/perl-5.31.0-perl-134169-mg.c-reset-endptr-after-use.patch new file mode 100644 index 0000000..ec0ce9f --- /dev/null +++ b/perl-5.31.0-perl-134169-mg.c-reset-endptr-after-use.patch @@ -0,0 +1,40 @@ +From 79e302e6c3f815bf4cb72a5bacc3012595970db9 Mon Sep 17 00:00:00 2001 +From: Manuel Mausz +Date: Tue, 4 Jun 2019 00:29:09 +0200 +Subject: [PATCH] (perl #134169) mg.c reset endptr after use +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Perl_grok_atoUV has been changed so endptr constraints the input. Thus we need to reset the endptr after every use. + +Signed-off-by: Petr Písař +--- + mg.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/mg.c b/mg.c +index 26211dd4d0..f235f0ee5a 100644 +--- a/mg.c ++++ b/mg.c +@@ -3178,7 +3178,8 @@ Perl_magic_set(pTHX_ SV *sv, MAGIC *mg) + { + const char *p = SvPV_const(sv, len); + Groups_t *gary = NULL; +- const char* endptr = p + len; ++ const char* p_end = p + len; ++ const char* endptr = p_end; + UV uv; + #ifdef _SC_NGROUPS_MAX + int maxgrp = sysconf(_SC_NGROUPS_MAX); +@@ -3201,6 +3202,7 @@ Perl_magic_set(pTHX_ SV *sv, MAGIC *mg) + if (endptr == NULL) + break; + p = endptr; ++ endptr = p_end; + while (isSPACE(*p)) + ++p; + if (!*p) +-- +2.20.1 + diff --git a/perl.spec b/perl.spec index 0cd8d16..b05d4bd 100644 --- a/perl.spec +++ b/perl.spec @@ -201,6 +201,11 @@ Patch32: perl-5.31.0-perl-133936-make-send-a-bit-saner.patch # RT133989, fixed after 5.31.0 Patch33: perl-5.31.0-perl-133989-scalar-the-argument-to-readline-if-any.patch +# Fix setting supplementar group IDs, RT#134169, fixed after 5.31.0 +Patch34: perl-5.31.0-perl-134169-mg.c-reset-endptr-after-use.patch +Patch35: perl-5.31.0-Add-test-for-perl-134169.patch +Patch36: perl-5.31.0-Manuel-Mausz-is-now-a-perl-author.patch + # Link XS modules to libperl.so with EU::CBuilder on Linux, bug #960048 Patch200: perl-5.16.3-Link-XS-modules-to-libperl.so-with-EU-CBuilder-on-Li.patch @@ -2752,6 +2757,9 @@ Perl extension for Version Objects %patch31 -p1 %patch32 -p1 %patch33 -p1 +%patch34 -p1 +%patch35 -p1 +%patch36 -p1 %patch200 -p1 %patch201 -p1 @@ -2792,6 +2800,9 @@ perl -x patchlevel.h \ 'Fedora Patch31: Fix changing packet destination sent from a UDP IO::Socket object (RT#133936)' \ 'Fedora Patch32: Fix changing packet destination sent from a UDP IO::Socket object (RT#133936)' \ 'Fedora Patch33: Fix a stack underflow in readline() if passed an empty array as an argument (#RT133989)' \ + 'Fedora Patch34: Fix setting supplementar group IDs (RT#134169)' \ + 'Fedora Patch35: Fix setting supplementar group IDs (RT#134169)' \ + 'Fedora Patch36: Fix setting supplementar group IDs (RT#134169)' \ 'Fedora Patch200: Link XS modules to libperl.so with EU::CBuilder on Linux' \ 'Fedora Patch201: Link XS modules to libperl.so with EU::MM on Linux' \ %{nil} @@ -5054,6 +5065,7 @@ popd - Fix changing packet destination sent from a UDP IO::Socket object (RT#133936) - Fix a stack underflow in readline() if passed an empty array as an argument (#RT133989) +- Fix setting supplementar group IDs (RT#134169) * Tue Jun 11 2019 Jitka Plesnikova - 4:5.30.0-439 - Define %%perl_vendor*, %%perl_archlib, %%perl_privlib, because in rpm