You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Xiaoyu Huang (JIRA)" <ji...@apache.org> on 2008/04/18 19:44:21 UTC
[jira] Created: (WICKET-1552) FormComponent.setPersistent doesn't
support Asian characters
FormComponent.setPersistent doesn't support Asian characters
------------------------------------------------------------
Key: WICKET-1552
URL: https://issues.apache.org/jira/browse/WICKET-1552
Project: Wicket
Issue Type: Bug
Components: wicket
Affects Versions: 1.3.3
Environment: Tomcat 6.0.16, Windows 2003, JDK 6U5
Reporter: Xiaoyu Huang
Tomcat doesn't support Control characters in cookie value. But Asian characters in UTF-8 do have many such characters. So if a form is going to save Asian characters in text field into cookies, tomcat will through an exception:
java.lang.IllegalArgumentException: Control character in cookie value, consider BASE64 encoding your value
at org.apache.tomcat.util.http.ServerCookie.maybeQuote2(ServerCookie.java:336)
at org.apache.tomcat.util.http.ServerCookie.appendCookieValue(ServerCookie.java:251)
at org.apache.catalina.connector.Response.addCookieInternal(Response.java:976)
at org.apache.catalina.connector.Response.addCookie(Response.java:945)
at org.apache.catalina.connector.ResponseFacade.addCookie(ResponseFacade.java:343)
at org.apache.wicket.protocol.http.WebResponse.addCookie(WebResponse.java:86)
at org.apache.wicket.markup.html.form.persistence.CookieValuePersister.save(CookieValuePersister.java:271)
at org.apache.wicket.markup.html.form.persistence.CookieValuePersister.save(CookieValuePersister.java:96)
at org.apache.wicket.markup.html.form.Form$11.onFormComponent(Form.java:1228)
at org.apache.wicket.markup.html.form.FormComponent$AbstractVisitor.formComponent(FormComponent.java:107)
at org.apache.wicket.markup.html.form.FormComponent.visitFormComponentsPostOrderHelper(FormComponent.java:421)
at org.apache.wicket.markup.html.form.FormComponent.visitFormComponentsPostOrderHelper(FormComponent.java:408)
at org.apache.wicket.markup.html.form.FormComponent.visitFormComponentsPostOrder(FormComponent.java:385)
at org.apache.wicket.markup.html.form.Form.visitFormComponentsPostOrder(Form.java:1026)
at org.apache.wicket.markup.html.form.Form.persistFormComponentData(Form.java:1217)
at org.apache.wicket.markup.html.form.Form.process(Form.java:834)
at org.apache.wicket.markup.html.form.Form.onFormSubmitted(Form.java:773)
So i think wicket should BASE64 encode form field values before saving to cookies.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Resolved: (WICKET-1552) FormComponent.setPersistent doesn't
support Asian characters
Posted by "Igor Vaynberg (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/WICKET-1552?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Igor Vaynberg resolved WICKET-1552.
-----------------------------------
Resolution: Won't Fix
Assignee: Igor Vaynberg
we are removing support for formcomponent.setpersistent in the coming version. you are better off implementing this yourself.
> FormComponent.setPersistent doesn't support Asian characters
> ------------------------------------------------------------
>
> Key: WICKET-1552
> URL: https://issues.apache.org/jira/browse/WICKET-1552
> Project: Wicket
> Issue Type: Bug
> Components: wicket
> Affects Versions: 1.3.3
> Environment: Tomcat 6.0.16, Windows 2003, JDK 6U5
> Reporter: Xiaoyu Huang
> Assignee: Igor Vaynberg
>
> Tomcat doesn't support Control characters in cookie value. But Asian characters in UTF-8 do have many such characters. So if a form is going to save Asian characters in text field into cookies, tomcat will through an exception:
> java.lang.IllegalArgumentException: Control character in cookie value, consider BASE64 encoding your value
> at org.apache.tomcat.util.http.ServerCookie.maybeQuote2(ServerCookie.java:336)
> at org.apache.tomcat.util.http.ServerCookie.appendCookieValue(ServerCookie.java:251)
> at org.apache.catalina.connector.Response.addCookieInternal(Response.java:976)
> at org.apache.catalina.connector.Response.addCookie(Response.java:945)
> at org.apache.catalina.connector.ResponseFacade.addCookie(ResponseFacade.java:343)
> at org.apache.wicket.protocol.http.WebResponse.addCookie(WebResponse.java:86)
> at org.apache.wicket.markup.html.form.persistence.CookieValuePersister.save(CookieValuePersister.java:271)
> at org.apache.wicket.markup.html.form.persistence.CookieValuePersister.save(CookieValuePersister.java:96)
> at org.apache.wicket.markup.html.form.Form$11.onFormComponent(Form.java:1228)
> at org.apache.wicket.markup.html.form.FormComponent$AbstractVisitor.formComponent(FormComponent.java:107)
> at org.apache.wicket.markup.html.form.FormComponent.visitFormComponentsPostOrderHelper(FormComponent.java:421)
> at org.apache.wicket.markup.html.form.FormComponent.visitFormComponentsPostOrderHelper(FormComponent.java:408)
> at org.apache.wicket.markup.html.form.FormComponent.visitFormComponentsPostOrder(FormComponent.java:385)
> at org.apache.wicket.markup.html.form.Form.visitFormComponentsPostOrder(Form.java:1026)
> at org.apache.wicket.markup.html.form.Form.persistFormComponentData(Form.java:1217)
> at org.apache.wicket.markup.html.form.Form.process(Form.java:834)
> at org.apache.wicket.markup.html.form.Form.onFormSubmitted(Form.java:773)
> So i think wicket should BASE64 encode form field values before saving to cookies.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.