JDK-8217101 : Remove deprecated java.security.acl APIs
  • Type: CSR
  • Component: security-libs
  • Sub-Component: java.security
  • Priority: P3
  • Status: Closed
  • Resolution: Approved
  • Fix Versions: 14
  • Submitted: 2019-01-15
  • Updated: 2019-07-30
  • Resolved: 2019-07-30
Related Reports
CSR :  
Description
Summary
-------

Remove the deprecated `java.security.acl` APIs.

Problem
-------

These APIs were initially deprecated in Java SE 9, marked for removal in Java SE 10 and have had a warning in the `java.security.acl` package summary since Java SE 1.2 indicating that they have been superseded by other APIs. They are not used within the JDK and have no value going forward.

Solution
--------

Remove the deprecated `java.security.acl` APIs, which were marked for removal in Java SE 10. This includes the following classes in that package: `Acl`, `AclEntry`, `AclNotFoundException`, `Group`, `LastOwnerException`, `NotOwnerException`, `Owner`, and `Permission`.  Also, remove the export of the `java.security.acl` package from the module descriptor of the `java.base` module.

Specification
-------------
```
$ hg tstatus -r
[snip]:
R src/java.base/share/classes/java/security/acl/Acl.java
R src/java.base/share/classes/java/security/acl/AclEntry.java
R src/java.base/share/classes/java/security/acl/AclNotFoundException.java
R src/java.base/share/classes/java/security/acl/Group.java
R src/java.base/share/classes/java/security/acl/LastOwnerException.java
R src/java.base/share/classes/java/security/acl/NotOwnerException.java
R src/java.base/share/classes/java/security/acl/Owner.java
R src/java.base/share/classes/java/security/acl/Permission.java
R src/java.base/share/classes/java/security/acl/package-info.java

$ hg diff src/java.base/share/classes/module-info.java
diff -r 650335128b9d src/java.base/share/classes/module-info.java
--- a/src/java.base/share/classes/module-info.java      Tue Jul 23 11:36:05 2019 -0700
+++ b/src/java.base/share/classes/module-info.java      Thu Jul 25 11:59:08 2019 -0400
@@ -96,7 +96,6 @@
     exports java.nio.file.attribute;
     exports java.nio.file.spi;
     exports java.security;
-    exports java.security.acl;
     exports java.security.cert;
     exports java.security.interfaces;
     exports java.security.spec;
```
Comments
Moving to Approved.
30-07-2019

My understanding is that these classes were added in JDK 1.0/1.1 to support the HotJava Browser. The warning about being superseded seems to be in the API docs since Java SE 1.2.
25-07-2019