Lanzamiento de la biblioteca GNU libmicrohttpd 0.9.77

El proyecto GNU ha publicado la versión de la biblioteca libmicrohttpd 0.9.77, que proporciona una API sencilla para integrar la funcionalidad de un servidor HTTP en aplicaciones. Las plataformas compatibles incluyen: GNU/Linux, FreeBSD, OpenBSD, NetBSD, Solaris, Android, macOS, Win32 y z/OS. La biblioteca se distribuye bajo la licencia LGPL 2.1+. En su versión compilada, la biblioteca ocupa aproximadamente 32 KB.

La biblioteca admite el protocolo HTTP 1.1, TLS, el procesamiento incremental de solicitudes POST, autenticación básica y digest, IPv6, SHOUTcast, diversos métodos de multiplexión de conexiones (select, poll, epoll) y modelos de multihilo (por ejemplo, se puede usar un grupo de hilos o un hilo por conexión). Para reducir la sobrecarga que surge al cambiar entre el núcleo y el espacio de usuario, el número de llamadas al sistema durante el funcionamiento se ha minimizado.

Los cambios más notables:

  • En la API se ha introducido una nueva función MHD_get_version_bin() para obtener información sobre la versión de la biblioteca en un formato empaquetado (por ejemplo, 0x00097701).
  • Para la forma recomendada en el RFC, se han proporcionado identificadores de algoritmos utilizados para la autenticación digest («MD5» / «SHA-256» en lugar de «md5» / «sha-256»).
  • Se ha reescrito el código de decodificación de bloques en formato Base64, mejorando la verificación de la validez de los datos de entrada en formato Base64.
  • Se ha mejorado la configuración de la compilación cruzada, aumentando la compatibilidad con POSIX y nuevas versiones de compiladores.
  • Se han añadido pruebas internas para verificar la decodificación de Base64, Basic Auth y encabezados HTTP largos comprimidos.
  • Las pruebas han utilizado la API actualizada de la biblioteca libcurl para ocultar advertencias sobre el uso de llamadas obsoletas.
  • Se ha añadido la posibilidad de utilizar compiladores VC (Visual C) al compilar para sistemas ARM y ARM64.
  • Cualquier valor negativo devuelto por una llamada de callback ahora se considera un error (anteriormente, valores negativos, excepto códigos de error predefinidos, podían llevar a un comportamiento indefinido).
  • Se ha agregado el procesamiento del macro del preprocesador «DEBUG» (el controlador es idéntico al macro «_DEBUG»).
  • Se han corregido errores acumulados.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster