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



      

Reply via email to