| Summary: | Не отдаёт файл размером больше 32 МБ. | ||
|---|---|---|---|
| Product: | Sisyphus | Reporter: | Горев Андрей <nekapitan2009> |
| Component: | inquisitor-tftpd | Assignee: | Michael Shigorin <mike> |
| Status: | CLOSED NOTABUG | QA Contact: | qa-sisyphus |
| Severity: | normal | ||
| Priority: | P3 | CC: | asy |
| Version: | unstable | ||
| Hardware: | all | ||
| OS: | Linux | ||
(В ответ на комментарий №0)
> Из всех серверов TFTP из дистрибутива с файлами размером больше 32 МБ
> работает только пакет tftp (пускалки tftp-server-standalone,
> tftp-server-xinetd), перенесённый из BSD в Linux.
> Или оставьте только его или исправьте остальные.
$ rpm -qp --qf='%{DESCRIPTION}\n' inquisitor-tftpd-0.48-alt1.qa1.src.rpm
The Trivial File Transfer Protocol (TFTP) is normally used
for booting diskless systems.
This package includes only server side patched to please Inquisitor.
(In reply to comment #1) > This package includes only server side patched to please Inquisitor. Так Андрей и пишет, что сервер не отдаёт. Видимо, была попытка IOS залить современный в Циску. Так что, наверное, баг. Братцы, это пакет специально для исошки с inquisitor (которым, кстати, хорошо бы опять заняться после выпусков). Оставьте его в покое. |
Причина проста: счётчик пакетов (id в заголовке UDP) не переходит через 64k пакетов. Итог: после прохождения 65535-го ID идут таймауты и файл не докачивается. 65535 * 512 байт ~= 32 МБ. Точно сами считайте - мне лень. Насчёт размера блоков TFTP из соответствующего RFC. Управление размером блока имеют очень немногие TFTP серверы, но даже в этом случае, необходимо, чтобы клиент TFTP с этим согласился. Cisco к таким не относится. Из всех серверов TFTP из дистрибутива с файлами размером больше 32 МБ работает только пакет tftp (пускалки tftp-server-standalone, tftp-server-xinetd), перенесённый из BSD в Linux. Или оставьте только его или исправьте остальные. P.S. Многие IOS для Cisco БОЛЬШЕ 32 МБ существенно. Стандартный tftp не имеет управления, но с > 32 МБ справляется. Здесь виден переход ID через 64k: 15:00:06.119619 IP (tos 0x0, ttl 64, id 65532, offset 0, flags [none], proto UDP (17), length 544) pc00447.tlt.globex.msk.36206 > 192.168.1.10.32088: UDP, length 516 15:00:06.127182 IP (tos 0x0, ttl 255, id 1288, offset 0, flags [DF], proto UDP (17), length 32) 192.168.1.10.32088 > pc00447.tlt.globex.msk.36206: UDP, length 4 15:00:06.127368 IP (tos 0x0, ttl 64, id 65533, offset 0, flags [none], proto UDP (17), length 544) pc00447.tlt.globex.msk.36206 > 192.168.1.10.32088: UDP, length 516 15:00:06.134768 IP (tos 0x0, ttl 255, id 1289, offset 0, flags [DF], proto UDP (17), length 32) 192.168.1.10.32088 > pc00447.tlt.globex.msk.36206: UDP, length 4 15:00:06.134853 IP (tos 0x0, ttl 64, id 2, offset 0, flags [none], proto UDP (17), length 544) pc00447.tlt.globex.msk.36206 > 192.168.1.10.32088: UDP, length 516