From d4ca0cc16c2015c7b09ce6c74e4f0e858c8910f5 Mon Sep 17 00:00:00 2001 From: Konrad Windszus Date: Sun, 2 Feb 2025 11:07:50 +0100 Subject: [PATCH] Version settings-security model independently of JAR (impl/spec version) A minor/major change in the latter does not necessarily imply a new settings security model. --- .../plexus/components/secdispatcher/internal/SecUtil.java | 4 +++- .../plexus/components/secdispatcher/internal/SecUtilTest.java | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/codehaus/plexus/components/secdispatcher/internal/SecUtil.java b/src/main/java/org/codehaus/plexus/components/secdispatcher/internal/SecUtil.java index 5d93c19..39d406b 100644 --- a/src/main/java/org/codehaus/plexus/components/secdispatcher/internal/SecUtil.java +++ b/src/main/java/org/codehaus/plexus/components/secdispatcher/internal/SecUtil.java @@ -110,7 +110,9 @@ public static void write(Path target, SettingsSecurity configuration, boolean do Path tempFile = parent.resolve(target.getFileName() + "." + Long.toUnsignedString(ThreadLocalRandom.current().nextLong()) + ".tmp"); - configuration.setModelVersion(specVersion()); + // always set manually as some features don't require changes in the underlying model but still require + // adjustments of either minor or major version of the JAR + configuration.setModelVersion("4.0"); configuration.setModelEncoding(StandardCharsets.UTF_8.name()); try { diff --git a/src/test/java/org/codehaus/plexus/components/secdispatcher/internal/SecUtilTest.java b/src/test/java/org/codehaus/plexus/components/secdispatcher/internal/SecUtilTest.java index 7773ad9..4587c87 100644 --- a/src/test/java/org/codehaus/plexus/components/secdispatcher/internal/SecUtilTest.java +++ b/src/test/java/org/codehaus/plexus/components/secdispatcher/internal/SecUtilTest.java @@ -68,7 +68,7 @@ void readWrite() throws IOException { Path path = Path.of("./target/sec.xml"); SettingsSecurity config = SecUtil.read(path); assertNotNull(config); - assertEquals(SecUtil.specVersion(), config.getModelVersion()); + assertEquals("4.0", config.getModelVersion()); assertEquals(StandardCharsets.UTF_8.name(), config.getModelEncoding()); assertEquals("magic:mighty", config.getDefaultDispatcher()); SecUtil.write(path, config, false); @@ -79,7 +79,7 @@ void readWriteWithBackup() throws IOException { Path path = Path.of("./target/sec.xml"); SettingsSecurity config = SecUtil.read(path); assertNotNull(config); - assertEquals(SecUtil.specVersion(), config.getModelVersion()); + assertEquals("4.0", config.getModelVersion()); assertEquals(StandardCharsets.UTF_8.name(), config.getModelEncoding()); assertEquals("magic:mighty", config.getDefaultDispatcher()); SecUtil.write(path, config, true);