PatchSet 7233 
Date: 2006/04/18 10:18:07
Author: guilhem
Branch: HEAD
Tag: (none) 
Log:
VMSecureRandom fix.

Members: 
        ChangeLog:1.4739->1.4740 
        libraries/clib/management/Classpath.c:1.9->1.10 
        libraries/javalib/vmspecific/java/security/VMSecureRandom.java:1.1->1.2 
        
libraries/javalib/vmspecific/org/kaffe/security/LameRandomness.java:1.1->1.2 
        
libraries/javalib/vmspecific/org/kaffe/security/Randomness.java:1.1->1.2 
        
libraries/javalib/vmspecific/org/kaffe/security/UnixRandomness.java:1.1->1.2 
        
libraries/javalib/vmspecific/org/kaffe/security/provider/SHA1PRNG.java:1.1->1.2 

Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.4739 kaffe/ChangeLog:1.4740
--- kaffe/ChangeLog:1.4739      Tue Apr 18 10:06:37 2006
+++ kaffe/ChangeLog     Tue Apr 18 10:18:07 2006
@@ -1,5 +1,17 @@
 2006-04-18  Guilhem Lavaux  <[EMAIL PROTECTED]>
 
+       * libraries/clib/management/Classpath.c: Renamed addClasspath and
+       prependClasspath.
+
+       * libraries/javalib/vmspecific/java/security/VMSecureRandom.java,
+       libraries/javalib/vmspecific/org/kaffe/security/LameRandomness.java,
+       libraries/javalib/vmspecific/org/kaffe/security/Randomness.java,
+       libraries/javalib/vmspecific/org/kaffe/security/UnixRandomness.java,
+       libraries/javalib/vmspecific/org/kaffe/security/provider/SHA1PRNG.java:
+       Make use of /dev/urandom if it is available.
+
+2006-04-18  Guilhem Lavaux  <[EMAIL PROTECTED]>
+
        * kaffe/kaffevm/findInJar.c,
        kaffe/kaffevm/support.h
        (KaffeVM_addClasspath, KaffeVM_prependClasspath): Renamed to
Index: kaffe/libraries/clib/management/Classpath.c
diff -u kaffe/libraries/clib/management/Classpath.c:1.9 
kaffe/libraries/clib/management/Classpath.c:1.10
--- kaffe/libraries/clib/management/Classpath.c:1.9     Wed Oct 19 20:10:38 2005
+++ kaffe/libraries/clib/management/Classpath.c Tue Apr 18 10:18:13 2006
@@ -25,7 +25,7 @@
        char *s;
 
        s = checkPtr(stringJava2C(str));
-       addClasspath(s);
+       KaffeVM_addClasspath(s);
        gc_free(s);
 }
 
@@ -38,7 +38,7 @@
        char *s;
 
        s = checkPtr(stringJava2C(str));
-       prependClasspath(s);
+       KaffeVM_prependClasspath(s);
        gc_free(s);
 }
 
Index: kaffe/libraries/javalib/vmspecific/java/security/VMSecureRandom.java
diff -u 
kaffe/libraries/javalib/vmspecific/java/security/VMSecureRandom.java:1.1 
kaffe/libraries/javalib/vmspecific/java/security/VMSecureRandom.java:1.2
--- kaffe/libraries/javalib/vmspecific/java/security/VMSecureRandom.java:1.1    
Mon Apr 17 17:58:15 2006
+++ kaffe/libraries/javalib/vmspecific/java/security/VMSecureRandom.java        
Tue Apr 18 10:18:13 2006
@@ -41,6 +41,8 @@
 import gnu.classpath.SystemProperties;
 import gnu.java.security.action.GetSecurityPropertyAction;
 
+import org.kaffe.security.Randomness;
+import org.kaffe.security.UnixRandomness;
 import java.net.URL;
 
 /**
@@ -59,6 +61,18 @@
  */
 final class VMSecureRandom
 {
+  static private Randomness randomgen;
+
+  static
+  {
+    try
+      {
+       randomgen = new UnixRandomness();
+      }
+    catch (java.io.IOException e)
+      {        
+      }
+  }
 
   /**
    * Generate a random seed. Implementations are free to generate
@@ -77,6 +91,12 @@
     if (offset < 0 || offset + length > buffer.length)
       throw new IndexOutOfBoundsException();
 
+    if (randomgen != null)
+      {
+       randomgen.fill(buffer, offset, length);
+       return length;
+      }
+
     Spinner[] spinners = new Spinner[8];
     int n = 0x1;
     for (int i = 0; i < spinners.length; i++)
@@ -131,4 +151,4 @@
       running = false;
     }
   }
-}
\ No newline at end of file
+}
Index: kaffe/libraries/javalib/vmspecific/org/kaffe/security/LameRandomness.java
diff -u 
kaffe/libraries/javalib/vmspecific/org/kaffe/security/LameRandomness.java:1.1 
kaffe/libraries/javalib/vmspecific/org/kaffe/security/LameRandomness.java:1.2
--- 
kaffe/libraries/javalib/vmspecific/org/kaffe/security/LameRandomness.java:1.1   
    Wed Oct 19 20:16:10 2005
+++ kaffe/libraries/javalib/vmspecific/org/kaffe/security/LameRandomness.java   
Tue Apr 18 10:18:14 2006
@@ -35,7 +35,7 @@
         *
         * @see kaffe.security.Randomness#fill()
         */
-       public void fill(byte bits[])
+       public void fill(byte bits[], int offset, int length)
        {
                new Random().nextBytes(bits);
        }
Index: kaffe/libraries/javalib/vmspecific/org/kaffe/security/Randomness.java
diff -u 
kaffe/libraries/javalib/vmspecific/org/kaffe/security/Randomness.java:1.1 
kaffe/libraries/javalib/vmspecific/org/kaffe/security/Randomness.java:1.2
--- kaffe/libraries/javalib/vmspecific/org/kaffe/security/Randomness.java:1.1   
Wed Oct 19 20:16:10 2005
+++ kaffe/libraries/javalib/vmspecific/org/kaffe/security/Randomness.java       
Tue Apr 18 10:18:14 2006
@@ -31,7 +31,7 @@
         *
         * @param bits The array to fill with random bits.
         */
-       public abstract void fill(byte bits[]);
+       public abstract void fill(byte bits[], int offset, int length);
 
        /**
         * @see java.lang.Object#toString()
Index: kaffe/libraries/javalib/vmspecific/org/kaffe/security/UnixRandomness.java
diff -u 
kaffe/libraries/javalib/vmspecific/org/kaffe/security/UnixRandomness.java:1.1 
kaffe/libraries/javalib/vmspecific/org/kaffe/security/UnixRandomness.java:1.2
--- 
kaffe/libraries/javalib/vmspecific/org/kaffe/security/UnixRandomness.java:1.1   
    Wed Oct 19 20:16:10 2005
+++ kaffe/libraries/javalib/vmspecific/org/kaffe/security/UnixRandomness.java   
Tue Apr 18 10:18:14 2006
@@ -53,11 +53,11 @@
         *
         * @see kaffe.security.Randomness#fill()
         */
-       public synchronized void fill(byte bits[])
+       public synchronized void fill(byte bits[], int offset, int length)
        {
                try
                {
-                       this.dis.readFully(bits);
+                       this.dis.readFully(bits, offset, length);
                }
                catch(IOException e)
                {
Index: 
kaffe/libraries/javalib/vmspecific/org/kaffe/security/provider/SHA1PRNG.java
diff -u 
kaffe/libraries/javalib/vmspecific/org/kaffe/security/provider/SHA1PRNG.java:1.1
 
kaffe/libraries/javalib/vmspecific/org/kaffe/security/provider/SHA1PRNG.java:1.2
--- 
kaffe/libraries/javalib/vmspecific/org/kaffe/security/provider/SHA1PRNG.java:1.1
    Wed Oct 19 20:16:11 2005
+++ 
kaffe/libraries/javalib/vmspecific/org/kaffe/security/provider/SHA1PRNG.java    
    Tue Apr 18 10:18:17 2006
@@ -151,7 +151,7 @@
                 * Fill the seed using the implementation specific source of
                 * randomness.
                 */
-               impl.fill(this.seed);
+               impl.fill(this.seed, 0, SEED_SIZE);
                
                try
                {

_______________________________________________
kaffe mailing list
kaffe@kaffe.org
http://kaffe.org/cgi-bin/mailman/listinfo/kaffe

Reply via email to