Есть ли способ заставить клиента FTP выдать команду ALLO перед передачей? - PullRequest
1 голос
/ 19 апреля 2011

Я разрабатываю FTP-сервер, и мне понадобится размер файла, прежде чем произойдет STOR, я видел, что есть команда с именем ALLO, и мне было интересно, есть ли способ заставить клиента выдать это команда, потому что клиент, конечно, знает размер файла перед рукой.

Приветствие.

Ответы [ 2 ]

2 голосов
/ 19 апреля 2011

Я думаю, что @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.

2 голосов
/ 19 апреля 2011

Просто предположение - вы можете вернуть 552 - Exceeded storage allocation (for current directory or dataset). для магазина.

...