You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by at...@apache.org on 2009/05/13 19:08:15 UTC
svn commit: r774437 -
/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/state/impl/JetspeedNavigationalStateCodec.java
Author: ate
Date: Wed May 13 17:08:15 2009
New Revision: 774437
URL: http://svn.apache.org/viewvc?rev=774437&view=rev
Log:
JS2-1011: NavigationalState Base64 encoding needs to escape '+' characters
See: https://issues.apache.org/jira/browse/JS2-1011
Modified:
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/state/impl/JetspeedNavigationalStateCodec.java
Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/state/impl/JetspeedNavigationalStateCodec.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/state/impl/JetspeedNavigationalStateCodec.java?rev=774437&r1=774436&r2=774437&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/state/impl/JetspeedNavigationalStateCodec.java (original)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/state/impl/JetspeedNavigationalStateCodec.java Wed May 13 17:08:15 2009
@@ -767,7 +767,7 @@
* Decodes a Base64 encoded string.
*
* Because the encoded string is used in an URL
- * the two '/' and '=' which has some significance in an URL
+ * the three '+', '/' and '=' which has some significance in an URL
* are encoded on top of the Base64 encoding and are first translated back before decoding.
*
* @param value
@@ -777,7 +777,7 @@
protected String decodeParameters(String value, String characterEncoding)
throws UnsupportedEncodingException
{
- value = value.replace('-','/').replace('_','=');
+ value = value.replace('-','/').replace('_','=').replace('.','+');
if ( characterEncoding != null )
{
return new String(Base64.decodeBase64(value.getBytes(characterEncoding)), characterEncoding);
@@ -792,7 +792,7 @@
* Encodes a string with Base64.
*
* Because the encoded string is used in an URL
- * the two '/' and '=' which has some significance in an URL
+ * the three '+', '/' and '=' which has some significance in an URL
* are encoded on top of/after the Base64 encoding
*
* @param value
@@ -809,7 +809,7 @@
{
value = new String(Base64.encodeBase64(value.getBytes()));
}
- return value.replace('/','-').replace('=','_');
+ return value.replace('/','-').replace('=','_').replace('+','.');
}
protected String encodeArgument( String argument, char terminator )
---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org