Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-24603

Bad URL encoding generated on redirection to warnings analysis reports

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • analysis-core-plugin, core
    • None
    • OS X Server 10.9.4

      When a job name contains non-ASCII characters (Montréal for example), the URL generated for the redirection process to the last build analysis reports get bad encoding.

      For example:

      • Job name: Montréal
      • Hyperlinks on main job page:
        • Static Analysis Warning: /job/Ville%20de%20Montr%C3%A9al%20Reporter%20iOS%20Application/warnings10

      This URL is correctly encoded using UTF-8. So clicking on this link perform the expected result. Unfortunately, by clicking this hyperlink, Jenkins redirect the request to the last build warning result, generating new URL with bad encoding. These are the detailed header of the multiple requests following the redirection:

      1. GET /job/Ville%20de%20Montr%C3%A9al%20Reporter%20iOS%20Application/warnings10
        HTTP/1.1 301 Moved Permanently
        Server: nginx
        Date: Fri, 05 Sep 2014 16:28:28 GMT
        Content-Type: text/html
        Content-Length: 178
        Connection: keep-alive
        Location: https://jenkins.foobar.com/job/Ville%20de%20Montr%E9al%20Reporter%20iOS%20Application/43/warnings10Result
        
      2. GET /job/Ville%20de%20Montr%E9al%20Reporter%20iOS%20Application/43/warnings10Result
        HTTP/1.1 502 Bad Gateway
        Server: nginx
        Date: Fri, 05 Sep 2014 16:35:25 GMT
        Content-Type: text/html
        Content-Length: 537
        Connection: keep-alive
        ETag: "51fbbaa1-219"
        
        <h1>An error occurred.</h1>
        <p>Sorry, the page you are looking for is currently unavailable.<br/>
        Please try again later.</p>
        

      If you check at the URLs, you'll see that in the first request, the é is encoded into %C3%A9 code (which is correct in UTF-8). But the Location: header in the response change this encoding to %E9 (ISO-8859-1), which is incorrect. That's why the redirection fail with this 502 HTTP status message:

      An error occurred.
      Sorry, the page you are looking for is currently unavailable.
      Please try again later.

            drulli Ulli Hafner
            flabrie Francis Labrie
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: