Remove server.tomcat.reject-illegal-header
Closes gh-42731
This commit is contained in:
@@ -489,13 +489,6 @@ public class ServerProperties {
|
||||
*/
|
||||
private Duration connectionTimeout;
|
||||
|
||||
/**
|
||||
* Whether to reject requests with illegal header names or values.
|
||||
* @deprecated since 2.7.12 for removal in 3.3.0
|
||||
*/
|
||||
@Deprecated(since = "2.7.12", forRemoval = true) // Remove in 3.3
|
||||
private boolean rejectIllegalHeader = true;
|
||||
|
||||
/**
|
||||
* Static resource configuration.
|
||||
*/
|
||||
@@ -652,17 +645,6 @@ public class ServerProperties {
|
||||
this.connectionTimeout = connectionTimeout;
|
||||
}
|
||||
|
||||
@Deprecated(since = "3.2.0", forRemoval = true)
|
||||
@DeprecatedConfigurationProperty(reason = "The setting has been deprecated in Tomcat", since = "3.2.0")
|
||||
public boolean isRejectIllegalHeader() {
|
||||
return this.rejectIllegalHeader;
|
||||
}
|
||||
|
||||
@Deprecated(since = "3.2.0", forRemoval = true)
|
||||
public void setRejectIllegalHeader(boolean rejectIllegalHeader) {
|
||||
this.rejectIllegalHeader = rejectIllegalHeader;
|
||||
}
|
||||
|
||||
public Resource getResource() {
|
||||
return this.resource;
|
||||
}
|
||||
|
||||
@@ -145,8 +145,6 @@ public class TomcatWebServerFactoryCustomizer
|
||||
.as(this::joinCharacters)
|
||||
.whenHasText()
|
||||
.to((relaxedChars) -> customizeRelaxedQueryChars(factory, relaxedChars));
|
||||
map.from(properties::isRejectIllegalHeader)
|
||||
.to((rejectIllegalHeader) -> customizeRejectIllegalHeader(factory, rejectIllegalHeader));
|
||||
customizeStaticResources(factory);
|
||||
customizeErrorReportValve(this.serverProperties.getError(), factory);
|
||||
}
|
||||
@@ -219,16 +217,6 @@ 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();
|
||||
if (handler instanceof AbstractHttp11Protocol<?> protocol) {
|
||||
protocol.setRejectIllegalHeader(rejectIllegalHeader);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private String joinCharacters(List<Character> content) {
|
||||
return content.stream().map(String::valueOf).collect(Collectors.joining());
|
||||
}
|
||||
|
||||
@@ -361,6 +361,12 @@
|
||||
"level": "error"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "server.tomcat.reject-illegal-header",
|
||||
"deprecation": {
|
||||
"level": "error"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "server.undertow.buffers-per-region",
|
||||
"type": "java.lang.Integer",
|
||||
|
||||
@@ -142,7 +142,6 @@ class ServerPropertiesTests {
|
||||
assertThat(tomcat.getRemoteip().getProtocolHeader()).isEqualTo("X-Forwarded-Protocol");
|
||||
assertThat(tomcat.getRemoteip().getInternalProxies()).isEqualTo("10\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}");
|
||||
assertThat(tomcat.getRemoteip().getTrustedProxies()).isEqualTo("proxy1|proxy2|proxy3");
|
||||
assertThat(tomcat.isRejectIllegalHeader()).isFalse();
|
||||
assertThat(tomcat.getBackgroundProcessorDelay()).hasSeconds(10);
|
||||
assertThat(tomcat.getRelaxedPathChars()).containsExactly('|', '<');
|
||||
assertThat(tomcat.getRelaxedQueryChars()).containsExactly('^', '|');
|
||||
@@ -422,13 +421,6 @@ class ServerPropertiesTests {
|
||||
.isEqualTo(new RemoteIpValve().getInternalProxies());
|
||||
}
|
||||
|
||||
@Test
|
||||
@SuppressWarnings("removal")
|
||||
void tomcatRejectIllegalHeaderMatchesProtocolDefault() throws Exception {
|
||||
assertThat(getDefaultProtocol()).hasFieldOrPropertyWithValue("rejectIllegalHeader",
|
||||
this.properties.getTomcat().isRejectIllegalHeader());
|
||||
}
|
||||
|
||||
@Test
|
||||
void tomcatUseRelativeRedirectsDefaultsToFalse() {
|
||||
assertThat(this.properties.getTomcat().isUseRelativeRedirects()).isFalse();
|
||||
|
||||
Reference in New Issue
Block a user