We use software called CrushFTP to perform SFTP related work. It works on an Ubuntu 16.04 box. One of the servers we have to communicate with is an old OpenVMS box … I think it's OpenVMS 8.4? I'm not VMS, so honestly I do not know much about the target server, but I hope the problem will be relatively simple.
It seems that CrushFTP uses a component called Maverick … and the problem appears here.
If I use the command line of Ubuntu sftp tool I can connect to the server and run ls -lha. This returns a nice list of files, for example:
Connected to hostname.domain.tld. sftp> ls -lha drwx ------ 0 16777291 256 512B October 8, 2018 SSH2.DIR; 1 -rwxr-x --- 0 16777291 256 4B 19 October 13:26 FILENAME1.EXT; 3 -rwxr-x --- 0 16777291 256 284B 19 October 13:26 FILENAME2.EXT; 3 -rwxr-x --- 0 16777291 256 1.2M Oct 19 13:26 FILENAME3.EXT; 2 -rwxr-x --- 0 16777291 256 4B 19 October 13:26 FILENAME4.EXT; 3 -rwxr-x --- 0 16777291 256 288B 19 October 13:26 FILENAME5.EXT; 3 -rwxr-x --- 0 16777291 256 1.5 M 19 October 13:26 FILENAME6.EXT; 3
If I run a get it downloads the files perfectly … so, in general, the SFTP server under OpenVMS seems to work properly and the native Ubuntu client is able to communicate perfectly with him …
However, when we start trying to communicate with him using CrushFTP, the situation begins to be a problem. The directories are acceptable, but the files seem to have a final * in each file name. For example, the list above would be presented as follows:
SSH2.DIR; 1 FILENAME1.EXT; 3 * FILENAME2.EXT; 3 * FILENAME3.EXT; 2 * FILENAME4.EXT; 3 * FILENAME5.EXT; 3 * FILENAME6.EXT; 3 *
When we then try to copy the files to a local location, the following error message (which appears to come from this Maverick component):
attempt to copy (1) SFTP: // sftptest: ****@hostname.domain.tld: 22 / dir / dir1 / FILENAME2.EXT; 3 * in the file: //local/directory/structure/FILENAME2.EXT; 3 * com.maverick.sftp.SftpStatusException: No file of this type: syserr: no file or directory of this type, or no privilege for the attempted operation, file: /dir/dir1/FILENAME2.EXT;3* com.maverick.sftp.SftpSubsystemChannel.extractAttributes: 2275 com.maverick.sftp.SftpSubsystemChannel.getAttributes: 2257 com.maverick.sftp.SftpSubsystemChannel.getAttributes: 2209 com.sshtools.sftp.SftpClient.getInputStream: 1604 com.crushftp.client.SFTPClient.download3: 574 com.crushftp.client.GenericClient.download2: 422 com.crushftp.client.GenericClient.download:264
It may be a puzzle, but the * seems to be the only real difference in the filenames. We tested by creating named files for example FILENAME.EXT; 3 and transferred them without any problem. We also received a way to remove the version number. ; 3 from the target file name .. but it looks like * in the source file name is causing a problem. We can remove the * everything we love, b
This ending * does not pose a problem with non-OpenVMS servers, so I'm almost certain that this has to do with how OpenVMS directories are read, but I can not say what we're solving or doing. how.
Does anyone have experience with OpenVMS SFTP servers, or even better with CrushFTP and / or that Maverick component?