You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "John Webb (Jira)" <ji...@apache.org> on 2020/02/05 06:13:00 UTC
[jira] [Created] (VFS-753) NumberFormatException in
SftpFileSystem::getUId
John Webb created VFS-753:
-----------------------------
Summary: NumberFormatException in SftpFileSystem::getUId
Key: VFS-753
URL: https://issues.apache.org/jira/browse/VFS-753
Project: Commons VFS
Issue Type: Bug
Affects Versions: 2.5.0
Reporter: John Webb
When calling FileSystemManager::resolveFile(...) connecting to a specific sftp server a NumberFormat exception is thrown and a FileObject is not returned.
When the SftpFileSystem constructor is called there is a call to detectExecDisabled which in turn calls getUid. SftpFileSystem::getUId assumes that executeCommand(...) will always return non zero (the channel exit status) for execution failure.
In the case of the sftp server that we are connecting to, the channel exit status remains zero however the returned buffer contains the string "This server does not provide shell access, only SFTP. Goodbye.". This causes a NumberFormatException in getUId.
This behaviour does not occur in version 2.4.1
Here is the relevent snippet from the stack trace:
java.lang.NumberFormatException: For input string: "This server does not provide shell access, only SFTP. Goodbye."
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:580)
at java.lang.Integer.parseInt(Integer.java:615)
at org.apache.commons.vfs2.provider.sftp.SftpFileSystem.getUId(SftpFileSystem.java:281)
at org.apache.commons.vfs2.provider.sftp.SftpFileSystem.detectExecDisabled(SftpFileSystem.java:344)
at org.apache.commons.vfs2.provider.sftp.SftpFileSystem.<init>(SftpFileSystem.java:94)
at org.apache.commons.vfs2.provider.sftp.SftpFileProvider.doCreateFileSystem(SftpFileProvider.java:93)
at org.apache.commons.vfs2.provider.AbstractOriginatingFileProvider.getFileSystem(AbstractOriginatingFileProvider.java:93)
at org.apache.commons.vfs2.provider.AbstractOriginatingFileProvider.findFile(AbstractOriginatingFileProvider.java:72)
at org.apache.commons.vfs2.provider.AbstractOriginatingFileProvider.findFile(AbstractOriginatingFileProvider.java:56)
at org.apache.commons.vfs2.impl.DefaultFileSystemManager.resolveFile(DefaultFileSystemManager.java:717)
at org.apache.commons.vfs2.impl.DefaultFileSystemManager.resolveFile(DefaultFileSystemManager.java:654)
at com.shortcuts.lambda.google_reserve_sftp.util.SFTPUtil.ls(SFTPUtil.java:68)
at com.shortcuts.lambda.google_reserve_sftp.util.SFTPUtilTest.testConnectToGoogle(SFTPUtilTest.java:48)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
--
This message was sent by Atlassian Jira
(v8.3.4#803005)