URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 132741
[ Назад ]

Исходное сообщение
"Первый стабильный выпуск библиотеки GNU libmicrohttpd"

Отправлено opennews , 02-Фев-24 10:50 
Проект GNU опубликовал выпуск библиотеки libmicrohttpd 1.0.0, который отмечен как первый стабильный релиз за 16 лет существования проекта. Библиотека написана на языке Си и представляет простой API для встраивания функциональности HTTP-сервера в приложения. Среди поддерживаемых платформ: GNU/Linux, FreeBSD, OpenBSD, NetBSD, Solaris, Android, macOS, Win32 и z/OS. Код распространяется под лицензией LGPL 2.1+. В собранном виде библиотека занимает около 200 КБ и использует в зависимостях только libc и libgnutls при сборке с поддержкой TLS...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=60540


Содержание

Сообщения в этом обсуждении
"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 02-Фев-24 10:50 
http as a service.

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 02-Фев-24 12:50 
> http as a service.

Почти. На ней мелкие HTTP серваки встроенные в программы делают. Довольно норм для этих целей так то.


"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 03-Фев-24 13:01 
И чо, есть примеры тех, кто делает?

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 03-Фев-24 13:54 
> И чо, есть примеры тех, кто делает?

Дешево и сердито - reverse deps в своем дистро лукапнуть кто от него depends. Их есть.

Collectd - кажет в вебфейс свои графики. Debuginfod - понятно чего. Motion (охранка, движение на камере) - может морду казать. Некоторые части systemd, kodi (мульмимедиа-центр) и еще всяких разных, (не)полный список вооон там.


"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 03-Фев-24 18:06 
> Некоторые части systemd

Это всё объясняет.


"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 04-Фев-24 05:45 
>> Некоторые части systemd
> Это всё объясняет.

Что это объясняет? Что поцтер может вместо изобретения вела взять существующую либу? Он это и с рядом других либ проделал так то. С таким же успехом можно кивать на допустим LZ4 какой (которым оно может [опционально] жать журналы в journald). Но вы конечно можете не пользоваться LZ4 потому что им системд пользуется, такое отмораживание ушей назло бабушке будет смешно.

И нет, ни libmicrohttpd ни lz4 какой не писали "специально для системд". Это совершенно отдельные либы от других людей.


"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 02-Фев-24 11:07 
> релиз за 16 лет

это 2008 год, а в 2009 появился go, где всеgo gораздо больше и вкуснее, для встройки какой мб.


"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено IdeaFix , 02-Фев-24 11:27 
32 килобайта?

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 02-Фев-24 17:31 
И еще плюс десяток мегабайт при "libgnutls при опциональной сборке с поддержкой TLS"

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 02-Фев-24 11:45 
Этот тот язык с GC? Спасибо, перетопчимся

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 02-Фев-24 12:07 
Ну, вы 16 лет топтались и ещё потопчетесь на месте столько же)

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 02-Фев-24 14:19 
Ну кто-то топтался, а кто юзал lwan или libwebsockets

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 02-Фев-24 18:23 
Ну с 2000ых я много языков повидал. Про php, c#, java, perl и даже delphi тоже так говорили (не говоря уже о менее популярных). И где они теперь?
А си как был, так и остался.

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 03-Фев-24 01:12 
В топе уязвимых технологий?

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 03-Фев-24 02:18 
> И где они теперь?

На пыхе пол-инета работало, да и сейчас много где осталась.
Шарп открыз часть рынка у пыхи + прикладной
На джаве почти весь банковский сектор
Делфи да, помер... осталось только легаси за мульоны денег.
А перловка как была не нужна, так и осталась.

А где сишка? Прокладка для запуска этого всего добра? Причем дырявая...


"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Tron is Whistling , 03-Фев-24 11:15 
Пых от C лучше не отделять. Говорим пых, в уме держим C, потому что пых это в том числе обвязка для кучи библиотек на оном.

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 03-Фев-24 14:09 
> Шарп открыз часть рынка у пыхи + прикладной

И чего бы это из писаного на пыхе было заменено на дотнетчину? Я так сходу не могу ни 1 програмы придумать. Скажем ни 1 приличного форумного движка на дотнете я вообще ни разу не видел, а чтоб там еще и юзери были....


"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 03-Фев-24 18:08 
> Скажем ни 1 приличного форумного движка на дотнете я вообще ни разу не видел

А на пыхе, значит, видели?


"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 04-Фев-24 05:48 
>> Скажем ни 1 приличного форумного движка на дотнете я вообще ни разу не видел
> А на пыхе, значит, видели?

Разумеется. Более того - в какой более-менее юзабельный форумный двигун не ткни это пых окажется. Что phpbb3, что livestreet хаброобразный, что почти любая другая байда - но вот форумного софта на других яп почти и нет по сути. Или какие-то страшенные уродцы как максимум.


"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Tron is Whistling , 03-Фев-24 11:13 
В смысле, где.
C - это мейнстрим.
PHP - это мейнстрим.
Java - это мейнстрим.
C# - это альтернативный мейнстрим с претензиями на место жабы.

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Tron is Whistling , 03-Фев-24 11:14 
Остальное, всякие руби и прочее - да - просто сдохло, столько банально не надо. Игогошечки с хрустами на очереди в этот же ряд.

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено MVK , 02-Фев-24 12:28 
>язык с GC? Спасибо, перетопчимся

- в Вашем дистрибутиве уже устранили баг: CVE-2023-4911 (позволяет локальному злоумышленнику получить root-привилегии, используя переполнение буфера в динамическом загрузчике ld.so библиотеки GNU C)?


"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 02-Фев-24 13:33 
Предлагаешь линковщик ld.so переписать на рас^W go?

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 02-Фев-24 14:52 
Предлагаю по возможности не использовать ld.so в своих программах (давно так делаю, жить стало сильно легче).

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 02-Фев-24 16:31 
> Предлагаю по возможности не использовать ld.so в своих программах (давно так делаю,
> жить стало сильно легче).

Это врядли - без реюза библиотечного кода программы как раз таки тяжелеют.


"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 03-Фев-24 01:09 
На проде они всё равно запускаются в изолированном корне (не устраивать же в системе свалку из кучи демонов).

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 03-Фев-24 06:50 
> На проде они всё равно запускаются в изолированном корне (не устраивать же
> в системе свалку из кучи демонов).

Изоляция - понятие относительное. Полный unshare файлов и памяти можнор так то и не делать, только логическую изоляцию файловых иерархий и проч.

И даже "свой корень" никак не запрещает ему физически указывать на те же файлы или блоки, а то и те же страницы в памяти. При помощи KSM к тому же эту абстракцию можно доразвить, куча оперативы - изниоткуда. Системд даже умеет его нынче включать для тех или иных штук, чуть ли не всей системеме можно врубить.


"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 02-Фев-24 16:58 
В своим хеллоуворлдах можешь хоть статически все собирать, только причем тут ты и твои программы?

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 03-Фев-24 01:05 
В качестве примера разумного поведения.

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Igor , 02-Фев-24 19:18 
Я вот смотрю по сторонам и никак не вижу локального злоумышленника! А сам  и так могу получить root - без взлома! Т.е. речь идет о каких-то публичных серверах, где бродят толпы посторонних пользователей.

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Хейтер , 02-Фев-24 20:13 
>смотрю по сторонам и никак не вижу локального злоумышленника!

- таким злоумышленником может быть установленное приложение или вирусняк


"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 03-Фев-24 01:06 
> Я вот смотрю по сторонам и никак не вижу локального злоумышленника!

Да вы и удалённого злоумышленника не увидите, потому что он к вам сзади подойдёт.


"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 02-Фев-24 12:49 
Зачем GO? В Питоне еще больше всего! А для встройки вообще есть LUA...

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 02-Фев-24 16:42 
> Зачем GO? В Питоне еще больше всего! А для встройки вообще есть LUA...

То-то гугол с питона на игогоху все переписывает.


"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 02-Фев-24 17:31 
Бессмысленная трата времени и денег, потом всё равно на Расте переписывать.

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 02-Фев-24 18:25 
А потом все равно с раста на "новый модный язык для премии нового менеджера"

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 03-Фев-24 01:15 
И только переполнения буфера — нестареющая классика, которая всегда остаётся в тренде!

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 02-Фев-24 18:30 
Ну так и мелкомягкие все с плюсов на шарп переписывали. Ну и где теперь шарп?
И гугл тоже какое-то время все на джаву переписывал. Помню во всех айтишных новостях пару лет мелькало "в джава все гораздо лучше с безопасностью, поэтому андройд будет на джаве". В итоге андройд самая днищенская ос по безопасности (разве что винда ещё хуже) как раз из-за джавы и гугловых апи. Безопасности так и не добавили, а вот тормоза появились. Теперь с растом точно также носятся.

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 02-Фев-24 12:52 
> это 2008 год, а в 2009 появился go, где всеgo gораздо больше и вкуснее,
> для встройки какой мб.

На go хрен встроишь сервак в уже существующую программу. Только с ноля писать. Если сишникам хочется что-то похожее на гошные микросервисы - это скорее lwan будет. У этой штуки апи относительно низкоуровневое. Зато и контроль над происходящим хороший.


"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 02-Фев-24 12:58 
Го встраивается легчайше и статично. Разве что размеры и тулинг таскать. Ну и безопасность под вопросом.

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 02-Фев-24 13:02 
> Го встраивается легчайше и статично.

В сишную программу то? Добавив мегов так 10 к ней? А мне точно надо HTTP серв такой ценой?

> Разве что размеры и тулинг таскать. Ну и безопасность под вопросом.

Зависимость от гугли - ну такое себе. ЯП который делает 1 фирма это суперсыкотно. Вон там дотнетчики в соседней новости уже узнают почему. Их менеджмент майкрософт в легаси записал по второму разу :D. И в этот раз, кажется, всерьез.


"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 02-Фев-24 13:51 
Гошный бинарь можно сделать 5 килобайт. Но тогда будет куча зависимостей и теряется прелесть го. Чего положили в сам гошный сервак только гугл знает.

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 02-Фев-24 14:55 
Если эту прогу выполнять на сервере в контейнере/чруте (как делают те, кому не пофиг не безопасность), становится очевидным, что в одном случае, помимо бинаря на 5 кБ, нужно еще 20 Мб библиотек (и пое*ться с их установкой), а во втором — закинуть один статический бинарь 20 Мб.

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 03-Фев-24 06:53 
> Если эту прогу выполнять на сервере в контейнере/чруте (как делают те, кому
> не пофиг не безопасность), становится очевидным, что в одном случае, помимо
> бинаря на 5 кБ, нужно еще 20 Мб библиотек (и пое*ться
> с их установкой), а во втором — закинуть один статический бинарь 20 Мб.

А можно использовать продвинутые технологии - и тогда эта система будет +1 референсом на систему "хоста" с 1 стороны, но выглядеть как отдельная для софта - с другой. Ваши знания протухли и нерелевантны.

А если у вас оперативка и место на хостах бесплатные - можете хоть 100 мегов таскать. За свой счет, конечно.


"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 02-Фев-24 16:02 
Я тож могу на C написать прогу из одной процессорной инструкции, будет меньще 5Кб, только ничего делать не будет

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 02-Фев-24 16:44 
> Я тож могу на C написать прогу из одной процессорной инструкции, будет
> меньще 5Кб, только ничего делать не будет

А ты лучше в 32 кило полноценный HTTP сервак без откровенных вулнов уложи, тогда и поговорим.


"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 02-Фев-24 16:59 
ТЫ не туда воюешь, я наоборот одобряю libmicrohttpd

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 03-Фев-24 01:08 
Там был толстый намёк на "откровенные вулны" (а любой сишный код из них состоит).

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 03-Фев-24 06:54 
> Там был толстый намёк на "откровенные вулны" (а любой сишный код из
> них состоит).

И где такие уж прямо вулны пачками в сабже или lwan например? А так CVEхи даже в коде на хрусте бывают, база CVE не даст соврать.


"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 02-Фев-24 16:44 
> Гошный бинарь можно сделать 5 килобайт. Но тогда будет куча зависимостей и
> теряется прелесть го. Чего положили в сам гошный сервак только гугл знает.

Врядли таким манером на игого получится встроенный хттп серв с всего +32 кил к бинарю VS версия которая без http сервака.


"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 03-Фев-24 01:05 
+10 Мб на gnutls (в эру HTTPS живём)

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 03-Фев-24 07:03 
> +10 Мб на gnutls (в эру HTTPS живём)

Нафиг не нужно например для вебморды по типу роутера в локалке (как вы вообще серт на 192.168.0.1 по нормальному представляете?). Но даже если так посмотреть, ее распакованый пакет 3.5 мега всего. С документацией и локалями (которые можно и не ставить).

А как дополнительный плюс это все не зависит от прихоти 1 корпорации, любящей списывать проекты в утиль по рандому.


"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 02-Фев-24 15:09 
Это проект GNU, требуется одобрение (или неодобрение) Go сначала.

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено C00l_ni66a , 02-Фев-24 19:43 
Неодобряем.

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 02-Фев-24 11:10 
>различные методы мультиплексирования соединений (select, poll, epoll)

kqueue поддерживается?


"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 02-Фев-24 11:16 
Вот тоже интересно, написано что среди поддерживаемых платформ: GNU/Linux, FreeBSD, OpenBSD, NetBSD, Solaris. Но при этом современное мультиплексирование только epoll для линукса,остальным видимо довольствоваться посиксным poll'ом. Ну ок, в NetBSD есть wrapper для epoll, к-й транслируется в kqueue. Но все равно...

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 02-Фев-24 12:55 
> Вот тоже интересно, написано что среди поддерживаемых платформ: GNU/Linux,
> FreeBSD, OpenBSD, NetBSD, Solaris. Но при этом современное мультиплексирование
> только epoll для линукса,остальным видимо довольствоваться посиксным poll'ом.

Это вообще не либа для super-high-load серверов. Хоть она и не позорная, но немного не для этого.

> Ну ок, в NetBSD есть wrapper для epoll, к-й транслируется в kqueue. Но все равно...

Типа, вам для ваших бздей должны писать код те кто бзды даже и не юзает? А вы точно этого хотите то? Там такой код будет, что как говорится бойтесь своих желаний...


"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 02-Фев-24 13:02 
Так если не видел зачем написал и выкатил в прод как сабж?

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 02-Фев-24 13:04 
> Так если не видел зачем написал и выкатил в прод как сабж?

Так они posix совместимые же, не? Хотя можете написать им баг чтобы убрали упоминание поддержки конечно :))


"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 02-Фев-24 13:55 
Это была подводка если выкатил то знает что делает и пусть другие не возмущаются.

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Karlson2k , 02-Фев-24 13:16 
В libmicrohttpd есть найтивная поддержка как NetBSD, так и OpenBSD. Не говоря о FreeBSD.
И все они отличаются, это не просто "Posix" совместимое. Когда дело доходит до сокетов, то у каждой системы есть свои особенности. В libmicrohttpd они учтены и индивидуальны для этих *BSD.
Кстати, библиотека неплохо справляется с высокими нагрузками. 100к запросов в секунду отрабатываются без проблем.
По сути kqueue - единственная недостающая фитча, так как для средних нагрузок вполне poll справляется.
Кстати, на FreeBSD и poll даёт отличные результаты. Производительность системы очень вряд ли будет упираться именно в это.

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Golangdev , 02-Фев-24 11:29 
> Код распространяется под лицензией LGPL 2.1+.

спасибо, нет


"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 02-Фев-24 11:35 
>> Код распространяется под лицензией LGPL 2.1+.
>спасибо, нет

Получается, если я заюзаю либу в своей проге, я обязан открыть исходники?


"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 02-Фев-24 11:38 
Если ты её "исправлять" (малишес форк без переименования) не будешь, то нет.

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 02-Фев-24 11:59 
Немного не так.
Можно линковать хоть динамически, хоть статически. Если статически, то нужно предоставить объектные файлы своей программы. А вот включить исходный код библиотеки в исходный код своей программы (т.е. компилировать как единое целое) не получится из-за несовместимости лицензий.

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 02-Фев-24 12:20 
Вопрос был про обязанность открывать исходники при использовании. По-моему, лицензия даже позволяет скопировать в свой проприетарный код, если передаваться потребителю не будет (или это только gpl?). Т.е. вполне можно сколько угодно использовать на своих серверах, эта лицензия на такая ограничивающая, как agpl.

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 02-Фев-24 12:26 
А я про открытие кода и ответил. Если линковать, то открывать код не нужно даже если линковать статически.

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 02-Фев-24 12:39 
Стоит ещё добавить, что лицензию на собственный форк "с модификациями" так просто поменять нельзя (если это не предусмотрено оригинальными авторами). Обязательства предоставить код подобного форка потребителю возникают при передаче продукта.

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Александр , 02-Фев-24 23:43 
Если потребителю передаваться не будет, то и открывать не надо. Открытие кода в gpl/lgpl как раз касается передачи. Перед бинарь - передай и код (gpl). Или передал статический бинарь - передай и код (lgpl). Кстати, этим пользуются всякие серверные решения: они то бинари не передают, а просто предоставляют протокол. Поэтому частенько используют и тот же gpl, даже без открытия кода

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 02-Фев-24 15:13 
Если линкуешься динамически, то нет.

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 03-Фев-24 08:47 
Всё правильно. А если ты в своей проге используешь купленную тобой в коммерческих целях проприетарную либу, а вместе с ней GPL-либу, то при продаже ты должен открыть код, как своей программы, так и коммерческой либы. GPL -- это зомби-лицензия.

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Tron is Whistling , 03-Фев-24 11:19 
Если линкуешься динамически, или линкуешься статически без изменений - по сути нет, этот код уже открыт и доступен от авторов. Вот если изменил - обязан открыть изменённый код либы, если продукт с ней передаётся конечному пользователю.

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Пряник , 02-Фев-24 12:12 
Если набрать в GPL русской раскладке - получится ПЗД, то есть нельзя тащить в коммерческий продукт.

MIT превращается в ЬШЕ, значит норм, только не забывайте указывать авторов использованного кода.

AGPL, соответственно, ФПЗД, то есть совсем нельзя! А вот LGPL будет ДПЗД, то есть в принципе норм, ничего страшного.


"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 02-Фев-24 12:58 
> Если набрать в GPL русской раскладке - получится ПЗД, то есть нельзя
> тащить в коммерческий продукт.

Ну все, туши фонарь, сливай вода, шатдауни серваки, ибо нех! Или у вас все серваки исключительно в альтруистичных целях работают?!

> AGPL, соответственно, ФПЗД,

Тот редкий случай когда транслит не врет. Ну вот неудобная лицензия, соотвествовать ей - гимор. И с другими GPLями не совместима.


"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 02-Фев-24 14:58 
ЬШЕ — это ПЛН ПЗД, то есть гораздо хуже.
Не говоря уже об ИЫВ (BSD).

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено x3who , 02-Фев-24 19:02 
ЬШЕ — это не ПЗД ! :D

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 03-Фев-24 01:11 
Это ПЛН ПЗД!!1

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 02-Фев-24 19:06 
Я поначалу прочитал как ЫШЕ, т.е. ещё, а значит норм.

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено _kp , 02-Фев-24 21:34 
>>нельзя тащить в коммерческий продукт.

Смотря в какой продукт, и в какую его часть.
Если ПО не вешь сама в себе, то значительная часть кода бывает и открыта, и там GPL не доставляет проблем.

Другой вопрос, что подобные мини реализации представляют интерес скорее для микроконтроллеров. А там динамическими линковками или никак, или непродуктивно.
Да и задача не настолько сложная, что б неумудриться наделать "велосипедов", но своих.


"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Tron is Whistling , 03-Фев-24 11:19 
А LGPL - ДПЗД - то есть пофиг.

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 03-Фев-24 11:39 
Прянику зачёд за расшифровку абревиаутур. Предложи это как официальный перевод названий лицензий для Фонда отечественного ПО :)

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 04-Фев-24 02:10 
Жаль, что баш.орг.ру окочурился.

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено _oleg_ , 02-Фев-24 13:43 
> спасибо, нет

Ты правда думаешь, что кому-то это интересно :-)))?


"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 03-Фев-24 01:13 
Думаю, нет.
Но всё равно спасибо!

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 02-Фев-24 12:40 
Wt то же делает.

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 02-Фев-24 12:57 
Vibe.d на D тоже норм. Приятный синтаксис делает работу с ним ненапряжной. Но отдаю должное минимализму сабжа - 32 КБ! Не каждый статически компилируемый язык может похвастатся такими компактными бинарями даже при небольшой кодовой базе.

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 02-Фев-24 13:00 
> Приятный синтаксис делает работу с ним ненапряжной.

Для приятного синтаксиса на сях - например, lwan есть, там можно на сях почти как на игого фигачить. Минимальный серв - полстранички текста, и это на сях то. Правильные апи - ключ к успеху. Но в сабже низкоуровневый контроль над действом хорош.


"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 02-Фев-24 13:55 
Есть такое, хорошая вещь. Код хороший, понятный, goto для компактных выходов из функций одобряю. Есть fuzz тестирование, был проведен аудит, который ничего серьезного не показал. Всего 25 тыс. строк на C плюс по мелочи.

cloc lwan
     318 text files.
     184 unique files.
     149 files ignored.

github.com/AlDanial/cloc v 1.98
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
C                               70           5446           2581          24114
C/C++ Header                    64            843           2406           2732


"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 02-Фев-24 17:04 
> Есть такое, хорошая вещь. Код хороший, понятный, goto для компактных выходов из
> функций одобряю.

У него апи хэндлеров достаточно простое и удобное. Можно быренько мелкий "апп" сервер на манер микросервиса скроить (привет игогошики) - или вебморду несложную. Даже вебсокеты могет. И примеры как его юзать прям в комплекте. С корутинами еще довольно прикольно придумано.

Автор вроде не раздолбай и security-aware более-менее, поэтому при всем его premature optimization - таких уж откровенных вулнов оптом не сажает. И над ошибками работает.

Как приятный бонус - таки повернут на перфомансе, на счету этой штуки призовые места в ряде бенчей. При том довольно апликушных, типа работы с скулайтовой базой, что забавно.

> Есть fuzz тестирование, был проведен аудит, который ничего серьезного
> не показал. Всего 25 тыс. строк на C плюс по мелочи.

Ну вот да - за всю его историю лажи в нем достаточно немного для HTTP сервера. Правда кода все же больше чем 32 кило. И апи не такое низкоуровневое как у сабжа в общем случае.


"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено хрю , 02-Фев-24 13:51 
Посмотрел код - убер планарная Сишка. Поддерживать такое - врагу не пожелаешь.

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 02-Фев-24 14:22 
Хейтерс гонна хейт, а эта библиотека популярна и используется в множестве проектов, для всяких веб-морд в частности.

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 02-Фев-24 15:00 
Надеюсь, не один из этих проектов не используется в проде (потому что последние 10 лет эта библиотека официально находилась в статусе сырого продукта, не готового для промышленного использования).

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 02-Фев-24 15:54 
systemd ее юзает

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 02-Фев-24 17:10 
> Надеюсь, не один из этих проектов не используется в проде

Дофейхоа где используется, кукуй.

> библиотека официально находилась в статусе сырого продукта, не готового
> для промышленного использования).

Когда и кого это останавливало? Ей например некторые майнеры для биткоина пользовались - рисовали встроенный вебфейс. А чтоб видиеть чем ферма занимается.

Или например motion - так то это прога для отлова движения на камере (== охранная система) но до кучи у нее - вот - и веб интерфейс можно заенаблить. А там - сабж.

Или системд допустим местами юзает это - для ремотного доступа. Или - collectd, для - ессно - показа графиков статистики которую нагреб. Kodi морду им рисует. Да и еще ряд софта, см реверс-депы своего дистра.

То что некий софт не делает релизы - не значит что им нельзя пользоваться. Можно самому прогнать валидацию под свои кейсы если надо. А у этой штуки серьезных конкурентов не так уж и много, чтоб пальцы гнуть.


"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Karlson2k , 02-Фев-24 18:07 
> Надеюсь, не один из этих проектов не используется в проде (потому что
> последние 10 лет эта библиотека официально находилась в статусе сырого продукта,
> не готового для промышленного использования).

Можно вспомнить OpenSSL, который был с версиями меньше единички больше десятка лет, что совершенно не мешало на нём построить почти всё, что требовало SSL, а потом и TLS.


"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 02-Фев-24 15:20 
А на С++ есть?

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 02-Фев-24 17:02 
Конечно есть, с кучей шаблонов и виртуальных методов, и еще dynamic_cast<> через каждую строку

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 02-Фев-24 17:06 
Ссылку, брат Аноним.

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 02-Фев-24 23:17 
Например, вот эта https://github.com/yhirose/cpp-httplib/

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 04-Фев-24 07:12 
Если тебе нужен _самый прлизводительный_ то вот https://github.com/drogonframework/drogon но это не просто микро http сервер.

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено _kp , 02-Фев-24 21:36 
Попроси GPT перевести. И лучше сразу на разные языки.

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 02-Фев-24 23:19 
Теперь понял, как на Ржавый переписывают.

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 03-Фев-24 00:50 
Не совсем так, там у них какой-то транспайлер полусырой есть. Практика показывает что при генерации кода на Расте GPT (а другие сетки и подавно) склонны генерить бойлерплейт и сажают в него кучу багов, юзают unsafe где не нужно. С Питоном например все намного лучше, и даже с Си и Го.

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 03-Фев-24 11:36 
На D пробовали что-либо транспейлнуть? В самой экосистеме D есть транспиляторы с C. Пробвовал как-то заголовочник от ядра преобразовать в D-модуль им, как-то не очень получилось.

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 04-Фев-24 04:29 
Нет, но вроде такая транспиляция не особо нужна потому что фишка D в очень легкой работе с уже существующим кодом на C.

ImportC is a C compiler embedded into the D implementation. It enables direct importation of C files, without needing to manually prepare a D file corresponding to the declarations in the C file. It directly compiles C files into modules that can be linked in with D code to form an executable. It can be used as a C compiler to compile and link 100% C programs.


"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено ллщд , 14-Фев-24 11:42 
Не благодари (знаю, что не будешь) - https://github.com/userver-framework/

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 03-Фев-24 13:03 
Помню лет 7 назад пытался ее заюзать в мини проекте. Даже на смешных нагрузках вела себя неадекватно и глючила. Впрочем, для гну неудивительно.

"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Karlson2k , 03-Фев-24 13:54 
Конечно, не удивительно для GNU.
Как у ужасно глючащий GCC, которым собрано половина всех бинарников в мире, если не больше.
Вообще проектик GNU так себе, непонятно о чём и для кого.
:)


"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Аноним , 03-Фев-24 13:57 
> Помню лет 7 назад пытался ее заюзать в мини проекте. Даже на
> смешных нагрузках вела себя неадекватно и глючила. Впрочем, для гну неудивительно.

Булшит, оно тянет даже нагрузки выше среднего вполне адекватно. А если глючит, может, дело не в бобине?


"Первый стабильный выпуск библиотеки GNU libmicrohttpd"
Отправлено Neon , 12-Фев-24 07:31 
Осталось теперь дыры и баги еще 16 лет вылавливать)