From ecdf8e897fab7520d91cabd6904754de0d2d3a9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=A1clav=20Muzik=C3=A1=C5=99?= Date: Wed, 26 Jul 2023 16:20:23 +0200 Subject: [PATCH] Upgrade to Quarkus 3.2.2.Final (#21912) Closes #21907 --- pom.xml | 15 ++++++++---- .../java/org/keycloak/config/HttpOptions.java | 2 +- .../ConfigKeystorePropertyMappers.java | 24 +++++++++++++++---- .../cli/dist/QuarkusPropertiesDistTest.java | 2 +- ...istTest.testStartDevHelp.unix.approved.txt | 2 +- ...Test.testStartDevHelp.windows.approved.txt | 2 +- ...Test.testStartDevHelpAll.unix.approved.txt | 2 +- ...t.testStartDevHelpAll.windows.approved.txt | 2 +- ...ndDistTest.testStartHelp.unix.approved.txt | 2 +- ...istTest.testStartHelp.windows.approved.txt | 2 +- ...istTest.testStartHelpAll.unix.approved.txt | 2 +- ...Test.testStartHelpAll.windows.approved.txt | 2 +- ...t.testStartOptimizedHelp.unix.approved.txt | 2 +- ...estStartOptimizedHelp.windows.approved.txt | 2 +- ...estStartOptimizedHelpAll.unix.approved.txt | 2 +- ...StartOptimizedHelpAll.windows.approved.txt | 2 +- 16 files changed, 44 insertions(+), 23 deletions(-) diff --git a/pom.xml b/pom.xml index c432697d2f2..48a25db2b8a 100644 --- a/pom.xml +++ b/pom.xml @@ -43,8 +43,8 @@ jboss-snapshots-repository https://s01.oss.sonatype.org/content/repositories/snapshots/ - 3.2.0.Final - 3.2.0.Final + 3.2.2.Final + 3.2.2.Final ${timestamp} @@ -74,8 +74,10 @@ 3.3.10 2.1.3 2.2.220 - 6.2.5.Final - 6.2.5.Final + + 6.2.7.Final + 6.2.7.Final + 6.2.7.Final 14.0.13.Final 4.6.2.Final @@ -504,6 +506,11 @@ ${h2.version} test + + org.hibernate.orm + hibernate-core + ${hibernate-orm.version} + org.hibernate.orm hibernate-c3p0 diff --git a/quarkus/config-api/src/main/java/org/keycloak/config/HttpOptions.java b/quarkus/config-api/src/main/java/org/keycloak/config/HttpOptions.java index bc9b6985f84..fa64ebe0caf 100644 --- a/quarkus/config-api/src/main/java/org/keycloak/config/HttpOptions.java +++ b/quarkus/config-api/src/main/java/org/keycloak/config/HttpOptions.java @@ -56,7 +56,7 @@ public class HttpOptions { public static final Option HTTPS_PROTOCOLS = new OptionBuilder<>("https-protocols", String.class) .category(OptionCategory.HTTP) .description("The list of protocols to explicitly enable.") - .defaultValue("TLSv1.3") + .defaultValue("TLSv1.3,TLSv1.2") .build(); public static final Option HTTPS_CERTIFICATE_FILE = new OptionBuilder<>("https-certificate-file", File.class) diff --git a/quarkus/runtime/src/main/java/org/keycloak/quarkus/runtime/configuration/mappers/ConfigKeystorePropertyMappers.java b/quarkus/runtime/src/main/java/org/keycloak/quarkus/runtime/configuration/mappers/ConfigKeystorePropertyMappers.java index 34afac7fa53..ec20345cb61 100644 --- a/quarkus/runtime/src/main/java/org/keycloak/quarkus/runtime/configuration/mappers/ConfigKeystorePropertyMappers.java +++ b/quarkus/runtime/src/main/java/org/keycloak/quarkus/runtime/configuration/mappers/ConfigKeystorePropertyMappers.java @@ -12,6 +12,9 @@ import java.util.Optional; import static org.keycloak.quarkus.runtime.configuration.mappers.PropertyMapper.fromOption; final class ConfigKeystorePropertyMappers { + private static final String SMALLRYE_KEYSTORE_PATH = "smallrye.config.source.keystore.kc-default.path"; + private static final String SMALLRYE_KEYSTORE_PASSWORD = "smallrye.config.source.keystore.kc-default.password"; + private ConfigKeystorePropertyMappers() { } @@ -19,12 +22,12 @@ final class ConfigKeystorePropertyMappers { public static PropertyMapper[] getConfigKeystorePropertyMappers() { return new PropertyMapper[] { fromOption(ConfigKeystoreOptions.CONFIG_KEYSTORE) - .to("smallrye.config.source.keystore.kc-default.path") + .to(SMALLRYE_KEYSTORE_PATH) .transformer(ConfigKeystorePropertyMappers::validatePath) .paramLabel("config-keystore") .build(), fromOption(ConfigKeystoreOptions.CONFIG_KEYSTORE_PASSWORD) - .to("smallrye.config.source.keystore.kc-default.password") + .to(SMALLRYE_KEYSTORE_PASSWORD) .transformer(ConfigKeystorePropertyMappers::validatePassword) .paramLabel("config-keystore-password") .build(), @@ -36,12 +39,17 @@ final class ConfigKeystorePropertyMappers { } private static Optional validatePath(Optional option, ConfigSourceInterceptorContext context) { - ConfigValue path = context.proceed("smallrye.config.source.keystore.kc-default.path"); + ConfigValue path = context.proceed(SMALLRYE_KEYSTORE_PATH); + boolean isPasswordDefined = context.proceed(SMALLRYE_KEYSTORE_PASSWORD) != null; if (path == null) { throw new IllegalArgumentException("config-keystore must be specified"); } + if (!isPasswordDefined) { + throw new IllegalArgumentException("config-keystore-password must be specified"); + } + Optional realPath = Optional.of(String.valueOf(Paths.get(path.getValue()).toAbsolutePath().normalize())); if (!Files.exists(Path.of(realPath.get()))) { throw new IllegalArgumentException("config-keystore path does not exist: " + realPath.get()); @@ -50,11 +58,17 @@ final class ConfigKeystorePropertyMappers { } private static Optional validatePassword(Optional option, ConfigSourceInterceptorContext context) { - ConfigValue password = context.proceed("smallrye.config.source.keystore.kc-default.password"); + boolean isPasswordDefined = context.proceed(SMALLRYE_KEYSTORE_PASSWORD).getValue() != null; + boolean isPathDefined = context.proceed(SMALLRYE_KEYSTORE_PATH) != null; - if (password == null) { + if (!isPasswordDefined) { throw new IllegalArgumentException("config-keystore-password must be specified"); } + + if (!isPathDefined) { + throw new IllegalArgumentException("config-keystore must be specified"); + } + return option; } diff --git a/quarkus/tests/integration/src/test/java/org/keycloak/it/cli/dist/QuarkusPropertiesDistTest.java b/quarkus/tests/integration/src/test/java/org/keycloak/it/cli/dist/QuarkusPropertiesDistTest.java index 3270d942e4a..af2a5c2acea 100644 --- a/quarkus/tests/integration/src/test/java/org/keycloak/it/cli/dist/QuarkusPropertiesDistTest.java +++ b/quarkus/tests/integration/src/test/java/org/keycloak/it/cli/dist/QuarkusPropertiesDistTest.java @@ -123,7 +123,7 @@ public class QuarkusPropertiesDistTest { } @Test - @Launch({ "start", "--http-enabled=true", "--hostname-strict=false", "--config-keystore=keystore" }) + @Launch({ "start", "--http-enabled=true", "--hostname-strict=false", "--config-keystore=../../../../src/test/resources/keystore" }) @Order(10) void testMissingSmallRyeKeyStorePasswordProperty(LaunchResult result) { CLIResult cliResult = (CLIResult) result; diff --git a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartDevHelp.unix.approved.txt b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartDevHelp.unix.approved.txt index 3c7f6d2354f..34520d12103 100644 --- a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartDevHelp.unix.approved.txt +++ b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartDevHelp.unix.approved.txt @@ -142,7 +142,7 @@ HTTP/TLS: value is set, it defaults to 'BCFKS'. --https-port The used HTTPS port. Default: 8443. --https-protocols - The list of protocols to explicitly enable. Default: TLSv1.3. + The list of protocols to explicitly enable. Default: TLSv1.3,TLSv1.2. --https-trust-store-file The trust store which holds the certificate information of the certificates to trust. diff --git a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartDevHelp.windows.approved.txt b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartDevHelp.windows.approved.txt index 84abff50634..c54cd09f64e 100644 --- a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartDevHelp.windows.approved.txt +++ b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartDevHelp.windows.approved.txt @@ -137,7 +137,7 @@ HTTP/TLS: value is set, it defaults to 'BCFKS'. --https-port The used HTTPS port. Default: 8443. --https-protocols - The list of protocols to explicitly enable. Default: TLSv1.3. + The list of protocols to explicitly enable. Default: TLSv1.3,TLSv1.2. --https-trust-store-file The trust store which holds the certificate information of the certificates to trust. diff --git a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartDevHelpAll.unix.approved.txt b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartDevHelpAll.unix.approved.txt index 35de2266ef3..2c786dbbdf8 100644 --- a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartDevHelpAll.unix.approved.txt +++ b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartDevHelpAll.unix.approved.txt @@ -205,7 +205,7 @@ HTTP/TLS: value is set, it defaults to 'BCFKS'. --https-port The used HTTPS port. Default: 8443. --https-protocols - The list of protocols to explicitly enable. Default: TLSv1.3. + The list of protocols to explicitly enable. Default: TLSv1.3,TLSv1.2. --https-trust-store-file The trust store which holds the certificate information of the certificates to trust. diff --git a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartDevHelpAll.windows.approved.txt b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartDevHelpAll.windows.approved.txt index 8c6db8f2878..143f7debfc4 100644 --- a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartDevHelpAll.windows.approved.txt +++ b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartDevHelpAll.windows.approved.txt @@ -200,7 +200,7 @@ HTTP/TLS: value is set, it defaults to 'BCFKS'. --https-port The used HTTPS port. Default: 8443. --https-protocols - The list of protocols to explicitly enable. Default: TLSv1.3. + The list of protocols to explicitly enable. Default: TLSv1.3,TLSv1.2. --https-trust-store-file The trust store which holds the certificate information of the certificates to trust. diff --git a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartHelp.unix.approved.txt b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartHelp.unix.approved.txt index ce3dffc3293..0cce3a201c6 100644 --- a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartHelp.unix.approved.txt +++ b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartHelp.unix.approved.txt @@ -148,7 +148,7 @@ HTTP/TLS: value is set, it defaults to 'BCFKS'. --https-port The used HTTPS port. Default: 8443. --https-protocols - The list of protocols to explicitly enable. Default: TLSv1.3. + The list of protocols to explicitly enable. Default: TLSv1.3,TLSv1.2. --https-trust-store-file The trust store which holds the certificate information of the certificates to trust. diff --git a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartHelp.windows.approved.txt b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartHelp.windows.approved.txt index f6e78589c7e..a90394f0655 100644 --- a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartHelp.windows.approved.txt +++ b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartHelp.windows.approved.txt @@ -143,7 +143,7 @@ HTTP/TLS: value is set, it defaults to 'BCFKS'. --https-port The used HTTPS port. Default: 8443. --https-protocols - The list of protocols to explicitly enable. Default: TLSv1.3. + The list of protocols to explicitly enable. Default: TLSv1.3,TLSv1.2. --https-trust-store-file The trust store which holds the certificate information of the certificates to trust. diff --git a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartHelpAll.unix.approved.txt b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartHelpAll.unix.approved.txt index 922422bdc4a..d3c8fea878f 100644 --- a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartHelpAll.unix.approved.txt +++ b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartHelpAll.unix.approved.txt @@ -211,7 +211,7 @@ HTTP/TLS: value is set, it defaults to 'BCFKS'. --https-port The used HTTPS port. Default: 8443. --https-protocols - The list of protocols to explicitly enable. Default: TLSv1.3. + The list of protocols to explicitly enable. Default: TLSv1.3,TLSv1.2. --https-trust-store-file The trust store which holds the certificate information of the certificates to trust. diff --git a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartHelpAll.windows.approved.txt b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartHelpAll.windows.approved.txt index 256b8215867..8d250653575 100644 --- a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartHelpAll.windows.approved.txt +++ b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartHelpAll.windows.approved.txt @@ -206,7 +206,7 @@ HTTP/TLS: value is set, it defaults to 'BCFKS'. --https-port The used HTTPS port. Default: 8443. --https-protocols - The list of protocols to explicitly enable. Default: TLSv1.3. + The list of protocols to explicitly enable. Default: TLSv1.3,TLSv1.2. --https-trust-store-file The trust store which holds the certificate information of the certificates to trust. diff --git a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartOptimizedHelp.unix.approved.txt b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartOptimizedHelp.unix.approved.txt index bd426c77ed0..0b942f89745 100644 --- a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartOptimizedHelp.unix.approved.txt +++ b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartOptimizedHelp.unix.approved.txt @@ -107,7 +107,7 @@ HTTP/TLS: value is set, it defaults to 'BCFKS'. --https-port The used HTTPS port. Default: 8443. --https-protocols - The list of protocols to explicitly enable. Default: TLSv1.3. + The list of protocols to explicitly enable. Default: TLSv1.3,TLSv1.2. --https-trust-store-file The trust store which holds the certificate information of the certificates to trust. diff --git a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartOptimizedHelp.windows.approved.txt b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartOptimizedHelp.windows.approved.txt index 21151a1e0c6..5a35664fb32 100644 --- a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartOptimizedHelp.windows.approved.txt +++ b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartOptimizedHelp.windows.approved.txt @@ -100,7 +100,7 @@ HTTP/TLS: value is set, it defaults to 'BCFKS'. --https-port The used HTTPS port. Default: 8443. --https-protocols - The list of protocols to explicitly enable. Default: TLSv1.3. + The list of protocols to explicitly enable. Default: TLSv1.3,TLSv1.2. --https-trust-store-file The trust store which holds the certificate information of the certificates to trust. diff --git a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartOptimizedHelpAll.unix.approved.txt b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartOptimizedHelpAll.unix.approved.txt index ee089c3ee3f..50ec70c6ebb 100644 --- a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartOptimizedHelpAll.unix.approved.txt +++ b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartOptimizedHelpAll.unix.approved.txt @@ -126,7 +126,7 @@ HTTP/TLS: value is set, it defaults to 'BCFKS'. --https-port The used HTTPS port. Default: 8443. --https-protocols - The list of protocols to explicitly enable. Default: TLSv1.3. + The list of protocols to explicitly enable. Default: TLSv1.3,TLSv1.2. --https-trust-store-file The trust store which holds the certificate information of the certificates to trust. diff --git a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartOptimizedHelpAll.windows.approved.txt b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartOptimizedHelpAll.windows.approved.txt index bc8d11f0b41..b5d806461f3 100644 --- a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartOptimizedHelpAll.windows.approved.txt +++ b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartOptimizedHelpAll.windows.approved.txt @@ -119,7 +119,7 @@ HTTP/TLS: value is set, it defaults to 'BCFKS'. --https-port The used HTTPS port. Default: 8443. --https-protocols - The list of protocols to explicitly enable. Default: TLSv1.3. + The list of protocols to explicitly enable. Default: TLSv1.3,TLSv1.2. --https-trust-store-file The trust store which holds the certificate information of the certificates to trust.