From f81ebf0e647b5f3da1763ddfad52387016d3bdf9 Mon Sep 17 00:00:00 2001 From: Nick O'Leary Date: Sun, 23 Feb 2014 20:14:27 +0000 Subject: [PATCH] Fix too specific wildcard matching in MQTT node --- nodes/core/io/lib/mqttConnectionPool.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/nodes/core/io/lib/mqttConnectionPool.js b/nodes/core/io/lib/mqttConnectionPool.js index 9d9bf88f8..e04b41041 100644 --- a/nodes/core/io/lib/mqttConnectionPool.js +++ b/nodes/core/io/lib/mqttConnectionPool.js @@ -19,8 +19,11 @@ var settings = require(process.env.NODE_RED_HOME+"/red/red").settings; var connections = {}; -function matchTopic(ts,t) { - var re = new RegExp("^"+ts.replace(/([\[\]\?\(\)\\\\$\^\*\.|])/g,"\\$1").replace(/\+/g,"[^/]+").replace(/#$/,".*")+"$"); +function matchTopic(ts,t) { + if (ts == "#") { + return true; + } + var re = new RegExp("^"+ts.replace(/([\[\]\?\(\)\\\\$\^\*\.|])/g,"\\$1").replace(/\+/g,"[^/]+").replace(/\/#$/,"(\/.*)?")+"$"); return re.test(t); }