Desperate: File Transfert on Open VMS not working

Advertisement

Guest

Desperate: File Transfert on Open VMS not working

Hello,

With the last version of WinSCP, I was able now to connect to a FTP hosted on a OpenVMS server (good news). I was able to see files in directory, to change directory, but the file transfert always failed with a "%RMS-F-DIR, error in directory name".

In the part of log below, you can see the CWD command used to change the directory on the server, and the command was successful. I can see the list of files in the directory correctly.
. 2017-05-26 17:40:36.917 Cached directory change via "/$1$DIA1:[000000.DEVEL.INTGPC]" to "/$1$DIA1:[000000.DEVEL.INTGPC]".
. 2017-05-26 17:40:36.917 Getting current directory name.
. 2017-05-26 17:40:36.917 Retrieving directory listing...
> 2017-05-26 17:40:36.917 CWD /$1$DIA1:[000000.DEVEL.INTGPC]
< 2017-05-26 17:40:36.949 250 CWD command okay.
> 2017-05-26 17:40:36.949 PWD
< 2017-05-26 17:40:36.949 257 "$1$DIA1:[000000.DEVEL.INTGPC]"
> 2017-05-26 17:40:36.949 TYPE A
< 2017-05-26 17:40:36.949 200 TYPE command okay.
> 2017-05-26 17:40:36.949 PORT 10,190,56,163,219,26
< 2017-05-26 17:40:36.964 200 PORT command okay.
> 2017-05-26 17:40:36.964 LIST
< 2017-05-26 17:40:36.964 150 Opening data connection for directory.
< 2017-05-26 17:40:37.339 226 Closing data connection.
. 2017-05-26 17:40:37.339 Data connection closed
. 2017-05-26 17:40:37.339 Directory $1$DIA1:[000000.DEVEL.INTGPC]
. 2017-05-26 17:40:37.339 DESKTOP.INI;1             1  18-MAY-2017 16:03:22.67
. 2017-05-26 17:40:37.339 DF874FDR.TXT;2            1   3-MAY-2017 22:52:58.53
. 2017-05-26 17:40:37.339 DF874FDR.TXT;1            1   3-MAY-2017 20:58:42.67
. 2017-05-26 17:40:37.339 GFRTAE1.MB01011601;1
. 2017-05-26 17:40:37.339 0   3-MAY-2017 13:59:10.75
. 2017-05-26 17:40:37.339 GFRTAE1.MB03051701;1
. 2017-05-26 17:40:37.339 19   3-MAY-2017 14:01:26.36
. 2017-05-26 17:40:37.339 Total of 5 files, 22 blocks.
. 2017-05-26 17:40:37.339 Directory listing successful
. 2017-05-26 17:40:37.339 Got reply 1 to the command 2
. 2017-05-26 17:40:37.339 ..;D;0;1899-12-30T01:00:00.000Z;0;"" [0];"" [0];---------;0
. 2017-05-26 17:40:37.339 DESKTOP.INI;-;512;2017-05-18T14:03:00.000Z;1;"" [0];"" [0];---------;0
. 2017-05-26 17:40:37.339 DF874FDR.TXT;-;512;2017-05-03T20:52:00.000Z;1;"" [0];"" [0];---------;0
. 2017-05-26 17:40:37.339 GFRTAE1.MB01011601;-;512;2017-05-03T18:58:00.000Z;1;"GFRTAE1.MB01011601;1" [0];"" [0];---------;0
. 2017-05-26 17:40:37.339 GFRTAE1.MB03051701;-;0;2017-03-03T19:58:00.000Z;1;"GFRTAE1.MB03051701;1" [0];"" [0];---------;0
When I try to transfer a file (by drag and drop) on this directory (I try from my computer to the FTP, and from the FTP to my computer), WinSCP do a CWD command, but the command failed (the CWD command is identical to the one used previously, exception for an extra / at the end of the command). The file transfer seems to fail because this CWD command was failed.
. 2017-05-26 17:40:40.652 Copying 1 files/directories to remote directory "/$1$DIA1:[000000.DEVEL.INTGPC]/"
. 2017-05-26 17:40:40.652   PrTime: Yes; PrRO: No; Rght: rw-r--r--; PrR: No (No); FnCs: N; RIC: 0100; Resume: S (102400); CalcS: Yes; Mask: *.*
. 2017-05-26 17:40:40.652   TM: B; ClAr: No; RemEOF: No; RemBOM: No; CPS: 0; NewerOnly: No; InclM: ; ResumeL: 0
. 2017-05-26 17:40:40.652   AscM: *.*html; *.htm; *.txt; *.php; *.php3; *.cgi; *.c; *.cpp; *.h; *.pas; *.bas; *.tex; *.pl; *.js; .htaccess; *.xtml; *.css; *.cfg; *.ini; *.sh; *.xml
. 2017-05-26 17:40:40.652 File: 'C:\Users\xxx\Desktop\TEST.txt' [2017-05-03T18:40:58.089Z] [58]
. 2017-05-26 17:40:40.652 Copying "C:\Users\xxx\Desktop\TEST.txt" to remote directory started.
. 2017-05-26 17:40:40.652 Binary transfer mode selected.
. 2017-05-26 17:40:40.652 Starting upload of C:\Users\xxx\Desktop\TEST.txt
> 2017-05-26 17:40:40.652 CWD /$1$DIA1:[000000.DEVEL.INTGPC]/
< 2017-05-26 17:40:40.668 550 %RMS-F-DIR, error in directory name
> 2017-05-26 17:40:40.668 CWD /
< 2017-05-26 17:40:40.683 250 CWD command okay.
> 2017-05-26 17:40:40.683 MKD $1$DIA1:[000000.DEVEL.INTGPC]
< 2017-05-26 17:40:40.683 501 %RMS-F-DIR, error in directory name
> 2017-05-26 17:40:40.683 CWD /$1$DIA1:[000000.DEVEL.INTGPC]/
< 2017-05-26 17:40:40.699 550 %RMS-F-DIR, error in directory name
. 2017-05-26 17:40:40.699 Copying files to remote side failed.
. 2017-05-26 17:40:40.699 Got reply 2004 to the command 4
* 2017-05-26 17:40:40.699 (ExtException) **Copying files to remote side failed.**
* 2017-05-26 17:40:40.699 %RMS-F-DIR, error in directory name
. 2017-05-26 17:40:40.699 Asking user:
. 2017-05-26 17:40:40.699 Error transferring file 'C:\Users\xxx\Desktop\TEST.txt'. ("Copying files to remote side failed.","%RMS-F-DIR, error in directory name")
Thanks for your help.

Desperate!

Reply with quote

Advertisement

martin
Site Admin
martin avatar
Joined:
Posts:
41,454
Location:
Prague, Czechia

Re: Desperate: File Transfert on Open VMS not working

Thanks for your report.

Can you send me an email, so I can send you back a development version of WinSCP for testing? Please include link back to this topic in your email. Also note in this topic that you have sent the email. Thanks.

You will find my address (if you log in) in my forum profile.

Reply with quote

Guest

Problem solved

Hello Martin,

I've sent you a new email yesterday to describe the problem with the slash character in the path on a VMS operating system.

The fix you have sent me works perfectly, but others commands like DELE do not works because we have a slash in the command.

Thanks

Reply with quote

Advertisement

developper_dotnet
Joined:
Posts:
8

Re: Problem solved

Hello Martin,

Could you send me the WinSCPnet.dll corresponding to the new build of WinSCP you have sent to me to complete testing on my side?

When do you expect to publish a new version including those correctives for VMS?

Best regards.

Reply with quote

developper_dotnet
Joined:
Posts:
8

Strange problem with DOTNET versus PutFiles() method on VMS

Hello Martin,

Since the last available version (May 31), I'm able to transfer files to VMS using the WinSCP GUI, but when I try to do the same thing via a call to PutFiles() method in .NET, I've got no error and the file is transfered on VMS side, but I've lost the file name on VMS (all files transferred on VMS side are named .;1, .;2, and so on; each new file create a .;99 file on VMS. The contain of the file is correct, only the name of the file is lost.

I've try to put the debug option, but it seems that is not working when we call a function via the .net interface. I see some "log" methods in the .NET interface but I don't know if they are working, and how to use it. If I can setup some logging options in .NET to help you in debugging on your side, let me know.

Best regards.

JF

Reply with quote

martin
Site Admin
martin avatar
Joined:
Posts:
41,454
Location:
Prague, Czechia

Re: Strange problem with DOTNET versus PutFiles() method on VMS

developper_dotnet wrote:

Since the last available version (May 31), I'm able to transfer files to VMS using the WinSCP GUI, but when I try to do the same thing via a call to PutFiles() method in .net, I've got no error and the file is transfered on VMS side, but I've lost the file name on VMS...
Please attach a full session log file showing the problem (using the latest version of WinSCP).

To generate the session log file, set Session.SessionLogPath. Submit the log with your post as an attachment. Note that passwords and passphrases not stored in the log. You may want to remove other data you consider sensitive though, such as host names, IP addresses, account names or file names (unless they are relevant to the problem). If you do not want to post the log publicly, you can mark the attachment as private.

Reply with quote

Guest

Log report

Hello Martin,

See the log file in attachment.

I think that the problem is here:
<?xml version="1.0" encoding="UTF-8"?>
<session xmlns="http://winscp.net/schema/session/1.0" name="FTPUSER@10.99.99.99" start="2017-06-09T13:27:01.610Z">
  <group name="open ftp://FTPUSER:***@10.99.99.99:21 -passive=1 -timeout=30" start="2017-06-09T13:27:05.767Z">
  </group>
  <group name="pwd" start="2017-06-09T13:27:06.485Z">
    <cwd>
      <cwd value="/$1$DIA1:[USERS.PROJET_M]" />
      <result success="true" />
    </cwd>
  </group>
  <group name="put -delete -nopermissions -preservetime -transfer=&quot;binary&quot; -- &quot;D:\Program Files\xxx\*.*&quot; &quot;$1$DIA1:[000000.DEVEL.INTGPC]&quot;" start="2017-06-09T13:27:09.423Z">
    <upload>
      <filename value="D:\Program Files\xxx\DF027FDR.T32" />
      <destination value="/$1$DIA1:[USERS.PROJET_M]/$1$DIA1:[000000.DEVEL.INTGPC]" />
      <result success="true" />
    </upload>
  </group>
The <cwd value="/$1$DIA1:[USERS.PROJET_M]" /> should be <cwd value="/$1$DIA1:[000000.DEVEL.INTGPC]" /> (the destination path in the PutFiles command)

The <destination value="/$1$DIA1:[USERS.PROJET_M]/$1$DIA1:[000000.DEVEL.INTGPC]" /> should be something like <destination value="/$1$DIA1:[000000.DEVEL.INTGPC]DF027FDR.T32" /> (no slash between path and filename).

I've not tested the GetFiles() method, but a similar problem is possible.

Remember that WinSCP works; it create the file with good data inside, in the good directory, but without a filename.

Thanks for your help.

Best Regards,

JF
  • scp.log (22.87 KB, Private file)

Reply with quote

Advertisement

developper_dotnet
Joined:
Posts:
8

Testing VMS transfer... good, exception of the DELE command

Hello Martin,

Thanks for your help.

Your last post has helped me to correct the transfer problem from Windows to VMS. Now, I'm able to send any file from my Windows apps to a VMS environment with your last version of WinSCP (and the / at the end of the path instruction :)

Now I've started to test the other way: transfer files from VMS to our Windows environment. WinSCP works great, exception for the DELEr command when it try to remove the file transferred from the VMS directory. I've attached a part of the SessionLogPath (because file is huge). Summary, file is transferred correctly, with the good name and good data inside; the only little problem is that WinSCP could not remove the file after the transfer on VMS.

Could you check why the DELE command fail on VMS side?

Best regards,

JF
. 2017-06-20 17:02:22.269 Transfer done: '/$1$DIA1:[000000.DEVEL.TRACETST]/DF001GFR.T23' => 'D:\xxx\xxx\xxx\Files\xxx\DF001GFR.T23' [2048]
. 2017-06-20 17:02:22.269 Deleting file "/$1$DIA1:[000000.DEVEL.TRACETST]/DF001GFR.T23".
> 2017-06-20 17:02:22.269 DELE /$1$DIA1:[000000.DEVEL.TRACETST]/DF001GFR.T23
[b]< 2017-06-20 17:02:22.456 550 %RMS-F-SYN, file specification syntax error
[/b]. 2017-06-20 17:02:22.519 Asking user:
. 2017-06-20 17:02:22.519 Error deleting file '/$1$DIA1:[000000.DEVEL.TRACETST]/DF001GFR.T23'. ("%RMS-F-SYN, file specification syntax error")
< 2017-06-20 17:02:22.519 Script: Error deleting file '/$1$DIA1:[000000.DEVEL.TRACETST]/DF001GFR.T23'.
< 2017-06-20 17:02:22.519 Script: %RMS-F-SYN, file specification syntax error
. 2017-06-20 17:02:22.534 Script: Failed
  • WinSCP_20170620170101_LOG.txt (11.26 KB, Private file)

Reply with quote

Advertisement

martin
Site Admin
martin avatar

Re: Testing VMS transfer... good, exception of the DELE command

The way WinSCP implements the deletion is not compatible with VMS.

We may improve that eventually.

Reply with quote

Guest

Re: Testing VMS transfer... good, exception of the DELE command

Hello Martin,

I've sent you a private email.

Best regards,

JF

Reply with quote

developper_dotnet
Joined:
Posts:
8

Re: Testing VMS transfer... good, exception of the DELE command

Hello Martin,

I found something wrong in the source file of ServerPath.cpp in source/filezilla at line 249:
file=file.Mid(rpos+1);
should be
file=path.Mid(rpos+1);
because file is never initialized in the VMS section.

I've done some modifications in this source file to improve (I hope) the detection of a VMS path.

I've include the modified version in this post, but I cannot compile the entire solution.

Is it possible for you to recompile WinSCP including this new attached version of the source file and send me the executable (and corresponding dotnet dll) and I will test it in my environment?

Best regards,

JF
  • ServerPath.cpp (15.02 KB, Private file)

Reply with quote

Advertisement

developper_dotnet
Joined:
Posts:
8

Re: Testing VMS transfer... good, exception of the DELE command

Hello Martin,

I send you the result of my tests, comparing logs before and after the new version. Both new versions gives the same result.

Best regards,

JF
  • Result from LOG files.doc (6.39 KB, Private file)
Description: This is a Wordpad file in rtf format.

Reply with quote

martin
Site Admin
martin avatar

Re: Testing VMS transfer... good, exception of the DELE command

developper_dotnet wrote:

I send you the result of my tests, comparing logs before and after the new version. Both new versions gives the same result.
The issue with a slash should be fixed in WinSCP 5.10.2 (released yesterday). Please give it a try.

Reply with quote

developper_dotnet
Joined:
Posts:
8

Congratulation...

Hello Martin,

Good news, version 5.10.2 is working perfectly with a VMS FTP server. I've tested PUT and GET with removing of the file after the transfer, using the GUI and the DotNet library, and everything works fine.

Congratulation, WinSCP is now fully compliant with FTP server under VMS operating system.

Thanks for your help, it's very appreciated.

Good continuation with your great product.

Best regards,

JF

Reply with quote

Advertisement

HEINVANDENHEUVEL
Joined:
Posts:
1
Location:
Nashua, NH

broken again in 5.17.9

Trying to copy from OpenVMS to Windows - ascii or binary
Connection works fine, and the initial directory is as expected.
However, when copying we get:
Copying files from remote side failed.
Failed to parse specification /DISK1:[KANE.USER.CES193]/NAV_19.LOG
file specification syntax error
That slash / after the closing bracket should not be there for a valid OpenVMS file spec.
The closing bracket alone already ends the directory part of the file spec.

Advise?

Reply with quote

martin
Site Admin
martin avatar
Joined:
Posts:
41,454
Location:
Prague, Czechia

Re: broken again in 5.17.9

HEINVANDENHEUVEL wrote:

Trying to copy from OpenVMS to Windows - ascii or binary
Connection works fine, and the initial directory is as expected.
However, when copying we get:
...
Thanks for your report. We have done some improvements recently. I'm sending you an email with a development version of WinSCP to the address you have used to register on this forum.

Reply with quote

Advertisement

You can post new topics in this forum