diff options
| author | Robert Gemmell <robbie@apache.org> | 2009-08-09 21:26:30 +0000 |
|---|---|---|
| committer | Robert Gemmell <robbie@apache.org> | 2009-08-09 21:26:30 +0000 |
| commit | ec7dcb58b2cc529ccfddd1784b64ed35569f6a9b (patch) | |
| tree | ada61f34dbc8f23f215bbd5fb830391fb1b98e98 /java/management/eclipse-plugin | |
| parent | 55816e6a866a777ca6e91bb5eec185a6820516bd (diff) | |
| download | qpid-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.java | 25 |
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) |
