You are viewing a plain text version of this content. The canonical link for it is here.
Posted to pluto-dev@portals.apache.org by "Neil Griffin (JIRA)" <ji...@apache.org> on 2016/12/22 16:25:59 UTC

[jira] [Created] (PLUTO-651) PortalURLParserImpl.java incorrectly encodes/decodes forward slash characters

Neil Griffin created PLUTO-651:
----------------------------------

             Summary: PortalURLParserImpl.java incorrectly encodes/decodes forward slash characters
                 Key: PLUTO-651
                 URL: https://issues.apache.org/jira/browse/PLUTO-651
             Project: Pluto
          Issue Type: Bug
          Components: portlet container
    Affects Versions: 3.0.0
            Reporter: Neil Griffin


The FacesBridge TCK TestPage071: nonFacesResourceTest executes the following as part of the test:
{code:java}
ResourceURL resourceURL = createResourceURL(facesContext);
resourceURL.setResourceID("/tck/nonFacesResource");
String url = resourceURL.toString();
{code}

For *Pluto 2.0* the value of {{url}} was:
{noformat}
http://localhost:8080/pluto/portal/TestPage071
/__rscom0x2liferay0x2faces0x2test0x2bridge0x2tck0x2main0x2portlet0x2chapter50x12Tests-nonFacesResourceTest-portlet!471674121%7C0
/__ri0x3tck0x3nonFacesResource
/__pmcom0x2liferay0x2faces0x2test0x2bridge0x2tck0x2main0x2portlet0x2chapter50x12Tests-nonFacesResourceTest-portlet!471674121%7C0_view
/__wscom0x2liferay0x2faces0x2test0x2bridge0x2tck0x2main0x2portlet0x2chapter50x12Tests-nonFacesResourceTest-portlet!471674121%7C0_normal
/__pr_chapter5_2Tests-nonFacesResourceTest-portletcom.liferay.faces.bridge.bridgeRequestScopeId
/chapter50x12Tests-nonFacesResourceTest-portlet0xc3A0xc3A0xc3A5287BEBEF949829C7F12616CA7EF1B7B0xc3A0xc3A0xc3A1482361392468
{noformat}

But in *Pluto 3.0* the value is:
{noformat}
http://localhost:8080/pluto/portal/TestPage071
/__pdcom.liferay.faces.test.bridge.tck.main.portlet.chapter5_2Tests-nonFacesResourceTest-portlet%21471674121%7C0;0
/__rs0
/__clcacheLevelPage
/__ri%2Ftck%2FnonFacesResource
/__rp0;chapter5_2Tests-nonFacesResourceTest-portletcom.liferay.faces.bridge.bridgeRequestScopeId:chapter5_2Tests-nonFacesResourceTest-portlet%3A%3A%3A87AE28B622503E4C8BAC99770BBD56EF%3A%3A%3A1482361063580
{noformat}

The important difference for this issue, is that with Pluto 2.0 the forward slashes in "/tck/nonFacesResource" are encoded as "0x3" whereas in Pluto 3.0 they are encoded as "%2F"

The problem is that Tomcat treats the presence of "%2F" in the URL as the same as a forward slash character, which causes the Pluto PortletDriverServlet.java class to not get invoked.




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)