From 40afa8f8d8fb4fcc993f0e4ffca3d8e2ff38ed08 Mon Sep 17 00:00:00 2001 From: "patrick.fry" Date: Mon, 10 Feb 2025 10:24:40 -0500 Subject: [PATCH] Bug 37544727 - LoginModule should allow user to provide keystore password from callback handler, simplify test handler (14.1.1.0 cl 114247 --> 14.1.1.0 CE) [git-p4: depot-paths = "//dev/coherence-ce/release/coherence-ce-v14.1.1.0/": change = 114271] --- .../security/HandlerPasswordProvider.java | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/prj/test/functional/security/src/test/java/security/HandlerPasswordProvider.java b/prj/test/functional/security/src/test/java/security/HandlerPasswordProvider.java index c2d0cd541c07..3c0f77a2bebe 100644 --- a/prj/test/functional/security/src/test/java/security/HandlerPasswordProvider.java +++ b/prj/test/functional/security/src/test/java/security/HandlerPasswordProvider.java @@ -10,12 +10,9 @@ import com.tangosol.net.PasswordProvider; -import com.tangosol.util.Base; import com.tangosol.util.ClassHelper; import com.tangosol.util.ExternalizableHelper; -import java.security.Principal; - import javax.security.auth.callback.Callback; import javax.security.auth.callback.CallbackHandler; import javax.security.auth.callback.ConfirmationCallback; @@ -27,20 +24,20 @@ /** * The HandlerPasswordProvider is a CallbackHandler implementation -* based on a specified username and a password provider. A file based -* password provider, FileBasedPasswordProvider, is used. +* based on a specified username and a password provider. For the +* password provider, a file based password provider, +* FileBasedPasswordProvider, is used. * * @author lh, jk 2025.02.04 * @since Coherence 14.1.2.0.2 */ public class HandlerPasswordProvider - extends Base - implements CallbackHandler, Principal + implements CallbackHandler { // ----- constructors --------------------------------------------------- /** - * Construct a SimpleHandler. + * Construct a HandlerPasswordProvider. * * @param sName the username * @param sClass the password provider class name @@ -94,7 +91,10 @@ public void handle(Callback[] aCallback) } else if (callback instanceof PasswordCallback) { - ((PasswordCallback) callback).setPassword(m_provider.get()); + if (m_provider != null) + { + ((PasswordCallback) callback).setPassword(m_provider.get()); + } } else if (callback instanceof TextOutputCallback || callback instanceof ConfirmationCallback) @@ -125,7 +125,7 @@ else if (callback instanceof TextOutputCallback || public boolean equals(Object o) { return o instanceof HandlerPasswordProvider ? - equals(m_sName, ((HandlerPasswordProvider) o).m_sName) : false; + m_sName.equals(((HandlerPasswordProvider) o).m_sName) : false; } /**