LFTP hangs on 150 in binary mode when transferring .gitkeep
Hello,
I'm using lftp 4.7.8 compiled under Ubuntu 16.04.2 LTS (GNU/Linux 4.4.0-1020-aws x86_64)
I'm having issue with mirroring folder and I have no idea why it would hang like that. Is that some LFTP bug or misconfiguration on our side? Here is the debug log:
+ lftp -e debug; set ftp:prefer-epsv yes; set ftp:ssl-force on; set ssl:verify-certificate no; mirror -R --delete --verbose --no-symlinks vendor/ vendor/; bye -u ****,**** ftp://<snip>/
cd: Fatal error: Certificate verification: Not trusted (<snip>)
---- Connecting to <snip> (<snip>) port 21
<--- 220 ProFTPD 1.3.5d Server (ProFTPD) [<snip>]
---> FEAT
<--- 211-Features:
<--- MDTM
<--- SSCN
<--- TVFS
<--- MFMT
<--- SIZE
<--- PROT
<--- CCC
<--- PBSZ
<--- AUTH TLS
<--- MFF modify;UNIX.group;UNIX.mode;
<--- REST STREAM
<--- MLST modify*;perm*;size*;type*;unique*;UNIX.group*;UNIX.mode*;UNIX.owner*;
<--- LANG en-US.UTF-8*
<--- UTF8
<--- EPRT
<--- EPSV
<--- 211 End
---> AUTH TLS
<--- 234 AUTH TLS successful
---> LANG
Certificate: CN=<snip>
Issued by: C=US,O=Let's Encrypt,CN=Let's Encrypt Authority X3
WARNING: Certificate verification: Not trusted (A<snip>)
WARNING: Certificate verification: certificate common name doesn't match requested host name ‘<snip>’ (<snip>)
<--- 200 Using default language en_US.UTF-8
---> OPTS UTF8 ON
<--- 200 UTF8 set to on
---> OPTS MLST modify;perm;size;type;UNIX.group;UNIX.mode;UNIX.owner
<--- 200 OPTS MLST modify;perm;size;type;UNIX.group;UNIX.mode;
---> USER ****
<--- 331 Password required for ****
---> PASS ****
<--- 230 User **** logged in
---> PWD
<--- 257 "/" is the current directory
---- CWD path to be sent is `/<snip>'
---> PBSZ 0
<--- 200 PBSZ 0 successful
---> CWD /<snip>
<--- 250 CWD command successful
---> MKD vendor
<--- 550 vendor: File exists
---> MKD vendor/
<--- 550 vendor/: File exists
---- CWD path to be sent is `/<snip>/vendor'
---> CWD /<snip>/vendor
<--- 250 CWD command successful
---> PROT P
<--- 200 Protection set to Private
---> EPSV
<--- 229 Entering Extended Passive Mode (|||61440|)
---- Connecting data socket to (<snip>) port 61440
---- Data connection established
---> MLSD
<--- 150 Opening ASCII mode data connection for MLSD
Certificate: CN=<snip>
Issued by: C=US,O=Let's Encrypt,CN=Let's Encrypt Authority X3
WARNING: Certificate verification: Not trusted (<snip>)
WARNING: Certificate verification: certificate common name doesn't match requested host name ‘<snip>’ (<snip>)
---- Got EOF on data connection
---- Closing data socket
<--- 226 Transfer complete
---> TYPE I
<--- 200 Type set to I
Removing old file `.gitkeep'
Transferring file `.gitkeep'
---> DELE .gitkeep
<--- 250 DELE command successful
---> PROT C
<--- 534 Unwilling to accept security parameters
---> EPSV
<--- 229 Entering Extended Passive Mode (|||63120|)
---- Connecting data socket to (34.224.123.98) port 63120
---- Data connection established
---> ALLO 0
<--- 202 No storage allocation necessary
---> STOR .gitkeep
<--- 150 Opening BINARY mode data connection for .gitkeep
As you can see the file was already on a server uploaded earlier. I'm really lost why it's happening. I can't really change anything in the receiving server set up.
EDIT: Forgot to mention that if I just reply the command after killing it - it seems that the file is already there and it doesn't try to upload it again. And .gitkeep is an empty file.
Cheers and thanks in advance for any help. Furai
Is the same thing happening in active mode with SSL or passive but without SSL?
I'm pretty sure in active mode it was happening as well. I don't know about the one without SSL and I can't test it right now.
probably fixed in b934dbba0cb3a2b367549d0e17131538b90acbc5, please try