Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v16]
> The deprecated Subject Delegation feature in JMX will be removed. > > This was marked in JDK 21 as deprecated for removal (JDK-8298966). Kevin Walls has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 25 commits: - Merge remote-tracking branch 'upstream/master' into 832_SubjectDelegation_remove - Merge - Missing code doc nit. - Missing code doc nit. - RMIConnectionImpl_Stub also should explicity inherit the unchecked UOE. - Clarify JMXConnector equivalence comment. - RMIConnectionImpl needs to explicity inherit the unchecked UOE. - typo - Javadoc update - Remove unnecessary constructor in private class - ... and 15 more: https://git.openjdk.org/jdk/compare/b9da1401...7fec01c7 - Changes: https://git.openjdk.org/jdk/pull/18025/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=15 Stats: 2026 lines in 35 files changed: 214 ins; 1632 del; 180 mod Patch: https://git.openjdk.org/jdk/pull/18025.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/18025/head:pull/18025 PR: https://git.openjdk.org/jdk/pull/18025
Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v15]
> The deprecated Subject Delegation feature in JMX will be removed. > > This was marked in JDK 21 as deprecated for removal (JDK-8298966). Kevin Walls has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 24 commits: - Merge - Missing code doc nit. - Missing code doc nit. - RMIConnectionImpl_Stub also should explicity inherit the unchecked UOE. - Clarify JMXConnector equivalence comment. - RMIConnectionImpl needs to explicity inherit the unchecked UOE. - typo - Javadoc update - Remove unnecessary constructor in private class - Merge remote-tracking branch 'upstream/master' into 832_SubjectDelegation_remove - ... and 14 more: https://git.openjdk.org/jdk/compare/cc1800fa...903ce55b - Changes: https://git.openjdk.org/jdk/pull/18025/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=14 Stats: 2026 lines in 35 files changed: 214 ins; 1632 del; 180 mod Patch: https://git.openjdk.org/jdk/pull/18025.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/18025/head:pull/18025 PR: https://git.openjdk.org/jdk/pull/18025
Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v14]
On Thu, 14 Mar 2024 21:44:52 GMT, Kevin Walls wrote: >> The deprecated Subject Delegation feature in JMX will be removed. >> >> This was marked in JDK 21 as deprecated for removal (JDK-8298966). > > Kevin Walls has updated the pull request incrementally with one additional > commit since the last revision: > > Missing code doc nit. Marked as reviewed by dfuchs (Reviewer). - PR Review: https://git.openjdk.org/jdk/pull/18025#pullrequestreview-1938513465
Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v14]
> The deprecated Subject Delegation feature in JMX will be removed. > > This was marked in JDK 21 as deprecated for removal (JDK-8298966). Kevin Walls has updated the pull request incrementally with one additional commit since the last revision: Missing code doc nit. - Changes: - all: https://git.openjdk.org/jdk/pull/18025/files - new: https://git.openjdk.org/jdk/pull/18025/files/64c9c64a..43b10a12 Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=13 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=12-13 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.org/jdk/pull/18025.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/18025/head:pull/18025 PR: https://git.openjdk.org/jdk/pull/18025
Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v13]
> The deprecated Subject Delegation feature in JMX will be removed. > > This was marked in JDK 21 as deprecated for removal (JDK-8298966). Kevin Walls has updated the pull request incrementally with one additional commit since the last revision: Missing code doc nit. - Changes: - all: https://git.openjdk.org/jdk/pull/18025/files - new: https://git.openjdk.org/jdk/pull/18025/files/91ec015f..64c9c64a Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=12 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=11-12 Stats: 2 lines in 1 file changed: 0 ins; 0 del; 2 mod Patch: https://git.openjdk.org/jdk/pull/18025.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/18025/head:pull/18025 PR: https://git.openjdk.org/jdk/pull/18025
Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v12]
On Thu, 14 Mar 2024 12:23:09 GMT, Kevin Walls wrote: >> The deprecated Subject Delegation feature in JMX will be removed. >> >> This was marked in JDK 21 as deprecated for removal (JDK-8298966). > > Kevin Walls has updated the pull request incrementally with one additional > commit since the last revision: > > RMIConnectionImpl_Stub also should explicity inherit the unchecked UOE. The spec updates are good with me. Caught one formatting nit in the `RMIConnection` class spec. src/java.management.rmi/share/classes/javax/management/remote/rmi/RMIConnection.java line 85: > 83: * > 84: * JMX Subject Delegation has been removed. All methods that take a > 85: * delegationSubject parameter will throw UnsupportedOperationException if Suggestion: * delegation subject parameter will throw {@code UnsupportedOperationException} if - Marked as reviewed by mchung (Reviewer). PR Review: https://git.openjdk.org/jdk/pull/18025#pullrequestreview-1937202285 PR Review Comment: https://git.openjdk.org/jdk/pull/18025#discussion_r1525173122
Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v5]
On Mon, 11 Mar 2024 15:19:08 GMT, Daniel Fuchs wrote: >>> Is there any value in keeping `SubjectDelegationPermission` after this >>> change? If so, I would mark that API deprecated for removal, so that it can >>> be removed in the next release or two. >> >> No, nothing uses SubjectDelegationPermission. That can be deprecated. >> >>> Are there remaining tests that test the JMX fine grained permissions >>> feature w/o depending on subject delegation? >> >> Yes there are some tests other than those changed here, which use >> MBeanPermission in policies and become irrelevant post-SM. > >> Is there any value in keeping `SubjectDelegationPermission` after this >> change? If so, I would mark that API deprecated for removal, so that it can >> be removed in the next release or two. > > No issue with deprecation. I guess it can be removed once > `java.security.Policy` is removed? Thanks @dfuch for the comments and review. 8-) - PR Comment: https://git.openjdk.org/jdk/pull/18025#issuecomment-1997329701
Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v12]
> The deprecated Subject Delegation feature in JMX will be removed. > > This was marked in JDK 21 as deprecated for removal (JDK-8298966). Kevin Walls has updated the pull request incrementally with one additional commit since the last revision: RMIConnectionImpl_Stub also should explicity inherit the unchecked UOE. - Changes: - all: https://git.openjdk.org/jdk/pull/18025/files - new: https://git.openjdk.org/jdk/pull/18025/files/418b635c..91ec015f Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=11 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=10-11 Stats: 25 lines in 1 file changed: 24 ins; 0 del; 1 mod Patch: https://git.openjdk.org/jdk/pull/18025.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/18025/head:pull/18025 PR: https://git.openjdk.org/jdk/pull/18025
Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v11]
On Thu, 14 Mar 2024 11:53:11 GMT, Kevin Walls wrote: >> The deprecated Subject Delegation feature in JMX will be removed. >> >> This was marked in JDK 21 as deprecated for removal (JDK-8298966). > > Kevin Walls has updated the pull request incrementally with two additional > commits since the last revision: > > - Clarify JMXConnector equivalence comment. > - RMIConnectionImpl needs to explicity inherit the unchecked UOE. Marked as reviewed by dfuchs (Reviewer). - PR Review: https://git.openjdk.org/jdk/pull/18025#pullrequestreview-1936454653
Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v11]
> The deprecated Subject Delegation feature in JMX will be removed. > > This was marked in JDK 21 as deprecated for removal (JDK-8298966). Kevin Walls has updated the pull request incrementally with two additional commits since the last revision: - Clarify JMXConnector equivalence comment. - RMIConnectionImpl needs to explicity inherit the unchecked UOE. - Changes: - all: https://git.openjdk.org/jdk/pull/18025/files - new: https://git.openjdk.org/jdk/pull/18025/files/a3e09e90..418b635c Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=10 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=09-10 Stats: 32 lines in 2 files changed: 31 ins; 0 del; 1 mod Patch: https://git.openjdk.org/jdk/pull/18025.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/18025/head:pull/18025 PR: https://git.openjdk.org/jdk/pull/18025
Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v10]
On Wed, 13 Mar 2024 17:39:24 GMT, Mandy Chung wrote: > The spec change looks good to me. I leave to others to review the > implementation and test changes. Thanks! - PR Comment: https://git.openjdk.org/jdk/pull/18025#issuecomment-1995445698
Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v10]
On Tue, 12 Mar 2024 19:58:24 GMT, Kevin Walls wrote: >> The deprecated Subject Delegation feature in JMX will be removed. >> >> This was marked in JDK 21 as deprecated for removal (JDK-8298966). > > Kevin Walls has updated the pull request incrementally with one additional > commit since the last revision: > > typo The spec change looks good to me.I leave to others to review the implementation and test changes. src/java.management.rmi/share/classes/javax/management/remote/rmi/RMIConnection.java line 85: > 83: * > 84: * JMX Subject Delegation has been removed. All methods that take a > 85: * delegationSubject parameter will throw UnsupportedOperationException if Suggestion: * JMX Subject Delegation has been removed. All methods that take a * delegation subject parameter will throw {@code UnsupportedOperationException} if - Marked as reviewed by mchung (Reviewer). PR Review: https://git.openjdk.org/jdk/pull/18025#pullrequestreview-1934819628 PR Review Comment: https://git.openjdk.org/jdk/pull/18025#discussion_r1523673795
Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v10]
> The deprecated Subject Delegation feature in JMX will be removed. > > This was marked in JDK 21 as deprecated for removal (JDK-8298966). Kevin Walls has updated the pull request incrementally with one additional commit since the last revision: typo - Changes: - all: https://git.openjdk.org/jdk/pull/18025/files - new: https://git.openjdk.org/jdk/pull/18025/files/15717fbe..a3e09e90 Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=09 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=08-09 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.org/jdk/pull/18025.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/18025/head:pull/18025 PR: https://git.openjdk.org/jdk/pull/18025
Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v7]
On Tue, 12 Mar 2024 15:38:37 GMT, Kevin Walls wrote: >> It's a good suggestion. Something like this: >> >> All methods that take a `Subject` parameter will throw UOE if called with a >> non-null subject delegation. JMX subject delegation feature is no longer >> supported. > > OK sure -- didn't want to make the individual delegationSubject mentions too > terse, but if there is some earlier text then that could be OK... Thanks, updating with those changes. Additionally, in JMXConnector I'm removing the text "Calling this method is equivalent to calling getMBSC(null)..." as that is pointless, and possibly misleading now. - PR Review Comment: https://git.openjdk.org/jdk/pull/18025#discussion_r1522024836
Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v9]
> The deprecated Subject Delegation feature in JMX will be removed. > > This was marked in JDK 21 as deprecated for removal (JDK-8298966). Kevin Walls has updated the pull request incrementally with one additional commit since the last revision: Javadoc update - Changes: - all: https://git.openjdk.org/jdk/pull/18025/files - new: https://git.openjdk.org/jdk/pull/18025/files/7ae77376..15717fbe Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=08 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=07-08 Stats: 89 lines in 2 files changed: 5 ins; 33 del; 51 mod Patch: https://git.openjdk.org/jdk/pull/18025.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/18025/head:pull/18025 PR: https://git.openjdk.org/jdk/pull/18025
Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v7]
On Mon, 11 Mar 2024 19:24:20 GMT, Mandy Chung wrote: >> Maybe mention there too that the delegationSubject parameter is kept for >> interoperability with older remote clients. > > It's a good suggestion. Something like this: > > All methods that take a `Subject` parameter will throw UOE if called with a > non-null subject delegation. JMX subject delegation feature is no longer > supported. OK sure -- didn't want to make the individual delegationSubject mentions too terse, but if there is some earlier text then that could be OK... - PR Review Comment: https://git.openjdk.org/jdk/pull/18025#discussion_r1521699619
Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v7]
On Mon, 11 Mar 2024 17:49:34 GMT, Mandy Chung wrote: >> Kevin Walls has updated the pull request incrementally with one additional >> commit since the last revision: >> >> (C) oops > > src/java.management/share/classes/javax/management/remote/JMXConnector.java > line 139: > >> 137: /** >> 138: * This method remains for compatibility reasons, but has no >> more meaning >> 139: * than {@link #getMBeanServerConnection()}. > > Suggestion: > > * This method is equivalent to calling {@link > #getMBeanServerConnection()}. ok - PR Review Comment: https://git.openjdk.org/jdk/pull/18025#discussion_r1521667592
Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v7]
On Mon, 11 Mar 2024 17:10:34 GMT, Daniel Fuchs wrote: >> Kevin Walls has updated the pull request incrementally with one additional >> commit since the last revision: >> >> (C) oops > > src/java.management.rmi/share/classes/javax/management/remote/rmi/RMIConnector.java > line 618: > >> 616: throw new SecurityException("Subject Delegation has >> been removed."); >> 617: } >> 618: } > > Can't this constructor be removed? It's a private inner class so we should be > able to throw before calling that constructor? Yes that can disappear with no impact. - PR Review Comment: https://git.openjdk.org/jdk/pull/18025#discussion_r1521324287
Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v8]
> The deprecated Subject Delegation feature in JMX will be removed. > > This was marked in JDK 21 as deprecated for removal (JDK-8298966). Kevin Walls has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 16 additional commits since the last revision: - Remove unnecessary constructor in private class - Merge remote-tracking branch 'upstream/master' into 832_SubjectDelegation_remove - (C) oops - Clarify deprecation comment. - typo - Remove additional passing of delegatedSubject in ClientListenerInfo and ClientNotifForwarder - Test specifically that UOE is thrown. - Test that SubjectDelegation is refused. - Update doc comments for RMIConnection. Additional throw for delegationSubjects array. - JMXConnector.getMBeanServer(ds) doc update - ... and 6 more: https://git.openjdk.org/jdk/compare/df1aab1c...7ae77376 - Changes: - all: https://git.openjdk.org/jdk/pull/18025/files - new: https://git.openjdk.org/jdk/pull/18025/files/f5794c43..7ae77376 Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=07 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=06-07 Stats: 98336 lines in 2041 files changed: 16429 ins; 75917 del; 5990 mod Patch: https://git.openjdk.org/jdk/pull/18025.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/18025/head:pull/18025 PR: https://git.openjdk.org/jdk/pull/18025
Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v7]
On Mon, 11 Mar 2024 17:22:57 GMT, Daniel Fuchs wrote: >> Kevin Walls has updated the pull request incrementally with one additional >> commit since the last revision: >> >> (C) oops > > test/jdk/javax/management/remote/mandatory/notif/DeadListenerTest.java line > 78: > >> 76: cs.start(); >> 77: JMXServiceURL addr = cs.getAddress(); >> 78: assertTrue("Expected no connections in new connector server", >> rmiServer.connections.isEmpty()); > > Changes to this file seem unrelated to the removal of the feature - could you > confirm that they were intended (no issue if they were intended). Yes, they were intentional, should have made that clear. I had a failure from this test at some point, and the assert message made no sense to me. e.g. "New value of count1 == 1" is shown, but that's what was expected and not what was seen. - PR Review Comment: https://git.openjdk.org/jdk/pull/18025#discussion_r1521290618
Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v5]
On Mon, 11 Mar 2024 15:19:08 GMT, Daniel Fuchs wrote: > > Is there any value in keeping `SubjectDelegationPermission` after this > > change? If so, I would mark that API deprecated for removal, so that it can > > be removed in the next release or two. > > No issue with deprecation. I guess it can be removed once > `java.security.Policy` is removed? Yes, or to be more precise, when the `JavaPolicy` implementation of `java.security.Policy` is removed. - PR Comment: https://git.openjdk.org/jdk/pull/18025#issuecomment-1989444321
Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v7]
On Mon, 11 Mar 2024 18:49:43 GMT, Daniel Fuchs wrote: >> I was wondering if we should add a note at the class-level API documentation >> to say that subject delegation has been removed (or is no longer supported), >> and that methods will throw UOE if a non-null delegation subject is passed. >> It is otherwise strange to see a parameter that must be null. It could be >> worthwhile to mention it just once, at the class-level API. > > Maybe mention there too that the delegationSubject parameter is kept for > interoperability with older remote clients. It's a good suggestion. Something like this: All methods that take a `Subject` parameter will throw UOE if called with a non-null subject delegation. JMX subject delegation feature is no longer supported. - PR Review Comment: https://git.openjdk.org/jdk/pull/18025#discussion_r1520310935
Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v7]
On Mon, 11 Mar 2024 18:39:38 GMT, Daniel Fuchs wrote: >> src/java.management.rmi/share/classes/javax/management/remote/rmi/RMIConnection.java >> line 126: >> >>> 124: * @param className The class name of the MBean to be instantiated. >>> 125: * @param name The object name of the MBean. May be null. >>> 126: * @param delegationSubject No longer supported and should be null. >> >> I think it can be simplified to: >> >> Suggestion: >> >> * @param delegationSubject must be {@code null}. >> >> >> I see no need to mention this feature no longer supported as no one is using >> and will use this feature. >> >> Same comment applies to all methods that take `delegationSubject`. > > I was wondering if we should add a note at the class-level API documentation > to say that subject delegation has been removed (or is no longer supported), > and that methods will throw UOE if a non-null delegation subject is passed. > It is otherwise strange to see a parameter that must be null. It could be > worthwhile to mention it just once, at the class-level API. Maybe mention there too that the delegationSubject parameter is kept for interoperability with older remote clients. - PR Review Comment: https://git.openjdk.org/jdk/pull/18025#discussion_r1520271921
Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v7]
On Mon, 11 Mar 2024 17:56:50 GMT, Mandy Chung wrote: >> Kevin Walls has updated the pull request incrementally with one additional >> commit since the last revision: >> >> (C) oops > > src/java.management.rmi/share/classes/javax/management/remote/rmi/RMIConnection.java > line 126: > >> 124: * @param className The class name of the MBean to be instantiated. >> 125: * @param name The object name of the MBean. May be null. >> 126: * @param delegationSubject No longer supported and should be null. > > I think it can be simplified to: > > Suggestion: > > * @param delegationSubject must be {@code null}. > > > I see no need to mention this feature no longer supported as no one is using > and will use this feature. > > Same comment applies to all methods that take `delegationSubject`. I was wondering if we should add a note at the class-level API documentation to say that subject delegation has been removed (or is no longer supported), and that methods will throw UOE if a non-null delegation subject is passed. It is otherwise strange to see a parameter that must be null. It could be worthwhile to mention it just once, at the class-level API. - PR Review Comment: https://git.openjdk.org/jdk/pull/18025#discussion_r1520260840
Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v7]
On Mon, 11 Mar 2024 10:09:28 GMT, Kevin Walls wrote: >> The deprecated Subject Delegation feature in JMX will be removed. >> >> This was marked in JDK 21 as deprecated for removal (JDK-8298966). > > Kevin Walls has updated the pull request incrementally with one additional > commit since the last revision: > > (C) oops src/java.management.rmi/share/classes/javax/management/remote/rmi/RMIConnection.java line 126: > 124: * @param className The class name of the MBean to be instantiated. > 125: * @param name The object name of the MBean. May be null. > 126: * @param delegationSubject No longer supported and should be null. I think it can be simplified to: Suggestion: * @param delegationSubject must be {@code null}. I see no need to mention this feature no longer supported as no one is using and will use this feature. Same comment applies to all methods that take `delegationSubject`. src/java.management.rmi/share/classes/javax/management/remote/rmi/RMIConnection.java line 157: > 155: * @throws IOException if a general communication exception occurred. > 156: * @throws UnsupportedOperationException if a non-null > delegationSubject > 157: * is specified. Subject Delegation has been removed. This can be simplified to: Suggestion: * @throws UnsupportedOperationException if {@code delegationSubject} is non-null Same comment applies to all methods that take `delegationSubject`. src/java.management/share/classes/javax/management/remote/JMXConnector.java line 139: > 137: /** > 138: * This method remains for compatibility reasons, but has no more > meaning > 139: * than {@link #getMBeanServerConnection()}. Suggestion: * This method is equivalent to calling {@link #getMBeanServerConnection()}. src/java.management/share/classes/javax/management/remote/JMXConnector.java line 142: > 140: * > 141: * @param delegationSubject must be null, since the removal of the > 142: * Subject Delegation feature. Suggestion: * @param delegationSubject must be {@code null} src/java.management/share/classes/javax/management/remote/JMXConnector.java line 153: > 151: * > 152: * @exception UnsupportedOperationException if a non-null > delegationSubject > 153: * is specified. Subject Delegation has been removed. Suggestion: * @exception UnsupportedOperationException if {@code delegationSubject} is non-null. - PR Review Comment: https://git.openjdk.org/jdk/pull/18025#discussion_r1520188392 PR Review Comment: https://git.openjdk.org/jdk/pull/18025#discussion_r1520183154 PR Review Comment: https://git.openjdk.org/jdk/pull/18025#discussion_r1520165902 PR Review Comment: https://git.openjdk.org/jdk/pull/18025#discussion_r1520166471 PR Review Comment: https://git.openjdk.org/jdk/pull/18025#discussion_r1520170490
Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v7]
On Mon, 11 Mar 2024 10:09:28 GMT, Kevin Walls wrote: >> The deprecated Subject Delegation feature in JMX will be removed. >> >> This was marked in JDK 21 as deprecated for removal (JDK-8298966). > > Kevin Walls has updated the pull request incrementally with one additional > commit since the last revision: > > (C) oops src/java.management.rmi/share/classes/javax/management/remote/rmi/RMIConnector.java line 618: > 616: throw new SecurityException("Subject Delegation has been > removed."); > 617: } > 618: } Can't this constructor be removed? It's a private inner class so we should be able to throw before calling that constructor? test/jdk/javax/management/remote/mandatory/notif/DeadListenerTest.java line 78: > 76: cs.start(); > 77: JMXServiceURL addr = cs.getAddress(); > 78: assertTrue("Expected no connections in new connector server", > rmiServer.connections.isEmpty()); Changes to this file seem unrelated to the removal of the feature - could you confirm that they were intended (no issue if they were intended). - PR Review Comment: https://git.openjdk.org/jdk/pull/18025#discussion_r1520108369 PR Review Comment: https://git.openjdk.org/jdk/pull/18025#discussion_r1520127466
Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v5]
On Fri, 8 Mar 2024 10:20:36 GMT, Kevin Walls wrote: > Is there any value in keeping `SubjectDelegationPermission` after this > change? If so, I would mark that API deprecated for removal, so that it can > be removed in the next release or two. No issue with deprecation. I guess it can be removed once `java.security.Policy` is removed? - PR Comment: https://git.openjdk.org/jdk/pull/18025#issuecomment-1988693902
Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v7]
> The deprecated Subject Delegation feature in JMX will be removed. > > This was marked in JDK 21 as deprecated for removal (JDK-8298966). Kevin Walls has updated the pull request incrementally with one additional commit since the last revision: (C) oops - Changes: - all: https://git.openjdk.org/jdk/pull/18025/files - new: https://git.openjdk.org/jdk/pull/18025/files/4beae2f2..f5794c43 Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=06 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=05-06 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.org/jdk/pull/18025.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/18025/head:pull/18025 PR: https://git.openjdk.org/jdk/pull/18025
Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v6]
On Fri, 8 Mar 2024 22:04:28 GMT, Weijun Wang wrote: > Missing `,` after 2024. oops, thanks! - PR Review Comment: https://git.openjdk.org/jdk/pull/18025#discussion_r1519459149
Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v6]
On Thu, 7 Mar 2024 22:00:13 GMT, Kevin Walls wrote: >> The deprecated Subject Delegation feature in JMX will be removed. >> >> This was marked in JDK 21 as deprecated for removal (JDK-8298966). > > Kevin Walls has updated the pull request incrementally with three additional > commits since the last revision: > > - Clarify deprecation comment. > - typo > - Remove additional passing of delegatedSubject in ClientListenerInfo and > ClientNotifForwarder src/java.management/share/classes/com/sun/jmx/remote/internal/ClientNotifForwarder.java line 2: > 1: /* > 2: * Copyright (c) 2002, 2024 Oracle and/or its affiliates. All rights > reserved. Missing `,` after 2024. - PR Review Comment: https://git.openjdk.org/jdk/pull/18025#discussion_r1518357791
Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v5]
On Thu, 7 Mar 2024 19:58:35 GMT, Sean Mullan wrote: > Is there any value in keeping `SubjectDelegationPermission` after this > change? If so, I would mark that API deprecated for removal, so that it can > be removed in the next release or two. No, nothing uses SubjectDelegationPermission. That can be deprecated. > Are there remaining tests that test the JMX fine grained permissions feature > w/o depending on subject delegation? Yes there are some tests other than those changed here, which use MBeanPermission in policies and become irrelevant post-SM. - PR Comment: https://git.openjdk.org/jdk/pull/18025#issuecomment-1985429423
Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v6]
> The deprecated Subject Delegation feature in JMX will be removed. > > This was marked in JDK 21 as deprecated for removal (JDK-8298966). Kevin Walls has updated the pull request incrementally with three additional commits since the last revision: - Clarify deprecation comment. - typo - Remove additional passing of delegatedSubject in ClientListenerInfo and ClientNotifForwarder - Changes: - all: https://git.openjdk.org/jdk/pull/18025/files - new: https://git.openjdk.org/jdk/pull/18025/files/c5256c3f..4beae2f2 Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=05 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=04-05 Stats: 54 lines in 5 files changed: 0 ins; 25 del; 29 mod Patch: https://git.openjdk.org/jdk/pull/18025.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/18025/head:pull/18025 PR: https://git.openjdk.org/jdk/pull/18025
Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v5]
On Thu, 7 Mar 2024 20:07:57 GMT, Sean Mullan wrote: >> Kevin Walls has updated the pull request incrementally with one additional >> commit since the last revision: >> >> Test specifically that UOE is thrown. > > src/java.management/share/classes/javax/management/remote/JMXConnector.java > line 153: > >> 151: * >> 152: * @exception UnsupportedOperationException if a non-null >> delegationSubject >> 153: * is specifed. Subject Delegation has been removed. > > Typo: s/specifed/specified/ got it thanks. > src/java.management/share/classes/javax/management/remote/JMXConnector.java > line 158: > >> 156: * and is only useful in conjunction with other APIs which are >> deprecated and >> 157: * subject to removal in a future release. Consequently, this >> method is also >> 158: * deprecated and subject to removal. There is no replacement. > > Maybe you want to change this text to be more direct here that subject > delegation is no longer supported and what this method now does. Yes, that should be updated, the feature is gone with this change. - PR Review Comment: https://git.openjdk.org/jdk/pull/18025#discussion_r1516884990 PR Review Comment: https://git.openjdk.org/jdk/pull/18025#discussion_r1516885582
Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v5]
On Wed, 6 Mar 2024 11:46:16 GMT, Kevin Walls wrote: >> The deprecated Subject Delegation feature in JMX will be removed. >> >> This was marked in JDK 21 as deprecated for removal (JDK-8298966). > > Kevin Walls has updated the pull request incrementally with one additional > commit since the last revision: > > Test specifically that UOE is thrown. src/java.management/share/classes/javax/management/remote/JMXConnector.java line 153: > 151: * > 152: * @exception UnsupportedOperationException if a non-null > delegationSubject > 153: * is specifed. Subject Delegation has been removed. Typo: s/specifed/specified/ src/java.management/share/classes/javax/management/remote/JMXConnector.java line 158: > 156: * and is only useful in conjunction with other APIs which are > deprecated and > 157: * subject to removal in a future release. Consequently, this method > is also > 158: * deprecated and subject to removal. There is no replacement. Maybe you want to change this text to be more direct here that subject delegation is no longer supported and what this method now does. - PR Review Comment: https://git.openjdk.org/jdk/pull/18025#discussion_r1516758560 PR Review Comment: https://git.openjdk.org/jdk/pull/18025#discussion_r1516761404
Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v5]
On Wed, 6 Mar 2024 11:46:16 GMT, Kevin Walls wrote: >> The deprecated Subject Delegation feature in JMX will be removed. >> >> This was marked in JDK 21 as deprecated for removal (JDK-8298966). > > Kevin Walls has updated the pull request incrementally with one additional > commit since the last revision: > > Test specifically that UOE is thrown. Are there remaining tests that test the JMX fine grained permissions feature w/o depending on subject delegation? - PR Comment: https://git.openjdk.org/jdk/pull/18025#issuecomment-1984329809
Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v5]
On Wed, 6 Mar 2024 11:46:16 GMT, Kevin Walls wrote: >> The deprecated Subject Delegation feature in JMX will be removed. >> >> This was marked in JDK 21 as deprecated for removal (JDK-8298966). > > Kevin Walls has updated the pull request incrementally with one additional > commit since the last revision: > > Test specifically that UOE is thrown. Is there any value in keeping `SubjectDelegationPermission` after this change? If so, I would mark that API deprecated for removal, so that it can be removed in the next release or two. - PR Comment: https://git.openjdk.org/jdk/pull/18025#issuecomment-1984324717
Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v5]
> The deprecated Subject Delegation feature in JMX will be removed. > > This was marked in JDK 21 as deprecated for removal (JDK-8298966). Kevin Walls has updated the pull request incrementally with one additional commit since the last revision: Test specifically that UOE is thrown. - Changes: - all: https://git.openjdk.org/jdk/pull/18025/files - new: https://git.openjdk.org/jdk/pull/18025/files/19ace691..c5256c3f Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=04 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=03-04 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.org/jdk/pull/18025.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/18025/head:pull/18025 PR: https://git.openjdk.org/jdk/pull/18025
Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v4]
On Wed, 6 Mar 2024 11:42:18 GMT, Kevin Walls wrote: >> The deprecated Subject Delegation feature in JMX will be removed. >> >> This was marked in JDK 21 as deprecated for removal (JDK-8298966). > > Kevin Walls has updated the pull request incrementally with one additional > commit since the last revision: > > Test that SubjectDelegation is refused. Added a test to ensure jmxc.getMBeanServerConnection(delegationSubject) throws UnsupportedOperationException. - PR Comment: https://git.openjdk.org/jdk/pull/18025#issuecomment-1980688614
Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v4]
> The deprecated Subject Delegation feature in JMX will be removed. > > This was marked in JDK 21 as deprecated for removal (JDK-8298966). Kevin Walls has updated the pull request incrementally with one additional commit since the last revision: Test that SubjectDelegation is refused. - Changes: - all: https://git.openjdk.org/jdk/pull/18025/files - new: https://git.openjdk.org/jdk/pull/18025/files/c607b69a..19ace691 Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=03 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=02-03 Stats: 115 lines in 1 file changed: 115 ins; 0 del; 0 mod Patch: https://git.openjdk.org/jdk/pull/18025.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/18025/head:pull/18025 PR: https://git.openjdk.org/jdk/pull/18025
Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v2]
On Mon, 4 Mar 2024 13:37:53 GMT, Alan Bateman wrote: >> Kevin Walls has updated the pull request incrementally with one additional >> commit since the last revision: >> >> RMIConnection comments update > > src/java.management.rmi/share/classes/javax/management/remote/rmi/RMIConnection.java > line 126: > >> 124: * @param className The class name of the MBean to be instantiated. >> 125: * @param name The object name of the MBean. May be null. >> 126: * @param delegationSubject No longer supported and should be null. > > I think this interface will require all methods that take a delegation > subject to specify UOE when the subject is not null. Yes, this will > invalidate implementations that are outside of the JDK but such > implementations need to be updated anyway. Yes, updated. > src/java.management/share/classes/javax/management/remote/JMXConnector.java > line 158: > >> 156: */ >> 157: @Deprecated(since="21", forRemoval=true) >> 158: public default MBeanServerConnection >> getMBeanServerConnection(Subject delegationSubject) > > Specifying the UOE in the param description is problematic. I think you want > to specify delegationSubject as not used, must be null, then declare UOE as > one of the exceptions thrown by the method. Thanks, updated. - PR Review Comment: https://git.openjdk.org/jdk/pull/18025#discussion_r1511402928 PR Review Comment: https://git.openjdk.org/jdk/pull/18025#discussion_r1511401561
Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v3]
> The deprecated Subject Delegation feature in JMX will be removed. > > This was marked in JDK 21 as deprecated for removal (JDK-8298966). Kevin Walls has updated the pull request incrementally with two additional commits since the last revision: - Update doc comments for RMIConnection. Additional throw for delegationSubjects array. - JMXConnector.getMBeanServer(ds) doc update - Changes: - all: https://git.openjdk.org/jdk/pull/18025/files - new: https://git.openjdk.org/jdk/pull/18025/files/8635a3a5..c607b69a Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=02 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=01-02 Stats: 102 lines in 3 files changed: 53 ins; 1 del; 48 mod Patch: https://git.openjdk.org/jdk/pull/18025.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/18025/head:pull/18025 PR: https://git.openjdk.org/jdk/pull/18025
Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v2]
On Mon, 4 Mar 2024 13:24:05 GMT, Kevin Walls wrote: >> The deprecated Subject Delegation feature in JMX will be removed. >> >> This was marked in JDK 21 as deprecated for removal (JDK-8298966). > > Kevin Walls has updated the pull request incrementally with one additional > commit since the last revision: > > RMIConnection comments update In addition to Alan's remarks I believe we need new tests to verify the new behavior. - PR Comment: https://git.openjdk.org/jdk/pull/18025#issuecomment-1976841428
Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v2]
On Mon, 4 Mar 2024 13:24:05 GMT, Kevin Walls wrote: >> The deprecated Subject Delegation feature in JMX will be removed. >> >> This was marked in JDK 21 as deprecated for removal (JDK-8298966). > > Kevin Walls has updated the pull request incrementally with one additional > commit since the last revision: > > RMIConnection comments update src/java.management.rmi/share/classes/javax/management/remote/rmi/RMIConnection.java line 126: > 124: * @param className The class name of the MBean to be instantiated. > 125: * @param name The object name of the MBean. May be null. > 126: * @param delegationSubject No longer supported and should be null. I think this interface will require all methods that take a delegation subject to specify UOE then the subject is not null. Yes, this will invalidate implementations that are outside of the JDK but such implementations need to be updated anyway. src/java.management/share/classes/javax/management/remote/JMXConnector.java line 158: > 156: */ > 157: @Deprecated(since="21", forRemoval=true) > 158: public default MBeanServerConnection > getMBeanServerConnection(Subject delegationSubject) Specifying the UOE in the param description is problematic. I think you want to specify delegationSubject as not used, must be null, then declare UOE as one of the exceptions thrown by the method. - PR Review Comment: https://git.openjdk.org/jdk/pull/18025#discussion_r1511174715 PR Review Comment: https://git.openjdk.org/jdk/pull/18025#discussion_r1511172106
Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v2]
> The deprecated Subject Delegation feature in JMX will be removed. > > This was marked in JDK 21 as deprecated for removal (JDK-8298966). Kevin Walls has updated the pull request incrementally with one additional commit since the last revision: RMIConnection comments update - Changes: - all: https://git.openjdk.org/jdk/pull/18025/files - new: https://git.openjdk.org/jdk/pull/18025/files/f236ae82..8635a3a5 Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=01 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=00-01 Stats: 78 lines in 1 file changed: 0 ins; 51 del; 27 mod Patch: https://git.openjdk.org/jdk/pull/18025.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/18025/head:pull/18025 PR: https://git.openjdk.org/jdk/pull/18025
Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature
On Tue, 27 Feb 2024 10:44:20 GMT, Kevin Walls wrote: > The deprecated Subject Delegation feature in JMX will be removed. > > This was marked in JDK 21 as deprecated for removal (JDK-8298966). This covers the public interface to the feature, and tests. Locally the feature is refused during a call to getMBeanServerConnection(with a non-null delegationSubject). Remotely, `javax.management.remote.rmi.RMIConnectionImpl` has methods which accept a Subject parameter for Subject Delegation. This cannot now be non-null in local usage, but an RMI Connection from an older JDK can invoke these methods with a non-null delegationSubject. Such access will be recognised and an UnsupportedOperationException will be thrown (which the client will see). RMIConnectionImpl can be simplified, and the class SubjectDelegator removed. JMXSubjectDomainCombiner I would like to remove separately after this is done. - PR Comment: https://git.openjdk.org/jdk/pull/18025#issuecomment-1972845693
RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature
The deprecated Subject Delegation feature in JMX will be removed. This was marked in JDK 21 as deprecated for removal (JDK-8298966). - Commit messages: - JMXConnector to throw UnsupportedOperationException - RMIConnectionImpl to throw when RMI calls invoke with delegatedSubject. Removal of SubjectDelegator class. - Use default method. - Remove delegationSubject from private class RemoteMBeanServerConnection - 832: Remove the Java Management Extension (JMX) Subject Delegation feature Changes: https://git.openjdk.org/jdk/pull/18025/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=00 Issue: https://bugs.openjdk.org/browse/JDK-832 Stats: 1642 lines in 29 files changed: 18 ins; 1547 del; 77 mod Patch: https://git.openjdk.org/jdk/pull/18025.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/18025/head:pull/18025 PR: https://git.openjdk.org/jdk/pull/18025