diff --git a/zefie_wtvp_minisrv/includes/classes/WTVShenanigans.js b/zefie_wtvp_minisrv/includes/classes/WTVShenanigans.js index b89bcd86..3166a219 100644 --- a/zefie_wtvp_minisrv/includes/classes/WTVShenanigans.js +++ b/zefie_wtvp_minisrv/includes/classes/WTVShenanigans.js @@ -1,12 +1,12 @@ class WTVShenanigans { minisrv_config = null; shenanigans = { - // PLEASE NOTE: anything that is broken with any shenanigan level besides "false" is NOT a bug!!!! + // PLEASE NOTE: anything that is broken with any shenanigan level besides "false/0" is NOT a bug!!!! - "NO_SHENANIGANS": false, // no shenanigans, minisrv as intended, most secure option + "NO_SHENANIGANS": 0, // no shenanigans, minisrv as intended, most secure option "ENABLE_TRICKS_URLACCESS": 1, // allows users to use wtv-tricks:/access?url= - "DISABLE_HTML_ENTITIZER": 4, // disables HTML Entitizer, allowing things such as HTML in email/usenet subjects - "DISABLE_HTML_SANITIZER": 5 // disables HTML Sanitizer, allowing all sorts of chaos in email/usenet posts and signatures + "DISABLE_HTML_ENTITIZER": 2, // disables HTML Entitizer, allowing things such as HTML in email/usenet subjects + "DISABLE_HTML_SANITIZER": 4 // disables HTML Sanitizer, allowing all sorts of chaos in email/usenet posts and signatures } /** @@ -36,20 +36,8 @@ class WTVShenanigans { // shenanigans are disabled, don't iterate if (level === false) return false; - let retval = false; - const shenanigans = this.shenanigans; - - // shenanigans are enabled, so check if the requested shenanigan is within the level enabled - Object.keys(shenanigans).forEach((k) => { - if (shenanigans[k] === value) { - if (level >= shenanigans[k]) { - retval = true; - return false; - } - } - }); - - return retval; + // shenanigans are enabled, so check if the requested shenanigan is enabled using bitwise AND + return (level & value) === value; } } module.exports = WTVShenanigans; \ No newline at end of file diff --git a/zefie_wtvp_minisrv/package-lock.json b/zefie_wtvp_minisrv/package-lock.json index 852b8f5b..76221a0c 100644 --- a/zefie_wtvp_minisrv/package-lock.json +++ b/zefie_wtvp_minisrv/package-lock.json @@ -1,12 +1,12 @@ { "name": "zefie_wtvp_minisrv", - "version": "0.9.71", + "version": "0.9.72", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "zefie_wtvp_minisrv", - "version": "0.9.71", + "version": "0.9.72", "license": "GPL3", "dependencies": { "@serialport/parser-readline": "^13.0.0",