Skip to content

Commit 1a0b8b7

Browse files
Merge branch '5.8.x' into 6.0.x
2 parents f06c2b9 + 664ee9a commit 1a0b8b7

File tree

2 files changed

+3
-1
lines changed

2 files changed

+3
-1
lines changed

saml2/saml2-service-provider/src/main/java/org/springframework/security/saml2/provider/service/web/Saml2MetadataFilter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ private void writeMetadataToResponse(HttpServletResponse response, String regist
8888
String encodedFileName = URLEncoder.encode(fileName, StandardCharsets.UTF_8.name());
8989
String format = "attachment; filename=\"%s\"; filename*=UTF-8''%s";
9090
response.setHeader(HttpHeaders.CONTENT_DISPOSITION, String.format(format, fileName, encodedFileName));
91-
response.setContentLength(metadata.length());
91+
response.setContentLength(metadata.getBytes(StandardCharsets.UTF_8).length);
9292
response.setCharacterEncoding(StandardCharsets.UTF_8.name());
9393
response.getWriter().write(metadata);
9494
}

saml2/saml2-service-provider/src/test/java/org/springframework/security/saml2/provider/service/web/Saml2MetadataFilterTests.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,8 @@ public void doFilterWhenCharacterEncodingThenEncodeSpecialCharactersCorrectly()
165165
this.filter.doFilter(this.request, this.response, this.chain);
166166
assertThat(this.response.getCharacterEncoding()).isEqualTo(StandardCharsets.UTF_8.name());
167167
assertThat(this.response.getContentAsString(StandardCharsets.UTF_8)).isEqualTo(generatedMetadata);
168+
assertThat(this.response.getContentLength())
169+
.isEqualTo(generatedMetadata.getBytes(StandardCharsets.UTF_8).length);
168170
}
169171

170172
@Test

0 commit comments

Comments
 (0)