Блог Обо мне Храню Читаю Ем 99  

29.11.2007, Nº 1501



ИзнаСИлование программного кода

Видели когда-нибудь нижепроцитированное? Веб-сервер Apache на домашней машине сегодня порадовал при попытке скачать на вторую машину фильм в 3.9 гигабайта (обратите внимание на «content-length»). Корень проблемы ясен — какому-то программисту зачем-то понадобилось использовать знаковый integer для поля длины файла, соответственно всё, что больше двух гигабайт становится отрицательной длины. Чуть попозже попробую присоединить к этому файлу ещё мегабат двести и посмотреть как лопнет мозг у Apache при попытке засунуть это значение в 32 бита.
HTTP/1.1 200 OK
Date: Thu, 29 Nov 2007 18:04:09 GMT
Server: Apache/1.3.33 (Win32) PHP/5.2.0-dev
Last-Modified: Thu, 21 Jun 2007 11:27:00 GMT
ETag: "0-f702ceea-467a6084"
Accept-Ranges: bytes
Content-Length: -150810902
Connection: close
Content-Type: video/x-msvideo
Попробовал. Файл 4171 мегабайт Apache 1.3.33 показал как 74-х мегабайтный.
29.11 21:29
29.11 21:29



29.11.2007, Nº 1501

#1 lgl.livejournal.com 30.11.2007, 04:28

Помню встречался с этим, исправили это насколько помню в апаче версии 2.2, даже пришлось специально его компилировать, чтобы люди могли нормально DVD фильмы скачивать.

#2 indeyets.livejournal.com 30.11.2007, 10:15

потому что нефиг пользоваться устаревшим ПО! ;)

#3 bolk @bolknote.ru30.11.2007, 12:13

Ошибка же невероятно глупая и очевидная!

#4 bolk @bolknote.ru30.11.2007, 12:20

Столько лет делали и такая ошибка в коде… Мда…

#5 alexanderich.livejournal.com 30.11.2007, 12:32

Старая ошибка, старого апача.

#6 bolk @bolknote.ru30.11.2007, 13:13

Я на это смотрю иначе — глупая ошибка в программе, которую делали 12 (!) лет.

#7 danilashtan.moikrug.ru 01.12.2007, 08:20

Проблему с "4 гигабайтами", насколько я помню, не победили и в новом. :)

#8 bolk @bolknote.ru01.12.2007, 12:24

Странно, вроде и побеждать-то нечего — взял тип побольше и все дела.
Ваше имя или адрес блога:

Текст комментария (для гиков: не HTML, а текст!)


Кому бы вы хотели ответить (или кликните на его аватару)


Евгений Степанищев (imbolk@gmail.com)
t=0.043