-
Notifications
You must be signed in to change notification settings - Fork 5.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
8338411: Implement JEP 486: Permanently Disable the Security Manager #21498
Conversation
Co-authored-by: Sean Mullan <[email protected]> Co-authored-by: Alan Bateman <[email protected]> Co-authored-by: Weijun Wang <[email protected]> Co-authored-by: Aleksei Efimov <[email protected]> Co-authored-by: Brian Burkhalter <[email protected]> Co-authored-by: Daniel Fuchs <[email protected]> Co-authored-by: Harshitha Onkar <[email protected]> Co-authored-by: Joe Wang <[email protected]> Co-authored-by: Jorn Vernee <[email protected]> Co-authored-by: Justin Lu <[email protected]> Co-authored-by: Kevin Walls <[email protected]>> Co-authored-by: Lance Andersen <[email protected]> Co-authored-by: Naoto Sato <[email protected]> Co-authored-by: Roger Riggs <[email protected]> Co-authored-by: Brent Christian <[email protected]>
…java, not useful without SM
setInitialContextFactoryBuilder and setObjectFactoryBuilder methods in javax.naming.spi.NamingManager.
permission cannot be used anymore to control access.
…sion checks of the Class.getNestHost and getNestMembers methods, which no longer apply.
…ested by other tests
…ava, useless without SM
ModuleDescriptor.location().
…attacker to create new instances
…Class<?> clazz, int which)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good to go!
/integrate |
/reviewers 2 |
@seanjmullan This pull request has not yet been marked as ready for integration. |
@seanjmullan |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for all of your hard work on this JEP Sean.
/integrate |
/integrate |
/integrate |
Going to push as commit db85090.
Your commit was automatically rebased without conflicts. |
@seanjmullan Pushed as commit db85090. 💡 You may see a message that your pull request was closed with unmerged commits. This can be safely ignored. |
@seanjmullan The command |
@seanjmullan The command |
This is the implementation of JEP 486: Permanently Disable the Security Manager. See JEP 486 for more details. The CSR describes in detail the main changes in the JEP and also includes an apidiff of the specification changes.
NOTE: the majority (~95%) of the changes in this PR are test updates (removal/modifications) and API specification changes, the latter mostly to remove
@throws SecurityException
. The remaining changes are primarily the removal of theSecurityManager
,Policy
,AccessController
and other Security Manager API implementations. There is very little new code.The code changes can be broken down into roughly the following categories:
SecurityException
if a Security Manager was enabled. They will operate as they did in JDK 23 with no Security Manager enabled.java
command to exit with a fatal error if a Security Manager is enabled.There are a handful of Security Manager related tests that are failing and are at the end of the
test/jdk/ProblemList.txt
,test/langtools/ProblemList.txt
andtest/hotspot/jtreg/ProblemList.txt
files - these will be removed or separate bugs will be filed before integrating this PR.Inside the JDK, we have retained calls to
SecurityManager::getSecurityManager
andAccessController::doPrivileged
for now, as these methods have been degraded to behave the same as they did in JDK 23 with no Security Manager enabled. After we integrate this JEP, those calls will be removed in each area (client-libs, core-libs, security, etc).I don't expect each reviewer to review all the code changes in this JEP. Rather, I advise that you only focus on the changes for the area (client-libs, core-libs, net, security, etc) that you are most familiar with.
Progress
Issues
Reviewers
Reviewers without OpenJDK IDs
Contributors
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk.git pull/21498/head:pull/21498
$ git checkout pull/21498
Update a local copy of the PR:
$ git checkout pull/21498
$ git pull https://git.openjdk.org/jdk.git pull/21498/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 21498
View PR using the GUI difftool:
$ git pr show -t 21498
Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/21498.diff
Using Webrev
Link to Webrev Comment