decl.c (init_decl_processing): Add new class "protectionDomain" field.

gcc/java:

2001-04-25  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* decl.c (init_decl_processing): Add new class "protectionDomain"
	field.
	* class.c (make_class_data): Set initial value for "protectionDomain".

libjava:

2001-04-25  Bryce McKinlay  <bryce@albatross.co.nz>

	java.security merge and ClassLoader compliance fixes.

	* java/lang/Class.h (Class): Include ProtectionDomain.h.
	New protectionDomain field.
	(forName): Add initialize parameter. Fixes declaration to comply with
	JDK spec.
	* java/lang/natClass.cc (forName): Correct declaration of the three-arg
	variant. Honour	"initialize" flag.
	(getProtectionDomain0): New method.
	* java/lang/Class.java: Fix forName() declaration.
	(getPackage): New method based on Classpath implementation.
	(getProtectionDomain0): New native method decl.
	(getProtectionDomain): New method.
	* java/lang/ClassLoader.java (getParent): Now final.
	(definedPackages): New field.
	(getPackage): New.
	(defineClass): New variant with protectionDomain argument.
	(definePackage): New.
	(getPackages): New.
	(findSystemClass): Now final.
	(getSystemResourceAsStream): Remove redundant "final" modifier.
	(getSystemResource): Remove redundant "final" modifier.
	(getResources): Now final.
	(protectionDomainPermission): New static field.
	(unknownProtectionDomain): Ditto.
	(defaultProtectionDomain): Ditto.
	(getSystemClassLoader): Now non-native.
	* java/util/ResourceBundle.java (tryGetSomeBundle): Use the correct
	arguments for Class.forName().
	* java/lang/Package.java: New file.
	* gnu/gcj/runtime/VMClassLoader.java (getVMClassLoader): Removed.
	(instance): Static initialize singleton.
	(findClass): Override this, not findSystemClass.
	* java/lang/natClassLoader.cc (defineClass0): Set class's
	protectionDomain field as specified.
	(getSystemClassLoader): Removed.
	(findClass): Renamed from findSystemClass. Call the interpreter via
	URLClassLoader.findClass if loading class via dlopen fails.

	* java/security/*.java: java.security import/merge with Classpath.
	* java/security/acl/*.java: Likewise.
	* java/security/interfaces/*.java: Likewise.
	* java/security/spec/*.java: Likewise.
	* java/net/NetPermission.java: Likewise.
	* java/net/SocketPermission.java: Likewise.
	* gnu/java/security/provider/DefaultPolicy.java: Likewise.

	* Makefile.am: Add new classes.
	* Makefile.in: Rebuilt.
	* gcj/javaprims.h: CNI namespace rebuild.

From-SVN: r41543
This commit is contained in:
Bryce McKinlay 2001-04-25 16:45:15 +01:00
parent 744cfa53c3
commit 28f7d9d05a
115 changed files with 11887 additions and 1549 deletions

View file

@ -7,7 +7,7 @@ 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, 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
@ -24,7 +24,6 @@ resulting executable to be covered by the GNU General Public License.
This exception does not however invalidate any other reasons why the
executable file might be covered by the GNU General Public License. */
package java.security;
import java.io.OutputStream;
@ -42,12 +41,12 @@ import java.io.IOException;
@version 0.0
@author Mark Benvenuto <ivymccough@worldnet.att.net>
*/
*/
public class DigestOutputStream extends FilterOutputStream
{
/**
The message digest for the DigestOutputStream
*/
*/
protected MessageDigest digest;
//Manages the on flag
@ -60,10 +59,10 @@ public class DigestOutputStream extends FilterOutputStream
@param stream An OutputStream to associate this stream with
@param digest A MessageDigest to hash the stream with
*/
public DigestOutputStream (OutputStream stream, MessageDigest digest)
*/
public DigestOutputStream(OutputStream stream, MessageDigest digest)
{
super (stream);
super(stream);
this.digest = digest;
}
@ -71,18 +70,18 @@ public class DigestOutputStream extends FilterOutputStream
Returns the MessageDigest associated with this DigestOutputStream
@return The MessageDigest used to hash this stream
*/
public MessageDigest getMessageDigest ()
*/
public MessageDigest getMessageDigest()
{
return digest;
}
/**
Sets the current MessageDigest to current parameter
@param digest A MessageDigest to associate with this stream
*/
public void setMessageDigest (MessageDigest digest)
*/
public void setMessageDigest(MessageDigest digest)
{
this.digest = digest;
}
@ -93,16 +92,16 @@ public class DigestOutputStream extends FilterOutputStream
the underlying output stream.
@param b A byte to write to the output stream
@exception IOException if the underlying output stream
cannot write the byte, this is thrown.
*/
public void write (int b) throws IOException
*/
public void write(int b) throws IOException
{
if (state)
digest.update ((byte)b);
super.write (b);
digest.update((byte) b);
super.write(b);
}
/**
@ -115,13 +114,13 @@ public class DigestOutputStream extends FilterOutputStream
@exception IOException if the underlying output stream
cannot write the bytes, this is thrown.
*/
public void write (byte[] b, int off, int len) throws IOException
*/
public void write(byte[]b, int off, int len) throws IOException
{
if (state)
digest.update (b, off, len);
digest.update(b, off, len);
super.write (b, off, len);
super.write(b, off, len);
}
/**
@ -129,8 +128,8 @@ public class DigestOutputStream extends FilterOutputStream
digest in the write() methods. The default is on;
@param on True means it digests stream, false means it does not
*/
public void on (boolean on)
*/
public void on(boolean on)
{
state = on;
}
@ -139,7 +138,7 @@ public class DigestOutputStream extends FilterOutputStream
Converts the output stream and underlying message digest to a string.
@return A string representing the output stream and message digest.
*/
*/
public String toString()
{
return "[Digest Output Stream] " + digest.toString();