commit f3fa2a7aa0794f9ca5f6cd24b7e3feb85d3c7e53 Author: Matthew Finkel sysrqb@torproject.org Date: Mon Aug 30 20:38:47 2021 +0000
Bug 40046: Support arbitrary watch events --- modules/tor-control-port.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/modules/tor-control-port.js b/modules/tor-control-port.js index c372c1ae..ef7bbe69 100644 --- a/modules/tor-control-port.js +++ b/modules/tor-control-port.js @@ -645,7 +645,6 @@ let event = {}; // data. event.parsers = { "stream" : info.streamStatusParser, - "status_client" : (data) => data, // Currently unused: // "circ" : info.circuitStatusParser, }; @@ -655,7 +654,7 @@ event.parsers = { // we only extract streams that look like `"650" SP...` event.messageToData = function (type, message) { let dataText = message.match(/^650 \S+?\s(.*)/m)[1]; - return dataText ? event.parsers[type.toLowerCase()](dataText) : null; + return (dataText && type.toLowerCase() in event.parsers) ? event.parsers[type.toLowerCase()](dataText) : null; };
// __event.watchEvent(controlSocket, type, filter, onData)__. @@ -668,7 +667,7 @@ event.watchEvent = function (controlSocket, type, filter, onData, raw=false) { function (message) { let data = event.messageToData(type, message); if (filter === null || filter(data)) { - if (raw) { + if (raw || !data) { return onData(message); } onData(data);
tbb-commits@lists.torproject.org