lftp处理对ALLO的否定响应



我在Ubuntu 20.4上使用lftp 4.8.4和我自己的ftpd服务器代码。

如下面的调试日志所示,在准备传输时,lftp发送ALLO,但似乎忽略了否定响应(452"无空间"(。

我也试过一个552〃的;超过存储分配";回应,但也被忽略了。

是否有更合适的回应?我是否误解了ALLO的作用?

欢迎任何建议!谢谢

> put lfs.img -o lfs3
---- Connecting to ftpd (192.168.0.171) port 21
<--- 220 nil                         
---> FEAT
<--- 211-Extensions supported:             
<---  SIZE
<---  REST STREAM
<---  PASV
<--- 211 END
---> USER anonymous
<--- 331 nil                         
---> PASS lftp@
<--- 230 nil                               
---> PWD
<--- 257 /                                     
---> TYPE I
<--- 200 nil                                   
---> PASV
<--- 227 Entering Passive Mode. 192,168,0,171,255,249
---- Connecting data socket to (192.168.0.171) port 65529
---- Data connection established
---> ALLO 72408
<--- 452 no space                              
---> STOR lfs3
<--- 500 open fail                             
---- Closing data socket
put: lfs.img: Fatal error: 500 open fail

lftp正确处理对ALLO命令的552响应("请求的文件操作中止。超出存储分配"(。lftp用STOR命令响应552响应,紧接着是ABOR(即Abort(命令。

根据RFC 959(第4.1.3段(:;此命令[ALLO]后面应跟STORe或APPEnd命令"因此,尽管STOR命令不会成功,但跳过它并只发送ABOR是不正确的。

相关内容

  • 没有找到相关文章

最新更新