Uploaded image for project: 'WildFly'
  1. WildFly
  2. WFLY-2969

WildFly 8/Undertow 1 handles URL fragments differently than JBoss EAP 6.2/Apache-Coyote/1.1

    XMLWordPrintable

Details

    Description

      I have a bunch of URL tests, executed against EAP 6.2.0 directly and then proxied through mod_cluster 1.2.6. These all pass.

      I tried to run the same with Wildfly-8.0.1.Final-SNAPSHOT, HEAD:be3a13e6 with a surprising result of seeing some differences in how are various Request attributes reported from within the servlet:

      Here we go,8080 is where either EAP or WFLY listens:

        curl 'http://10.16.88.19:8080/clusterbench/requestinfo//?;?=44&test=OK;devil=3&&&&&&&&&&&&&&&&&&&&&&&&&&&&777=666'
      EAP Parameters map: {test=OK;devil=3, 777=666, ;?=44}
      WFY Parameters map: {=, 777=666, test=OK;devil=3, ;?=44}

      Note: Parameters map: {key=value, key=value, ..., ...}, so there is like an empty key and and empty value for WFLY....

      This is the CommonRequestInfoServlet.java that produced the output.

          Map params = request.getParameterMap();
          Iterator i = params.keySet().iterator();
          while (i.hasNext()) {
            String key = (String) i.next();
            String value = ((String[]) params.get(key))[0];
            responseText.append(key);
            responseText.append("=");
            responseText.append(value);
            if (i.hasNext()) responseText.append(", ");
          }
      

      It is, indeed, possible that these mangled URLs are slipping through the cracks of RFC and should be either "fixed" or URL encoded, yet I find the different interpretations disturbing.

      Attachments

        Activity

          People

            sdouglas1@redhat.com Stuart Douglas
            mbabacek1@redhat.com Michal Karm
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: