Hi,
First and foremost: lftp is great. Thanks for crafting it.
The issue I have may not be a real issue and I will let you decide. With lftp.
connecting to a site that does not advertise the resume feature, (REST) will
not be tried (using the reget or mirror command). I thought lftp was supposed
to try resuming a file transfer anyway. Just for the record, fillzilla will
resume a get with this same ftp server.
I hacked (and it is just a hack) ftpclass.cc to automatically assume the server
supports the REST feature to verify lftp's behavior. Resume works fine when
hacked. I don't want to maintain a separate, private version of lftp. I do
think lftp should try a resume even if the server does not advertise the
feature.
Here is a code snippet:
_____________________________________
//below hack done for testing
conn->rest_supported=true;
while(*f==' ')
f++;
if(!strcasecmp(f,"UTF8"))
conn->utf8_supported=true;
else if(!strncasecmp(f,"LANG
",5))
conn->lang_supported=true;
else if(!strcasecmp(f,"PRET"))
conn->pret_supported=true;
else if(!strcasecmp(f,"MDTM"))
conn->mdtm_supported=true;
else if(!strcasecmp(f,"SIZE"))
conn->size_supported=true;
else if(!strcasecmp(f,"CLNT")
|| !strncasecmp(f,"CLNT ",5))
conn->clnt_supported=true;
else if(!strcasecmp(f,"HOST"))
conn->host_supported=true;
else if(!strncasecmp(f,"REST
",5)) // FIXME: actually REST STREAM
conn->rest_supported=true;
else if(!strcasecmp(f,"REST"))
conn->rest_supported=true;
else if(!strncasecmp(f,"MLST
",5))
{
conn->mlst_supported=true;
conn->mlst_attr_supported.set(f+5);_________________________________________
Do you think lftp should assume REST? Or am I using lftp incorrectly?
Thanks and many thanks for a great utility.
John W