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 | 52442bd04f451e46610d7d5161d76bce199c2345 (patch) | |
tree | 247f063835e8dc64b28e3ac4a09188f1a2d60c1e | |
parent | 1302559acd97ca9f70d2cd2cb1efc13ed7b2d03d (diff) | |
download | qpid-python-52442bd04f451e46610d7d5161d76bce199c2345.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/qpid@1244771 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | java/broker/src/main/java/org/apache/qpid/server/handler/ExchangeDeclareHandler.java | 2 | ||||
-rw-r--r-- | java/broker/src/main/java/org/apache/qpid/server/transport/ServerSessionDelegate.java | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/java/broker/src/main/java/org/apache/qpid/server/handler/ExchangeDeclareHandler.java b/java/broker/src/main/java/org/apache/qpid/server/handler/ExchangeDeclareHandler.java index 9165b4936e..81e2e5557a 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/handler/ExchangeDeclareHandler.java +++ b/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/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSessionDelegate.java b/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSessionDelegate.java index c828ea4843..8e4fb3635b 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSessionDelegate.java +++ b/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() +"."); } |