From d02914a24b163371fa8004db7f17c77588730f5f Mon Sep 17 00:00:00 2001 From: Avram Lyon Date: Mon, 17 Jun 2019 10:32:14 -0700 Subject: [PATCH] fix(boot2): Allow paths with URL-encoded slashes (#454) Spring Boot 2 tightened up restrictions, but CI job names may legitimately include encoded slashes See https://github.com/spinnaker/spinnaker/issues/4477 --- .../com/netflix/spinnaker/igor/config/IgorConfig.groovy | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/igor-web/src/main/groovy/com/netflix/spinnaker/igor/config/IgorConfig.groovy b/igor-web/src/main/groovy/com/netflix/spinnaker/igor/config/IgorConfig.groovy index 5e51326da..3d932d444 100644 --- a/igor-web/src/main/groovy/com/netflix/spinnaker/igor/config/IgorConfig.groovy +++ b/igor-web/src/main/groovy/com/netflix/spinnaker/igor/config/IgorConfig.groovy @@ -37,6 +37,7 @@ import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Configuration import org.springframework.core.Ordered import org.springframework.http.HttpStatus +import org.springframework.security.web.firewall.StrictHttpFirewall import org.springframework.web.bind.annotation.ControllerAdvice import org.springframework.web.bind.annotation.ExceptionHandler import org.springframework.web.bind.annotation.ResponseBody @@ -78,6 +79,13 @@ class IgorConfig extends WebMvcConfigurerAdapter { return frb } + @Bean + StrictHttpFirewall httpFirewall() { + def firewall = new StrictHttpFirewall() + firewall.allowUrlEncodedSlash = true + return firewall + } + @Bean BuildServices buildServices() { new BuildServices()