Projekti GNU publikoi versionin e bibliotekës libmicrohttpd 0.9.77, e cila ofron një API të thjeshtë për integrimin e funksionalitetit të serverit HTTP në aplikacione. Ndër platformat e mbështetura janë: GNU/Linux, FreeBSD, OpenBSD, NetBSD, Solaris, Android, macOS, Win32 dhe z/OS. Biblioteka shpërndahet nën licencën LGPL 2.1+. Në formën e grumbulluar, biblioteka zë rreth 32 KB.
Biblioteka mbështet protokollin HTTP 1.1, TLS, përpunimin inkremental të kërkesave POST, autentikimin basic dhe digest, IPv6, SHOUTcast, metoda të ndryshme të shumëfishe procesimit (select, poll, epoll) dhe modele shumëthredhësie (p.sh., mund të përdoret një grup thredhësh ose një thredh për lidhje). Për të reduktuar kostot që rezultojnë nga kalimi i kontekstit midis bërthamës dhe hapësirës së përdoruesve, numri i thirrjeve sistemike gjatë punës është minimizuar.
Ndryshimet më të dukshme:
- Në API është propozuar një funksion i ri MHD_get_version_bin() për të marrë informacion mbi versionin e bibliotekës në format të paketuar (p.sh., 0x00097701).
- Për formën e rekomanduar në RFC, janë dhënë identifikuesit e algoritmeve të përdorura për autentikimin digest ('MD5' / 'SHA-256' në vend të 'md5' / 'sha-256').
- Kodi i dekodimit të blloqeve në formatin Base64 është rishkruar, duke forcuar verifikimin e saktësisë së të dhënave të hyjshme në formatin Base64.
- Konfigurimi i ndërlikimit për ndërmarrje është përmirësuar, duke rritur kompatibilitetin me POSIX dhe versionet e reja të kompilatorëve.
- Janë shtuar teste të brendshme për të verifikuar dekodimin e Base64, autentikimin Basic dhe titujt e gjatë HTTP të paketuar.
- Në teste është përdorur API e përditësuar e bibliotekës libcurl për të fshehur paralajmërimet mbi përdorimin e thirrjeve të vjetra.
- ĂshtĂ« shtuar mundĂ«sia e pĂ«rdorimit tĂ« kompilatorĂ«ve VC (Visual C) gjatĂ« ndĂ«rtimit pĂ«r sistemet ARM dhe ARM64.
- Ădo vlerĂ« negative qĂ« kthehet nga thirrja callback tani interpretohet si gabim (mĂ« parĂ«, vlerat negative, pĂ«rveç kodave tĂ« paracaktuar tĂ« gabimeve, mund tĂ« çonin nĂ« sjellje tĂ« paqartĂ«).
- ĂshtĂ« shtuar pĂ«rpunimi i makrosĂ« sĂ« parapĂ«rgatitĂ«sit 'DEBUG' (pĂ«rpunuesi Ă«shtĂ« identik me makros ' _DEBUG ').
- Janë korrigjuar gabimet e akumuluara.
Burimi: opennet.ru
