Uploaded image for project: 'Wicket'
  1. Wicket
  2. WICKET-2842

cookies are not base64 encoded by default

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Won't Fix
    • 1.4.7
    • None
    • wicket
    • Betriebsystemname Microsoft Windows Server 2008 R2 Standard
      Version 6.1.7600 Build 7600

    Description

      The rememberMe cookie value can contain spezail chars like german umlauts (öäü..). Use the default SignInPanel and try a username with umlauts. All cookies should stored base64 encoded by default.

      Stacktrace:

      Unexpected RuntimeException

      WicketMessage: Method onFormSubmitted of interface org.apache.wicket.markup.html.form.IFormSubmitListener targeted at component [MarkupContainer [Component id = signInForm]] threw an exception

      Root cause:

      java.lang.IllegalArgumentException: Control character in cookie value, consider BASE64 encoding your value
      at org.apache.tomcat.util.http.ServerCookie.maybeQuote2(ServerCookie.java:396)
      at org.apache.tomcat.util.http.ServerCookie.maybeQuote2(ServerCookie.java:389)
      at org.apache.tomcat.util.http.ServerCookie.appendCookieValue(ServerCookie.java:293)
      at org.apache.catalina.connector.Response.addCookieInternal(Response.java:1010)
      at org.apache.catalina.connector.Response.addCookieInternal(Response.java:979)
      at org.apache.catalina.connector.Response.addCookie(Response.java:967)
      at org.apache.catalina.connector.ResponseFacade.addCookie(ResponseFacade.java:343)
      at org.apache.wicket.protocol.http.WebResponse.addCookie(WebResponse.java:87)
      at org.apache.wicket.markup.html.form.persistence.CookieValuePersister.save(CookieValuePersister.java:260)
      at org.apache.wicket.markup.html.form.persistence.CookieValuePersister.save(CookieValuePersister.java:131)
      at org.apache.wicket.markup.html.form.persistence.CookieValuePersister.save(CookieValuePersister.java:139)
      at org.apache.wicket.markup.html.form.Form$13.onFormComponent(Form.java:1445)
      at org.apache.wicket.markup.html.form.FormComponent$AbstractVisitor.formComponent(FormComponent.java:112)
      at org.apache.wicket.markup.html.form.FormComponent.visitFormComponentsPostOrderHelper(FormComponent.java:441)
      at org.apache.wicket.markup.html.form.FormComponent.visitFormComponentsPostOrderHelper(FormComponent.java:428)
      at org.apache.wicket.markup.html.form.FormComponent.visitFormComponentsPostOrder(FormComponent.java:400)
      at org.apache.wicket.markup.html.form.Form.visitFormComponentsPostOrder(Form.java:1209)
      at org.apache.wicket.markup.html.form.Form.persistFormComponentData(Form.java:1433)
      at org.apache.wicket.markup.html.form.Form.process(Form.java:1007)
      at org.apache.wicket.markup.html.form.StatelessForm.process(StatelessForm.java:63)
      at org.apache.wicket.markup.html.form.Form.process(Form.java:931)
      at org.apache.wicket.markup.html.form.Form.onFormSubmitted(Form.java:896)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:182)
      at org.apache.wicket.request.target.component.BookmarkableListenerInterfaceRequestTarget.processEvents(BookmarkableListenerInterfaceRequestTarget.java:161)
      at org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:92)
      at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1250)
      at org.apache.wicket.RequestCycle.step(RequestCycle.java:1329)
      at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1428)
      at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)
      at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:479)
      at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:312)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at de.kbs.web.filter.SessionTimeoutFilter.doFilter(SessionTimeoutFilter.java:53)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:113)
      at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
      at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
      at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
      at java.lang.Thread.run(Thread.java:619)

      Attachments

        Issue Links

          Activity

            People

              ivaynberg Igor Vaynberg
              treffkorn Jan Treffkorn
              Votes:
              2 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: