A GNU projekt közzétette a libmicrohttpd 0.9.74 könyvtárát, amely egy egyszerű API-t kínál a HTTP-szerver funkcióinak alkalmazásokba való beépítésére. A könyvtár támogatja a HTTP 1.1 protokollt, a TLS-t, a POST-kérések inkrementális feldolgozását, a basic- és digest-hitelesítést, az IPv6-ot, a SHOUTcast-ot és különböző kapcsolatmultiplexálási módszereket (select, poll, pthread, thread pool). A támogatott platformok között szerepel: GNU/Linux, FreeBSD, OpenBSD, NetBSD, Android, macOS, Win32, Symbian és z/OS. A könyvtár LGPL 2.1+ licenc alatt terjesztett.
Az új verzióban:
- Hozzáadva egy kísérleti WebSockets protokoll implementáció, amely még nem volt eléggé letesztelve és alapértelmezés szerint le van tiltva.
- Javítva a HTTP 1.0/1.1 protokollok implementációinak megfelelősége.
- Átdolgozva a chunked kérések dekódolásának kódja.
- Teljesen újraírták a HTTP-fejlécek generálásának kódját válaszként.
- Hozzáadva egy kód, amely automatikusan hibákat ad vissza hibás chunked kérések, túl nagy adatméret és a Content-Length fejléc helytelen beállítása esetén.
- A timeoutok beállításának pontossága másodpercről milliszekundumokra növekedett.
- Belső optimalizálások történtek, például javult a memória kezelése, megnövelték a hash-elés hatékonyságát, és kiküszöbölték a protokoll és a HTTP-módszer verziójának ismételt elemzését.
- Szigorúbb érvényességi ellenőrzést biztosítanak a HTTP-fejlécek értékeire, engedélyezve a tabulátor karakter használatát a válaszfejlécek értékeiben, azonban a felhasználói fejlécek értékeiben a szóköz használata tilos.
- Hozzáadott egy build opciót ‘—enable-sanitizers[=address,undefined,leak,user-poison]’ a kód problémáinak felfedezéséhez szükséges módok kiválasztó engedélyezéséhez.
- Hozzáadva egy projektfájl a MSVC-ben történő buildhez.
Forrás: opennet.ru
