You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by mm...@apache.org on 2010/02/18 16:04:47 UTC
svn commit: r911429 - in /spamassassin/trunk/lib/Mail/SpamAssassin:
DnsResolver.pm Plugin/Razor2.pm
Author: mmartinec
Date: Thu Feb 18 15:04:47 2010
New Revision: 911429
URL: http://svn.apache.org/viewvc?rev=911429&view=rev
Log:
oops, 64-bit integers and rand(~0)
Modified:
spamassassin/trunk/lib/Mail/SpamAssassin/DnsResolver.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Razor2.pm
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/DnsResolver.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/DnsResolver.pm?rev=911429&r1=911428&r2=911429&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/DnsResolver.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/DnsResolver.pm Thu Feb 18 15:04:47 2010
@@ -314,7 +314,7 @@
if (chr($ic) =~ /^[A-Za-z]\z/) {
if ($have_rnd_bits < 1) {
# only reveal few bits at a time, hiding most of the accumulator
- $rnd = rand(~0) & 0xff; $have_rnd_bits = 8;
+ $rnd = int(rand(0x7fffffff)) & 0xff; $have_rnd_bits = 8;
}
$ic ^= 0x20 if $rnd & 1; # flip the 0x20 bit in name if dice says so
$rnd = $rnd >> 1; $have_rnd_bits--;
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Razor2.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Razor2.pm?rev=911429&r1=911428&r2=911429&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Razor2.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Razor2.pm Thu Feb 18 15:04:47 2010
@@ -155,7 +155,7 @@
Mail::SpamAssassin::PerMsgStatus::enter_helper_run_mode($self);
- my $rnd = rand(~0); # save entropy before Razor clobbers it
+ my $rnd = rand(0x7fffffff); # save entropy before Razor clobbers it
my $timer = Mail::SpamAssassin::Timeout->new(
{ secs => $timeout, deadline => $deadline });
@@ -311,9 +311,9 @@
# OK, that's enough Razor stuff. now, reset all that global
# state it futzes with :(
# work around serious brain damage in Razor2 (constant seed)
- $rnd ^= rand(~0); # mix old accumulator with whatever came out of razor
- srand; # let Perl give it a try ...
- $rnd ^= rand(~0); # ... and mix that in too
+ $rnd ^= int(rand(0xffffffff)); # mix old acc with whatever came out of razor
+ srand; # let Perl give it a try ...
+ $rnd ^= int(rand(0xffffffff)); # ... and mix-in that too
srand($rnd & 0x7fffffff); # reseed, keep it unsigned 32-bit just in case
Mail::SpamAssassin::PerMsgStatus::leave_helper_run_mode($self);