GNU projekts ir izlaidis libmicrohttpd 0.9.77 ā vienkÄrÅ”u API HTTP servera funkcionalitÄtes iegulÅ”anai lietojumprogrammÄs. AtbalstÄ«tÄs platformas ietver: GNU/Linux, FreeBSD, OpenBSD, NetBSD, Solaris, Android, macOS, Win32 un z/OS. BibliotÄka tiek izplatÄ«ta saskaÅÄ ar LGPL 2.1+ licenci. PÄc kompilÄcijas bibliotÄka aizÅem aptuveni 32 KB.
BibliotÄka atbalsta HTTP 1.1, TLS, pakÄpenisku POST pieprasÄ«jumu apstrÄdi, pamata un Ä«ssavilkuma autentifikÄciju, IPv6, SHOUTcast, dažÄdas savienojumu multipleksÄÅ”anas metodes (select, poll, epoll) un vairÄku pavedienu modeļus (piemÄram, izmantojot pavedienu pÅ«lu vai pavedienu katram savienojumam). Lai samazinÄtu konteksta pÄrslÄgÅ”anas starp kodola un lietotÄja telpu izmaksas, sistÄmas izsaukumu skaits izpildes laikÄ tiek samazinÄts lÄ«dz minimumam.
VisievÄrojamÄkÄs izmaiÅas:
- API ievieÅ” jaunu funkciju MHD_get_version_bin(), lai izgÅ«tu bibliotÄkas versijas informÄciju iepakotÄ formÄtÄ (piemÄram, 0x00097701).
- RFC ieteikto formu papildina Ä«ssavilkuma autentifikÄcijai izmantoto algoritmu identifikatori ("MD5" / "SHA-256" "md5" / "sha-256" vietÄ).
- Ir pÄrrakstÄ«ts kods bloku dekodÄÅ”anai Base64 formÄtÄ, un ir pastiprinÄta ievades datu derÄ«guma pÄrbaude Base64 formÄtÄ.
- Uzlaboti krustkompilÄcijas iestatÄ«jumi, palielinÄta saderÄ«ba ar POSIX un jaunÄm kompilatoru versijÄm.
- Pievienotas iekÅ”Äjas pÄrbaudes, lai pÄrbaudÄ«tu Base64, pamata autentifikÄcijas un sakļautu garo HTTP galvenes dekodÄÅ”anu.
- Testos tiek izmantota atjauninÄta libcurl bibliotÄkas API, lai paslÄptu brÄ«dinÄjumus par novecojuÅ”u izsaukumu izmantoÅ”anu.
- Pievienota iespÄja izmantot VC (Visual C) kompilatorus, veidojot ARM un ARM64 sistÄmÄm.
- Visas atzvanīŔanas atgrieztÄs negatÄ«vÄs vÄrtÄ«bas tagad tiek uzskatÄ«tas par kļūdÄm (iepriekÅ” negatÄ«vas vÄrtÄ«bas, izÅemot iepriekÅ” definÄtus kļūdu kodus, varÄja izraisÄ«t nedefinÄtu darbÄ«bu).
- Pievienota priekÅ”apstrÄdÄtÄja makro "DEBUG" apstrÄde (apstrÄdÄtÄjs ir identisks makro "_DEBUG").
- UzkrÄtÄs kļūdas ir izlabotas.
Avots: opennet.ru
