diff options
| author | Robert Gemmell <robbie@apache.org> | 2012-02-15 22:35:53 +0000 |
|---|---|---|
| committer | Robert Gemmell <robbie@apache.org> | 2012-02-15 22:35:53 +0000 |
| commit | d83b7228efd9d6364683f3670c5d7e58d5c39b9a (patch) | |
| tree | 4f19fc8016fe79ece2efe5f2eb09b78ff32e5b64 /qpid/java | |
| parent | 37d762898624deb99809d609084dc0bbd20dce3a (diff) | |
| download | qpid-python-d83b7228efd9d6364683f3670c5d7e58d5c39b9a.tar.gz | |
QPID-3848: relax the enforcement of exchange type checking during passive exchange-declares to allow empty/null values
Applied patch by Gordon Sim
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1244771 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java')
2 files changed, 2 insertions, 2 deletions
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/handler/ExchangeDeclareHandler.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/handler/ExchangeDeclareHandler.java index 9165b4936e..81e2e5557a 100644 --- a/qpid/java/broker/src/main/java/org/apache/qpid/server/handler/ExchangeDeclareHandler.java +++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/handler/ExchangeDeclareHandler.java @@ -101,7 +101,7 @@ public class ExchangeDeclareHandler implements StateAwareMethodListener<Exchange } } } - else if (!exchange.getTypeShortString().equals(body.getType())) + else if (!exchange.getTypeShortString().equals(body.getType()) && !((body.getType() == null || body.getType().length() ==0) && body.getPassive())) { throw new AMQConnectionException(AMQConstant.NOT_ALLOWED, "Attempt to redeclare exchange: " + body.getExchange() + " of type " + exchange.getTypeShortString() + " to " + body.getType() +".",body.getClazz(), body.getMethod(),body.getMajor(),body.getMinor(),null); diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSessionDelegate.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSessionDelegate.java index c828ea4843..8e4fb3635b 100644 --- a/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSessionDelegate.java +++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSessionDelegate.java @@ -463,7 +463,7 @@ public class ServerSessionDelegate extends SessionDelegate } else { - if(!exchange.getTypeShortString().toString().equals(method.getType())) + if(!exchange.getTypeShortString().toString().equals(method.getType()) && (method.getType() != null && method.getType().length() > 0)) { exception(session, method, ExecutionErrorCode.NOT_ALLOWED, "Attempt to redeclare exchange: " + exchangeName + " of type " + exchange.getTypeShortString() + " to " + method.getType() +"."); } |
