Add dnsbl bypass permission close #546

merge-requests/341/head
Thomas Lynch 5 months ago
parent 8b165da20d
commit ff731b8826
  1. 5
      lib/middleware/ip/dnsbl.js
  2. 2
      lib/permission/permission.test.js
  3. 2
      lib/permission/permissions.js

@ -5,10 +5,15 @@ const cache = require(__dirname+'/../../redis/redis.js')
, dynamicResponse = require(__dirname+'/../../misc/dynamic.js')
, deleteTempFiles = require(__dirname+'/../../file/deletetempfiles.js')
, config = require(__dirname+'/../../misc/config.js')
, { Permissions } = require(__dirname+'/../../permission/permissions.js')
, { batch } = require('dnsbl');
module.exports = async (req, res, next) => {
if (res.locals.permissions.get(Permissions.BYPASS_DNSBL)) {
return next();
}
const { ipHeader, dnsbl, blockBypass } = config.get;
if (dnsbl.enabled && dnsbl.blacklists.length > 0 //if dnsbl enabled and has more than 0 blacklists

@ -48,7 +48,7 @@ describe('testing permissions', () => {
GLOBAL_STAFF.setAll([
Permissions.MANAGE_GLOBAL_GENERAL, Permissions.MANAGE_GLOBAL_BANS, Permissions.MANAGE_GLOBAL_LOGS, Permissions.MANAGE_GLOBAL_NEWS,
Permissions.MANAGE_GLOBAL_BOARDS, Permissions.MANAGE_GLOBAL_SETTINGS, Permissions.MANAGE_BOARD_OWNER, Permissions.BYPASS_FILTERS,
Permissions.BYPASS_BANS, Permissions.BYPASS_SPAMCHECK, Permissions.BYPASS_RATELIMITS,
Permissions.BYPASS_BANS, Permissions.BYPASS_SPAMCHECK, Permissions.BYPASS_RATELIMITS, Permissions.BYPASS_DNBSBL,
]);
const ADMIN = new Permission(GLOBAL_STAFF.base64);
ADMIN.setAll([

@ -14,6 +14,7 @@ const Permissions = Object.seal(Object.freeze(Object.preventExtensions({
BYPASS_RATELIMITS: 6,
BYPASS_FILTERS: 7,
BYPASS_CAPTCHA: 8,
BYPASS_DNSBL: 9,
MANAGE_GLOBAL_GENERAL: 10,
MANAGE_GLOBAL_BANS: 11,
@ -64,6 +65,7 @@ const Metadata = Object.seal(Object.freeze(Object.preventExtensions({
[Permissions.BYPASS_RATELIMITS]: { label: 'Bypass Ratelimits', desc: 'Bypass ratelimits for getting new captchas, editing posts, editing board settings, etc.' },
[Permissions.BYPASS_FILTERS]: { label: 'Bypass Filters', desc: 'Bypass all post filters.' },
[Permissions.BYPASS_CAPTCHA]: { label: 'Bypass Captcha', desc: 'Bypass captcha.' },
[Permissions.BYPASS_DNSBL]: { label: 'Bypass DNSBL', desc: 'Bypass DNSBL.' },
[Permissions.MANAGE_GLOBAL_GENERAL]: { title: 'Global Management',label: 'Global Staff', desc: 'General global staff permission. Access to recent posts and reports. Ability to submit global actions.' },
[Permissions.MANAGE_GLOBAL_BANS]: { label: 'Global Bans', desc: 'Access global bans. Ability to unban, edit, or deny appeals.' },

Loading…
Cancel
Save