parent
							
								
									45c37c4454
								
							
						
					
					
						commit
						2f762fefe1
					
				| 
						 | 
				
			
			@ -130,9 +130,13 @@ public class StrictHttpFirewall implements HttpFirewall {
 | 
			
		|||
	private static final Predicate<String> ASSIGNED_AND_NOT_ISO_CONTROL_PREDICATE = (
 | 
			
		||||
			s) -> ASSIGNED_AND_NOT_ISO_CONTROL_PATTERN.matcher(s).matches();
 | 
			
		||||
 | 
			
		||||
	private static final Pattern HEADER_VALUE_PATTERN = Pattern.compile("[\\p{IsAssigned}&&[[^\\p{IsControl}]||\\t]]*");
 | 
			
		||||
 | 
			
		||||
	private static final Predicate<String> HEADER_VALUE_PREDICATE = (s) -> HEADER_VALUE_PATTERN.matcher(s).matches();
 | 
			
		||||
 | 
			
		||||
	private Predicate<String> allowedHeaderNames = ASSIGNED_AND_NOT_ISO_CONTROL_PREDICATE;
 | 
			
		||||
 | 
			
		||||
	private Predicate<String> allowedHeaderValues = ASSIGNED_AND_NOT_ISO_CONTROL_PREDICATE;
 | 
			
		||||
	private Predicate<String> allowedHeaderValues = HEADER_VALUE_PREDICATE;
 | 
			
		||||
 | 
			
		||||
	private Predicate<String> allowedParameterNames = ASSIGNED_AND_NOT_ISO_CONTROL_PREDICATE;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -782,6 +782,13 @@ public class StrictHttpFirewallTests {
 | 
			
		|||
		assertThatExceptionOfType(RequestRejectedException.class).isThrownBy(() -> request.getHeader("Something"));
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	@Test
 | 
			
		||||
	public void getFirewalledRequestGetHeaderWhenHorizontalTabInHeaderValueThenNoException() {
 | 
			
		||||
		this.request.addHeader("Something", "tab\tvalue");
 | 
			
		||||
		HttpServletRequest request = this.firewall.getFirewalledRequest(this.request);
 | 
			
		||||
		assertThat(request.getHeader("Something")).isEqualTo("tab\tvalue");
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	@Test
 | 
			
		||||
	public void getFirewalledRequestGetHeaderWhenUndefinedCharacterInHeaderValueThenException() {
 | 
			
		||||
		this.request.addHeader("Something", "bad\uFFFEvalue");
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue