diff options
author | Mark Wielaard <mark@gcc.gnu.org> | 2005-11-15 23:20:01 +0000 |
---|---|---|
committer | Mark Wielaard <mark@gcc.gnu.org> | 2005-11-15 23:20:01 +0000 |
commit | 8f523f3a1047919d3563daf1ef47ba87336ebe89 (patch) | |
tree | a5eb7cf42a51869cc8aa1fad7ad6a90cca47fdd8 /libjava/classpath/javax/security | |
parent | 02e549bfaaec38f68307e7f34e46ea57ea1809af (diff) | |
download | gcc-8f523f3a1047919d3563daf1ef47ba87336ebe89.zip gcc-8f523f3a1047919d3563daf1ef47ba87336ebe89.tar.gz gcc-8f523f3a1047919d3563daf1ef47ba87336ebe89.tar.bz2 |
Imported GNU Classpath 0.19 + gcj-import-20051115.
* sources.am: Regenerated.
* Makefile.in: Likewise.
* scripts/makemake.tcl: Use glob -nocomplain.
From-SVN: r107049
Diffstat (limited to 'libjava/classpath/javax/security')
15 files changed, 90 insertions, 47 deletions
diff --git a/libjava/classpath/javax/security/auth/Subject.java b/libjava/classpath/javax/security/auth/Subject.java index 4e35a64..1659c64 100644 --- a/libjava/classpath/javax/security/auth/Subject.java +++ b/libjava/classpath/javax/security/auth/Subject.java @@ -1,5 +1,5 @@ /* Subject.java -- a single entity in the system. - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -385,19 +385,19 @@ public final class Subject implements Serializable // Constructors. // ----------------------------------------------------------------------- - SecureSet (final Subject subject, final int type, final Collection elements) + SecureSet (final Subject subject, final int type, final Collection inElements) { this (subject, type); - for (Iterator it = elements.iterator(); it.hasNext(); ) + for (Iterator it = inElements.iterator(); it.hasNext(); ) { Object o = it.next(); if (type == PRINCIPALS && !(o instanceof Principal)) { throw new IllegalArgumentException(o+" is not a Principal"); } - if (!elements.contains (o)) + if (!this.elements.contains (o)) { - elements.add (o); + this.elements.add (o); } } } @@ -511,7 +511,7 @@ public final class Subject implements Serializable public synchronized boolean contains (final Object element) { - return elements.remove (element); + return elements.contains (element); } public boolean removeAll (final Collection c) diff --git a/libjava/classpath/javax/security/auth/SubjectDomainCombiner.java b/libjava/classpath/javax/security/auth/SubjectDomainCombiner.java index 94a7160..927e747 100644 --- a/libjava/classpath/javax/security/auth/SubjectDomainCombiner.java +++ b/libjava/classpath/javax/security/auth/SubjectDomainCombiner.java @@ -1,5 +1,5 @@ /* SubjectDomainCombiner.java -- domain combiner for Subjects. - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -67,8 +67,9 @@ public class SubjectDomainCombiner implements DomainCombiner final ProtectionDomain[] assigned) { LinkedList domains = new LinkedList(); - Principal[] principals = - (Principal[]) subject.getPrincipals().toArray (new Principal[0]); + Principal[] principals = null; + if (subject != null) + principals = (Principal[]) subject.getPrincipals().toArray (new Principal[0]); if (current != null) { for (int i = 0; i < current.length; i++) diff --git a/libjava/classpath/javax/security/auth/login/Configuration.java b/libjava/classpath/javax/security/auth/login/Configuration.java index 1e0d272..eb5e4a8 100644 --- a/libjava/classpath/javax/security/auth/login/Configuration.java +++ b/libjava/classpath/javax/security/auth/login/Configuration.java @@ -67,29 +67,7 @@ public abstract class Configuration SecurityManager sm = System.getSecurityManager(); if (sm != null) sm.checkPermission (new AuthPermission ("getLoginConfiguration")); - if (config == null) - { - String conf = (String) AccessController.doPrivileged - (new PrivilegedAction() - { - public Object run() - { - return Security.getProperty ("login.configuration.provider"); - } - }); - try - { - if (conf != null) - config = (Configuration) Class.forName (conf).newInstance(); - else - config = new NullConfiguration(); - } - catch (Exception x) - { - config = new NullConfiguration(); - } - } - return config; + return getConfig(); } public static synchronized void setConfiguration (Configuration config) @@ -115,6 +93,28 @@ public abstract class Configuration */ static Configuration getConfig() { + if (config == null) + { + String conf = (String) AccessController.doPrivileged + (new PrivilegedAction() + { + public Object run() + { + return Security.getProperty ("login.configuration.provider"); + } + }); + try + { + if (conf != null) + config = (Configuration) Class.forName (conf).newInstance(); + else + config = new NullConfiguration(); + } + catch (Exception x) + { + config = new NullConfiguration(); + } + } return config; } } diff --git a/libjava/classpath/javax/security/auth/login/LoginContext.java b/libjava/classpath/javax/security/auth/login/LoginContext.java index 8fc2ca7..a3cbf8f 100644 --- a/libjava/classpath/javax/security/auth/login/LoginContext.java +++ b/libjava/classpath/javax/security/auth/login/LoginContext.java @@ -220,7 +220,9 @@ public class LoginContext Exception cause = null; try { - module = (LoginModule) Class.forName (entry.getLoginModuleName()).newInstance(); + ClassLoader cl = Thread.currentThread().getContextClassLoader(); + Class c = Class.forName(entry.getLoginModuleName(), true, cl); + module = (LoginModule) c.newInstance(); } catch (ClassNotFoundException cnfe) { diff --git a/libjava/classpath/javax/security/auth/x500/X500Principal.java b/libjava/classpath/javax/security/auth/x500/X500Principal.java index 78c35ad..fcbb495 100644 --- a/libjava/classpath/javax/security/auth/x500/X500Principal.java +++ b/libjava/classpath/javax/security/auth/x500/X500Principal.java @@ -140,6 +140,22 @@ public final class X500Principal implements Principal, Serializable // Instance methods. // ------------------------------------------------------------------------ + public int hashCode() + { + int result = size(); + for (int i = 0; i < size(); ++i) + { + Map m = (Map) components.get(i); + for (Iterator it2 = m.entrySet().iterator(); it2.hasNext(); ) + { + Map.Entry e = (Map.Entry) it2.next(); + // We don't bother looking at the value of the entry. + result = result * 31 + ((OID) e.getKey()).hashCode(); + } + } + return result; + } + public boolean equals(Object o) { if (!(o instanceof X500Principal)) diff --git a/libjava/classpath/javax/security/sasl/AuthenticationException.java b/libjava/classpath/javax/security/sasl/AuthenticationException.java index 12a8fe0..0f67464 100644 --- a/libjava/classpath/javax/security/sasl/AuthenticationException.java +++ b/libjava/classpath/javax/security/sasl/AuthenticationException.java @@ -1,5 +1,5 @@ /* AuthenticationException.java -- - Copyright (C) 2003, 2004 Free Software Foundation, Inc. + Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -49,6 +49,8 @@ package javax.security.sasl; * instead of <code>AuthenticationException</code> if it is unable to determine * the nature of the failure, or if does not want to disclose the nature of the * failure, for example, due to security reasons.</p> + * + * @since 1.5 */ public class AuthenticationException extends SaslException { diff --git a/libjava/classpath/javax/security/sasl/AuthorizeCallback.java b/libjava/classpath/javax/security/sasl/AuthorizeCallback.java index bf1b847..fa3b29a 100644 --- a/libjava/classpath/javax/security/sasl/AuthorizeCallback.java +++ b/libjava/classpath/javax/security/sasl/AuthorizeCallback.java @@ -1,5 +1,5 @@ /* AuthorizeCallback.java -- - Copyright (C) 2003, 2004 Free Software Foundation, Inc. + Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -38,19 +38,23 @@ exception statement from your version. */ package javax.security.sasl; +import java.io.Serializable; import javax.security.auth.callback.Callback; /** * This callback is used by {@link SaslServer} to determine whether one entity * (identified by an authenticated authentication ID) can act on behalf of * another entity (identified by an authorization ID). + * + * @since 1.5 */ -public class AuthorizeCallback implements Callback +public class AuthorizeCallback implements Callback, Serializable { - // Constants and variables // ------------------------------------------------------------------------- + private static final long serialVersionUID = -2353344186490470805L; + /** @serial The (authenticated) authentication id to check. */ private String authenticationID = null; diff --git a/libjava/classpath/javax/security/sasl/RealmCallback.java b/libjava/classpath/javax/security/sasl/RealmCallback.java index 12d8340..7cb3643 100644 --- a/libjava/classpath/javax/security/sasl/RealmCallback.java +++ b/libjava/classpath/javax/security/sasl/RealmCallback.java @@ -1,5 +1,5 @@ /* RealmCallback.java -- - Copyright (C) 2003, 2004 Free Software Foundation, Inc. + Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -43,6 +43,8 @@ import javax.security.auth.callback.TextInputCallback; /** * This callback is used by {@link SaslClient} and {@link SaslServer} to * retrieve realm information. + * + * @since 1.5 */ public class RealmCallback extends TextInputCallback { diff --git a/libjava/classpath/javax/security/sasl/RealmChoiceCallback.java b/libjava/classpath/javax/security/sasl/RealmChoiceCallback.java index d16e61f..7068a50 100644 --- a/libjava/classpath/javax/security/sasl/RealmChoiceCallback.java +++ b/libjava/classpath/javax/security/sasl/RealmChoiceCallback.java @@ -1,5 +1,5 @@ /* RealmChoiceCallback.java -- - Copyright (C) 2003, 2004 Free Software Foundation, Inc. + Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -43,6 +43,8 @@ import javax.security.auth.callback.ChoiceCallback; /** * This callback is used by {@link SaslClient} and {@link SaslServer} to obtain * a realm given a list of realm choices. + * + * @since 1.5 */ public class RealmChoiceCallback extends ChoiceCallback { diff --git a/libjava/classpath/javax/security/sasl/Sasl.java b/libjava/classpath/javax/security/sasl/Sasl.java index 058e4f6..dbe4cc8 100644 --- a/libjava/classpath/javax/security/sasl/Sasl.java +++ b/libjava/classpath/javax/security/sasl/Sasl.java @@ -74,6 +74,8 @@ import javax.security.auth.callback.CallbackHandler; * Sasl.createSaslServer(mechanism, protocol, serverName, props, * callbackHandler); * </pre> + * + * @since 1.5 */ public class Sasl { diff --git a/libjava/classpath/javax/security/sasl/SaslClient.java b/libjava/classpath/javax/security/sasl/SaslClient.java index 544ab17..58eb5e2 100644 --- a/libjava/classpath/javax/security/sasl/SaslClient.java +++ b/libjava/classpath/javax/security/sasl/SaslClient.java @@ -1,5 +1,5 @@ /* SaslClient.java -- - Copyright (C) 2003, 2004 Free Software Foundation, Inc. + Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -102,6 +102,8 @@ package javax.security.sasl; * * @see Sasl * @see SaslClientFactory + * + * @since 1.5 */ public interface SaslClient { @@ -216,7 +218,7 @@ public interface SaslClient * @throws IllegalStateException if this authentication exchange has not * completed. */ - Object getNegotiatedProperty(String propName) throws SaslException; + Object getNegotiatedProperty(String propName); /** * Disposes of any system resources or security-sensitive information the diff --git a/libjava/classpath/javax/security/sasl/SaslClientFactory.java b/libjava/classpath/javax/security/sasl/SaslClientFactory.java index d6e8cd5..ae36171 100644 --- a/libjava/classpath/javax/security/sasl/SaslClientFactory.java +++ b/libjava/classpath/javax/security/sasl/SaslClientFactory.java @@ -1,5 +1,5 @@ /* SaslClientFactory.java - Copyright (C) 2003, Free Software Foundation, Inc. + Copyright (C) 2003, 2005, Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -55,6 +55,8 @@ import javax.security.auth.callback.CallbackHandler; * * @see SaslClient * @see Sasl + * + * @since 1.5 */ public interface SaslClientFactory { diff --git a/libjava/classpath/javax/security/sasl/SaslException.java b/libjava/classpath/javax/security/sasl/SaslException.java index 13113e6..89764bb 100644 --- a/libjava/classpath/javax/security/sasl/SaslException.java +++ b/libjava/classpath/javax/security/sasl/SaslException.java @@ -1,5 +1,5 @@ /* SaslException.java - Copyright (C) 2003, Free Software Foundation, Inc. + Copyright (C) 2003, 2005, Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -45,6 +45,8 @@ import java.io.Serializable; /** * This class represents an error that has occurred when using SASL. + * + * @since 1.5 */ public class SaslException extends IOException implements Serializable { @@ -52,6 +54,8 @@ public class SaslException extends IOException implements Serializable // Constants and variables // ------------------------------------------------------------------------- + private static final long serialVersionUID = 4579784287983423626L; + /** * @serial The possibly null root cause exception. */ diff --git a/libjava/classpath/javax/security/sasl/SaslServer.java b/libjava/classpath/javax/security/sasl/SaslServer.java index f5a0497..d30b8f6 100644 --- a/libjava/classpath/javax/security/sasl/SaslServer.java +++ b/libjava/classpath/javax/security/sasl/SaslServer.java @@ -1,5 +1,5 @@ -/* SasServer.java - Copyright (C) 2003, Free Software Foundation, Inc. +/* SaslServer.java + Copyright (C) 2003, 2005, Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -92,6 +92,8 @@ package javax.security.sasl; * * @see Sasl * @see SaslServerFactory + * + * @since 1.5 */ public interface SaslServer { @@ -211,7 +213,7 @@ public interface SaslServer * @throws IllegalStateException if this authentication exchange has not * completed. */ - Object getNegotiatedProperty(String propName) throws SaslException; + Object getNegotiatedProperty(String propName); /** * Disposes of any system resources or security-sensitive information the diff --git a/libjava/classpath/javax/security/sasl/SaslServerFactory.java b/libjava/classpath/javax/security/sasl/SaslServerFactory.java index 0fff32f..fc43fb6 100644 --- a/libjava/classpath/javax/security/sasl/SaslServerFactory.java +++ b/libjava/classpath/javax/security/sasl/SaslServerFactory.java @@ -1,5 +1,5 @@ /* SaslServerFactory.java - Copyright (C) 2003, Free Software Foundation, Inc. + Copyright (C) 2003, 2005, Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -55,6 +55,8 @@ import javax.security.auth.callback.CallbackHandler; * * @see SaslServer * @see Sasl + * + * @since 1.5 */ public interface SaslServerFactory { |