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);