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. Disa nga platformat e mbështetura përfshijnë: 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 ndërtuar, biblioteka zë rreth 32 KB.
Biblioteka mbështet protokollin HTTP 1.1, TLS, përpunimin inkremental të kërkesave POST, autentifikimin basic dhe digest, IPv6, SHOUTcast, metoda të ndryshme të shumëkufizimit të lidhjeve (select, poll, epoll) dhe modele multithreading (p.sh., mund të përdoret një pool fije ose një fije për lidhje). Për të reduktuar kostot që ndodhin gjatë kalimit të kontekstit midis bërthamës dhe hapësirës së përdoruesit, numri i thirrjeve sistemike gjatë funksionimit është minimizuar.
Ndryshimet më të dukshme:
- Në API ofrohet një funksion i ri MHD_get_version_bin() për të marrë informacion rreth versionit të bibliotekës në format të paketuar (p.sh., 0x00097701).
- Të dhënat, që rekomandohen në RFC, janë përputhur me identifikuesit e algorithmeve të përdorura për autentifikimin digest («MD5» / «SHA-256» në vend të «md5» / «sha-256»).
- Kodi i dekodimit të blloqeve në formatin Base64 është riparuar, duke intensifikuar kontrollin e saktësisë së të dhënave hyrëse në formatin Base64.
- ĂshtĂ« pĂ«rmirĂ«suar konfigurimi pĂ«r kryq-ndĂ«rtimin, duke rritur pĂ«rputhshmĂ«rinĂ« me POSIX dhe versionet e reja tĂ« kompiluesve.
- Janë shtuar teste të brendshme për verifikimin e dekodimit të Base64, Autentifikimin Basic dhe titujt e gjatë HTTP të shkurtruar.
- Në teste është përfshirë API-ja e përditësuar e bibliotekës libcurl për të fshehur paralajmërimet mbi përdorimin e thirrjeve të vjetra.
- Janë shtuar mundësi për të përdorur kompiluesit VC (Visual C) gjatë ndërtimit për sistemet ARM dhe ARM64.
- Ădo vlerĂ« negative e kthyer nga thirrja callback tani interpretohet si gabim (mĂ« parĂ«, vlerat negative, pĂ«rveç kodeve tĂ« caktuara tĂ« gabimit, mund tĂ« çonin nĂ« sjellje tĂ« pasigurt).
- Shtimi i përpunimit të makrosë së përpunuesit «DEBUG» (manipuluesi është identik me makron «_DEBUG»).
- Janë korrigjuar gabimet e akumuluara.
Burimi: opennet.ru
