GNU-projektet har publicerat version 0.9.77 av biblioteket libmicrohttpd, som erbjuder ett enkelt API för att integrera HTTP-serverfunktionalitet i applikationer. Bland de stödda plattformarna finns: GNU/Linux, FreeBSD, OpenBSD, NetBSD, Solaris, Android, macOS, Win32 och z/OS. Biblioteket distribueras under LGPL 2.1+-licensen. I det fÀrdiga formatet tar biblioteket upp cirka 32 KB.
Biblioteket stöder HTTP 1.1-protokollet, TLS, inkrementell hantering av POST-förfrÄgningar, basic- och digest-autentisering, IPv6, SHOUTcast, olika metoder för multiplexering av anslutningar (select, poll, epoll) och trÄdmodeller (till exempel kan en trÄdpool eller en trÄd per anslutning anvÀndas). För att minska overhead som uppstÄr vid kontextbyten mellan kÀrnan och anvÀndarutrymmet har antalet systemanrop under körning minimerats.
De mest anmÀrkningsvÀrda Àndringarna:
- API:et erbjuder en ny funktion MHD_get_version_bin() för att fÄ versioninformation om biblioteket i packat format (till exempel 0x00097701).
- Till formulÀret som rekommenderas i RFC har identifierare för algoritmer som anvÀnds för digest-autentisering lagts till ("MD5" / "SHA-256" istÀllet för "md5" / "sha-256").
- Koden för avkodning av block i Base64-format har skrivits om, och kontrollen av korrektheten hos indata i Base64-format har förstÀrkts.
- InstÀllningen för korskompilering har förbÀttrats, och kompatibiliteten med POSIX och nya versioner av kompilatorer har ökat.
- Interna tester har lagts till för att kontrollera avkodning av Base64, Basic Auth och sammandragna lÄnga HTTP-rubriker.
- De uppdaterade API:erna i libcurl-biblioteket har anvÀnts i testerna för att dölja varningar om anvÀndning av förÄldrade anrop.
- Möjligheten att anvÀnda VC (Visual C)-kompilatorer vid kompilering för ARM- och ARM64-system har lagts till.
- Alla negativa vÀrden som returneras av callback-anrop betraktas nu som fel (tidigare kunde negativa vÀrden, förutom fördefinierade felkoder, leda till oförutsÀgbart beteende).
- Bearbetning av förprocessor-makrot "DEBUG" har lagts till (handlingen Àr identisk med makrot "_DEBUG").
- Korrigerade ackumulerade fel.
KĂ€lla: opennet.ru
