-
Bug
-
Resolution: Fixed
-
High
-
None
-
None
-
None
NOTE: This bug report is for JIRA Service Desk Server. Using JIRA Service Desk Cloud? See the corresponding bug report.
When a user has whitespace in the username, if he enters Service Desk Customer Portal and starts typing something, a red text saying "Something went wrong, either your query is invalid or we cannot contact the knowledge base" appears under the input field. Apparently the white space in the user name leads to an invalid REST URL, because the white space is not escaped. On the atlassian-jira.log, the following exception appears:
2015-01-26 14:16:00,821 http-bio-8081-exec-6 ERROR Boyan Angelov 856x15102x1 4smnlk 192.168.180.208,0:0:0:0:0:0:0:1 /rest/servicedesk/1/servicedesk/sharedportal/kb [common.error.jersey.ThrowableExceptionMapper] Uncaught exception thrown by REST service: Illegal character in query at index 143: http://<our conf urlhere>/confluence/rest/knowledge-base/1.0/search?type=page&queryString=How+AND+%28spacekey%3AITKB%29&xoauth_requestor_id=Boyan Angelov
java.lang.IllegalArgumentException: Illegal character in query at index 143: http://our conf urlhere/confluence/rest/knowledge-base/1.0/search?type=page&queryString=How+AND+%28spacekey%3AITKB%29&xoauth_requestor_id=Boyan Angelov
at java.net.URI.create(URI.java:859)
at com.atlassian.sal.core.net.HttpClientProtocolConfig.changeHostConfigurationProtocol(HttpClientProtocolConfig.java:43)
at com.atlassian.sal.core.net.HttpClientProtocolConfig.configureProtocol(HttpClientProtocolConfig.java:20)
at com.atlassian.sal.core.net.HttpClientRequest.configureProtocol(HttpClientRequest.java:532)
at com.atlassian.sal.core.net.HttpClientRequest.setUrl(HttpClientRequest.java:135)
at com.atlassian.sal.core.net.HttpClientRequest.setUrl(HttpClientRequest.java:71)
at com.atlassian.plugins.rest.module.jersey.JerseyRequest.setUrl(JerseyRequest.java:57)
at com.atlassian.plugins.rest.module.jersey.JerseyRequest.setUrl(JerseyRequest.java:21)
at com.atlassian.applinks.core.auth.ApplicationLinkRequestAdaptor.setUrl(ApplicationLinkRequestAdaptor.java:134)
at com.atlassian.applinks.core.auth.ApplicationLinkRequestAdaptor.setUrl(ApplicationLinkRequestAdaptor.java:20)
at com.atlassian.applinks.core.auth.oauth.twolo.impersonation.TwoLeggedOAuthWithImpersonationRequest.signRequest(TwoLeggedOAuthWithImpersonationRequest.java:43)
at com.atlassian.applinks.core.auth.oauth.OAuthRequest.execute(OAuthRequest.java:42)
at com.atlassian.servicedesk.internal.feature.applink.ServiceDeskAppLinkService$$anonfun$$$$2e4d9bfcbf67a9959addb7bb93b6ebe$$$$cuteRequestFor$2$$anonfun$apply$10$$anonfun$apply$12.apply(ServiceDeskAppLinkService.scala:114)
at com.atlassian.servicedesk.internal.feature.applink.ServiceDeskAppLinkService$$anonfun$$$$2e4d9bfcbf67a9959addb7bb93b6ebe$$$$cuteRequestFor$2$$anonfun$apply$10$$anonfun$apply$12.apply(ServiceDeskAppLinkService.scala:113)
at scalaz.$bslash$div$class.flatMap(Either.scala:117)
at scalaz.$bslash$div$minus.flatMap(Either.scala:283)
at com.atlassian.servicedesk.internal.feature.applink.ServiceDeskAppLinkService$$anonfun$$$$2e4d9bfcbf67a9959addb7bb93b6ebe$$$$cuteRequestFor$2$$anonfun$apply$10.apply(ServiceDeskAppLinkService.scala:113)
at com.atlassian.servicedesk.internal.feature.applink.ServiceDeskAppLinkService$$anonfun$$$$2e4d9bfcbf67a9959addb7bb93b6ebe$$$$cuteRequestFor$2$$anonfun$apply$10.apply(ServiceDeskAppLinkService.scala:112)
at scalaz.$bslash$div$class.flatMap(Either.scala:117)
at scalaz.$bslash$div$minus.flatMap(Either.scala:283)
at com.atlassian.servicedesk.internal.feature.applink.ServiceDeskAppLinkService$$anonfun$com$atlassian$servicedesk$internal$feature$applink$ServiceDeskAppLinkService$$executeRequestFor$2.apply(ServiceDeskAppLinkService.scala:112)
at com.atlassian.servicedesk.internal.feature.applink.ServiceDeskAppLinkService$$anonfun$com$atlassian$servicedesk$internal$feature$applink$ServiceDeskAppLinkService$$executeRequestFor$2.apply(ServiceDeskAppLinkService.scala:111)
at scalaz.$bslash$div$class.flatMap(Either.scala:117)
at scalaz.$bslash$div$minus.flatMap(Either.scala:283)
at com.atlassian.servicedesk.internal.feature.applink.ServiceDeskAppLinkService.com$atlassian$servicedesk$internal$feature$applink$ServiceDeskAppLinkService$$executeRequestFor(ServiceDeskAppLinkService.scala:111)
at com.atlassian.servicedesk.internal.feature.applink.ServiceDeskAppLinkService$$anonfun$makeGetRequestForMultipleProjects$1$$anonfun$apply$4.apply(ServiceDeskAppLinkService.scala:91)
at com.atlassian.servicedesk.internal.feature.applink.ServiceDeskAppLinkService$$anonfun$makeGetRequestForMultipleProjects$1$$anonfun$apply$4.apply(ServiceDeskAppLinkService.scala:90)
at scalaz.$bslash$div$class.flatMap(Either.scala:117)
at scalaz.$bslash$div$minus.flatMap(Either.scala:283)
at com.atlassian.servicedesk.internal.feature.applink.ServiceDeskAppLinkService$$anonfun$makeGetRequestForMultipleProjects$1.apply(ServiceDeskAppLinkService.scala:90)
at com.atlassian.servicedesk.internal.feature.applink.ServiceDeskAppLinkService$$anonfun$makeGetRequestForMultipleProjects$1.apply(ServiceDeskAppLinkService.scala:89)
at scalaz.$bslash$div$class.flatMap(Either.scala:117)
at scalaz.$bslash$div$minus.flatMap(Either.scala:283)
at com.atlassian.servicedesk.internal.feature.applink.ServiceDeskAppLinkService.makeGetRequestForMultipleProjects(ServiceDeskAppLinkService.scala:89)
at com.atlassian.servicedesk.internal.rest.SharedPortalSearchResource$$anonfun$2$$anonfun$apply$2$$anonfun$apply$3$$anonfun$apply$5.apply(SharedPortalSearchResource.scala:44)
at com.atlassian.servicedesk.internal.rest.SharedPortalSearchResource$$anonfun$2$$anonfun$apply$2$$anonfun$apply$3$$anonfun$apply$5.apply(SharedPortalSearchResource.scala:42)
at scalaz.$bslash$div$class.flatMap(Either.scala:117)
at scalaz.$bslash$div$minus.flatMap(Either.scala:283)
at com.atlassian.servicedesk.internal.rest.SharedPortalSearchResource$$anonfun$2$$anonfun$apply$2$$anonfun$apply$3.apply(SharedPortalSearchResource.scala:42)
at com.atlassian.servicedesk.internal.rest.SharedPortalSearchResource$$anonfun$2$$anonfun$apply$2$$anonfun$apply$3.apply(SharedPortalSearchResource.scala:41)
at scalaz.$bslash$div$class.flatMap(Either.scala:117)
at scalaz.$bslash$div$minus.flatMap(Either.scala:283)
at com.atlassian.servicedesk.internal.rest.SharedPortalSearchResource$$anonfun$2$$anonfun$apply$2.apply(SharedPortalSearchResource.scala:41)
at com.atlassian.servicedesk.internal.rest.SharedPortalSearchResource$$anonfun$2$$anonfun$apply$2.apply(SharedPortalSearchResource.scala:37)
at scalaz.$bslash$div$class.flatMap(Either.scala:117)
at scalaz.$bslash$div$minus.flatMap(Either.scala:283)
at com.atlassian.servicedesk.internal.rest.SharedPortalSearchResource$$anonfun$2.apply(SharedPortalSearchResource.scala:37)
at com.atlassian.servicedesk.internal.rest.SharedPortalSearchResource$$anonfun$2.apply(SharedPortalSearchResource.scala:36)
at scalaz.$bslash$div$class.flatMap(Either.scala:117)
at scalaz.$bslash$div$minus.flatMap(Either.scala:283)
at com.atlassian.servicedesk.internal.rest.SharedPortalSearchResource.getArticlesForSharedPortal(SharedPortalSearchResource.scala:36) <+3> (NativeMethodAccessorImpl.java:57) (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606) <+19> (DispatchProviderHelper.java:234) (DispatchProviderHelper.java:100) (DefaultMethodInvocation.java:61) (ExpandInterceptor.java:38) (DefaultMethodInvocation.java:61) (DispatchProviderHelper.java:132) (DispatchProviderHelper.java:230) (ResourceJavaMethodDispatcher.java:75) (HttpMethodRule.java:288) (RightHandPathRule.java:147) (ResourceClassRule.java:108) (RightHandPathRule.java:147) (RootResourceClassesRule.java:84) (WebApplicationImpl.java:1469) (WebApplicationImpl.java:1400) (WebApplicationImpl.java:1349) (WebApplicationImpl.java:1339) (WebComponent.java:416) (ServletContainer.java:537)
at com.atlassian.plugins.rest.module.RestDelegatingServletFilter$JerseyOsgiServletContainer.doFilter(RestDelegatingServletFilter.java:178) <+1> (ServletContainer.java:795)
at com.atlassian.plugins.rest.module.RestDelegatingServletFilter.doFilter(RestDelegatingServletFilter.java:73) <+7> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (ServletFilterModuleContainerFilter.java:77) (ServletFilterModuleContainerFilter.java:63) (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70)
at com.atlassian.jira.tzdetect.IncludeResourcesFilter.doFilter(IncludeResourcesFilter.java:39) <+3> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70)
at com.atlassian.jira.baseurl.IncludeResourcesFilter.doFilter(IncludeResourcesFilter.java:38) <+13> (AbstractHttpFilter.java:31) (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) (RestServletUtilsUpdaterFilter.java:26) (RestServletUtilsUpdaterFilter.java:40) (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) (ContextFilter.java:25) (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70)
at com.atlassian.servicedesk.internal.web.RedirectExternalCustomerToPortalFilter.doFilter(RedirectExternalCustomerToPortalFilter.scala:18) <+4> (AbstractHttpFilter.java:31) (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70)
at com.atlassian.mywork.client.filter.ServingRequestsFilter.doFilter(ServingRequestsFilter.java:37) <+3> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70)
at com.atlassian.plugins.cors.CorsFilter.doFilter(CorsFilter.java:65) <+3> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70)
at com.atlassian.prettyurls.filter.PrettyUrlsSiteMeshFixupFilter.doFilter(PrettyUrlsSiteMeshFixupFilter.java:36) <+3> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70)
at com.atlassian.prettyurls.filter.PrettyUrlsDispatcherFilter.doFilter(PrettyUrlsDispatcherFilter.java:60) <+3> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70)
at com.atlassian.prettyurls.filter.PrettyUrlsSiteMeshFilter.doFilter(PrettyUrlsSiteMeshFilter.java:92) <+3> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70)
at com.atlassian.prettyurls.filter.PrettyUrlsMatcherFilter.doFilter(PrettyUrlsMatcherFilter.java:56) <+3> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70)
at com.atlassian.labs.botkiller.BotKillerFilter.doFilter(BotKillerFilter.java:36) <+18> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (ServletFilterModuleContainerFilter.java:77) (ServletFilterModuleContainerFilter.java:63) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (AccessLogFilter.java:103) (AccessLogFilter.java:87) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (XsrfTokenAdditionRequestFilter.java:54) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (ChainedFilterStepRunner.java:87) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (IteratingFilterChain.java:46) (DelegatingPluginFilter.java:70)
at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:61) <+22> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (ServletFilterModuleContainerFilter.java:77) (ServletFilterModuleContainerFilter.java:63) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (SecurityFilter.java:239) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (TrustedApplicationsFilter.java:100) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (BaseLoginFilter.java:172) (JiraLoginFilter.java:70) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (IteratingFilterChain.java:46) (DelegatingPluginFilter.java:70) (OAuthFilter.java:69) (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70)
at com.atlassian.plugins.rest.module.servlet.RestSeraphFilter.doFilter(RestSeraphFilter.java:40) <+3> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70)
at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:61) <+9> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (ServletFilterModuleContainerFilter.java:77) (ServletFilterModuleContainerFilter.java:63) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (AbstractJohnsonFilter.java:71) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208)
at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)
at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92) <+10> (UrlRewriteFilter.java:394) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (GzipFilter.java:82) (GzipFilter.java:59) (JiraGzipFilter.java:55) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (IteratingFilterChain.java:46) (DelegatingPluginFilter.java:70)
at com.atlassian.analytics.client.filter.JiraAnalyticsFilter.doFilter(JiraAnalyticsFilter.java:41) <+4> (AbstractHttpFilter.java:31) (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70)
at com.atlassian.servicedesk.internal.web.PortalContextSetter$$anonfun$doFilter$1.apply$mcV$sp(PortalContextSetter.scala:12)
at com.atlassian.servicedesk.internal.web.PortalContextSetter$$anonfun$doFilter$1.apply(PortalContextSetter.scala:11)
at com.atlassian.servicedesk.internal.web.PortalContextSetter$$anonfun$doFilter$1.apply(PortalContextSetter.scala:11)
at com.atlassian.servicedesk.internal.utils.context.PortalContextUtil$.inPortalContextWithParam(PortalContextUtil.scala:32)
at com.atlassian.servicedesk.internal.utils.context.PortalContextUtil$.inPortalContext(PortalContextUtil.scala:24)
at com.atlassian.servicedesk.internal.web.PortalContextSetter.doFilter(PortalContextSetter.scala:11) <+4> (AbstractHttpFilter.java:31) (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70)
at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:61) <+40> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (ServletFilterModuleContainerFilter.java:77) (ServletFilterModuleContainerFilter.java:63) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (ChainedFilterStepRunner.java:87) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (AbstractCachingFilter.java:33) (AbstractHttpFilter.java:31) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (AbstractEncodingFilter.java:41) (AbstractHttpFilter.java:31) (PathMatchingEncodingFilter.java:45) (AbstractHttpFilter.java:31) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (JiraStartupChecklistFilter.java:79) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (MultipartBoundaryCheckFilter.java:41) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (ChainedFilterStepRunner.java:87) (JiraFirstFilter.java:60) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (StandardWrapperValve.java:220) (StandardContextValve.java:122) (AuthenticatorBase.java:501) (StandardHostValve.java:171) (ErrorReportValve.java:103) (StandardEngineValve.java:116) (AccessLogValve.java:950) (CoyoteAdapter.java:408) (AbstractHttp11Processor.java:1070) (AbstractProtocol.java:611) (JIoEndpoint.java:316)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.net.URISyntaxException: Illegal character in query at index 143: http://our conf urlhere/confluence/rest/knowledge-base/1.0/search?type=page&queryString=How+AND+%28spacekey%3AITKB%29&xoauth_requestor_id=Boyan Angelov
at java.net.URI$Parser.fail(URI.java:2829)
at java.net.URI$Parser.checkChars(URI.java:3002)
at java.net.URI$Parser.parseHierarchical(URI.java:3092)
at java.net.URI$Parser.parse(URI.java:3034)
at java.net.URI.<init>(URI.java:595)
... 259 more
- relates to
-
JSDCLOUD-1410 Users with Whitespace in username cannot search Knowledge base
-
- Closed
-
- is duplicated by
-
APL-1256 Loading...