Есть ли способ заставить клиента FTP выдать команду ALLO перед передачей?
Я разрабатываю FTP-сервер, и мне понадобится размер файла до того, как произойдет STOR, я видел, что есть команда с именем ALLO, и мне было интересно, есть ли способ заставить клиента выполнить эту команду, потому что Клиент, конечно же, знает размер файла заранее.
Приветствия.
2 ответа
Я думаю, что @Rob Adams идет в правильном направлении, но я не согласен с отправкой 552
, который говорит, что вы отменяете перевод; Я думаю, что проведение запроса, пока они не отправят ALLO
это более полезный подход. Чтение через RFC 959:
This (ALLO) command may be required by some servers to reserve
sufficient storage to accommodate the new file to be
transferred...
В разделе 4.2 приведен действительный формат ответов, в котором вы можете отобразить ошибку в первой строке, а также подробно изложены требования к ALLO
на 2-й линии.
Кроме того, Раздел 4.2.2 перечисляет это сообщение... 350 Requested file action pending further information.
Представляется разумным, что если ваш сервер получает запрос на сохранение до получения ALLO
, он должен бросить 350
и удерживайте передачу, пока либо вы не получите тайм-аут сеанса, не закроете или не отправят ALLO
,
Просто предположение - вы могли бы вернуться 552 - Exceeded storage allocation (for current directory or
dataset).
для магазина.