Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
2.1
-
None
-
Windows 7 Java 7. Failure occured connecting via SFTP to a Synology box running DSM 6.
Description
The doIsReadable method of SftpFileObject throws an exception if the system cannot identify group/owner permissions.......
Exception in thread "main" org.apache.commons.vfs2.FileSystemException: Could not determine if file "sftp://myURI" is readable.
at org.apache.commons.vfs2.provider.AbstractFileObject.isReadable(AbstractFileObject.java:1761)
at com.avenca.vfs.VFSUtils.main(VFSUtils.java:41)
Caused by: com.jcraft.jsch.JSchException: Could not get the groups id of the current user (error code: 1)
at org.apache.commons.vfs2.provider.sftp.SftpFileSystem.getGroupsIds(SftpFileSystem.java:263)
at org.apache.commons.vfs2.provider.sftp.SftpFileObject.getPermissions(SftpFileObject.java:317)
at org.apache.commons.vfs2.provider.sftp.SftpFileObject.doIsReadable(SftpFileObject.java:335)
at org.apache.commons.vfs2.provider.AbstractFileObject.isReadable(AbstractFileObject.java:1757)
The problem is the method is using
return getPermissions(true).isReadable()
The folder is readable without these permissions, and so should be set to
return getPermissions(false).isReadable()
Which correctly allows the system to identify a readable folder without adding unnecessary restrictions.