Thanks, yes, a tilde following works as desired, however, I feel somewhat 
disappointed that I didn't previously think about simply dropping the 
trailing slash from the URL. For example: 

ftps:// server.example.net vs. ftps:// server.example.net / 

-- 

Kevin R. Bulgrien 

----- Original Message -----

> From: "Alexander Lukyanov" <lavv...@gmail.com>
> To: "Kevin R. Bulgrien" <kev...@systemsdesignusa.com>
> Cc: "LFTP Mailing List" <lftp@uniyar.ac.ru>
> Sent: Saturday, August 24, 2019 4:39:21 AM
> Subject: Re: [lftp] lftp issued “CWD /” results in error message but
> the transfer does not fail

> Try adding a tilde at the end of url.

> пт, 23 авг. 2019, 18:30 Kevin R. Bulgrien <
> kev...@systemsdesignusa.com >:

> > In a scripted and automated process, it seems beneficial to avoid
> 
> > generating unwanted error messages that do not indicate an actual
> 
> > fault, if only to avoid confusion when someone looks at the logs.
> 

> > Given an lftp command similar to the following:
> 

> > lftp -vv -d -c set ssl:ca-file /path/to/cert/ftps_cron-bundle.crt;
> > set ssl:check-hostname no; set ftp:ssl-protect-data true; set
> > sftp:connect-program "ssh -a -x -o PubkeyAuthentication=no"; set
> > net:max-retries 2; open -e 'put /path/to/data/upload.txt;' -u
> > username:password ftps:// server.example.net/
> 

> > The command template works on various servers, but, on one server,
> 
> > even though the upload is successful, an error message is shown:
> 

> > ---- CWD path to be sent is `/'
> 
> > <--- 200 Command OPTS succeed
> 
> > ---> CWD /
> 
> > <--- 550 Permission denied
> 
> > cd: Access failed: 550 Permission denied (/)
> 

> > How does one prevent lftp from sending CWD / to this server
> 

> > <--- 230 User logged in
> 
> > ---> FEAT
> 
> > <--- 211-Extensions supported
> 
> > <--- SIZE
> 
> > <--- XMD5
> 
> > <--- XSHA1
> 
> > <--- XSHA256
> 
> > <--- XSHA512
> 
> > <--- XQUOTA
> 
> > <--- LANG EN, ES, FR, GE
> 
> > <--- MDTM
> 
> > <--- MLST size*;type*;perm*;create*;modify*;
> 
> > <--- REST STREAM
> 
> > <--- TVFS
> 
> > <--- UTF8
> 
> > <--- AUTH SSL;TLS-P;
> 
> > <--- PBSZ
> 
> > <--- PROT C;P;
> 
> > <--- 211 end
> 
> > ---> PWD
> 
> > <--- 257 "/username/folder" is current directory
> 
> > ---> PBSZ 0
> 
> > <--- 200 PBSZ=0
> 
> > ---> PROT P
> 
> > <--- 200 PRIVATE data channel protection level set
> 
> > ---> LANG
> 
> > <--- 200 Default languages set to EN
> 
> > ---> OPTS UTF8 ON
> 
> > <--- 200 Command OPTS succeed
> 
> > ---> OPTS MLST size;type;perm;modify;
> 
> > ---- CWD path to be sent is `/'
> 

> > Note that the server automatically sets its default upload
> 
> > directory based on the username... i.e. /username/folder
> 

> > The upload should go to this default upload directory without
> 
> > generating an error message. It does get uploaded, but the
> 
> > log shows the error message:
> 

> > cd: Access failed: 550 Permission denied (/)
> 
> > ---> TYPE I
> 
> > <--- 200 Transfer mode set to BINARY
> 
> > ---> PASV
> 
> > <--- 227 Entering Passive Mode (10,10,35,21,195,225).
> 
> > ---- Address returned by PASV seemed to be incorrect and has been
> > fixed
> 
> > ---- Connecting data socket to (nnn.nnn.nnn.nnn) port 50145
> 
> > ---- Data connection established
> 
> > ---> ALLO 148891
> 
> > <--- 200 Command ALLO succeed
> 
> > ---> STOR upload.txt
> 
> > <--- 150 Uploading in BINARY file upload.txt
> 
> > Certificate: ...
> 
> > Issued by: ...
> 
> > Trusted
> 
> > WARNING: Certificate verification: hostname checking disabled
> 
> > ---- Closing data socket
> 
> > <--- 226 Transfer completed
> 
> > ---> SITE UTIME 20190819100016 upload.txt
> 
> > <--- 550 Command SITE failed
> 
> > ---> QUIT
> 
> > ---- Closing control socket
> 

> > A number of things have been tried. For example, using various
> 
> > paths with the put command.
> 

> > * put -O . /path/to/data/upload.txt
> 
> > * put -O /username/folder /path/to/data/upload.txt
> 

> > Explicitly placing a cd /username/folder command was also
> > attempted.
> 

> > Removing -vv and -d are ineffective as well.
> 

> > How can lftp be made to avoid automatically issuing the "CWD /"
> 
> > that causes the unwanted and confusing error message that does
> 
> > not mean an operation intended by the user actually failed?
> 

> > Alternatively, as opposed to stopping the issuance of the "CWD /",
> 
> > how might one at least suppress its being treated as an error
> 
> > without also suppressing real errors?
> 

> > Experienced on RHEL 7:
> 

> > $ lftp --version
> 
> > LFTP | Version 4.4.8 | Copyright (c) 1996-2013 Alexander V.
> > Lukyanov
> 
> > ...
> 
> > Libraries used: Readline 6.2
> 

> > --
> 

> > Kevin R. Bulgrien
> 
> > _______________________________________________
> 
> > lftp mailing list
> 
> > lftp@uniyar.ac.ru
> 
> > http://univ.uniyar.ac.ru/mailman/listinfo/lftp
> 
_______________________________________________
lftp mailing list
lftp@uniyar.ac.ru
http://univ.uniyar.ac.ru/mailman/listinfo/lftp

Reply via email to