Slawa Olhovchenkov
2012-Aug-15 18:48 UTC
ftpd reset restart position (REST) at any command
I try using mirror 2.9 (old, very old perl script) to mirror ftp site
in passive mode and see don't working restart transfer: server ignored
'REST pos' command.
This because in ftpcmd.y cleared restart_point:
cmd_list
: /* empty */
| cmd_list cmd
{
if (fromname)
free(fromname);
fromname = NULL;
restart_point = 0;
}
| cmd_list rcmd
;
(cmd is any command execept RNFR and REST) and mirror in passive mode
used next command sequence:
REST pos
PASV
RETR file
RFC 3659 allow this, but not recomeded:
"The server-PI may react to a badly positioned REST command by ....
save the restart value and apply it to the next data transfer command
..."
Why this case (save the restart value) is bad choice?