summaryrefslogtreecommitdiff
path: root/qpid/java/broker/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/java/broker/src/main')
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/handler/BasicConsumeMethodHandler.java2
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSession.java2
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSessionDelegate.java27
3 files changed, 22 insertions, 9 deletions
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/handler/BasicConsumeMethodHandler.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/handler/BasicConsumeMethodHandler.java
index a5999711bc..765dee2878 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/handler/BasicConsumeMethodHandler.java
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/handler/BasicConsumeMethodHandler.java
@@ -144,7 +144,7 @@ public class BasicConsumeMethodHandler implements StateAwareMethodListener<Basic
_logger.debug("Closing connection due to invalid selector");
MethodRegistry methodRegistry = protocolConnection.getMethodRegistry();
- AMQMethodBody responseBody = methodRegistry.createChannelCloseBody(AMQConstant.INVALID_ARGUMENT.getCode(),
+ AMQMethodBody responseBody = methodRegistry.createChannelCloseBody(AMQConstant.ARGUMENT_INVALID.getCode(),
new AMQShortString(ise.getMessage()),
body.getClazz(),
body.getMethod());
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSession.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSession.java
index 028f6d85be..67ddd6ca77 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSession.java
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSession.java
@@ -645,7 +645,7 @@ public class ServerSession extends Session implements AuthorizationHolder, Sessi
// Log a warning on idle or open transactions
if (idleWarn > 0L && idleTime > idleWarn)
{
- CurrentActor.get().message(getLogSubject(), ChannelMessages.IDLE_TXN(openTime));
+ CurrentActor.get().message(getLogSubject(), ChannelMessages.IDLE_TXN(idleTime));
_logger.warn("IDLE TRANSACTION ALERT " + getLogSubject().toString() + " " + idleTime + " ms");
}
else if (openWarn > 0L && openTime > openWarn)
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 22760318b5..17bd06538f 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
@@ -606,6 +606,12 @@ public class ServerSessionDelegate extends SessionDelegate
try
{
+ if (nameNullOrEmpty(method.getExchange()))
+ {
+ exception(session, method, ExecutionErrorCode.INVALID_ARGUMENT, "Delete not allowed for default exchange");
+ return;
+ }
+
Exchange exchange = getExchange(session, method.getExchange());
if(exchange == null)
@@ -641,6 +647,16 @@ public class ServerSessionDelegate extends SessionDelegate
}
}
+ private boolean nameNullOrEmpty(String name)
+ {
+ if(name == null || name.length() == 0)
+ {
+ return true;
+ }
+
+ return false;
+ }
+
private boolean isStandardExchange(Exchange exchange, Collection<ExchangeType<? extends Exchange>> registeredTypes)
{
for(ExchangeType type : registeredTypes)
@@ -687,9 +703,9 @@ public class ServerSessionDelegate extends SessionDelegate
{
exception(session, method, ExecutionErrorCode.ILLEGAL_ARGUMENT, "queue not set");
}
- else if (!method.hasExchange())
+ else if (nameNullOrEmpty(method.getExchange()))
{
- exception(session, method, ExecutionErrorCode.ILLEGAL_ARGUMENT, "exchange not set");
+ exception(session, method, ExecutionErrorCode.INVALID_ARGUMENT, "Bind not allowed for default exchange");
}
/*
else if (!method.hasBindingKey())
@@ -758,9 +774,9 @@ public class ServerSessionDelegate extends SessionDelegate
{
exception(session, method, ExecutionErrorCode.ILLEGAL_ARGUMENT, "queue not set");
}
- else if (!method.hasExchange())
+ else if (nameNullOrEmpty(method.getExchange()))
{
- exception(session, method, ExecutionErrorCode.ILLEGAL_ARGUMENT, "exchange not set");
+ exception(session, method, ExecutionErrorCode.INVALID_ARGUMENT, "Unbind not allowed for default exchange");
}
else if (!method.hasBindingKey())
{
@@ -790,9 +806,6 @@ public class ServerSessionDelegate extends SessionDelegate
}
}
}
-
-
- super.exchangeUnbind(session, method);
}
@Override