Imported GNU Classpath 0.90

Imported GNU Classpath 0.90
       * scripts/makemake.tcl: LocaleData.java moved to gnu/java/locale.

       * sources.am: Regenerated.
       * gcj/javaprims.h: Regenerated.
       * Makefile.in: Regenerated.
       * gcj/Makefile.in: Regenerated.
       * include/Makefile.in: Regenerated.
       * testsuite/Makefile.in: Regenerated.

       * gnu/java/lang/VMInstrumentationImpl.java: New override.
       * gnu/java/net/local/LocalSocketImpl.java: Likewise.
       * gnu/classpath/jdwp/VMMethod.java: Likewise.
       * gnu/classpath/jdwp/VMVirtualMachine.java: Update to latest
       interface.
       * java/lang/Thread.java: Add UncaughtExceptionHandler.
       * java/lang/reflect/Method.java: Implements GenericDeclaration and
       isSynthetic(),
       * java/lang/reflect/Field.java: Likewise.
       * java/lang/reflect/Constructor.java
       * java/lang/Class.java: Implements Type, GenericDeclaration,
       getSimpleName() and getEnclosing*() methods.
       * java/lang/Class.h: Add new public methods.
       * java/lang/Math.java: Add signum(), ulp() and log10().
       * java/lang/natMath.cc (log10): New function.
       * java/security/VMSecureRandom.java: New override.
       * java/util/logging/Logger.java: Updated to latest classpath
       version.
       * java/util/logging/LogManager.java: New override.

From-SVN: r113887
This commit is contained in:
Mark Wielaard 2006-05-18 17:29:21 +00:00
parent eaec4980e1
commit 4f9533c772
1640 changed files with 126485 additions and 104808 deletions

View file

@ -1,5 +1,5 @@
/* Cipher.java -- Interface to a cryptographic cipher.
Copyright (C) 2004 Free Software Foundation, Inc.
Copyright (C) 2004, 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@ -40,6 +40,9 @@ package javax.crypto;
import gnu.java.security.Engine;
import java.nio.ByteBuffer;
import java.nio.ReadOnlyBufferException;
import java.security.AlgorithmParameters;
import java.security.InvalidAlgorithmParameterException;
import java.security.InvalidKeyException;
@ -496,7 +499,6 @@ public class Cipher
{
throw new IllegalStateException("neither encrypting nor decrypting");
}
state = INITIAL_STATE;
return cipherSpi.engineDoFinal(input, inputOffset, inputLength);
}
@ -532,7 +534,6 @@ public class Cipher
{
throw new IllegalStateException("neither encrypting nor decrypting");
}
state = INITIAL_STATE;
return cipherSpi.engineDoFinal(new byte[0], 0, 0, output, outputOffset);
}
@ -576,7 +577,6 @@ public class Cipher
{
throw new IllegalStateException("neither encrypting nor decrypting");
}
state = INITIAL_STATE;
return cipherSpi.engineDoFinal(input, inputOffset, inputLength,
output, outputOffset);
}
@ -589,6 +589,43 @@ public class Cipher
return doFinal(input, inputOffset, inputLength, output, 0);
}
/**
* Finishes a multi-part transformation with, or completely
* transforms, a byte buffer, and stores the result into the output
* buffer.
*
* @param input The input buffer.
* @param output The output buffer.
* @return The number of bytes stored into the output buffer.
* @throws IllegalArgumentException If the input and output buffers
* are the same object.
* @throws IllegalStateException If this cipher was not initialized
* for encryption or decryption.
* @throws ReadOnlyBufferException If the output buffer is not
* writable.
* @throws IllegalBlockSizeException If this cipher requires a total
* input that is a multiple of its block size to complete this
* transformation.
* @throws ShortBufferException If the output buffer is not large
* enough to hold the transformed bytes.
* @throws BadPaddingException If the cipher is a block cipher with
* a padding scheme, and the decrypted bytes do not end with a
* valid padding.
* @since 1.5
*/
public final int doFinal (ByteBuffer input, ByteBuffer output)
throws ReadOnlyBufferException, ShortBufferException,
BadPaddingException, IllegalBlockSizeException
{
if (input == output)
throw new IllegalArgumentException
("input and output buffers cannot be the same");
if (state != ENCRYPT_MODE && state != DECRYPT_MODE)
throw new IllegalStateException
("not initialized for encrypting or decrypting");
return cipherSpi.engineDoFinal (input, output);
}
/**
* Returns the size an output buffer needs to be if this cipher is
* updated with a number of bytes.
@ -672,11 +709,11 @@ public class Cipher
*/
public final void init(int opmode, Key key) throws InvalidKeyException
{
state = opmode;
if (cipherSpi != null)
{
cipherSpi.engineInit(opmode, key, new SecureRandom());
}
state = opmode;
}
/**
@ -791,11 +828,11 @@ public class Cipher
public final void init(int opmode, Key key, SecureRandom random)
throws InvalidKeyException
{
state = opmode;
if (cipherSpi != null)
{
cipherSpi.engineInit(opmode, key, random);
}
state = opmode;
}
/**
@ -890,11 +927,11 @@ public class Cipher
SecureRandom random)
throws InvalidKeyException, InvalidAlgorithmParameterException
{
state = opmode;
if (cipherSpi != null)
{
cipherSpi.engineInit(opmode, key, params, random);
}
state = opmode;
}
/**
@ -925,11 +962,11 @@ public class Cipher
SecureRandom random)
throws InvalidKeyException, InvalidAlgorithmParameterException
{
state = opmode;
if (cipherSpi != null)
{
cipherSpi.engineInit(opmode, key, params, random);
}
state = opmode;
}
/**
@ -1067,6 +1104,35 @@ public class Cipher
output, outputOffset);
}
/**
* Continue a multi-part transformation on a byte buffer, storing
* the transformed bytes into another buffer.
*
* @param input The input buffer.
* @param output The output buffer.
* @return The number of bytes stored in <i>output</i>.
* @throws IllegalArgumentException If the two buffers are the same
* object.
* @throws IllegalStateException If this cipher was not initialized
* for encrypting or decrypting.
* @throws ReadOnlyBufferException If the output buffer is not
* writable.
* @throws ShortBufferException If the output buffer does not have
* enough available space for the transformed bytes.
* @since 1.5
*/
public final int update (ByteBuffer input, ByteBuffer output)
throws ReadOnlyBufferException, ShortBufferException
{
if (input == output)
throw new IllegalArgumentException
("input and output buffers must be different");
if (state != ENCRYPT_MODE && state != DECRYPT_MODE)
throw new IllegalStateException
("not initialized for encryption or decryption");
return cipherSpi.engineUpdate (input, output);
}
/**
* Wrap a key.
*