-
Bug
-
Resolution: Unresolved
-
Low
-
None
-
7.19.7, 7.19.8, 8.2.2
-
None
-
2
-
Severity 3 - Minor
-
Issue Summary
After upgrade from Confluence 7.19.4 to 7.19.7, Tomcat container is not able to accept [X-AUSERNAME] in the HTTP response header with usernames containing non-ASCII characters or Cyrillic characters, for example: [каринагибадуллина]
This is reproducible on Data Center: yes
Steps to Reproduce
- Upgrade from Confluence 7.19.4 to 7.19.7
- Create a user with Cyrillic characters in its username, for example: [александрчетуров]
- Login with the above user and the WARNING message will start spamming the Tomcat catalina logs for every operation performed by the user within the application.
Expected Results
The WARNING message should not appear in the Tomcat catalina logs.
Actual Results
The below WARNING is thrown in the catalina.log file:
28-Apr-2023 11:04:20.914 WARNING [http-nio2-8090-exec-9] org.apache.coyote.http11.Http11Processor.prepareResponse The HTTP response header [X-AUSERNAME] with value [александрчетуров] has been removed from the response because it is invalid java.lang.IllegalArgumentException: The Unicode character [а] at code point [1,072] cannot be encoded as it is outside the permitted range of 0 to 255 at org.apache.tomcat.util.buf.MessageBytes.toBytesSimple(MessageBytes.java:290) at org.apache.tomcat.util.buf.MessageBytes.toBytes(MessageBytes.java:261) at org.apache.coyote.http11.Http11OutputBuffer.write(Http11OutputBuffer.java:389) at org.apache.coyote.http11.Http11OutputBuffer.sendHeader(Http11OutputBuffer.java:368) at org.apache.coyote.http11.Http11Processor.prepareResponse(Http11Processor.java:1048) at org.apache.coyote.AbstractProcessor.action(AbstractProcessor.java:374) at org.apache.coyote.Response.action(Response.java:209) at org.apache.coyote.Response.sendHeaders(Response.java:434) at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:291) at org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:271) at org.apache.catalina.connector.CoyoteOutputStream.flush(CoyoteOutputStream.java:118) at com.atlassian.confluence.web.filter.ResponseOutputStreamFilter$NoopAfterCloseOutputStream.flush(ResponseOutputStreamFilter.java:108) at java.base/java.util.zip.DeflaterOutputStream.flush(DeflaterOutputStream.java:291)
Although there is general functionality of the application is not impacted but there are a huge number of entries in the catalina log that could contribute to disk usage.
Workaround
Currently there is no known workaround for this behavior. A workaround will be added here when available