Author: orudyy
Date: Fri Feb 20 17:09:00 2015
New Revision: 1661165
URL: http://svn.apache.org/r1661165
Log:
QPID-6364: Display actual value for a secure attribute with value not matching
secureValueFilter
Modified:
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectAttribute.java
qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/ConfiguredObjectToMapConverter.java
qpid/trunk/qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/ConfiguredObjectToMapConverterTest.java
Modified:
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java?rev=1661165&r1=1661164&r2=1661165&view=diff
==============================================================================
---
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java
(original)
+++
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java
Fri Feb 20 17:09:00 2015
@@ -44,7 +44,6 @@ import java.util.UUID;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.atomic.AtomicReference;
-import java.util.regex.Pattern;
import javax.security.auth.Subject;
@@ -1137,9 +1136,7 @@ public abstract class AbstractConfigured
if(attr != null && (attr.isAutomated() || attr.isDerived()))
{
Object value = attr.getValue((X)this);
- Pattern secureValueFilter = attr.getSecureValueFilter();
- if(value != null && attr.isSecure() &&
!SecurityManager.isSystemProcess() &&
- (secureValueFilter == null ||
secureValueFilter.matcher(value.toString()).matches()))
+ if(value != null && !SecurityManager.isSystemProcess() &&
attr.isSecureValue(value))
{
return SECURE_VALUES.get(value.getClass());
}
Modified:
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectAttribute.java
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectAttribute.java?rev=1661165&r1=1661164&r2=1661165&view=diff
==============================================================================
---
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectAttribute.java
(original)
+++
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectAttribute.java
Fri Feb 20 17:09:00 2015
@@ -52,6 +52,23 @@ public abstract class ConfiguredObjectAt
public abstract Pattern getSecureValueFilter();
+ public boolean isSecureValue(Object value)
+ {
+ if (isSecure())
+ {
+ Pattern filter = getSecureValueFilter();
+ if (filter == null)
+ {
+ return true;
+ }
+ else
+ {
+ return filter.matcher(String.valueOf(value)).matches();
+ }
+ }
+ return false;
+ }
+
public T convert(final Object value, C object)
{
final AttributeValueConverter<T> converter = getConverter();
Modified:
qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/ConfiguredObjectToMapConverter.java
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/ConfiguredObjectToMapConverter.java?rev=1661165&r1=1661164&r2=1661165&view=diff
==============================================================================
---
qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/ConfiguredObjectToMapConverter.java
(original)
+++
qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/ConfiguredObjectToMapConverter.java
Fri Feb 20 17:09:00 2015
@@ -162,7 +162,7 @@ public class ConfiguredObjectToMapConver
.getAttributeTypes(confObject.getClass())
.get(name);
- if (attribute.isSecure() && !(isSecureTransport &&
extractAsConfig))
+ if (attribute.isSecureValue(value) && !(isSecureTransport
&& extractAsConfig))
{
// do not expose actual secure attribute value
// getAttribute() returns encoded value
Modified:
qpid/trunk/qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/ConfiguredObjectToMapConverterTest.java
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/ConfiguredObjectToMapConverterTest.java?rev=1661165&r1=1661164&r2=1661165&view=diff
==============================================================================
---
qpid/trunk/qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/ConfiguredObjectToMapConverterTest.java
(original)
+++
qpid/trunk/qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/ConfiguredObjectToMapConverterTest.java
Fri Feb 20 17:09:00 2015
@@ -313,6 +313,7 @@ public class ConfiguredObjectToMapConver
Map<String, ConfiguredObjectAttribute<?, ?>> attributeTypes =
typeRegistry.getAttributeTypes(TestChild.class);
ConfiguredObjectAttribute secureAttribute =
mock(ConfiguredObjectAttribute.class);
when(secureAttribute.isSecure()).thenReturn(true);
+ when(secureAttribute.isSecureValue(any())).thenReturn(true);
when(attributeTypes.get(eq("secureAttribute"))).thenReturn(secureAttribute);
TestChild mockChild = mock(TestChild.class);
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]