Projekt GNU publikoval vydanie knižnice libmicrohttpd 0.9.74, ktorá predstavuje jednoduché API na zabudovanie funkčnosti HTTP servera do aplikácií. Knižnica podporuje protokol HTTP 1.1, TLS, inkrementálne spracovanie POST požiadaviek, základnú a digest autentifikáciu, IPv6, SHOUTcast a rôzne metódy multiplexovania pripojení (select, poll, pthread, thread pool). Medzi podporované platformy patrí: GNU/Linux, FreeBSD, OpenBSD, NetBSD, Android, macOS, Win32, Symbian a z/OS. Knižnica je distribuovaná pod licenciou LGPL 2.1+.
V novej verzii:
- Pridaná experimentálna implementácia protokolu WebSockets, ktorá zatiaľ nie je dostatočne dobre otestovaná a je predvolene vypnutá.
- Zlepšená zhoda so špecifikáciami realizácií protokolov HTTP 1.0/1.1.
- Prepracovaný kód na dekódovanie chunked požiadaviek.
- Úplne prepisovaný kód na generovanie HTTP hlavičiek pri odpovedi.
- Pridaný kód na automatické vrátenie chýb súvisiacich s nesprávnymi chunked požiadavkami, príliš veľkou veľkosťou dát a nesprávnym nastavením hlavičky Content-Length.
- Presnosť zadávania časových limitov bola zvýšená z sekúnd na milisekundy.
- Boli vykonané vnútorné optimalizácie, ako napríklad zlepšené riadenie pamäte, zvýšená efektívnosť hashovania a odstránené opakované parsovanie verzie protokolu a metódy HTTP.
- Zabezpečená prísnejšia kontrola správnosti hodnôt HTTP hlavičiek, povolené použitie znaku tabulátora v hodnotách hlavičiek odpovedí, ale zakázané použitie priestoru v hodnotách používateľských hlavičiek.
- Pridaná možnosť zostavenia ‘—enable-sanitizers[=address,undefined,leak,user-poison]’ na výberové zapnutie režimov zisťovania problémov v kóde.
- Pridaný súbor projektu pre zostavenie v MSVC.
Zdroj: opennet.ru
