Hi!
Thanks for lftp. A great piece of software.

We need an option to completely disable retries. The option net:max-retries
= 0 unfortunately means unlimited retries.

I have an issue with LFTP (Version 4.4.15) when it comes to “misbehaving”
mainframe remote sites.
The problem occurs when the FTP server/proxy  (IBM FTP CS V1R13) fails to
get exclusive permissions to the target dataset (file).
The server then issues a 125 message and terminates the connection. (Which
I think is incorrect behavior, but that's not the point).

What happens next is that lftp reconnects again (I have net:max-retries =
1. I don’t want it to retry!) and does NOT issue the SITE commands that
were in the command file, prior to the put command.
This time, the FTP server does not have a problem, so lftp successfully
sends the file, but it then gets the wrong record length on the remote side
☹.

This is my command file:

set ftp:use-feat false
set dns:fatal-timeout 50
set net:max-retries 1
set cmd:fail-exit true
set ftp:sync-mode true
set ftp:use-site-utime false
set net:connection-limit 1
open 10.0.0.2
set net:socket-bind-ipv4 172.17.0.2
site SBD=(IBM-278,ISO8859-1)
site LRECL=240
site RECFM=FB
put -a /var/tmp/vidare_tmp.21077.21504tina1399629722_00b996a43ed577108682
-o \'BQY0P.QY300A10.FEFI(+1)\'



and the resulting log:


---- Resolving host address...
---- 1 address found: 10.0.0.2
---- Connecting to 10.0.0.2 (10.0.0.2) port 21
<--- 220 blaha FTP Proxy, Authorized use only, use user@host to login
---> USER US00000@MVS3
<--- 331-TCPFTPD1 IBM FTP CS V1R13 at mvs3ibm.sys.bla.ha, 10:02:08 on
2014-05-09.
<--- 331-Connection will close if idle for more than 5 minutes.
<--- 331 Send password please.
<--- 230 US00000 is logged on.  Working directory is "US00000.".
---> PWD
<--- 257 "'US00000.'" is working directory.
---> TYPE I
<--- 200 Type set to I
---> SITE SBD=(IBM-278,ISO8859-1)
200 SITE command was accepted
---> SITE LRECL=240
200 SITE command was accepted
---> SITE RECFM=FB
200-BLOCKSIZE must be a multiple of LRECL for RECFM FB
200-BLOCKSIZE being set to 6000
200 SITE command was accepted
---> TYPE A
<--- 200 Type set to A
---> PASV
<--- 227 Entering Passive Mode (10.0.0.2,201,78)
---- Connecting data socket to (10.0.0.2) port 51534
---- Data connection established
---> ALLO 4579
<--- 202 ALLO not necessary, you may proceed
---> STOR 'BQY0P.QY300A10.FEFI(+1)'
<--- 125-FTP Server unable to obtain EXCLUSIVE use of
BQY0P.QY300A10.FEFI.G0100V00 which is held by: UNKNOWN  UNKNOWN  UNKNOWN
 on UNKNOWN
<--- 125 Data set BQY0P.QY300A10.FEFI.G0100V00 is not available
---- Closing data socket
**** Peer closed connection
---- Closing control socket
---- Connecting to 10.0.0.2 (10.0.0.2) port 21
<--- 220 blaha FTP Proxy, Authorized use only, use user@host to login
---> USER US00000@MVS3
<--- 331-TCPFTPD1 IBM FTP CS V1R13 at mvs3ibm.sys.bla.ha, 10:02:38 on
2014-05-09.
<--- 331-Connection will close if idle for more than 5 minutes.
<--- 331 Send password please.
<--- 230 US00000 is logged on.  Working directory is "US00000.".
---> TYPE I
<--- 200 Type set to I
---> SIZE 'BQY0P.QY300A10.FEFI(+1)'
<--- 501 command aborted -- FTP server not configured for SIZE
---> TYPE A
copy: put rolled back to 0, seeking get accordingly
<--- 200 Type set to A
---> PASV
<--- 227 Entering Passive Mode (10.0.0.2,202,240)
---- Connecting data socket to (10.0.0.2) port 51952
---- Data connection established
---> STOR 'BQY0P.QY300A10.FEFI(+1)'
<--- 125 Storing data set BQY0P.QY300A10.FEFI.G0100V00
---- Closing data socket
<--- 250 Transfer completed successfully.
---> QUIT
---- Closing control socket



As you can see, the SITE commands are not sent again after the second login
has been made after the connection loss.

Is there a way I can disable the reconnection and instead have LFTP fail
with non-zero result when the connection gets dropped? I would really
appreciate that.
It’s IBM on a mainframe I’m talking to. They are a bank. They don’t care
that they violate the RFC. We are their only customer that has issues with
this.



Thanks!

Mattias
_______________________________________________
lftp mailing list
lftp@uniyar.ac.ru
http://univ.uniyar.ac.ru/mailman/listinfo/lftp

Reply via email to