diff options
author | Andrew John Hughes <gandalf@gcc.gnu.org> | 2009-02-25 21:40:28 +0000 |
---|---|---|
committer | Andrew John Hughes <gandalf@gcc.gnu.org> | 2009-02-25 21:40:28 +0000 |
commit | dc6a0b2d949256fbdcdc7301044067e2cf45289f (patch) | |
tree | 2c27a4aaca5b8d4062c3ad863f71e3765d25905e /libjava/java | |
parent | a16b68bb66854ca9bbe5e11a8ddda7dcde3744e9 (diff) | |
download | gcc-dc6a0b2d949256fbdcdc7301044067e2cf45289f.zip gcc-dc6a0b2d949256fbdcdc7301044067e2cf45289f.tar.gz gcc-dc6a0b2d949256fbdcdc7301044067e2cf45289f.tar.bz2 |
Sync libgcj with GNU Classpath 0.98.
2009-02-13 Andrew John Hughes <ahughes@redhat.com>
Import GNU Classpath (classpath-0_98-release).
* Makefile.am: Add natVMSecureRandom.cc.
* Makefile.in: Regenerated.
* classpath/ChangeLog,
* classpath/Makefile.am: Merged.
* classpath/Makefile.in: Regenerated.
* classpath/NEWS: Merged.
* classpath/config.guess,
* classpath/config.sub,
* classpath/configure: Regenerated.
* classpath/configure.ac: Merged.
* classpath/gnu/java/awt/peer/gtk/CairoGraphics2D.java,
* classpath/gnu/java/security/jce/prng/SecureRandomAdapter.java,
* classpath/gnu/javax/crypto/jce/prng/ARCFourRandomSpi.java,
* classpath/gnu/javax/crypto/jce/prng/CSPRNGSpi.java,
* classpath/gnu/javax/crypto/jce/prng/FortunaImpl.java,
* classpath/gnu/javax/crypto/jce/prng/ICMRandomSpi.java,
* classpath/gnu/javax/crypto/jce/prng/UMacRandomSpi.java,
* classpath/gnu/javax/crypto/prng/ICMGenerator.java,
* classpath/gnu/xml/stream/XMLParser.java,
* classpath/java/security/SecureRandom.java,
* classpath/native/jni/native-lib/cpproc.c,
* classpath/native/plugin/gcjwebplugin.cc,
* classpath/tools/gnu/classpath/tools/gjdoc/Main.java: Merged.
* configure: Regenerated.
* configure.ac: Add symlink for natVMSecureRandomPosix.cc to natVMSecureRandom.cc
* gnu/classpath/Configuration.java: Change version to 0.98.
* gnu/java/security/jce/prng/SecureRandomAdapter.h: Regenerated.
* gnu/java/security/jce/prng/VMSecureRandom.h: Generated.
* gnu/java/security/jce/prng/VMSecureRandom.java: Added native implementation.
* gnu/java/security/jce/prng/natVMSecureRandomPosix.cc: Wrapper around /dev/random.
* gnu/javax/crypto/jce/prng/CSPRNGSpi.h,
* gnu/javax/crypto/jce/prng/FortunaImpl.h,
* java/security/SecureRandom.h: Regenerated.
* java/security/VMSecureRandom$Spinner.h,
* java/security/VMSecureRandom.h,
* java/security/VMSecureRandom.java: Removed.
* sources.am: Move VMSecureRandom to gnu.java.security.jce.prng.
From-SVN: r144434
Diffstat (limited to 'libjava/java')
-rw-r--r-- | libjava/java/security/SecureRandom.h | 5 | ||||
-rw-r--r-- | libjava/java/security/VMSecureRandom$Spinner.h | 38 | ||||
-rw-r--r-- | libjava/java/security/VMSecureRandom.h | 33 | ||||
-rw-r--r-- | libjava/java/security/VMSecureRandom.java | 129 |
4 files changed, 0 insertions, 205 deletions
diff --git a/libjava/java/security/SecureRandom.h b/libjava/java/security/SecureRandom.h index 58561ab..b54318c 100644 --- a/libjava/java/security/SecureRandom.h +++ b/libjava/java/security/SecureRandom.h @@ -47,8 +47,6 @@ public: static JArray< jbyte > * getSeed(jint); virtual JArray< jbyte > * generateSeed(jint); private: - static jint generateSeed(JArray< jbyte > *); - static jint generateSeed(JArray< jbyte > *, jint, jint); static ::java::lang::String * SECURE_RANDOM; static const jlong serialVersionUID = 4940670005562187LL; public: // actually package-private @@ -61,9 +59,6 @@ public: // actually package-private private: ::java::lang::String * algorithm; jboolean isSeeded; - static ::java::lang::String * SECURERANDOM_SOURCE; - static ::java::lang::String * JAVA_SECURITY_EGD; - static ::java::util::logging::Logger * logger; public: static ::java::lang::Class class$; }; diff --git a/libjava/java/security/VMSecureRandom$Spinner.h b/libjava/java/security/VMSecureRandom$Spinner.h deleted file mode 100644 index 0013a3f..0000000 --- a/libjava/java/security/VMSecureRandom$Spinner.h +++ /dev/null @@ -1,38 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __java_security_VMSecureRandom$Spinner__ -#define __java_security_VMSecureRandom$Spinner__ - -#pragma interface - -#include <java/lang/Object.h> -extern "Java" -{ - namespace java - { - namespace security - { - class VMSecureRandom$Spinner; - } - } -} - -class java::security::VMSecureRandom$Spinner : public ::java::lang::Object -{ - -public: // actually package-private - VMSecureRandom$Spinner(jbyte); -public: - virtual void run(); -private: - void stop(); -public: // actually package-private - static void access$0(::java::security::VMSecureRandom$Spinner *); - jbyte volatile __attribute__((aligned(__alignof__( ::java::lang::Object)))) value; - jboolean volatile running; -public: - static ::java::lang::Class class$; -}; - -#endif // __java_security_VMSecureRandom$Spinner__ diff --git a/libjava/java/security/VMSecureRandom.h b/libjava/java/security/VMSecureRandom.h deleted file mode 100644 index 982bc0f..0000000 --- a/libjava/java/security/VMSecureRandom.h +++ /dev/null @@ -1,33 +0,0 @@ - -// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- - -#ifndef __java_security_VMSecureRandom__ -#define __java_security_VMSecureRandom__ - -#pragma interface - -#include <java/lang/Object.h> -#include <gcj/array.h> - -extern "Java" -{ - namespace java - { - namespace security - { - class VMSecureRandom; - } - } -} - -class java::security::VMSecureRandom : public ::java::lang::Object -{ - -public: // actually package-private - VMSecureRandom(); - static jint generateSeed(JArray< jbyte > *, jint, jint); -public: - static ::java::lang::Class class$; -}; - -#endif // __java_security_VMSecureRandom__ diff --git a/libjava/java/security/VMSecureRandom.java b/libjava/java/security/VMSecureRandom.java deleted file mode 100644 index 5eeb158..0000000 --- a/libjava/java/security/VMSecureRandom.java +++ /dev/null @@ -1,129 +0,0 @@ -/* VMSecureRandom.java -- random seed generator. - Copyright (C) 2006 Free Software Foundation, Inc. - -This file is a part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or (at -your option) any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 -USA - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - - -package java.security; - -/** - * VM-specific methods for generating real (or almost real) random - * seeds. VM implementors should write a version of this class that - * reads random bytes from some system source. - * - * <p>The default implementation of this class runs eight threads that - * increment counters in a tight loop, and XORs each counter to - * produce one byte of seed data. This is not very efficient, and is - * not guaranteed to be random (the thread scheduler is probably - * deterministic, after all). If possible, VM implementors should - * reimplement this class so it obtains a random seed from a system - * facility, such as a system entropy gathering device or hardware - * random number generator. - */ -final class VMSecureRandom -{ - - /** - * Generate a random seed. Implementations are free to generate - * fewer random bytes than are requested, and leave the remaining - * bytes of the destination buffer as zeros. Implementations SHOULD, - * however, make a best-effort attempt to satisfy the request. - * - * @param buffer The destination buffer. - * @param offset The offset in the buffer to start putting bytes. - * @param length The number of random bytes to generate. - */ - static int generateSeed(byte[] buffer, int offset, int length) - { - if (length < 0) - throw new IllegalArgumentException("length must be nonnegative"); - if (offset < 0 || offset + length > buffer.length) - throw new IndexOutOfBoundsException(); - - Spinner[] spinners = new Spinner[8]; - int n = 0x1; - for (int i = 0; i < spinners.length; i++) - { - spinners[i] = new Spinner((byte) n); - Thread t = new Thread(spinners[i]); - t.start(); - n <<= 1; - } - - // Wait until at least one spinner has started. - while (!(spinners[0].running || spinners[1].running || spinners[2].running - || spinners[3].running || spinners[4].running || spinners[5].running - || spinners[6].running || spinners[7].running)) - { - Thread.yield(); - } - - for (int i = offset; i < length; i++) - { - buffer[i] = (byte) (spinners[0].value ^ spinners[1].value ^ spinners[2].value - ^ spinners[3].value ^ spinners[4].value ^ spinners[5].value - ^ spinners[6].value ^ spinners[7].value); - Thread.yield(); - } - - for (int i = 0; i < spinners.length; i++) - spinners[i].stop(); - - return length; - } - - static class Spinner implements Runnable - { - volatile byte value; - volatile boolean running; - - Spinner(final byte initial) - { - value = initial; - } - - public void run() - { - running = true; - while (running) - value++; - } - - private void stop() - { - running = false; - } - } -}
\ No newline at end of file |