From 1aecc3d9221d126e2bdd05fd0e7e9998f9f96675 Mon Sep 17 00:00:00 2001 From: andrea Date: Wed, 20 May 2015 21:53:13 +0200 Subject: [PATCH] Added check on read access (in publish) --- .../org/eclipse/moquette/spi/impl/ProtocolProcessor.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/broker/src/main/java/org/eclipse/moquette/spi/impl/ProtocolProcessor.java b/broker/src/main/java/org/eclipse/moquette/spi/impl/ProtocolProcessor.java index 564a6373..4217921c 100644 --- a/broker/src/main/java/org/eclipse/moquette/spi/impl/ProtocolProcessor.java +++ b/broker/src/main/java/org/eclipse/moquette/spi/impl/ProtocolProcessor.java @@ -299,6 +299,8 @@ class ProtocolProcessor implements EventHandler { //check if the topic can be wrote if (m_authorizator.canWrite(topic)) { processPublish(clientID, topic, qos, message, retain, msg.getMessageID()); + } else { + LOG.debug("topic {} doesn't have write credentials", topic); } } @@ -371,6 +373,10 @@ class ProtocolProcessor implements EventHandler { if (qos.ordinal() > sub.getRequestedQos().ordinal()) { qos = sub.getRequestedQos(); } + if (!m_authorizator.canRead(topic)) { + LOG.debug("topic {} doesn't have read credentials", topic); + continue; + } LOG.debug("Broker republishing to client <{}> topic <{}> qos <{}>, active {}", sub.getClientId(), sub.getTopicFilter(), qos, sub.isActive());