From a28ea6fcbdca7cc38798b77572d3ee68b66270e4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 27 Nov 2023 14:53:42 +0000 Subject: [PATCH 1/6] Bump org.springframework.boot from 3.1.5 to 3.2.0 Bumps [org.springframework.boot](https://github.com/spring-projects/spring-boot) from 3.1.5 to 3.2.0. - [Release notes](https://github.com/spring-projects/spring-boot/releases) - [Commits](https://github.com/spring-projects/spring-boot/compare/v3.1.5...v3.2.0) --- updated-dependencies: - dependency-name: org.springframework.boot dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 5e224c7c..066606cb 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'org.springframework.boot' version '3.1.5' + id 'org.springframework.boot' version '3.2.0' id 'io.spring.dependency-management' version '1.1.4' id 'io.freefair.lombok' version '8.4' id 'io.freefair.maven-publish-java' version '8.4' From a4e746b15a2c822266b246de4a76db209286c784 Mon Sep 17 00:00:00 2001 From: Volker Hartmann Date: Fri, 8 Dec 2023 14:28:04 +0100 Subject: [PATCH 2/6] Adopt corsFilter for Spring Boot 3.2.0 --- .../metastore2/configuration/WebSecurityConfig.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/main/java/edu/kit/datamanager/metastore2/configuration/WebSecurityConfig.java b/src/main/java/edu/kit/datamanager/metastore2/configuration/WebSecurityConfig.java index 08348729..9ca308e9 100644 --- a/src/main/java/edu/kit/datamanager/metastore2/configuration/WebSecurityConfig.java +++ b/src/main/java/edu/kit/datamanager/metastore2/configuration/WebSecurityConfig.java @@ -140,7 +140,7 @@ public HttpFirewall allowUrlEncodedSlashHttpFirewall() { @Bean @SuppressWarnings("StringSplitter") - public FilterRegistrationBean corsFilter() { + public CorsFilter corsFilter() { final UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); CorsConfiguration config = new CorsConfiguration(); config.setAllowCredentials(true); @@ -155,9 +155,8 @@ public FilterRegistrationBean corsFilter() { config.addExposedHeader("ETag"); source.registerCorsConfiguration("/**", config); - FilterRegistrationBean bean; - bean = new FilterRegistrationBean<>(new CorsFilter(source)); - bean.setOrder(0); + CorsFilter bean; + bean = new CorsFilter(source); return bean; } From 565d891159c75d10461de7085e659e4b557e2db1 Mon Sep 17 00:00:00 2001 From: Volker Hartmann Date: Fri, 8 Dec 2023 14:28:44 +0100 Subject: [PATCH 3/6] Update dependencies needed by Spring Boot 3.2.0. --- build.gradle | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/build.gradle b/build.gradle index 93c700ff..89216e7e 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'org.springframework.boot' version '3.1.5' + id 'org.springframework.boot' version '3.2.0' id 'io.spring.dependency-management' version '1.1.4' id 'io.freefair.lombok' version '8.4' id 'io.freefair.maven-publish-java' version '8.4' @@ -49,8 +49,8 @@ if (System.getProperty('profile') == 'minimal') { dependencies { // Spring - implementation 'org.springframework:spring-messaging:6.0.2' - implementation 'org.springframework.cloud:spring-cloud-gateway-mvc:4.0.6' + implementation 'org.springframework:spring-messaging:6.1.1' + implementation 'org.springframework.cloud:spring-cloud-gateway-mvc:4.0.8' // Spring Boot implementation "org.springframework.boot:spring-boot-starter-data-rest" @@ -69,8 +69,8 @@ dependencies { // cloud support - implementation "org.springframework.cloud:spring-cloud-starter-config:4.0.3" - implementation "org.springframework.cloud:spring-cloud-starter-netflix-eureka-client:4.0.2" + implementation "org.springframework.cloud:spring-cloud-starter-config:4.1.0" + implementation "org.springframework.cloud:spring-cloud-starter-netflix-eureka-client:4.0.3" // springdoc implementation "org.springdoc:springdoc-openapi-starter-webmvc-ui:${springDocVersion}" From 0b91d50557f226f424d4aefbd5e2ebf7158585a1 Mon Sep 17 00:00:00 2001 From: Volker Hartmann Date: Fri, 8 Dec 2023 16:00:58 +0100 Subject: [PATCH 4/6] Adopt main class setting due to update to Spring Boot 3.2. --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 89216e7e..d773f442 100644 --- a/build.gradle +++ b/build.gradle @@ -210,7 +210,7 @@ bootJar { duplicatesStrategy = DuplicatesStrategy.EXCLUDE manifest { - attributes 'Main-Class': 'org.springframework.boot.loader.PropertiesLauncher' + attributes 'Main-Class': 'org.springframework.boot.loader.launch.PropertiesLauncher' } dependsOn asciidoctor from ("${asciidoctor.outputDir}") { From 6f8c481510ec7081d42f4f8e4807ea19e78a5325 Mon Sep 17 00:00:00 2001 From: Volker Hartmann Date: Mon, 11 Dec 2023 15:01:08 +0100 Subject: [PATCH 5/6] Update dependencies for spring-cloud. --- build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index d773f442..ad7fc492 100644 --- a/build.gradle +++ b/build.gradle @@ -50,7 +50,7 @@ if (System.getProperty('profile') == 'minimal') { dependencies { // Spring implementation 'org.springframework:spring-messaging:6.1.1' - implementation 'org.springframework.cloud:spring-cloud-gateway-mvc:4.0.8' + implementation 'org.springframework.cloud:spring-cloud-gateway-mvc:4.1.0' // Spring Boot implementation "org.springframework.boot:spring-boot-starter-data-rest" @@ -70,7 +70,7 @@ dependencies { // cloud support implementation "org.springframework.cloud:spring-cloud-starter-config:4.1.0" - implementation "org.springframework.cloud:spring-cloud-starter-netflix-eureka-client:4.0.3" + implementation "org.springframework.cloud:spring-cloud-starter-netflix-eureka-client:4.1.0" // springdoc implementation "org.springdoc:springdoc-openapi-starter-webmvc-ui:${springDocVersion}" From 4aa6a71973ccd654a73291c92c20851c701b0363 Mon Sep 17 00:00:00 2001 From: Volker Hartmann Date: Mon, 11 Dec 2023 16:43:02 +0100 Subject: [PATCH 6/6] Fix due to bug in new spring cloud gateway. https://github.com/spring-cloud/spring-cloud-gateway/issues/3154 --- settings/application-default.properties | 6 ++++++ settings/application-docker.properties | 6 ++++++ settings/application-postgres.properties | 6 ++++++ .../metastore2/web/impl/MetadataSearchController.java | 4 ++-- .../metastore2/test/MetadataControllerTest.java | 4 ++-- .../resources/test-config/application-test.properties | 8 +++++++- 6 files changed, 29 insertions(+), 5 deletions(-) diff --git a/settings/application-default.properties b/settings/application-default.properties index 7035f0a8..a0517314 100644 --- a/settings/application-default.properties +++ b/settings/application-default.properties @@ -188,3 +188,9 @@ spring.autoconfigure.exclude=org.keycloak.adapters.springboot.KeycloakAutoConfig #keycloak.realm = myrealm #keycloak.auth-server-url = http://localhost:8080/auth #keycloak.resource = keycloak-angular + +############################################################################### +# Due to bug in spring cloud gateway +# https://github.com/spring-cloud/spring-cloud-gateway/issues/3154 +############################################################################### +spring.cloud.gateway.proxy.sensitive=content-length diff --git a/settings/application-docker.properties b/settings/application-docker.properties index ecfb59a7..69962437 100644 --- a/settings/application-docker.properties +++ b/settings/application-docker.properties @@ -187,3 +187,9 @@ spring.autoconfigure.exclude=org.keycloak.adapters.springboot.KeycloakAutoConfig #keycloak.realm = myrealm #keycloak.auth-server-url = http://localhost:8080/auth #keycloak.resource = keycloak-angular + +############################################################################### +# Due to bug in spring cloud gateway +# https://github.com/spring-cloud/spring-cloud-gateway/issues/3154 +############################################################################### +spring.cloud.gateway.proxy.sensitive=content-length diff --git a/settings/application-postgres.properties b/settings/application-postgres.properties index 78612c41..cc8d8e0a 100644 --- a/settings/application-postgres.properties +++ b/settings/application-postgres.properties @@ -193,3 +193,9 @@ spring.autoconfigure.exclude=org.keycloak.adapters.springboot.KeycloakAutoConfig #keycloak.realm = myrealm #keycloak.auth-server-url = http://localhost:8080/auth #keycloak.resource = keycloak-angular + +############################################################################### +# Due to bug in spring cloud gateway +# https://github.com/spring-cloud/spring-cloud-gateway/issues/3154 +############################################################################### +spring.cloud.gateway.proxy.sensitive=content-length diff --git a/src/main/java/edu/kit/datamanager/metastore2/web/impl/MetadataSearchController.java b/src/main/java/edu/kit/datamanager/metastore2/web/impl/MetadataSearchController.java index 032caeca..7c61ba39 100644 --- a/src/main/java/edu/kit/datamanager/metastore2/web/impl/MetadataSearchController.java +++ b/src/main/java/edu/kit/datamanager/metastore2/web/impl/MetadataSearchController.java @@ -92,7 +92,7 @@ public ResponseEntity proxy(@RequestBody JsonNode body, + "to which the records refer as comma-separated values. " + "Regular expressions are also allowed. " + "See https://www.elastic.co/guide/en/elasticsearch/reference/7.17/multi-index.html", required = true) @PathVariable(value = "schemaId") String schemaIds, - ProxyExchange proxy, + ProxyExchange proxy, @Parameter(hidden = true) final Pageable pgbl) throws Exception { // Prepare query with authorization @@ -123,7 +123,7 @@ public ResponseEntity proxy(@RequestBody JsonNode body, @ResponseBody @PageableAsQueryParam public ResponseEntity proxy(@RequestBody JsonNode body, - ProxyExchange proxy, + ProxyExchange proxy, @Parameter(hidden = true) final Pageable pgbl) throws Exception { // Prepare query with authorization diff --git a/src/test/java/edu/kit/datamanager/metastore2/test/MetadataControllerTest.java b/src/test/java/edu/kit/datamanager/metastore2/test/MetadataControllerTest.java index 02fd2c50..cefe692e 100644 --- a/src/test/java/edu/kit/datamanager/metastore2/test/MetadataControllerTest.java +++ b/src/test/java/edu/kit/datamanager/metastore2/test/MetadataControllerTest.java @@ -1701,7 +1701,7 @@ public void testSearchProxy() throws Exception { .contentType(MediaType.APPLICATION_JSON) .content("{}")) .andDo(print()) - .andExpect(status().isForbidden()); + .andExpect(status().isNotFound()); } @Test @@ -1712,7 +1712,7 @@ public void testSearchWithSchemaProxy() throws Exception { .contentType(MediaType.APPLICATION_JSON) .content("{}")) .andDo(print()) - .andExpect(status().isForbidden()); + .andExpect(status().isNotFound()); } @Test diff --git a/src/test/resources/test-config/application-test.properties b/src/test/resources/test-config/application-test.properties index 6296fa71..e5b114fc 100644 --- a/src/test/resources/test-config/application-test.properties +++ b/src/test/resources/test-config/application-test.properties @@ -129,4 +129,10 @@ spring.autoconfigure.exclude=org.keycloak.adapters.springboot.KeycloakAutoConfig # #keycloak.realm = myrealm #keycloak.auth-server-url = http://localhost:8080/auth -#keycloak.resource = keycloak-angular \ No newline at end of file +#keycloak.resource = keycloak-angular + +############################################################################### +# Due to bug in spring cloud gateway +# https://github.com/spring-cloud/spring-cloud-gateway/issues/3154 +############################################################################### +spring.cloud.gateway.proxy.sensitive=content-length