Патч pure-ftpd для корректной обработки докачки
Наверно многим известна проблема, когда с pure-ftpd при обрыве соединения невозможно сделать докачку файла.
По этому поводу было много разговоров в mailing list, но чето дела не нашел.
На суд общественности предлагаю патч: http://www.pentarh.com/files/patch-correct-resume.txt
Патч добавляет опцию -7 к демону pure-ftpd, благодаря которой демон пишет контент передаваемого файла ПРЯМО в файл назначения, а не во временный файл типа “.pureftpd-upload.XXX.YYY.ZZZ”. Так же он сохраняет обработку команды APPE.
Соответственно, в конфиге добавилась аналогичная опция:
NoAtomicFile yes
Благодаря этому становится возможным докачка файла после обрыва связи.
Интрукции при сборке из исходников:
1. Положить патч в корневой каталог исходников pure-ftpd 1.0.22
2. patch -p0 < patch-correct-resume.txt
3. ./configure и все такое
Инструкции FreeBSD:
1. Положить файл в /usr/ports/ftp/pure-ftpd/files/
2. make config, make install
Некоторые ftp-клиенты делают upload через STOU, а по окончании переименовывают файл – патч в таком случае отработает корректно?
Комментарий от Алексей | 3 июня 2009
хз, посмотрим, потестим.
Комментарий от admin | 3 июня 2009
Работает. Единственное что, я сомневаюсь что в таком случае возможна докачка.
================================
# ftp localhost
Connected to localhost.localdomain.
220-FTP server ready.
Name (localhost:root): ********
331 User ******** OK. Password required
Password: ***********
230-User ********* has group access to: ftpuser
230 OK. Current restricted directory is /
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> sunique
Store unique on.
ftp> send data
227 Entering Passive Mode (127,0,0,1,31,45)
150-FILE: pureftpd.4a266976.22.0001
150 Accepted data connection
226-File successfully transferred
226 0.353 seconds (measured here), 276.53 Mbytes per second
102400000 bytes sent in 0.35 seconds (2.8e+05 Kbytes/s)
ftp> ls
227 Entering Passive Mode (127,0,0,1,228,59)
150 Accepted data connection
drwxr-xr-x 3 1111 ftpuser 4096 Jun 3 07:15 .
drwxr-xr-x 4 0 ftpuser 4096 Apr 16 2007 ..
-rw-r–r– 1 1111 ftpuser 102400000 Jun 3 07:15 pureftpd.4a266976.22.0001
226-Options: -a -l
Комментарий от admin | 3 июня 2009
непонятно зачем это вообще?
когда по дефолту все нормально докачивается.
Комментарий от anon | 20 июля 2009
А вы попробуйте интернет оборвать в процессе закачки большого файла на ФТП сервер.
Комментарий от admin | 20 июля 2009