Skip to content

Commit d959c7d

Browse files
committed
8344147: Remove Security Manager dependencies from java.security.sasl module
Reviewed-by: rriggs, ascarpino
1 parent ec148c1 commit d959c7d

File tree

2 files changed

+22
-37
lines changed

2 files changed

+22
-37
lines changed

src/java.security.sasl/share/classes/com/sun/security/sasl/Provider.java

Lines changed: 19 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2003, 2021, Oracle and/or its affiliates. All rights reserved.
2+
* Copyright (c) 2003, 2024, Oracle and/or its affiliates. All rights reserved.
33
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44
*
55
* This code is free software; you can redistribute it and/or modify it
@@ -24,8 +24,6 @@
2424
*/
2525
package com.sun.security.sasl;
2626

27-
import java.security.AccessController;
28-
import java.security.PrivilegedAction;
2927
import java.security.NoSuchAlgorithmException;
3028
import java.security.InvalidParameterException;
3129
import java.security.ProviderException;
@@ -98,34 +96,28 @@ public Object newInstance(Object ctrParamObj)
9896
}
9997
}
10098

101-
@SuppressWarnings("removal")
10299
public Provider() {
103100
super("SunSASL", PROVIDER_VER, info);
104101

105102
final Provider p = this;
106-
AccessController.doPrivileged(new PrivilegedAction<Void>() {
107-
public Void run() {
108-
// Client mechanisms
109-
putService(new ProviderService(p, "SaslClientFactory",
110-
"DIGEST-MD5", "com.sun.security.sasl.digest.FactoryImpl"));
111-
putService(new ProviderService(p, "SaslClientFactory",
112-
"NTLM", "com.sun.security.sasl.ntlm.FactoryImpl"));
113-
putService(new ProviderService(p, "SaslClientFactory",
114-
"EXTERNAL", "com.sun.security.sasl.ClientFactoryImpl"));
115-
putService(new ProviderService(p, "SaslClientFactory",
116-
"PLAIN", "com.sun.security.sasl.ClientFactoryImpl"));
117-
putService(new ProviderService(p, "SaslClientFactory",
118-
"CRAM-MD5", "com.sun.security.sasl.ClientFactoryImpl"));
103+
// Client mechanisms
104+
putService(new ProviderService(p, "SaslClientFactory",
105+
"DIGEST-MD5", "com.sun.security.sasl.digest.FactoryImpl"));
106+
putService(new ProviderService(p, "SaslClientFactory",
107+
"NTLM", "com.sun.security.sasl.ntlm.FactoryImpl"));
108+
putService(new ProviderService(p, "SaslClientFactory",
109+
"EXTERNAL", "com.sun.security.sasl.ClientFactoryImpl"));
110+
putService(new ProviderService(p, "SaslClientFactory",
111+
"PLAIN", "com.sun.security.sasl.ClientFactoryImpl"));
112+
putService(new ProviderService(p, "SaslClientFactory",
113+
"CRAM-MD5", "com.sun.security.sasl.ClientFactoryImpl"));
119114

120-
// Server mechanisms
121-
putService(new ProviderService(p, "SaslServerFactory",
122-
"CRAM-MD5", "com.sun.security.sasl.ServerFactoryImpl"));
123-
putService(new ProviderService(p, "SaslServerFactory",
124-
"DIGEST-MD5", "com.sun.security.sasl.digest.FactoryImpl"));
125-
putService(new ProviderService(p, "SaslServerFactory",
126-
"NTLM", "com.sun.security.sasl.ntlm.FactoryImpl"));
127-
return null;
128-
}
129-
});
115+
// Server mechanisms
116+
putService(new ProviderService(p, "SaslServerFactory",
117+
"CRAM-MD5", "com.sun.security.sasl.ServerFactoryImpl"));
118+
putService(new ProviderService(p, "SaslServerFactory",
119+
"DIGEST-MD5", "com.sun.security.sasl.digest.FactoryImpl"));
120+
putService(new ProviderService(p, "SaslServerFactory",
121+
"NTLM", "com.sun.security.sasl.ntlm.FactoryImpl"));
130122
}
131123
}

src/java.security.sasl/share/classes/javax/security/sasl/Sasl.java

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 1999, 2021, Oracle and/or its affiliates. All rights reserved.
2+
* Copyright (c) 1999, 2024, Oracle and/or its affiliates. All rights reserved.
33
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44
*
55
* This code is free software; you can redistribute it and/or modify it
@@ -26,8 +26,6 @@
2626
package javax.security.sasl;
2727

2828
import javax.security.auth.callback.CallbackHandler;
29-
import java.security.AccessController;
30-
import java.security.PrivilegedAction;
3129
import java.util.ArrayList;
3230
import java.util.Enumeration;
3331
import java.util.Iterator;
@@ -74,10 +72,7 @@ public class Sasl {
7472
private static List<String> disabledMechanisms = new ArrayList<>();
7573

7674
static {
77-
@SuppressWarnings("removal")
78-
String prop = AccessController.doPrivileged(
79-
(PrivilegedAction<String>)
80-
() -> Security.getProperty("jdk.sasl.disabledMechanisms"));
75+
String prop = Security.getProperty("jdk.sasl.disabledMechanisms");
8176

8277
if (prop != null) {
8378
for (String s : prop.split("\\s*,\\s*")) {
@@ -452,9 +447,7 @@ private static Object loadFactory(Service service)
452447
* that was used to load the provider.
453448
* In order to get the class loader of a class, the
454449
* caller's class loader must be the same as or an ancestor of
455-
* the class loader being returned. Otherwise, the caller must
456-
* have "getClassLoader" permission, or a SecurityException
457-
* will be thrown.
450+
* the class loader being returned.
458451
*/
459452
return service.newInstance(null);
460453
} catch (InvalidParameterException | NoSuchAlgorithmException e) {

0 commit comments

Comments
 (0)