do not allow setting blocklist in demo mode

This commit is contained in:
Girish Ramakrishnan
2020-09-02 23:04:42 -07:00
parent 468ad6d578
commit f87b32fc7b

View File

@@ -10,6 +10,7 @@ const assert = require('assert'),
path = require('path'),
paths = require('./paths.js'),
safe = require('safetydance'),
settings = require('./settings.js'),
shell = require('./shell.js'),
validator = require('validator');
@@ -31,6 +32,8 @@ function setBlocklist(blocklist, callback) {
if (!blocklist.every(x => validator.isIP(x) || validator.isIPRange(x))) return callback(new BoxError(BoxError.BAD_FIELD, 'blocklist must contain IP or IP range'));
if (settings.isDemo()) return callback(new BoxError(BoxError.CONFLICT, 'Not allowed in demo mode'));
const data = safe.fs.readFileSync(paths.FIREWALL_CONFIG_FILE, 'utf8');
const config = safe.JSON.parse(data) || {};