Uploaded image for project: 'Confluence Data Center'
  1. Confluence Data Center
  2. CONFSERVER-83299

Tomcat cannot accept [X-AUSERNAME] in the HTTP response header, which contains non-ASCII characters (Cyrillic, Japanese characters) in there usernames

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Low Low
    • None
    • 7.19.7, 7.19.8, 8.2.2
    • Server - Platform
    • None

      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

      1. Upgrade from Confluence 7.19.4 to 7.19.7
      2. Create a user with Cyrillic characters in its username, for example: [александрчетуров]
      3. 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

              Unassigned Unassigned
              188bae873138 Saurabh
              Votes:
              2 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated: