From 8346130cdc173f27c01fc15d11574d75fa5d7028 Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Tue, 22 Aug 2017 13:46:11 -0400 Subject: [PATCH] introduced new hook filter:blacklist.test --- src/meta/blacklist.js | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/meta/blacklist.js b/src/meta/blacklist.js index d4a3e360fa..f912742e1e 100644 --- a/src/meta/blacklist.js +++ b/src/meta/blacklist.js @@ -7,6 +7,7 @@ var async = require('async'); var db = require('../database'); var pubsub = require('../pubsub'); +var plugins = require('../plugins'); var Blacklist = { _rules: [], @@ -62,11 +63,16 @@ Blacklist.test = function (clientIp, callback) { }) && // not in a blacklisted IPv4 cidr range !ipRangeCheck(clientIp, Blacklist._rules.cidr6) // not in a blacklisted IPv6 cidr range ) { - if (typeof callback === 'function') { - setImmediate(callback); - } else { - return false; - } + plugins.fireHook('filter:blacklist.test', { + ip: clientIp, + result: false, + }, function (err, data) { + if (typeof callback === 'function') { + callback(err); + } else { + return data.result; + } + }); } else { var err = new Error('[[error:blacklisted-ip]]'); err.code = 'blacklisted-ip';