aboutsummaryrefslogtreecommitdiff
path: root/libjava/classpath/javax/security
diff options
context:
space:
mode:
authorMark Wielaard <mark@gcc.gnu.org>2005-11-15 23:20:01 +0000
committerMark Wielaard <mark@gcc.gnu.org>2005-11-15 23:20:01 +0000
commit8f523f3a1047919d3563daf1ef47ba87336ebe89 (patch)
treea5eb7cf42a51869cc8aa1fad7ad6a90cca47fdd8 /libjava/classpath/javax/security
parent02e549bfaaec38f68307e7f34e46ea57ea1809af (diff)
downloadgcc-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')
-rw-r--r--libjava/classpath/javax/security/auth/Subject.java12
-rw-r--r--libjava/classpath/javax/security/auth/SubjectDomainCombiner.java7
-rw-r--r--libjava/classpath/javax/security/auth/login/Configuration.java46
-rw-r--r--libjava/classpath/javax/security/auth/login/LoginContext.java4
-rw-r--r--libjava/classpath/javax/security/auth/x500/X500Principal.java16
-rw-r--r--libjava/classpath/javax/security/sasl/AuthenticationException.java4
-rw-r--r--libjava/classpath/javax/security/sasl/AuthorizeCallback.java10
-rw-r--r--libjava/classpath/javax/security/sasl/RealmCallback.java4
-rw-r--r--libjava/classpath/javax/security/sasl/RealmChoiceCallback.java4
-rw-r--r--libjava/classpath/javax/security/sasl/Sasl.java2
-rw-r--r--libjava/classpath/javax/security/sasl/SaslClient.java6
-rw-r--r--libjava/classpath/javax/security/sasl/SaslClientFactory.java4
-rw-r--r--libjava/classpath/javax/security/sasl/SaslException.java6
-rw-r--r--libjava/classpath/javax/security/sasl/SaslServer.java8
-rw-r--r--libjava/classpath/javax/security/sasl/SaslServerFactory.java4
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
{