Eerste stabiele release van de GNU libmicrohttpd-bibliotheek

Het GNU-project heeft de release van de libmicrohttpd-bibliotheek 1.0.0 gepubliceerd, wat wordt gemarkeerd als de eerste stabiele release in 16 jaar. De bibliotheek is geschreven in C en biedt een eenvoudige API voor het inbedden van HTTP-serverfunctionaliteit in applicaties. Ondersteunde platforms zijn onder andere GNU/Linux, FreeBSD, OpenBSD, NetBSD, Solaris, Android, macOS, Win32 en z/OS. De code is beschikbaar onder de LGPL 2.1+ licentie. Bij standaardbouw neemt de bibliotheek ongeveer 200 KB in beslag, terwijl in de minimale bouwmodus dit 32 KB is. Alleen libc wordt als afhankelijkheid gebruikt, evenals libgnutls bij optionele bouw met TLS-ondersteuning.

De bibliotheek ondersteunt het HTTP 1.1-protocol, TLS, incrementele verwerking van POST-verzoeken, verbindingen van meerdere netwerkpoorten, basis- en digest-authenticatie, IPv6, SHOUTcast, verschillende methoden voor het multiplexen van verbindingen (select, poll, epoll) en modellen voor multithreading (bijvoorbeeld een threadpool of een thread per verbinding). Om de overhead te verminderen die optreedt bij contextwisseling tussen de kernel en de gebruikersruimte, is het aantal systeemaanroepen tijdens het operationele proces tot een minimum beperkt. De beveiliging van de libmicrohttpd-codebasis is bevestigd door audits uitgevoerd door Mozilla en Red Hat.

De meest opvallende veranderingen in vergelijking met de vorige release:

  • De code voor het parseren van clientverzoeken is herschreven en volledig aangepast aan de eisen van RFC 9110 en 9112. Stijlen voor strikte en soepele naleving van de specificaties zijn geboden om een balans te vinden tussen compatibiliteit en een hogere veiligheid.
  • De implementatie van digest-authenticatie is herzien, waarbij de ondersteuning voor de mogelijkheden die aanwezig zijn in RFC 7617 aanzienlijk is uitgebreid. Dit omvat ondersteuning voor SHA-512, userhash en username in een uitgebreide notatie. Ook is de ondersteuning voor de oudere RFC 2069 en de mogelijkheid om MD5- en SHA-256-hashes te gebruiken behouden gebleven.
  • De werking in multi-threaded omgevingen en bij socket-pollingmodi is verbeterd.
  • De implementatie van basic-authenticatie is herzien, waarvoor in de ABI extra functies zijn voorgesteld.
  • De code voor de initialisatie van GnuTLS is herzien. Er is de mogelijkheid toegevoegd om zowel generieke als libmicrohttpd-specifieke systeemconfiguratie van GnuTLS te gebruiken, evenals ondersteuning voor het overschrijven van specifieke instellingen van de systeemconfiguratie van GnuTLS.

In de toekomst is het de bedoeling om een tak van libmicrohttpd 2 te ontwikkelen, waarin ondersteuning voor de protocollen HTTP/2 en HTTP/3 zal worden verzekerd, en waarin ook gewerkt zal worden aan het vereenvoudigen van de API en ondersteuning voor verschillende backends voor TLS. Het begin van het werk aan de nieuwe tak zal worden gefinancierd door het Sovereign-fonds, opgericht in Duitsland om de ontwikkeling van open digitale infrastructuur en open-source ecosystemen te bevorderen.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster