summaryrefslogtreecommitdiff
path: root/java/management/eclipse-plugin
diff options
context:
space:
mode:
authorRobert Gemmell <robbie@apache.org>2009-08-09 21:26:30 +0000
committerRobert Gemmell <robbie@apache.org>2009-08-09 21:26:30 +0000
commitec7dcb58b2cc529ccfddd1784b64ed35569f6a9b (patch)
treeada61f34dbc8f23f215bbd5fb830391fb1b98e98 /java/management/eclipse-plugin
parent55816e6a866a777ca6e91bb5eec185a6820516bd (diff)
downloadqpid-python-ec7dcb58b2cc529ccfddd1784b64ed35569f6a9b.tar.gz
QPID-2032: hash the password in addUser() if connected to a Qpid JMX API 1.1 or below broker. Convert the setPassword() compatibility check to use the API versioning
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@802611 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/management/eclipse-plugin')
-rw-r--r--java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/users/UserManagementTabControl.java25
1 files changed, 21 insertions, 4 deletions
diff --git a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/users/UserManagementTabControl.java b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/users/UserManagementTabControl.java
index b474827493..2051beafac 100644
--- a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/users/UserManagementTabControl.java
+++ b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/users/UserManagementTabControl.java
@@ -294,9 +294,8 @@ public class UserManagementTabControl extends TabControl
{
char[] password = id.getValue().toCharArray();
- // Retrieve the MBean version. If we have a version 1 UMMBean then
- // it expects the password to be sent as a hashed value.
- if (_mbean.getVersion() == 1)
+ // Qpid JMX API 1.1 and below expects the password to be sent as a hashed value.
+ if (_ApiVersion.lessThanOrEqualTo(1,1))
{
try
{
@@ -768,6 +767,24 @@ public class UserManagementTabControl extends TabControl
return;
}
+ char[] passwordChars = password.toCharArray();
+
+ // Qpid JMX API 1.1 and below expects the password to be sent as a hashed value.
+ if (_ApiVersion.lessThanOrEqualTo(1,1))
+ {
+ try
+ {
+ passwordChars = ViewUtility.getHash(password);
+ }
+ catch (Exception hashException)
+ {
+ ViewUtility.popupErrorMessage("Set Password",
+ "Unable to calculate hash for Password:"
+ + hashException.getMessage());
+ return;
+ }
+ }
+
boolean read = readButton.getSelection();
boolean write = writeButton.getSelection();
boolean admin = adminButton.getSelection();
@@ -775,7 +792,7 @@ public class UserManagementTabControl extends TabControl
shell.dispose();
try
{
- boolean result = _ummb.createUser(username, password.toCharArray(), read, write, admin);
+ boolean result = _ummb.createUser(username, passwordChars, read, write, admin);
ViewUtility.operationResultFeedback(result, "Created user", "Failed to create user");
}
catch(Exception e5)