Bug #11937
closedTask #11847: APIM 420 related bugs and improvements
cannot install and validation errors when apk file and screenshots name has a space on it
100%
Description
Environment details
6.2.4.0 local pack
Prerequisites
Cope enrolled device
Steps
create a app with a apk having spaces in the apk name.
EX: Notepad - simple notes_1.33.1_APKPure.apk
Description
When created a app, which apk file name has a space on it, it throws  couple of errors in the error log.
Error log:  [1]
Error log can be recreate by clicking on app card(app version) of the app [2]
Also cannot download the apk by clicking on download button from app store due to space.
Note: Screenshots also are not showing if the name has a space on it [3]
Result
[1]
[2024-09-12 12:04:53,492] ERROR - AuthenticationValve Error while normalizing the request URI to process the authentication: 
java.net.URISyntaxException: Illegal character in path at index 85: /api/application-mgt/v1.0/artifact/-1234/be9798f2ad35f65820225f9264c89560/app/Notepad - simple notes_1.33.1_APKPure.apk
    at java.net.URI$Parser.fail(URI.java:2913) ~[?:?]
    at java.net.URI$Parser.checkChars(URI.java:3084) ~[?:?]
    at java.net.URI$Parser.parseHierarchical(URI.java:3166) ~[?:?]
    at java.net.URI$Parser.parse(URI.java:3125) ~[?:?]
    at java.net.URI.<init>(URI.java:600) ~[?:?]
    at org.wso2.carbon.identity.auth.service.util.AuthConfigurationUtil.getNormalizedRequestURI(AuthConfigurationUtil.java:346) ~[org.wso2.carbon.identity.auth.service_1.7.1.2.jar:?]
    at org.wso2.carbon.identity.auth.valve.AuthenticationValve.invoke(AuthenticationValve.java:105) ~[org.wso2.carbon.identity.auth.valve_1.7.1.2.jar:?]
    at org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:106) ~[org.wso2.carbon.tomcat.ext_4.8.1.jar:?]
    at org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve$1.invoke(CarbonTomcatValve.java:47) ~[org.wso2.carbon.tomcat.ext_4.8.1.jar:?]
    at io.entgra.device.mgt.core.webapp.authenticator.framework.WebappAuthenticationValve.invoke(WebappAuthenticationValve.java:86) ~[io.entgra.device.mgt.core.webapp.authenticator.framework_5.2.4.SNAPSHOT.jar:?]
    at org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:47) ~[org.wso2.carbon.tomcat.ext_4.8.1.jar:?]
    at org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:67) ~[org.wso2.carbon.tomcat.ext_4.8.1.jar:?]
    at org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:152) ~[org.wso2.carbon.tomcat.ext_4.8.1.jar:?]
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:670) ~[tomcat_9.0.85.wso2v1.jar:?]
    at org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:63) ~[org.wso2.carbon.tomcat.ext_4.8.1.jar:?]
    at org.wso2.carbon.tomcat.ext.valves.RequestCorrelationIdValve.invoke(RequestCorrelationIdValve.java:137) ~[org.wso2.carbon.tomcat.ext_4.8.1.jar:?]
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) ~[tomcat_9.0.85.wso2v1.jar:?]
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) ~[tomcat_9.0.85.wso2v1.jar:?]
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:390) ~[tomcat_9.0.85.wso2v1.jar:?]
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat_9.0.85.wso2v1.jar:?]
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:928) ~[tomcat_9.0.85.wso2v1.jar:?]
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1794) ~[tomcat_9.0.85.wso2v1.jar:?]
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat_9.0.85.wso2v1.jar:?]
    at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat_9.0.85.wso2v1.jar:?]
    at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat_9.0.85.wso2v1.jar:?]
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat_9.0.85.wso2v1.jar:?]
    at java.lang.Thread.run(Thread.java:829) [?:?]
[2]![[2] [2]](/attachments/download/4152/Screenshot%20from%202024-09-12%2012-15-20.png)
[3]![[3] [3]](/attachments/download/4194/Screenshot%20from%202024-09-24%2008-38-12.png)
Files
       Updated by Rajitha  Kumara about 1 year ago
      Updated by Rajitha  Kumara about 1 year ago
      
    
    Add the URL encoded App name when creating downloadable links
       Updated by Arshana Atapattu about 1 year ago
      Updated by Arshana Atapattu about 1 year ago
      
    
    - File Screenshot from 2024-09-24 08-38-12.png Screenshot from 2024-09-24 08-38-12.png added
- Subject changed from cannot install and validation errors when apk file name has a space on it to cannot install and validation errors when apk file and screenshots name has a space on it
- Description updated (diff)
       Updated by Oshani Silva about 1 year ago
      Updated by Oshani Silva about 1 year ago
      
    
    - Assignee changed from Oshani Silva to Nipuni Kavindya
- Start date changed from 12/09/2024 to 30/09/2024
       Updated by Nipuni Kavindya about 1 year ago
      Updated by Nipuni Kavindya about 1 year ago
      
    
    - Due date set to 16/10/2024
- Status changed from New to QA
- % Done changed from 0 to 100
https://repository.entgra.net/community/device-mgt-core/pulls/531
https://repository.entgra.net/proprietary/proprietary-commons/pulls/266
Note: These changes should be checked against an app installation operation where the APK file contains spaces in its name.
       Updated by Arshana Atapattu 12 months ago
      Updated by Arshana Atapattu 12 months ago
      
    
    - Status changed from QA Accept to Closed
Closing due to QA accept