Hello. lftp 2.6.3 (but tested 2.5.x and 2.4.x and it's the same)
I've some crappy firewall with ftp connection-tracking feature. I think because of that incomming ftp transfers "die" usually in few minutes after start (timeout occures). But that's not the problem related with lftp ;) There's a problem with upload. Please look at the attached log. FILE3 at first doesn't exists on ftp. Then it's uploaded whole, but at the end "Connection reset by peer" occurs. lftp relogins and tries to REST the file, but it doesn't finishes - another timeout occurs, lftp reconnects, tries to finish complete file etc. etc. But the worse is that diuring that time (when it tries to upload the file but no bytes are transfered) lftp uses 95% CPU power (or whatever is avaiable) so after several minutes it's being killed because of system limits. Uploading files are very hard because of that. And i also have one wish: sometmes ftp owner kick people out - for example because he needs to move files and he can't do it if someone is downloading the file (windows servers...). But lftp reconnects instanly and the ftp owner must kick me again (and maybe again). Then it uses reconnect-interval-base or whatever and the owner can more files. But i think it must be quite annoying having to kick people again and again. So could lftp detect if someone was kicked and apply reconnect-interval-base, or to add reconnect-interval-allways X which would make lftp to wait X seconds after each it looses connection? The kick is some 4xx code with "You have been kicked" message (sorry, don't remember it now - will write it next time). Thanks. -- Piotrek irc: #debian.pl Mors Drosophilis melanogastribus!
[29654] HOST ---> TYPE I [29654] HOST <--- 200 Type set to I. [29654] HOST ---> SIZE FILE1 [29654] HOST <--- 213 245124000 [29654] HOST ---> PASV [29654] HOST <--- 227 Entering Passive Mode (THEHOST,56,26) [29654] HOST ---- Connecting data socket to (THEHOST) port 14362 [29654] HOST ---> REST 245124000 [29654] HOST <--- 350 Restarting at 245124000. Send STORE or RETRIEVE to initiate transfer. [29654] HOST ---- Closing data socket [29654] HOST ---> STOR FILE1 [29654] HOST <--- 150 Opening BINARY mode data connection for FILE1. [29654] HOST <--- 226- [Ul: 1871.0MB] [Dl: 355.8MB] [Speed: 0.00K/s] [Free: 2915MB] [29654] HOST <--- 226 [Section: Dump] [Credits: 0.0MB] [Ratio: Unlimited] [29654] HOST ---> SIZE FILE2 [29654] HOST <--- 213 245300129 [29654] HOST ---> PASV [29654] HOST <--- 227 Entering Passive Mode (THEHOST,54,235) [29654] HOST ---- Connecting data socket to (THEHOST) port 14059 [29654] HOST ---> REST 245300129 [29654] HOST <--- 350 Restarting at 245300129. Send STORE or RETRIEVE to initiate transfer. [29654] HOST ---- Closing data socket [29654] HOST ---> STOR FILE2 [29654] HOST <--- 150 Opening BINARY mode data connection for FILE2. [29654] HOST <--- 226- [Ul: 1871.0MB] [Dl: 355.8MB] [Speed: 0.00K/s] [Free: 2915MB] [29654] HOST <--- 226 [Section: Dump] [Credits: 0.0MB] [Ratio: Unlimited] [29654] HOST ---> SIZE FILE3 [29654] HOST <--- 550 FILE3: not a plain file. [29654] HOST ---> PASV [29654] HOST <--- 227 Entering Passive Mode (THEHOST,56,204) [29654] HOST ---- Connecting data socket to (THEHOST) port 14540 [29654] HOST ---> REST 0 [29654] HOST <--- 350 Restarting at 0. Send STORE or RETRIEVE to initiate transfer. [29654] HOST ---> STOR FILE3 [29654] HOST <--- 150 Opening BINARY mode data connection for FILE3. [29654] HOST ---- Closing data socket [29654] HOST **** Connection reset by peer [29654] HOST ---- Closing control socket ---- Resolving host address... ---- 1 address found [29654] HOST ---- Connecting to HOST (THEHOST) port 7984 [29654] HOST <--- 220 Private (glftpd 1.28_Linux) ready. [29654] HOST ---> USER MYLOGIN [29654] HOST <--- 331 Password required for MYLOGIN. [29654] HOST ---> PASS XXXX [motd] [29654] HOST <--- 230 User MYLOGIN logged in. [29654] HOST ---> CWD /BAV_10-18 [29654] HOST <--- 250- --NEWS-- [29654] HOST <--- 250- [29654] HOST <--- 250- New Feature: Login with (!)Username to kill ghost connections. [29654] HOST <--- 250- [29654] HOST <--- 250- --=- Type SITE HELP for a nice list of SITE commands -=-- [29654] HOST <--- 250- [29654] HOST <--- 250 CWD command successful. [29654] HOST ---> TYPE I [29654] HOST <--- 200 Type set to I. [29654] HOST ---> SIZE FILE3 [29654] HOST <--- 213 245305313 [29654] HOST ---> PASV [29654] HOST <--- 227 Entering Passive Mode (THEHOST,56,50) [29654] HOST ---- Connecting data socket to (THEHOST) port 14386 [29654] HOST ---> REST 245305313 [29654] HOST <--- 350 Restarting at 245305313. Send STORE or RETRIEVE to initiate transfer. [29654] HOST ---> STOR FILE3 [29654] HOST <--- 150 Opening BINARY mode data connection for FILE3. [29654] HOST **** Timeout - reconnecting [29654] HOST ---> ABOR [29654] HOST ---- Closing control socket [29654] HOST ---- Connecting to HOST (THEHOST) port 7984 [29654] HOST <--- 220 Private (glftpd 1.28_Linux) ready. [29654] HOST ---> USER MYLOGIN [29654] HOST <--- 331 Password required for MYLOGIN. [29654] HOST ---> PASS XXXX [motd] [29654] HOST <--- 230 User MYLOGIN logged in. [29654] HOST ---> CWD /BAV_10-18 [29654] HOST <--- 250- --NEWS-- [29654] HOST <--- 250- [29654] HOST <--- 250- New Feature: Login with (!)Username to kill ghost connections. [29654] HOST <--- 250- [29654] HOST <--- 250- --=- Type SITE HELP for a nice list of SITE commands -=-- [29654] HOST <--- 250- [29654] HOST <--- 250 CWD command successful. [29654] HOST ---> TYPE I [29654] HOST <--- 200 Type set to I. [29654] HOST ---> PASV [29654] HOST <--- 227 Entering Passive Mode (THEHOST,56,50) [29654] HOST ---- Connecting data socket to (THEHOST) port 14386 [29654] HOST ---> REST 245305313 [29654] HOST <--- 350 Restarting at 245305313. Send STORE or RETRIEVE to initiate transfer. [29654] HOST ---> STOR FILE3 [29654] HOST <--- 150 Opening BINARY mode data connection for FILE3. [29654] HOST **** Timeout - reconnecting
