Среда, 13 Май 2009
nginx: $crc32_name
и $md5_name
Небольшой патч (и для оригинального nginx) который добавляет переменные $crc32_name
и $md5_name
, в которые попадают crc32 или md5 значение переменной name
.
Комментарии
привет
понадобился md5 для генерации ключей мемкашеда, наткнулся на твой патч попробовал — не совпадает твой md5 с теми что генерятся другими путями… посмотрел в самом нгинксе в другом месте, сделал как там:
-uint32_t hash[4];
+u_char hash[16];
ну и соответственно ниже при получении digest
так заработало…
А в чем разница, то?
разница в том, что ты похоже перепутал порядок байт при выводе интов в строку
по крайней мере, у меня получается так…
я не большой спец :-) но md5 реально был неправильный
чтоб не быть голословным, вот как это выглядело у меня:
2009/06/30 17:04:36 [info] 3073#0: *710 key: “C27B70493DBB207CB0943F099311C083” was not found by memcached while reading response header from upstream, client: -, server: -, request: “GET /good/101/ HTTP/1.1”, upstream: “memcached://127.0.0.1:11211”, host: ”-“
ключ — $md5_uri т.е. из /good/101/ получалось C27B70493DBB207CB0943F099311C083
при этом
print hashlib.md5(‘/good/101/’).hexdigest()
49707bc27c20bb3d093f94b083c01193
после внесенных изменений все стало на место
Спасибо :)
Сегодня будет новый релиз и в нем будет исправление.
Патч: http://catap.ru/patches/nginx/Fix-md5-var.patch
привет, нашел, что md5 даже пропатченный неправильно считает:
значение переменной
127.0.0.1
правильный вариант
F528764D624DB129B32C21FBCA0CB8D6
вариант патча
F528764D624DB129B32C21FBCACB8D6ÿ
значение переменной
XX
правильный вариант
C51B57A703BA1C5869228690C93E1701
вариант патча
C51B57A73BA1C5869228690C93E171ÿÿ
Попробуйте вместо вышеуказанного патча-исправления применить этот http://narod.ru/disk/14818851000/md5_-var_fix.patch.html
“Файл удален с сервиса.”
http://catap.ru/patches/nginx/Fix-a-md5-variables-missing-0-in-hash.patch
в сегодняшний nginx-catap это войдет.
Форма комментирования для «nginx:
$crc32_name
и$md5_name
»