Uploaded image for project: 'Guacamole'
  1. Guacamole
  2. GUACAMOLE-385

HTTP tunnel uses incorrect content type for write operations

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 0.9.13-incubating
    • Fix Version/s: 0.9.14
    • Component/s: guacamole-common-js
    • Labels:
      None
    • Environment:
      Apache Tomcat >= 7
      Servlet 3.0

      Description

      Some implementations of the HTTP servlet request do not allow a free use of the getInputStream() and getParameter() methods. This is especially annoying in Apache Tomcat >= 7 and Servlet 3.0, where invoking the getParameter() method consumes the InputStream (making later uses of it fail) and consuming the InputStream makes later getParameter() calls fail to find the parameters, as the request body has been consumed.

      If the request parameters are accessed in the tunnel servlet or a previous filter, the doWrite method in the base HTTP tunnel servlet always gets an already consumed InputStream and does not write anything to the socket, causing an eventual timeout in the client.

      This only happens if the media type of the request is application/x-www-form-urlencoded.

      This is related to: GUAC-1252.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              nacx Ignasi Barrera
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: