RFR 8040068 and 8039951: platform-related JAAS login modules on all platforms
Wang Weijun
weijun.wang at oracle.com
Thu Apr 17 11:38:11 UTC 2014
Hi All
There are two bugs. The first one is:
https://bugs.openjdk.java.net/browse/JDK-8040068
8040068: SolarisSystem should be @Deprecated and @jdk.Exported(false)
of which the code change is simply
--- a/src/share/classes/com/sun/security/auth/module/SolarisSystem.java
+++ b/src/share/classes/com/sun/security/auth/module/SolarisSystem.java
@@ -29,8 +29,10 @@
* <p> This class implementation retrieves and makes available Solaris
* UID/GID/groups information for the current user.
*
+ * @deprecated replaced by {@link UnixSystem}.
*/
- at jdk.Exported
+ at jdk.Exported(false)
+ at Deprecated
public class SolarisSystem {
The second one is:
https://bugs.openjdk.java.net/browse/JDK-8039951
8039951: com.sun.security.auth.module missing classes on some platforms
of which the code change is at
http://cr.openjdk.java.net/~weijun/8039951/webrev.00/
This webrev contains two parts:
1. Changes to make/CompileJavaClasses.gmk to make sure the classes are now created on all platforms, including the deprecated one in 8040068.
2. Tweaks in the login modules to show a more friendly message.
Not sure if you like it, but the code change here has a side benefit that allows the JAAS login config file below working on all platforms (This is proved in the newly added regression test):
hello {
com.sun.security.auth.module.UnixLoginModule optional;
com.sun.security.auth.module.NTLoginModule optional;
com.sun.security.auth.module.SolarisLoginModule optional;
};
In fact, when a login module is not found, an exception will be thrown immediately even if it's marked optional. Now that these modules are available on all platforms, this won't happen anymore. If you think this behavior is incorrect, we can fix it in another bug.
Thanks
Max
More information about the security-dev
mailing list