| Summary: | [Help][Search] If search word contains ":" then click on a search result shows empty page | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Eclipse Project] Platform | Reporter: | Holger Voormann <eclipse> | ||||
| Component: | User Assistance | Assignee: | platform-ua-inbox <platform-ua-inbox> | ||||
| Status: | VERIFIED FIXED | QA Contact: | |||||
| Severity: | normal | ||||||
| Priority: | P3 | CC: | cgold, ChrisAustin, helmut.haigermoser, mober.at+eclipse | ||||
| Version: | 3.7 | ||||||
| Target Milestone: | 3.8 M4 | ||||||
| Hardware: | PC | ||||||
| OS: | Windows XP | ||||||
| Whiteboard: | |||||||
| Attachments: |
|
||||||
CQ:WIND00315816 Guys, I've seen this as well, it's a very annoying bug preventing the usage of the help system for anything containing a colon character. Seems like John Arthorne was fixing something similar on the Orion front: https://bugs.eclipse.org/bugs/show_bug.cgi?id=336552 Can we get this fixed in 3.8? Here is the exception happening(1), looks like the colon is mis-interpreted as protocol delimiter. Let me know if I can do anything more, but the steps to reproduce are really easy and 100% reproducable on my Windows 7 as well... Helmut [1] error log entry(I was searching for the string 'NOTE:'): java.net.URISyntaxException: Illegal character in query at index 80: com.ibm.rational.clearcase.ccrc.nav.doc/topics/cc_ms_relnotes_stub.htm?resultof="NOTE:%22%20%22note%22%20 at java.net.URI$Parser.fail(Unknown Source) at java.net.URI$Parser.checkChars(Unknown Source) at java.net.URI$Parser.parseHierarchical(Unknown Source) at java.net.URI$Parser.parse(Unknown Source) at java.net.URI.<init>(Unknown Source) at org.eclipse.core.runtime.URIUtil.fromString(URIUtil.java:146) at org.eclipse.help.internal.webapp.servlet.EclipseConnector.transfer(EclipseConnector.java:111) at org.eclipse.help.internal.webapp.servlet.ContentServlet.doGet(ContentServlet.java:45) at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at org.eclipse.equinox.http.registry.internal.ServletManager$ServletWrapper.service(ServletManager.java:180) at org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61) at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:126) at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:68) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at org.eclipse.equinox.http.jetty.internal.HttpServerManager$InternalHttpServiceServlet.service(HttpServerManager.java:317) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:390) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:326) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:924) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409) at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582) Created attachment 207712 [details]
Patch in Git patch format
Fix: In org.eclipse.help.internal.webapp.servlet.EclipseConnector the query part of the URL must not be decoded (keep colons as "%3a" instead of decode them into ":")
Patch looks good, committed to master, integration. http://git.eclipse.org/c/platform/eclipse.platform.ua.git/commit/?id=14d1d9f99bd46c89562ab8552d69c8f13f470465 (In reply to comment #3) > Patch looks good, committed to master, integration. > > http://git.eclipse.org/c/platform/eclipse.platform.ua.git/commit/?id=14d1d9f99bd46c89562ab8552d69c8f13f470465 Thanks Chris! :) Good work Holger! :) Thx Chris. Could this patch also applied to the "R3_7_maintenance" branch to fix it in the 3.7.2 service release, too? (In reply to comment #5) > Could this patch also applied to the "R3_7_maintenance" branch to fix it in the > 3.7.2 service release, too? The maintenance releases are really reserved for serious problems (which I might define as security breaches, help not working as a whole, big regressions, etc). The ':' not working in search, albeit annoying, is not a major issue. To read up on the plan, see 'What is the game plan?' in this doc: http://eclipse.org/eclipse/development/plans/freeze_plan_3_7_1.php (In reply to comment #6) Probably, queries that contain colons are rarely used in normal documentation/help. Unfortunately, in documentation for a C++ library/framework colons are essential parts of the naming, e.g. a query like "std::cout" is not extraordinary. Also in XSLT and maybe in some transformation languages colons are part of the naming. I agree with Chris A in that this change is not one we want to make in a point release. The code being modified is a section that every call to the server goes through and it would be extremely difficult to assure ourselves that we have not introduced any regressions or security vulnerabilities. (In reply to comment #8) Okay, I understand. Thx for your quick response and for fixing it in HEAD/master. Verified in N20111130. |
Steps to reproduce (A): 1. Open Eclipse Help: Help > Help Contents 2. In "Search:" input field enter "See also:" + Click "Go" 3. Click on a search result Is: Empty topic page ("ContentViewFrame") Should: Same behavior as when searching for "See also" (without colon) Steps to reproduce (B): Online: <http://help.eclipse.org/indigo/topic/org.eclipse.platform.doc.user/tasks/welcome.htm?resultof=%22%53%65%65%22%20%22%73%65%65%22%20%22%61%6c%73%6f%3a%22%20%22%61%6c%73%6f%22%20> Is: Empty page Should: Similar to <http://help.eclipse.org/indigo/topic/org.eclipse.platform.doc.user/tasks/welcome.htm?resultof=%22%53%65%65%22%20%22%73%65%65%22%20%22%61%6c%73%6f%22%20> Probably, this problem exists since Helios: Galileo: okay <http://help.eclipse.org/galileo/topic/org.eclipse.platform.doc.user/tasks/welcome.htm?resultof=%22%53%65%65%22%20%22%73%65%65%22%20%22%61%6c%73%6f%3a%22%20%22%61%6c%73%6f%22%20> Helios: empty page <http://help.eclipse.org/helios/topic/org.eclipse.platform.doc.user/tasks/welcome.htm?resultof=%22%53%65%65%22%20%22%73%65%65%22%20%22%61%6c%73%6f%3a%22%20%22%61%6c%73%6f%22%20>