From bf0089dd71fc9b173f7d8670439672394d73f847 Mon Sep 17 00:00:00 2001 From: Keith Wall Date: Fri, 8 Aug 2014 11:16:26 +0000 Subject: QPID-5976: [Java Broker] The file keystore/truststore objects should not try to validate external file when transitioning to deleted state. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1616716 13f79535-47bb-0310-9956-ffa450edef68 --- .../main/java/org/apache/qpid/server/security/FileKeyStoreImpl.java | 4 ++++ .../java/org/apache/qpid/server/security/FileTrustStoreImpl.java | 5 +++++ 2 files changed, 9 insertions(+) (limited to 'qpid/java') diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/FileKeyStoreImpl.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/FileKeyStoreImpl.java index ac28619d2d..d4aeca0437 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/FileKeyStoreImpl.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/FileKeyStoreImpl.java @@ -151,6 +151,10 @@ public class FileKeyStoreImpl extends AbstractConfiguredObject { super.validateChange(proxyForValidation, changedAttributes); FileKeyStore changedStore = (FileKeyStore) proxyForValidation; + if (changedAttributes.contains(KeyStore.DESIRED_STATE) && changedStore.getDesiredState() == State.DELETED) + { + return; + } if(changedAttributes.contains(NAME) && !getName().equals(changedStore.getName())) { throw new IllegalConfigurationException("Changing the key store name is not allowed"); diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/FileTrustStoreImpl.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/FileTrustStoreImpl.java index d71670fbe0..0596c21291 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/FileTrustStoreImpl.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/FileTrustStoreImpl.java @@ -166,7 +166,12 @@ public class FileTrustStoreImpl extends AbstractConfiguredObject proxyForValidation, final Set changedAttributes) { super.validateChange(proxyForValidation, changedAttributes); + FileTrustStore updated = (FileTrustStore) proxyForValidation; + if (changedAttributes.contains(TrustStore.DESIRED_STATE) && updated.getDesiredState() == State.DELETED) + { + return; + } if(changedAttributes.contains(TrustStore.NAME) && !getName().equals(updated.getName())) { throw new IllegalConfigurationException("Changing the trust store name is not allowed"); -- cgit v1.2.1