-
Bug
-
Resolution: Done
-
Major
-
None
-
WebSphere Liberty Profile or OpenLiberty, any version
Problem description
Jenkins displays this banner in the settings:
Ihr Servlet-Container verwendet kein UTF-8, um URLs zu dekodieren. Falls Sie Nicht-ASCII-Zeichen in Elementnamen usw. verwenden, kann dies Probleme mit sich bringen. Beachten Sie bitte die Hinweise zu Servlet-Containern bzw. Tomcat i18N).
However, this is not true. Liberty Profile uses UTF-8 by default for decoding URIs.
Sources:
- https://www.ibm.com/mysupport/s/question/0D50z00005pgf5xCAA/how-to-set-url-encoding-to-utf8?language=en_US
- https://openliberty.io/docs/ref/config/webContainer.html
How to reproduce
- use ./bin/server create jenkins to create a new serer.
- Download the jenkins .war file to the apps directory of the server ($WLP_INSTALL_DIR/usr/servers/jenkins/apps).
- Modify the server.xml to contain these config items:
<featureManager> <feature>servlet-4.0</feature> <feature>websocket-1.1</feature> <feature>localConnector-1.0</feature> <feature>jaxb-2.2</feature> <feature>jaxws-2.2</feature> </featureManager> <httpEndpoint id="defaultHttpEndpoint" host="*" httpPort="8080" httpsPort="-1" /> <application id="jenkins" location="jenkins.war" name="jenkins" type="war" context-root="/" />
- Modify the file server.env to contain a JENKINS_HOME
- Start Liberty Profile (./bin/server start jenkins)
Go to the settings and see the misleading banner
Expected behaviour
Jenkins does not display this banner, as OpenLiberty uses UTF-8 to decode URLs.
Actual behaviour
Jenkins does display this banner, which is misleading.
Suggested fix
Rework the URL check to display a proper message and how it got this information.
I guess the issue might be related to my reverse proxy, which is set up in front of liberty profile. But as the message does not display why jenkins thinks the container is set up in a wrong way, I cannot confirm this behaviour.