CVSROOT:        /cvsroot/classpath
Module name:    classpath
Branch:         ssl
Changes by:     Casey Marshall <rsdio>  06/06/06 00:07:22

Modified files:
        .              : ChangeLog-ssl-nio 
        java/security  : MessageDigest.java MessageDigestSpi.java 

Log message:
        2006-06-05  C. Scott Marshall  <[EMAIL PROTECTED]>
        
                * java/security/MessageDigest.java (update): new method.
                * java/security/MessageDigestSpi.java (engineUpdate): new 
method.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/classpath/ChangeLog-ssl-nio?cvsroot=classpath&only_with_tag=ssl&r1=1.1.2.1&r2=1.1.2.2
http://cvs.savannah.gnu.org/viewcvs/classpath/java/security/MessageDigest.java?cvsroot=classpath&only_with_tag=ssl&r1=1.10.2.5&r2=1.10.2.5.2.1
http://cvs.savannah.gnu.org/viewcvs/classpath/java/security/MessageDigestSpi.java?cvsroot=classpath&only_with_tag=ssl&r1=1.4.2.4&r2=1.4.2.4.2.1

Patches:
Index: ChangeLog-ssl-nio
===================================================================
RCS file: /cvsroot/classpath/classpath/Attic/ChangeLog-ssl-nio,v
retrieving revision 1.1.2.1
retrieving revision 1.1.2.2
diff -u -b -r1.1.2.1 -r1.1.2.2
--- ChangeLog-ssl-nio   3 Jun 2006 19:52:51 -0000       1.1.2.1
+++ ChangeLog-ssl-nio   6 Jun 2006 00:07:22 -0000       1.1.2.2
@@ -1,3 +1,8 @@
+2006-06-05  C. Scott Marshall  <[EMAIL PROTECTED]>
+
+       * java/security/MessageDigest.java (update): new method.
+       * java/security/MessageDigestSpi.java (engineUpdate): new method.
+
 2006-06-03  C. Scott Marshall  <[EMAIL PROTECTED]>
 
        * gnu/javax/net/ssl/provider/ServerHelloDone.java: made public.

Index: java/security/MessageDigest.java
===================================================================
RCS file: /cvsroot/classpath/classpath/java/security/MessageDigest.java,v
retrieving revision 1.10.2.5
retrieving revision 1.10.2.5.2.1
diff -u -b -r1.10.2.5 -r1.10.2.5.2.1
--- java/security/MessageDigest.java    2 Mar 2006 09:33:59 -0000       1.10.2.5
+++ java/security/MessageDigest.java    6 Jun 2006 00:07:22 -0000       
1.10.2.5.2.1
@@ -38,6 +38,7 @@
 package java.security;
 
 import gnu.java.security.Engine;
+import java.nio.ByteBuffer;
 
 /**
  * Message digests are secure one-way hash functions that take arbitrary-sized
@@ -224,6 +225,17 @@
   }
 
   /**
+   * Updates the digest with the remaining bytes of a buffer.
+   * 
+   * @param input The input byte buffer.
+   * @since 1.5
+   */
+  public void update (ByteBuffer input)
+  {
+    engineUpdate (input);
+  }
+  
+  /**
    * Computes the final digest of the stored data.
    * 
    * @return a byte array representing the message digest.

Index: java/security/MessageDigestSpi.java
===================================================================
RCS file: /cvsroot/classpath/classpath/java/security/MessageDigestSpi.java,v
retrieving revision 1.4.2.4
retrieving revision 1.4.2.4.2.1
diff -u -b -r1.4.2.4 -r1.4.2.4.2.1
--- java/security/MessageDigestSpi.java 2 Aug 2005 20:12:25 -0000       1.4.2.4
+++ java/security/MessageDigestSpi.java 6 Jun 2006 00:07:22 -0000       
1.4.2.4.2.1
@@ -37,6 +37,8 @@
 
 package java.security;
 
+import java.nio.ByteBuffer;
+
 /**
    This is the Service Provider Interface (SPI) for MessageDigest
    class in java.security. It provides the back end functionality
@@ -98,6 +100,23 @@
   protected abstract void engineUpdate(byte[]input, int offset, int len);
 
   /**
+   * Updates this digest with the remaining bytes of a byte buffer.
+   * 
+   * @param input The input buffer.
+   * @since 1.5
+   */
+  protected void engineUpdate (ByteBuffer input)
+  {
+    byte[] buf = new byte[1024];
+    while (input.hasRemaining())
+      {
+        int n = Math.min(input.remaining(), buf.length);
+        input.get (buf, 0, n);
+        engineUpdate (buf, 0, n);
+      }
+  }
+  
+  /**
      Computes the final digest of the stored bytes and returns
      them. It performs any necessary padding. The message digest
      should reset sensitive data after performing the digest.


Reply via email to