From 14142b7372ba501175ffd57b0b41029a5673bdae Mon Sep 17 00:00:00 2001 From: michaeloffner Date: Tue, 6 Aug 2024 16:54:03 +0200 Subject: [PATCH] enforce env var LUCEE_ADMIN_MODE --- .../runtime/config/ConfigWebFactory.java | 19 +++++++++++++++++-- loader/build.xml | 2 +- loader/pom.xml | 2 +- 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/core/src/main/java/lucee/runtime/config/ConfigWebFactory.java b/core/src/main/java/lucee/runtime/config/ConfigWebFactory.java index 180d696be4..404e0b44f2 100644 --- a/core/src/main/java/lucee/runtime/config/ConfigWebFactory.java +++ b/core/src/main/java/lucee/runtime/config/ConfigWebFactory.java @@ -3582,8 +3582,23 @@ private static void _loadUpdate(ConfigServer configServer, Config config, Struct * @param doc */ private static void _loadAdminMode(ConfigServerImpl config, Struct root) { - config.setAdminMode( - ConfigWebUtil.toAdminMode(getAttr(root, "mode"), Caster.toShortValue(SystemUtil.getSystemPropOrEnvVar("lucee.admin.mode", null), ConfigImpl.ADMINMODE_SINGLE))); + final short undefined = -1; + short am = undefined; + + // force by env var + String str = SystemUtil.getSystemPropOrEnvVar("lucee.admin.mode", null); + if (!StringUtil.isEmpty(str, true)) { + am = ConfigWebUtil.toAdminMode(str, undefined); + } + + // when not forced + if (am == undefined) { + am = ConfigWebUtil.toAdminMode(getAttr(root, "mode"), undefined); + if (am == undefined) { + am = ConfigWebUtil.toAdminMode(SystemUtil.getSystemPropOrEnvVar("lucee.admin.mode.default", null), ConfigImpl.ADMINMODE_SINGLE); + } + } + config.setAdminMode(am); } private static void _loadSetting(ConfigServerImpl configServer, ConfigImpl config, Struct root, Log log) { diff --git a/loader/build.xml b/loader/build.xml index 66ddd571d8..52228eb19d 100644 --- a/loader/build.xml +++ b/loader/build.xml @@ -2,7 +2,7 @@ - + diff --git a/loader/pom.xml b/loader/pom.xml index 749585788e..f2ee206a56 100644 --- a/loader/pom.xml +++ b/loader/pom.xml @@ -3,7 +3,7 @@ org.lucee lucee - 6.0.4.4-SNAPSHOT + 6.0.4.5-SNAPSHOT jar Lucee Loader Build