From f5ff8007be02ce8992a2cf0e13375f636f00aee7 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Tue, 16 May 2023 19:46:43 +0100 Subject: [PATCH] Adapt to deprecation of rejectIllegalHeader Closes gh-35442 --- .../boot/autoconfigure/web/ServerProperties.java | 2 ++ .../web/embedded/TomcatWebServerFactoryCustomizer.java | 1 + .../web/embedded/TomcatWebServerFactoryCustomizerTests.java | 2 ++ 3 files changed, 5 insertions(+) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/ServerProperties.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/ServerProperties.java index 49f160cbb73..060cebc0e44 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/ServerProperties.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/ServerProperties.java @@ -459,6 +459,7 @@ public class ServerProperties { /** * Whether to reject requests with illegal header names or values. */ + @Deprecated private boolean rejectIllegalHeader = true; /** @@ -612,6 +613,7 @@ public class ServerProperties { this.connectionTimeout = connectionTimeout; } + @DeprecatedConfigurationProperty(reason = "The setting has been deprecated in Tomcat") public boolean isRejectIllegalHeader() { return this.rejectIllegalHeader; } diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/embedded/TomcatWebServerFactoryCustomizer.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/embedded/TomcatWebServerFactoryCustomizer.java index 2705680328c..42a5dba82fa 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/embedded/TomcatWebServerFactoryCustomizer.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/embedded/TomcatWebServerFactoryCustomizer.java @@ -220,6 +220,7 @@ public class TomcatWebServerFactoryCustomizer factory.addConnectorCustomizers((connector) -> connector.setProperty("relaxedQueryChars", relaxedChars)); } + @SuppressWarnings("deprecation") private void customizeRejectIllegalHeader(ConfigurableTomcatWebServerFactory factory, boolean rejectIllegalHeader) { factory.addConnectorCustomizers((connector) -> { ProtocolHandler handler = connector.getProtocolHandler(); diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/web/embedded/TomcatWebServerFactoryCustomizerTests.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/web/embedded/TomcatWebServerFactoryCustomizerTests.java index 926a654ee38..1fe8acac2d9 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/web/embedded/TomcatWebServerFactoryCustomizerTests.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/web/embedded/TomcatWebServerFactoryCustomizerTests.java @@ -365,6 +365,8 @@ class TomcatWebServerFactoryCustomizerTests { } @Test + @Deprecated + @SuppressWarnings("deprecation") void testCustomizeRejectIllegalHeader() { bind("server.tomcat.reject-illegal-header=false"); customizeAndRunServer((server) -> assertThat(