[ https://issues.apache.org/jira/browse/VFS-590?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16296786#comment-16296786 ]
L commented on VFS-590: ----------------------- As I wrote in the description: {quote}Performing moveTo without this check might successfully rename the file. {quote} In our case it worked: the server had disabled SSH channelExec. After patching commons-vfs not to perform all those isWriteable() moveTo() completed successfully. > SFTP moveTo operation might fail on permission checks even if the operation > itself might succeed > ------------------------------------------------------------------------------------------------ > > Key: VFS-590 > URL: https://issues.apache.org/jira/browse/VFS-590 > Project: Commons VFS > Issue Type: Bug > Affects Versions: Nightly Builds > Reporter: L > > Continuing with SFTP moveTo, see VFS-588 and VFS-589 for more details. > The permission checks that VFS performs during moveTo() can result in > failure. > org.apache.commons.vfs2.provider.AbstractFileObject.moveTo(final FileObject > destFile) starts with some checks: > {code:java} > @Override > public void moveTo(final FileObject destFile) throws FileSystemException > { > if (canRenameTo(destFile)) > { > if (!getParent().isWriteable()) > { > throw new > FileSystemException("vfs.provider/rename-parent-read-only.error", > getName(), > getParent().getName()); > } > } > else > { > if (!isWriteable()) > { > throw new > FileSystemException("vfs.provider/rename-read-only.error", getName()); > } > } > {code} > The problem is: isWriteable() might fail or even hang. Performing moveTo > without this check might successfully rename the file. > isWriteable() in case of SFTP can fail if the server disables SSH > channelExec. Or if it does not support "id" command. -- This message was sent by Atlassian JIRA (v6.4.14#64029)