In perl.git, the branch yves/hv_h_split has been created
<http://perl5.git.perl.org/perl.git/commitdiff/bdab8378b55088afb44da140884b1aeb9617a196?hp=0000000000000000000000000000000000000000>
at bdab8378b55088afb44da140884b1aeb9617a196 (commit)
- Log -----------------------------------------------------------------
commit bdab8378b55088afb44da140884b1aeb9617a196
Author: Yves Orton <[email protected]>
Date: Thu Feb 21 09:34:31 2013 +0100
remove confusing superfluous backslash
M cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
commit 34f71340c75f9bb11d145002b3b7bfd0b4bb49bb
Author: Yves Orton <[email protected]>
Date: Wed Feb 20 07:33:49 2013 +0100
Do not hard code the list of perl header files - discover them from disk
instead
Includes a version bump to all the EU::MM files (to prevent any possible
$VERSION consistency checks from failing like they would on *nix)
This patch will be submitted to the EU::MM project in a modified form
and once merged there should replace these changes
M cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm
M cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm
M cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm
M cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm
M cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_BeOS.pm
M cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm
M cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_DOS.pm
M cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Darwin.pm
M cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_MacOS.pm
M cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_NW5.pm
M cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm
M cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_QNX.pm
M cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_UWIN.pm
M cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
M cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm
M cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VOS.pm
M cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win32.pm
M cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win95.pm
M cpan/ExtUtils-MakeMaker/lib/ExtUtils/MY.pm
M cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm
M cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mkbootstrap.pm
M cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm
M cpan/ExtUtils-MakeMaker/lib/ExtUtils/testlib.pm
commit 789593f87701c8bcc6d15cc87e8c6e1c1c813164
Author: Yves Orton <[email protected]>
Date: Tue Feb 19 13:25:53 2013 +0100
semi-Randomize hash insertion order
M hv.c
commit e200555de74d92474095789eaf16ba0ab581eb63
Author: Yves Orton <[email protected]>
Date: Tue Feb 19 12:14:44 2013 +0100
Ensure that Module::Pluggable returns plugins in a predictable order
As of 5.18 hash traversal order will vary per-hash, and indeed more
frequently. The likelihood this results in one of the tests in M::P
failing becomes very high.
In general the test expectations were fragile, but probably almost
never failed. With hash traversal randomization they will fail
regularly.
Note the use a temporary array in part of this patch is because
sort in scalar context is undefined.
M cpan/Module-Pluggable/lib/Module/Pluggable.pm
M cpan/Module-Pluggable/lib/Module/Pluggable/Object.pm
M cpan/Module-Pluggable/t/19can_ok_clobber.t
commit b5a21ac236fcba722ce19e785d6df0bb9c4767fe
Author: Yves Orton <[email protected]>
Date: Tue Feb 19 12:12:34 2013 +0100
Fix code which modifies a hash while each()ing over it
It has never been correct to modify a hash during traversal by each().
In older perls this was unlikely to break the tests. In newer perls
it is relatively likely, and in 5.18 it will be almost certain.
This includes a version bump. Needs to be merged upstream.
M cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
M cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm
M cpan/ExtUtils-MakeMaker/t/basic.t
commit 8a36c7c5d568d01a6edcae31ea8fa065e228e75d
Author: Yves Orton <[email protected]>
Date: Mon Feb 18 16:13:08 2013 +0100
reset HvRAND() every hsplit, and properly rotate the bucket_rand. :-)
M hv.c
commit 8a0d93b647764aa6e714edb7ffa05c423039b512
Author: Yves Orton <[email protected]>
Date: Mon Feb 18 10:18:48 2013 +0100
randomize bucket split insertion in hsplit()
M hv.c
commit 9d70691ca97fa37690f35cb13be420e1150be828
Author: Yves Orton <[email protected]>
Date: Mon Feb 18 09:36:35 2013 +0100
turn the ptr_hash inline code into a true sub
Borrowed from autobox, which is released under the same terms as Perl.
M embed.fnc
M embed.h
M hv.c
M proto.h
commit 95ad5433b4003a6bec873367b1e17fda0ff46e49
Author: Yves Orton <[email protected]>
Date: Mon Feb 18 08:11:18 2013 +0100
Enable hash traversal order randomization
This patch causes Perl to use a random order per hash when traversing
hashes via keys(), values() and each().
The random order is determined by add a new property xhv_rand to struct
xpvhv. This property
is calculated on per traverse of the hash by using a pointer/integer hash
function on the
address of the bucket array, and then XORing it with the bucket index
counter during traverse.
This causes each hash to have a different order for traversing the buckets.
The purpose of this change is to make hash seed discovery attacks harder.
An attacker loses
a lot of information when the keys are "randomized".
M hv.c
M hv.h
M t/op/smartkve.t
commit 7984bf979cbda635aea81f5864c1ec884c966b2f
Author: Yves Orton <[email protected]>
Date: Mon Feb 18 07:56:25 2013 +0100
Fix test fails due to hash traversal randomization
One cannot assume two hashes with the same keys will have the
the same key order. And after hash traversal randomization one
can assume they WONT.
M cpan/Pod-Simple/t/closeys.t
commit 18146db755d51748d8269688c81e986d1403c116
Author: Yves Orton <[email protected]>
Date: Mon Feb 18 06:37:29 2013 +0100
Fix tests that fail due to hash traversal randomization
One cannot assume two hashes with the same keys will have the
the same key order. And after hash traversal randomization one
can assume they WONT.
M cpan/JSON-PP/t/019_incr.t
commit d9531605daaaac6cd3a237bdd29a95489dd648dc
Author: Yves Orton <[email protected]>
Date: Sun Feb 17 16:39:23 2013 +0100
Fix failing porting tests by bumping version number and tweaking pod
M ext/Hash-Util/lib/Hash/Util.pm
commit b2caf89f036cb3c1f7aea70eeaec8868219f10f7
Author: Yves Orton <[email protected]>
Date: Tue Feb 12 05:06:48 2013 +0100
default to PERL_FUNC_ONE_AT_A_TIME_HARD for all builds
For testing, but maybe for ever
M hv_func.h
commit d640e733925dd3a28160c3ee5780491b64df02b9
Author: Yves Orton <[email protected]>
Date: Mon Feb 11 19:33:00 2013 +0100
Remove XXHash (for now)
For some reason I could never get it working anyway, due to strange
segfaults that I did not have the time to track down.
M hv_func.h
commit beef900127fbde74dcf79c2d5f28d849c45c566f
Author: Yves Orton <[email protected]>
Date: Mon Jan 21 17:11:31 2013 +0100
random tweaks
M hv_func.h
commit 523970f7c89c1697e65c0a343d6c12ab7fb40f4c
Author: Yves Orton <[email protected]>
Date: Wed Dec 12 00:13:53 2012 +0100
fixup wording
M ext/Hash-Util/lib/Hash/Util.pm
commit 7551b61d337db8e6aec58810aaa4e614e18b1a43
Author: Yves Orton <[email protected]>
Date: Tue Dec 11 23:46:37 2012 +0100
add a "hash quality score" to Hash::Util::bucket_stats()
M ext/Hash-Util/lib/Hash/Util.pm
commit fada2063f84b7edd9fac672841f1f40de354b9bd
Author: Yves Orton <[email protected]>
Date: Tue Dec 11 08:50:58 2012 +0100
Attempt to eliminate a signed mistmatch in comparison warning
as far as I can tell 'i' can only be positive here.
M hv_func.h
commit 86e8d96864d14deac5692a1fd0eda0cd2cf56a51
Author: Yves Orton <[email protected]>
Date: Mon Dec 10 09:43:59 2012 +0100
include missing headers so XS modules rebuild when they change
M cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
M cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm
commit 218ea793aed9680c01ae02e69ae18029ef988bf1
Author: Yves Orton <[email protected]>
Date: Mon Dec 10 08:36:43 2012 +0100
add a hardened one-at-a-time hash variant
Mix in additional randomness into the final value.
M hv_func.h
commit 322c2d3cca4e04d49b24ceca18cc5ed656281a6e
Author: Yves Orton <[email protected]>
Date: Mon Dec 10 00:40:43 2012 +0100
add xxhash
M hv_func.h
commit 4b1f5afc8ad9cc7887a62eb95fdb5263bef13378
Author: Yves Orton <[email protected]>
Date: Sun Dec 9 17:01:46 2012 +0100
Split out hash functions into new file and turn into inline static functions
This includes various tweaks related to building SipHash.
M Cross/Makefile-cross-SH
M MANIFEST
M Makefile.SH
M Makefile.micro
M NetWare/Makefile
M configpm
M hv.h
A hv_func.h
M win32/Makefile
M win32/Makefile.ce
commit 8eda8beff55b1b66fea4afdc8f80594def788b29
Author: Yves Orton <[email protected]>
Date: Sat Dec 8 16:26:01 2012 +0100
remove toy code
M hv.h
commit f718b453305db41646ff8b17429600645013a61e
Author: Yves Orton <[email protected]>
Date: Sat Dec 8 16:24:06 2012 +0100
remove unused define
M hv.h
-----------------------------------------------------------------------
--
Perl5 Master Repository