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.