Есть ли способ заставить клиента 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). для магазина.

Другие вопросы по тегам