Состоялся (http://www.lighttpd.net/2016/7/31/1.4.41/) релиз легковесного http-сервера lighttpd 1.4.41 (http://www.lighttpd.net), в котором устранены 4 проблемы с безопасностью и внесена порция исправлений ошибок. Из связанных с безопасностью изменений отмечаются организация кодированием кавычек в HTML и XML, проверка идентификатора группы при использовании настройки server.username, отключение кэша stat_cache при неактивном режиме server.follow-symlink и прекращение передачи переменной HTTP_PROXY в окружение CGI-скриптов. В новом выпуске также отменены внесённые в прошлой версии изменения поведения при заполнении переменных REQUEST_URI и REDIRECT_URI. Кроме того, при неопределении директивы server.upload-dirs для размещения временных файлов теперь используется содержимое переменной окружения TMPDIR или "/var/tmp", если данная переменная не заполнена.URL: http://www.lighttpd.net/2016/7/31/1.4.41/
Новость: https://www.opennet.ru/opennews/art.shtml?num=44880
> организация кодированием кавычек в HTML и XMLЭто вебсервер или генератор динамического контента?
fix bugs introduced in 1.4.40 (sorry)bug: lighttpd 1.4.40 might leave client sockets in TIME WAIT (FIN2_WAIT)
bug: lighttpd 1.4.40 times out on TLS requests with POST data
bug: lighttpd 1.4.40 reversed REQUEST_URI/REDIRECT_URI (now reverted)
bug: lighttpd 1.4.40 rejects IPv6 addrs in $HTTP[“remoteip”]
bug: lighttpd 1.4.40 rejects IPv6 addrs in $SERVER[“socket”] scope identifier
bug: lighttpd 1.4.40 segfault in mod_accesslog if %T in custom format
bug: lighttpd 1.4.40 might trigger assert when converting to hex stringэто *баный глюкодром, вот это что
Больше похоже на "Made in China", быстро сурово и одноразово.
Современный Made in China значительно отличается от ваших стереотипов из восьмидесятых.
Это просто nginx, а не что-то их собственное и китайское.
Берут и переименовывают !!! Молодцы !
Вы там кроме переименования ничего не увидели? На имена авторов модулей посмотрите, начиная с ngx_lua.
ngx_lua единственно адекватный китайский проект.
Перечислите, пожалуйста, известные вам китайские проекты, которые вы считаете неадекватными.
> Перечислите, пожалуйста, известные вам китайские проекты, которые вы считаете неадекватными.На гитхаб зайди, чудак. Половина репок - домашка китайских студней, зачем-то вываленная на публику.
Первый день на гитхабе, не привыкли еще к оскалу опенсорса?
Один из разработчиков nginx (кажется, Максим Дунин) неоднократно высказывал свое нелестное мнение о качестве китайских модулей в мейл-листах nginx.
Думаю, он знает, что говорит.
> Один из разработчиков nginx (кажется, Максим Дунин) неоднократно высказывал свое нелестное
> мнение о качестве китайских модулей в мейл-листах nginx.
> Думаю, он знает, что говорит.А работу американских программеров отдают индусам. Америкосы-то всё знают про качество индусского кода.
Разработчик nginx и сотрудник компании NGINX, Inc. будет высказывать такое мнение о любых модулях по как минимум двум вполне понятным причинам.
Во-первых, потому что куча клиентов обращается в саппорт с "ничего не работает" и в каком-то количестве случаев в этом виноваты какие-то сторонние модули - при этом не факт что дело даже в их качестве, чаще в неквалифицированной сборке, установке и настройке. Но Максиму Дунину было бы гораздо проще жить на свете если бы никаких сторонних модулей не существовало как таковых.
Во-вторых, некоторая функциональность, которую NGINX, Inc. пытается с не самым фантастическим успехом продавать в виде закрытого NGINX Plus, часто существует, или быстро появляется, в виде модулей. Что приводит потенциального покупателя к мысли о том что покупке NGINX Plus есть и альтернативы - что тоже не радует разработчика Максима Дунина.
Он вроде бы занимается в основном опенсорс версией, так что это вряд ли. И критерии приводились объективные - копипаст огромных кусков ядра nginx с небольшими модификациями и использование хаков (типа доступа к приватным структурам), которые могут сломаться в любой момент.
Разумеется, под словом "Максим" обсуждался условный сотрудник NGINX, Inc.> которые могут сломаться в любой момент
Могут, конечно. Только эти модули есть, и чаще всего работают. Это намного лучше идеальных модулей, которых нет.
Кстати, разрабатываемая Сысоевым альтернатива lua-модулю, njs, - это вовсе не закрытый код:
http://hg.nginx.org/njs/, BSD license, весь процесс разработки публичен практически с самого начала.Самое главное, что закрыто и доступно только в "плюсе" - это инфраструктура для взаимодействия между воркерами. Если эту часть кода открыть, практически все остальные модули из "плюса" повторить совершенно тривиально. :)
> Кстати, разрабатываемая Сысоевым альтернатива lua-модулю, njs, - это вовсе не закрытый
> код:
> http://hg.nginx.org/njs/, BSD license, весь процесс разработки публичен практически
> с самого начала.Которое не нужно и неинтересно никому кроме Игоря, которому стало скучно пилить одно и то же вторую декаду. О чем он сам честно и говорил. Из практических соображений вместо этого лучше было бы впилить в nginx Lua, вот только это давно сделано китайцами.
> Самое главное, что закрыто и доступно только в "плюсе" - это инфраструктура
> для взаимодействия между воркерами. Если эту часть кода открыть, практически все
> остальные модули из "плюса" повторить совершенно тривиально. :)Инфраструктура взаимодействия между воркерами есть и без закрытого Nginx Plus - это light threads и cosocket из OpenResty. Писать в 2016 году модули для nginx на Си - это очень странное желание.
Видел, лично мне это страшно тащить в highload-продакшн, как-то все хрупко выглядит, не навернулось бы на большой нагрузке...
У Cloudflare, например, не наворачивается. Но у вас, конечно, нагрузки поболе их будут.
В cloudflare работают разработчики этого кода. Для них это не проблема, и они на сто процентов знают, как его безопасно использовать.Я не осилил, притом что основной код nginx мне понятен, писал модули (давно).
Странно. А что именно вызвало затруднения (или опасения), какие аспекты, части?
> Это просто nginx, а не что-то их собственное и китайское.Только оно динамически загружать модули научилось лет за 5 до нжинкса. Как видите, если разработчики артачатся, китайцы могут и сами себе фичу накодить.
> Только оно динамически загружать модули научилось лет за 5 до нжинксаПроблема с динамическими модулями не в том, чтобы их реализовать (это просто), а в том, что при загрузке модуля с несовместимой сборкой nginx все сегфолтнется в неожиданный момент. Эта проблема у китайцев не решена никак.
В nginx эту проблему как бы решили - но пока что решение так себе, проверяют ровное совпадение версии nginx. По хорошему, надо ввести понятие версии API и параметров сборки, влияющих на структуры (такие как with-ipv6), и сравнивать именно их - как это сделано, например, в PHP.
Вы, как специалист в области современного китайского ПО, не могли бы пояснить, почему количество релизов tengine 7-8 в год в 2012-2013 упало до двух в 2015? Действительно ли текущий код tengine базируется на nginx-1.6 двухлетней давности? Почему ссылки на оба мейллиста tengine уже длительное время отдают 502? Можно ли сделать вывод, что продукт достиг совершенства и обсуждать больше нечего?Заранее спасибо!
Все ушли на OpenResty.
А вот и дудки, там студенты. Этого достаточно для превращения проекта в учебный полигон.