Community
Participate
Working Groups
Build Identifier: 7.4.4 Not sure, but maybe this fix "351199 HttpServletResponse.encodeURL() wrongly encodes an url without path when cookies are disabled" is responsibly for this problem. java.lang.IllegalArgumentException: !(SCHEME|PATH|AUTH):./?wicket:interface=:1:1:::: at org.eclipse.jetty.http.HttpURI.parse2(HttpURI.java:243) Reproducible: Always Steps to Reproduce: This error is thrown in a testcase. where I first: 1. delete all visible cookies 2. Open a page with a relative url like '../' or './'
java.lang.IllegalArgumentException: !(SCHEME|PATH|AUTH):./?wicket:interface=:1:1:::: at org.eclipse.jetty.http.HttpURI.parse2(HttpURI.java:243) at org.eclipse.jetty.http.HttpURI.parse(HttpURI.java:110) at org.eclipse.jetty.http.HttpURI.<init>(HttpURI.java:92) at org.eclipse.jetty.server.Response.encodeURL(Response.java:204) at org.apache.wicket.protocol.http.WebResponse.encodeURL(WebResponse.java:137) at org.apache.wicket.protocol.http.request.urlcompressing.UrlCompressingWebCodingStrategy.encode(UrlCompressingWebCodingStrategy.java:143) at org.apache.wicket.protocol.http.request.WebRequestCodingStrategy.encode(WebRequestCodingStrategy.java:296) at de.ponton.cmh.ui.base.components.wicket.BaseWebApplication$1$1.encode(BaseWebApplication.java:138) at org.apache.wicket.RequestCycle.encodeUrlFor(RequestCycle.java:811) at org.apache.wicket.RequestCycle.urlFor(RequestCycle.java:943) at org.apache.wicket.RequestCycle.urlFor(RequestCycle.java:976) at org.apache.wicket.Component.urlFor(Component.java:3445) at org.apache.wicket.markup.html.link.Link.getURL(Link.java:376) at org.apache.wicket.markup.html.link.Link.onComponentTag(Link.java:417) at org.apache.wicket.Component.renderComponent(Component.java:2661) at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1539) at org.apache.wicket.Component.render(Component.java:2521) at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1441) at org.apache.wicket.MarkupContainer.renderAll(MarkupContainer.java:1555) at org.apache.wicket.Page.onRender(Page.java:1594) at org.apache.wicket.Component.render(Component.java:2521) at org.apache.wicket.Page.renderPage(Page.java:932) at org.apache.wicket.request.target.component.PageRequestTarget.respond(PageRequestTarget.java:63) at org.apache.wicket.request.AbstractRequestCycleProcessor.respond(AbstractRequestCycleProcessor.java:105) at org.apache.wicket.RequestCycle.respond(RequestCycle.java:1267) at org.apache.wicket.RequestCycle.step(RequestCycle.java:1334) at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1436) at org.apache.wicket.RequestCycle.request(RequestCycle.java:545) at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:486) at org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:138) at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:538) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1352) at de.ponton.cmh.ui.base.components.auth.AuthenticationFilter.doFilter(AuthenticationFilter.java:98) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1323) at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1323) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:476) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:517) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:225) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:937) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:406) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:183) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:871) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:110) at org.eclipse.jetty.server.Server.handle(Server.java:346) at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:589) at org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:1048) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:601) at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:214) at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:411) at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:535) at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:40) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:529) at java.lang.Thread.run(Unknown Source)
Greg, Can you take a look at the HttpURI parser ... we are now parsing uris in Response.encodeURL() (for bug #351199) where we might not have before. The example url does not seem to parse correctly. Jan
I have fixed this in HEAD and it will be in 7.5.0. The question is, do we need to make a 7.4.5 for this also?