Author: stevehay Date: Mon Mar 18 01:59:22 2013 New Revision: 1457618 URL: http://svn.apache.org/r1457618 Log: On Perl 5.17.6 and above, hash seeding has changed, and HvREHASH has disappeared. Patch to update mod_perl accordingly from rt.cpan.org #83921. [Zefram]
Modified: perl/modperl/trunk/Changes perl/modperl/trunk/src/modules/perl/modperl_perl.c perl/modperl/trunk/t/perl/hash_attack.t Modified: perl/modperl/trunk/Changes URL: http://svn.apache.org/viewvc/perl/modperl/trunk/Changes?rev=1457618&r1=1457617&r2=1457618&view=diff ============================================================================== --- perl/modperl/trunk/Changes (original) +++ perl/modperl/trunk/Changes Mon Mar 18 01:59:22 2013 @@ -12,6 +12,10 @@ Also refer to the Apache::Test changes l =item 2.0.8-dev +On Perl 5.17.6 and above, hash seeding has changed, and HvREHASH has +disappeared. Patch to update mod_perl accordingly from rt.cpan.org #83921. +[Zefram] + Restore build with Perl 5.8.1, 5.8.2 etc: take care to use $Config{useithreads} rather than $Config{usethreads}, and supply definitions of Newx and Newxz as necessary. [Steve Hay] Modified: perl/modperl/trunk/src/modules/perl/modperl_perl.c URL: http://svn.apache.org/viewvc/perl/modperl/trunk/src/modules/perl/modperl_perl.c?rev=1457618&r1=1457617&r2=1457618&view=diff ============================================================================== --- perl/modperl/trunk/src/modules/perl/modperl_perl.c (original) +++ perl/modperl/trunk/src/modules/perl/modperl_perl.c Mon Mar 18 01:59:22 2013 @@ -265,12 +265,17 @@ void modperl_hash_seed_set(pTHX) { #ifdef MP_NEED_HASH_SEED_FIXUP if (MP_init_hash_seed_set) { -#if MP_PERL_VERSION(5, 8, 1) - PL_hash_seed = MP_init_hash_seed; +#if MP_PERL_VERSION_AT_LEAST(5, 17, 6) + memcpy(&PL_hash_seed, &MP_init_hash_seed, + sizeof(PL_hash_seed) > sizeof(MP_init_hash_seed) ? + sizeof(MP_init_hash_seed) : sizeof(PL_hash_seed)); PL_hash_seed_set = MP_init_hash_seed_set; -#else +#elif MP_PERL_VERSION_AT_LEAST(5, 8, 2) PL_rehash_seed = MP_init_hash_seed; PL_rehash_seed_set = MP_init_hash_seed_set; +#else + PL_hash_seed = MP_init_hash_seed; + PL_hash_seed_set = MP_init_hash_seed_set; #endif } #endif Modified: perl/modperl/trunk/t/perl/hash_attack.t URL: http://svn.apache.org/viewvc/perl/modperl/trunk/t/perl/hash_attack.t?rev=1457618&r1=1457617&r2=1457618&view=diff ============================================================================== --- perl/modperl/trunk/t/perl/hash_attack.t (original) +++ perl/modperl/trunk/t/perl/hash_attack.t Mon Mar 18 01:59:22 2013 @@ -8,7 +8,7 @@ use Apache::TestTrace; use Apache::TestRequest 'GET_BODY_ASSERT'; plan tests => 1, - need { "relevant only for perl 5.8.2 and higher" => ($] >= 5.008002) }; + need { "relevant only for perl 5.8.2 and up to 5.17.6" => ($] >= 5.008002 && $] < 5.017006) }; my $expected = "ok"; my $received = GET_BODY_ASSERT "/TestPerl__hash_attack";