Выпуск библиотеки GNU libmicrohttpd 0.9.77

Новости мира unix. Хотите узнать секрет вечного счастья? Откройте страницу 246.
Ответить
acolyte
Аватара пользователя
Сообщения: 2411
Зарегистрирован: 20.08.2022

#

Выпуск библиотеки GNU libmicrohttpd 0.9.77
Дата публикации:Mon, 29 May 2023 09:43:37 +0300




Проект GNU опубликовал выпуск библиотеки libmicrohttpd 0.9.77, представляющей простой API для встраивания функциональности HTTP-сервера в приложения. Среди поддерживаемых платформ: GNU/Linux, FreeBSD, OpenBSD, NetBSD, Solaris, Android, macOS, Win32 и z/OS. Библиотека распространяется под лицензией LGPL 2.1+. В собранном виде библиотека занимает около 32 КБ.



Библиотека поддерживает протокол HTTP 1.1, TLS, инкрементальную обработку POST-запросов, basic- и digest-аутентификацию, IPv6, SHOUTcast, различные методы мультиплексирования соединений (select, poll, epoll) и модели многопоточности (например, можно использовать пул потоков или поток на соединение). Для снижения накладных расходов, возникающих при переключении контекста между ядром и пространством пользователя, число системных вызовов в процессе работы сведено к минимуму.




Наиболее заметные изменения:
  • В API предложена новая функция MHD_get_version_bin() для получения информации о версии библиотеки в упакованном формате (например, 0x00097701).

    К форме, рекомендуемой в RFC, приведены идентификаторы алгоритмов, используемых для digest-аутентификации ("MD5" / "SHA-256" вместо "md5" / "sha-256").
    Переписан код декодирования блоков в формате Base64, усилена проверка корректности входных данных в формате Base64.

    Улучшена настройка кросс-компиляции, повышена совместимость с POSIX и новыми версиями компиляторов.
    Добавлены внутренние тесты для проверки декодирования Base64, Basic Auth и свёрнутых длинных HTTP-заголовов.
    В тестах задействован обновлённый API библиотеки libcurl для скрытия предупреждений об использовании устаревших вызовов.
    Добавлена возможность использования компиляторов VC (Visual C) при сборке для систем ARM и ARM64.

    Любые отрицательные значения, возвращаемые callback-вызовом, теперь трактуются как ошибки (ранее отрицательные значения, за исключением предопределённых кодов ошибок, могли привести к неопределённому поведению).
    Добавлена обработка макроса препроцессора "DEBUG" (обработчик идентичен макросу "_DEBUG").


    Исправлены накопившиеся ошибки.


Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=59211

Жизнь за Нер'зула!

Ответить