SFTP uri is throwing error when .. is using in path ---------------------------------------------------
Key: VFS-376 URL: https://issues.apache.org/jira/browse/VFS-376 Project: Commons VFS Issue Type: Bug Affects Versions: 2.0 Reporter: Ajesh babu Priority: Blocker Hi We are using apache commons vfs2 for sftp file upload & download , but in one scenario it is always giving an error like "SEVERE: FileSystemException ->org.apache.commons.vfs2.FileSystemException: Invalid absolute URI " The uri is like "sftp://sftpuser:{AFF12398KYUJN982FGTB}@172.24.0.114:22/../../../../app/utenti/sftpuser/output/transaction_CARTASI_20200429083817.csv" The user home directory of sftpuser is 'app/utenti/sftpuser' , we want to use another directory which is not under app/utenti/sftpuser, so we tried to traverse the parent directory using ../../ but UriParser:normalisePath() method is always giving error , in the below code portion // A '..' element - remove the previous element if (startElem == startFirstElem) { // Previous element is missing throw new FileSystemException( "vfs.provider/invalid-relative-path.error"); } But in jdk URI it is saying that public URI normalize() Normalizes this URI's path. If this URI is opaque, or if its path is already in normal form, then this URI is returned. Otherwise a new URI is constructed that is identical to this URI except that its path is computed by normalizing this URI's path in a manner consistent with RFC 2396, section 5.2, step 6, sub-steps c through f; that is: 1. All "." segments are removed. 2. If a ".." segment is preceded by a non-".." segment then both of these segments are removed. This step is repeated until it is no longer applicable. 3. If the path is relative, and if its first segment contains a colon character (':'), then a "." segment is prepended. This prevents a relative URI with a path such as "a:b/c/d" from later being re-parsed as an opaque URI with a scheme of "a" and a scheme-specific part of "b/c/d". (Deviation from RFC 2396) A normalized path will begin with one or more ".." segments if there were insufficient non-".." segments preceding them to allow their removal. A normalized path will begin with a "." segment if one was inserted by step 3 above. Otherwise, a normalized path will not contain any "." or ".." segments. Returns: A URI equivalent to this URI, but whose path is in normal form So can you please tell us how can we use ../../ in a uri for traversing to the parent directory. If we are passing the path like sftp://sftpuser:{AFF12398KYUJN982FGTB}@172.24.0.114:22/output/transaction_CARTASI_20200429083817.csv this it is working fine, in this case 'output' directory is under sftpuser's home directory (app/utenti/sftpuser} Please treat it as urgent and pls help us Thanks in advance Ajesh Babu -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira