První stabilní vydání knihovny GNU libmicrohttpd

Projekt GNU zveřejnil vydání knihovny libmicrohttpd 1.0.0, které je označeno jako první stabilní verze za 16 let existence projektu. Knihovna je napsaná v jazyce C a představuje jednoduché API pro vkládání funkcionality HTTP serveru do aplikací. Mezi podporované platformy patří: GNU/Linux, FreeBSD, OpenBSD, NetBSD, Solaris, Android, macOS, Win32 a z/OS. Kód je distribuován pod licencí LGPL 2.1+. Při výchozím sestavení zabírá knihovna přibližně 200 KB, v minimálním režimu sestavení pak 32 KB. Jako závislost používá pouze libc a také libgnutls při volitelné kompilaci se podporou TLS.

Knihovna podporuje protokol HTTP 1.1, TLS, inkrementální zpracování POST požadavků, příjem spojení z několika síťových portů, basic a digest autentizaci, IPv6, SHOUTcast, různé metody multiplexování spojení (select, poll, epoll) a modely vícetrhthreading (například lze používat pool vláken nebo vlákno na spojení). Pro snížení režijních nákladů spojených se změnou kontextu mezi jádrem a uživatelským prostorem je počet systémových volání během běhu minimální. Bezpečnost kódové základny libmicrohttpd byla potvrzena audity, které provedly společnosti Mozilla a Red Hat.

Nejvýznamnější změny oproti předchozí verzi:

  • Kód pro analýzu požadavků klientů byl přepsán a plně uveden do souladu s požadavky RFC 9110 a 9112. Byly zajištěny režimy přísného a měkkého dodržování specifikací pro vyvážení mezi kompatibilitou a vyšší bezpečností.
  • Byla přepracována implementace digest autentizace, kde byla výrazně rozšířena podpora funkcí přítomných v RFC 7617. Zahrnuje také podporu SHA-512, userhash a username v rozšířené notaci. Také byla zachována podpora starého RFC 2069 a možnost použití hashů MD5 a SHA-256.
  • Zlepšena funkčnost v vícetrhthreading prostředích a při režimech polling socketů.
  • Byla přepracována implementace basic autentizace, pro kterou byly v ABI navrženy dodatečné funkce.
  • Kód pro inicializaci GnuTLS byl přepracován. Přidána možnost použití jak typové, tak specifické pro libmicrohttpd systémové konfigurace GnuTLS a podpora přepsání jednotlivých nastavení systémové konfigurace GnuTLS.

V budoucnu se plánuje vývoj větve libmicrohttpd 2, která zajistí podporu protokolů HTTP/2 a HTTP/3, a zároveň se provede práce na zjednodušení API a podpoře různých backendů pro TLS. Zahájení prací na nové větvi bude financováno fondem Sovereign, který byl založen v Německu za účelem podpory rozvoje otevřené digitální infrastruktury a ekosystémů s otevřeným zdrojovým kódem.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster