From 0e9db7e67a204ab0eb6231238b5d2c91c307fbdf Mon Sep 17 00:00:00 2001 From: Michael Hoennig Date: Mon, 1 Jul 2024 12:35:54 +0200 Subject: [PATCH] rename HashProcessor -> LinuxEtcShadowHashGenerator and cleanup API --- ...rator.java => LinuxEtcShadowHashGenerator.java} | 14 +++++++------- .../HsUnixUserHostingAssetValidator.java | 4 ++-- .../hsadminng/hs/validation/PasswordProperty.java | 4 ++-- ...va => LinuxEtcShadowHashGeneratorUnitTest.java} | 6 +++--- .../HsHostingAssetControllerAcceptanceTest.java | 4 ++-- .../hs/validation/PasswordPropertyUnitTest.java | 4 ++-- 6 files changed, 18 insertions(+), 18 deletions(-) rename src/main/java/net/hostsharing/hsadminng/hash/{EtcShadowHashGenerator.java => LinuxEtcShadowHashGenerator.java} (86%) rename src/test/java/net/hostsharing/hsadminng/hash/{EtcShadowHashGeneratorUnitTest.java => LinuxEtcShadowHashGeneratorUnitTest.java} (85%) diff --git a/src/main/java/net/hostsharing/hsadminng/hash/EtcShadowHashGenerator.java b/src/main/java/net/hostsharing/hsadminng/hash/LinuxEtcShadowHashGenerator.java similarity index 86% rename from src/main/java/net/hostsharing/hsadminng/hash/EtcShadowHashGenerator.java rename to src/main/java/net/hostsharing/hsadminng/hash/LinuxEtcShadowHashGenerator.java index cc428f0e..1fef3c12 100644 --- a/src/main/java/net/hostsharing/hsadminng/hash/EtcShadowHashGenerator.java +++ b/src/main/java/net/hostsharing/hsadminng/hash/LinuxEtcShadowHashGenerator.java @@ -9,7 +9,7 @@ import java.util.random.RandomGenerator; import org.bouncycastle.crypto.generators.OpenBSDBCrypt; -public class EtcShadowHashGenerator { +public class LinuxEtcShadowHashGenerator { private static final RandomGenerator random = new SecureRandom(); private static final Queue predefinedSalts = new PriorityQueue<>(); @@ -42,15 +42,15 @@ public class EtcShadowHashGenerator { private String salt; - public static EtcShadowHashGenerator hash(final String plaintextPassword) { - return new EtcShadowHashGenerator(plaintextPassword); + public static LinuxEtcShadowHashGenerator hash(final String plaintextPassword) { + return new LinuxEtcShadowHashGenerator(plaintextPassword); } - private EtcShadowHashGenerator(final String plaintextPassword) { + private LinuxEtcShadowHashGenerator(final String plaintextPassword) { this.plaintextPassword = plaintextPassword; } - public EtcShadowHashGenerator using(final Algorithm algorithm) { + public LinuxEtcShadowHashGenerator using(final Algorithm algorithm) { this.algorithm = algorithm; return this; } @@ -85,12 +85,12 @@ public class EtcShadowHashGenerator { predefinedSalts.add(salt); } - public EtcShadowHashGenerator withSalt(final String salt) { + public LinuxEtcShadowHashGenerator withSalt(final String salt) { this.salt = salt; return this; } - public EtcShadowHashGenerator withRandomSalt() { + public LinuxEtcShadowHashGenerator withRandomSalt() { if (!predefinedSalts.isEmpty()) { return withSalt(predefinedSalts.poll()); } diff --git a/src/main/java/net/hostsharing/hsadminng/hs/hosting/asset/validators/HsUnixUserHostingAssetValidator.java b/src/main/java/net/hostsharing/hsadminng/hs/hosting/asset/validators/HsUnixUserHostingAssetValidator.java index 8b436f16..309404f6 100644 --- a/src/main/java/net/hostsharing/hsadminng/hs/hosting/asset/validators/HsUnixUserHostingAssetValidator.java +++ b/src/main/java/net/hostsharing/hsadminng/hs/hosting/asset/validators/HsUnixUserHostingAssetValidator.java @@ -1,6 +1,6 @@ package net.hostsharing.hsadminng.hs.hosting.asset.validators; -import net.hostsharing.hsadminng.hash.EtcShadowHashGenerator; +import net.hostsharing.hsadminng.hash.LinuxEtcShadowHashGenerator; import net.hostsharing.hsadminng.hs.hosting.asset.HsHostingAssetEntity; import net.hostsharing.hsadminng.hs.hosting.asset.HsHostingAssetType; import net.hostsharing.hsadminng.hs.validation.PropertiesProvider; @@ -31,7 +31,7 @@ class HsUnixUserHostingAssetValidator extends HsHostingAssetEntityValidator { .withDefault("/bin/false"), stringProperty("homedir").readOnly().computedBy(HsUnixUserHostingAssetValidator::computeHomedir), stringProperty("totpKey").matchesRegEx("^0x([0-9A-Fa-f]{2})+$").minLength(20).maxLength(256).undisclosed().writeOnly().optional(), - passwordProperty("password").minLength(8).maxLength(40).hashedUsing(EtcShadowHashGenerator.Algorithm.SHA512).writeOnly()); + passwordProperty("password").minLength(8).maxLength(40).hashedUsing(LinuxEtcShadowHashGenerator.Algorithm.SHA512).writeOnly()); } @Override diff --git a/src/main/java/net/hostsharing/hsadminng/hs/validation/PasswordProperty.java b/src/main/java/net/hostsharing/hsadminng/hs/validation/PasswordProperty.java index f60e93c6..37a8146f 100644 --- a/src/main/java/net/hostsharing/hsadminng/hs/validation/PasswordProperty.java +++ b/src/main/java/net/hostsharing/hsadminng/hs/validation/PasswordProperty.java @@ -1,13 +1,13 @@ package net.hostsharing.hsadminng.hs.validation; -import net.hostsharing.hsadminng.hash.EtcShadowHashGenerator.Algorithm; +import net.hostsharing.hsadminng.hash.LinuxEtcShadowHashGenerator.Algorithm; import lombok.Setter; import java.util.List; import java.util.stream.Stream; import static java.util.Optional.ofNullable; -import static net.hostsharing.hsadminng.hash.EtcShadowHashGenerator.hash; +import static net.hostsharing.hsadminng.hash.LinuxEtcShadowHashGenerator.hash; import static net.hostsharing.hsadminng.mapper.Array.insertAfterEntry; @Setter diff --git a/src/test/java/net/hostsharing/hsadminng/hash/EtcShadowHashGeneratorUnitTest.java b/src/test/java/net/hostsharing/hsadminng/hash/LinuxEtcShadowHashGeneratorUnitTest.java similarity index 85% rename from src/test/java/net/hostsharing/hsadminng/hash/EtcShadowHashGeneratorUnitTest.java rename to src/test/java/net/hostsharing/hsadminng/hash/LinuxEtcShadowHashGeneratorUnitTest.java index 9b71591b..21dba932 100644 --- a/src/test/java/net/hostsharing/hsadminng/hash/EtcShadowHashGeneratorUnitTest.java +++ b/src/test/java/net/hostsharing/hsadminng/hash/LinuxEtcShadowHashGeneratorUnitTest.java @@ -2,12 +2,12 @@ package net.hostsharing.hsadminng.hash; import org.junit.jupiter.api.Test; -import static net.hostsharing.hsadminng.hash.EtcShadowHashGenerator.Algorithm.SHA512; -import static net.hostsharing.hsadminng.hash.EtcShadowHashGenerator.hash; +import static net.hostsharing.hsadminng.hash.LinuxEtcShadowHashGenerator.Algorithm.SHA512; +import static net.hostsharing.hsadminng.hash.LinuxEtcShadowHashGenerator.hash; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.catchThrowable; -class EtcShadowHashGeneratorUnitTest { +class LinuxEtcShadowHashGeneratorUnitTest { final String GIVEN_PASSWORD = "given password"; final String WRONG_PASSWORD = "wrong password"; diff --git a/src/test/java/net/hostsharing/hsadminng/hs/hosting/asset/HsHostingAssetControllerAcceptanceTest.java b/src/test/java/net/hostsharing/hsadminng/hs/hosting/asset/HsHostingAssetControllerAcceptanceTest.java index 0eb33b41..27d45b16 100644 --- a/src/test/java/net/hostsharing/hsadminng/hs/hosting/asset/HsHostingAssetControllerAcceptanceTest.java +++ b/src/test/java/net/hostsharing/hsadminng/hs/hosting/asset/HsHostingAssetControllerAcceptanceTest.java @@ -3,7 +3,7 @@ package net.hostsharing.hsadminng.hs.hosting.asset; import io.restassured.RestAssured; import io.restassured.http.ContentType; import net.hostsharing.hsadminng.HsadminNgApplication; -import net.hostsharing.hsadminng.hash.EtcShadowHashGenerator; +import net.hostsharing.hsadminng.hash.LinuxEtcShadowHashGenerator; import net.hostsharing.hsadminng.hs.booking.item.HsBookingItemEntity; import net.hostsharing.hsadminng.hs.booking.item.HsBookingItemRepository; import net.hostsharing.hsadminng.hs.booking.item.HsBookingItemType; @@ -524,7 +524,7 @@ class HsHostingAssetControllerAcceptanceTest extends ContextBasedTestWithCleanup .identifier("fir01-temp") .caption("some test-unix-user") .build()); - EtcShadowHashGenerator.nextSalt("Jr5w/Y8zo8pCkqg7"); + LinuxEtcShadowHashGenerator.nextSalt("Jr5w/Y8zo8pCkqg7"); RestAssured // @formatter:off .given() diff --git a/src/test/java/net/hostsharing/hsadminng/hs/validation/PasswordPropertyUnitTest.java b/src/test/java/net/hostsharing/hsadminng/hs/validation/PasswordPropertyUnitTest.java index 6348156d..2350b288 100644 --- a/src/test/java/net/hostsharing/hsadminng/hs/validation/PasswordPropertyUnitTest.java +++ b/src/test/java/net/hostsharing/hsadminng/hs/validation/PasswordPropertyUnitTest.java @@ -8,8 +8,8 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; -import static net.hostsharing.hsadminng.hash.EtcShadowHashGenerator.Algorithm.SHA512; -import static net.hostsharing.hsadminng.hash.EtcShadowHashGenerator.hash; +import static net.hostsharing.hsadminng.hash.LinuxEtcShadowHashGenerator.Algorithm.SHA512; +import static net.hostsharing.hsadminng.hash.LinuxEtcShadowHashGenerator.hash; import static net.hostsharing.hsadminng.hs.validation.PasswordProperty.passwordProperty; import static net.hostsharing.hsadminng.mapper.PatchableMapWrapper.entry; import static org.assertj.core.api.Assertions.assertThat;