Hi all,

We used MRJAR in the Java 25 branch to get rid of the SecurityManager usage
and use the new API to retrieve the subject mainly for audit logs.

But in tests, we also have things like System.setSecurityManager which has
been marked as deprecated in Java 17.

Since Java 24, it permanently throws an exception hence the rework of some
tests to avoid this in Java 25 ongoing work.

For versions 18-23, the flag to disable programmatic SecurityManager setup
has been set to disallow which means that setSecurityManager() also throws
an exception unless you explicitly authorize it.
In the recent Github Actions work, we added Java 21 and 25 to the night
builds in addition to Java 17. I made a PR to remove Java 25 for now,
because we are still working on it on a separate branch so it's clear that
nightly builds on Java 25 will always fail.

For Java 21, there is an open question because we have 2 options
- remove it from the nightly build and stick with Java 17 until Java 25
work is done
- add the system property in surefire configuration to allow
System.setSecurityManager() in tests

We can also rework the tests, but it's partially done already for Java 25
and we are not far. I'm tempted to go with option 2 (system property), but
I'd like to gather some thoughts.

--
Jean-Louis Monteiro
http://twitter.com/jlouismonteiro
http://www.tomitribe.com

Reply via email to