This is an automated email from the ASF dual-hosted git repository. reta pushed a commit to branch 4.0.x-fixes in repository https://gitbox.apache.org/repos/asf/cxf.git
commit 3076490674f3a6b7f97fdfe6366c42a82a5a8079 Author: Francesco Chicchiriccò <[email protected]> AuthorDate: Wed Jul 17 16:41:07 2024 +0200 Allow JDK23 compatibility for Subject#getSubject (#1972) (cherry picked from commit 0dca7da44a34858592243622d6d67329a0a46f79) --- .../apache/cxf/ext/logging/event/DefaultLogEventMapper.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/event/DefaultLogEventMapper.java b/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/event/DefaultLogEventMapper.java index dd7897d45a..2e77c8df64 100644 --- a/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/event/DefaultLogEventMapper.java +++ b/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/event/DefaultLogEventMapper.java @@ -141,9 +141,16 @@ public class DefaultLogEventMapper { } private Iterator<? extends Object> getJAASPrincipals() { - Subject subject = Subject.getSubject(AccessController.getContext()); - return subject != null && subject.getPrincipals() != null - ? subject.getPrincipals().iterator() : Collections.emptyIterator(); + try { + Subject subject = Subject.getSubject(AccessController.getContext()); + return subject != null && subject.getPrincipals() != null + ? subject.getPrincipals().iterator() : Collections.emptyIterator(); + } catch (UnsupportedOperationException e) { + // JDK 23: The terminally deprecated method Subject.getSubject(AccessControlContext) has been re-specified + // to throw UnsupportedOperationException if invoked when a Security Manager is not allowed. + // see https://jdk.java.net/23/release-notes#JDK-8296244 + return Collections.emptyIterator(); + } } private Map<String, String> getHeaders(Message message) {
