You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cordova.apache.org by "Kuan Yi Ming (JIRA)" <ji...@apache.org> on 2013/09/30 11:15:23 UTC

[jira] [Updated] (CB-4952) resolveLocalFileSystemURI returns SECURITY_ERROR wrongly in iOS

     [ https://issues.apache.org/jira/browse/CB-4952?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kuan Yi Ming updated CB-4952:
-----------------------------

    Description: 
The simplified version of resolveLocalFileSystemURI in the 3.0.0 file plugin doesn't properly check the URI if it's in the tmp or Documents folder and returns FileError.SECURITY_ERROR instead. This doesn't occur in 2.9.0.

For example, trying to resolve a URI of a video file from using getPicture().

Calling the following lines in CDVFile.m using the above example:
{code:java}
NSLog(@"url path: %@", path);
NSLog(@"docs path: %@", self.appDocsPath);
NSLog(@"temp path: %@", self.appTempPath);
{code}

returns these:
url path: /private/var/mobile/Applications/[app id]/tmp//trim.TpPlJN.MOV
docs path: /var/mobile/Applications/[app id]/Documents
temp path: /var/mobile/Applications/[app id]/tmp

Since the security error check uses hasPrefix against self.appDocsPath and self.appTempPath here, it fails the check.

  was:
The simplified version of resolveLocalFileSystemURI in the 3.0.0 file plugin doesn't properly check the URI if it's in the tmp or Documents folder and returns SECURITY_ERROR instead. This doesn't occur in 2.9.0.

For example, trying to resolve a URI of a video file from using getPicture().

Calling the following lines in CDVFile.m using the above example:
{code:java}
NSLog(@"url path: %@", path);
NSLog(@"docs path: %@", self.appDocsPath);
NSLog(@"temp path: %@", self.appTempPath);
{code}

returns these:
url path: /private/var/mobile/Applications/[app id]/tmp//trim.TpPlJN.MOV
docs path: /var/mobile/Applications/[app id]/Documents
temp path: /var/mobile/Applications/[app id]/tmp

Since the security error check uses hasPrefix against self.appDocsPath and self.appTempPath here, it fails the check.


> resolveLocalFileSystemURI returns SECURITY_ERROR wrongly in iOS
> ---------------------------------------------------------------
>
>                 Key: CB-4952
>                 URL: https://issues.apache.org/jira/browse/CB-4952
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: Plugin File
>    Affects Versions: 3.0.0
>         Environment: iOS
>            Reporter: Kuan Yi Ming
>
> The simplified version of resolveLocalFileSystemURI in the 3.0.0 file plugin doesn't properly check the URI if it's in the tmp or Documents folder and returns FileError.SECURITY_ERROR instead. This doesn't occur in 2.9.0.
> For example, trying to resolve a URI of a video file from using getPicture().
> Calling the following lines in CDVFile.m using the above example:
> {code:java}
> NSLog(@"url path: %@", path);
> NSLog(@"docs path: %@", self.appDocsPath);
> NSLog(@"temp path: %@", self.appTempPath);
> {code}
> returns these:
> url path: /private/var/mobile/Applications/[app id]/tmp//trim.TpPlJN.MOV
> docs path: /var/mobile/Applications/[app id]/Documents
> temp path: /var/mobile/Applications/[app id]/tmp
> Since the security error check uses hasPrefix against self.appDocsPath and self.appTempPath here, it fails the check.



--
This message was sent by Atlassian JIRA
(v6.1#6144)