CDV ❯ Relative URLs passed to response.encodeURL() do not get jsessionid
-
Bug
-
Status: Closed
-
2 Major
-
Resolution: Fixed
-
Sessions
-
-
nadeem
-
Reporter: teck
-
July 03, 2008
-
0
-
Watchers: 0
-
August 27, 2008
-
July 06, 2008
Description
If a relative URL (ie. one without a scheme or a leading slash) is passed to one of the encodeXXX() methods of HttpServletResponse, AND terracotta sessions are in use, AND cookies are disabled – the encoded URL fails to include the “;jsesionid” path parameter. Absolute URLs work okay.
The problem stems from our use of java.net.URLEncoder which does not consider “/” as a safe character
Verified on 2.6.3
response.encodeRedirectUrl(relativeURL)/Cart;jsessionid=BB19800092A8F079423A.0 response.encodeRedirectUrl(absoluteURL)Cart;jsessionid=BB19800092A8F079423A.0 response.encodeRedirectURL(relativeURL)/Cart;jsessionid=BB19800092A8F079423A.0 response.encodeRedirectURL(absoluteURL)Cart;jsessionid=BB19800092A8F079423A.0 response.encodeUrl(relativeURL)/Cart;jsessionid=BB19800092A8F079423A.0 response.encodeUrl(absoluteURL)Cart;jsessionid=BB19800092A8F079423A.0 response.encodeURL(relativeURL)/Cart;jsessionid=BB19800092A8F079423A.0 response.encodeURL(absoluteURL)Cart;jsessionid=BB19800092A8F079423A.0