diff --git a/README.md b/README.md index b3644d6..1b1a42d 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,7 @@ Plexus-Sec-Dispatcher ===================== [![Maven Central](https://img.shields.io/maven-central/v/org.codehaus.plexus/plexus-sec-dispatcher.svg?label=Maven%20Central)](https://search.maven.org/artifact/org.codehaus.plexus/plexus-sec-dispatcher) +[![Reproducible Builds](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/jvm-repo-rebuild/reproducible-central/master/content/org/codehaus/plexus/plexus-sec-dispatcher/badge.json)](https://github.com/jvm-repo-rebuild/reproducible-central/blob/master/content/org/codehaus/plexus/plexus-sec-dispatcher/README.md) The current master is now at https://github.com/codehaus-plexus/plexus-sec-dispatcher diff --git a/pom.xml b/pom.xml index b6dd7e4..fc41514 100644 --- a/pom.xml +++ b/pom.xml @@ -10,14 +10,14 @@ plexus-sec-dispatcher - 4.0.1 + 4.0.2 Plexus Security Dispatcher Component scm:git:git@github.com:codehaus-plexus/plexus-sec-dispatcher.git scm:git:git@github.com:codehaus-plexus/plexus-sec-dispatcher.git - plexus-sec-dispatcher-4.0.1 + plexus-sec-dispatcher-4.0.2 https://github.com/codehaus-plexus/plexus-sec-dispatcher.git @@ -34,7 +34,7 @@ 17 - 2024-10-14T17:37:01Z + 2024-11-15T12:39:07Z 2.0.16 diff --git a/src/main/java/org/codehaus/plexus/components/secdispatcher/internal/DefaultSecDispatcher.java b/src/main/java/org/codehaus/plexus/components/secdispatcher/internal/DefaultSecDispatcher.java index 8cf5668..b0b692b 100644 --- a/src/main/java/org/codehaus/plexus/components/secdispatcher/internal/DefaultSecDispatcher.java +++ b/src/main/java/org/codehaus/plexus/components/secdispatcher/internal/DefaultSecDispatcher.java @@ -133,7 +133,7 @@ public String encrypt(String str, Map attr) throws SecDispatcher @Override public String decrypt(String str) throws SecDispatcherException, IOException { - if (!isEncryptedString(str)) return str; + if (!isAnyEncryptedString(str)) return str; String bare = unDecorate(str); Map attr = requireNonNull(stripAttributes(bare)); if (isLegacyEncryptedString(str)) { diff --git a/src/test/java/org/codehaus/plexus/components/secdispatcher/internal/DefaultSecDispatcherTest.java b/src/test/java/org/codehaus/plexus/components/secdispatcher/internal/DefaultSecDispatcherTest.java index c520b4e..8e27148 100644 --- a/src/test/java/org/codehaus/plexus/components/secdispatcher/internal/DefaultSecDispatcherTest.java +++ b/src/test/java/org/codehaus/plexus/components/secdispatcher/internal/DefaultSecDispatcherTest.java @@ -32,6 +32,8 @@ import org.codehaus.plexus.components.secdispatcher.model.SettingsSecurity; import org.codehaus.plexus.components.secdispatcher.model.io.stax.SecurityConfigurationStaxWriter; import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.ValueSource; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; @@ -172,4 +174,23 @@ protected DefaultSecDispatcher construct() { new LegacyDispatcher()), CONFIG_PATH); } + + /** + * Test values created with Maven 3.9.9. + *

+ * master password: "masterpassword" + * password: "password" + */ + @ParameterizedTest + @ValueSource( + strings = { + "src/test/legacy/legacy-settings-security-1.xml", + "src/test/legacy/legacy-settings-security-2.xml" + }) + void legacy(String xml) throws Exception { + System.setProperty("settings.security", xml); + SecDispatcher secDispatcher = construct(); + String cleartext = secDispatcher.decrypt("{L6L/HbmrY+cH+sNkphnq3fguYepTpM04WlIXb8nB1pk=}"); + assertEquals("password", cleartext); + } }