GNU-projektet har offentliggjort en udgave af biblioteket libmicrohttpd 0.9.74, som tilbyder et simpelt API til integration af HTTP-serverfunktionalitet i applikationer. Biblioteket understøtter protokollen HTTP 1.1, TLS, inkrementel behandling af POST-forespørgsler, basic- og digest-autentificering, IPv6, SHOUTcast og forskellige metoder til forbindelsesmultiplexering (select, poll, pthread, thread pool). Blandt de understøttede platforme er: GNU/Linux, FreeBSD, OpenBSD, NetBSD, Android, macOS, Win32, Symbian og z/OS. Biblioteket distribueres under LGPL 2.1+ licensen.
I den nye version:
- Der er tilføjet en eksperimentel implementering af WebSockets-protokollen, som endnu ikke er tilstrækkeligt testet og er deaktiveret som standard.
- Overensstemmelsen med specifikationerne for HTTP 1.0/1.1-implementeringer er forbedret.
- Koden til dekodning af chunked-forespørgsler er blevet omlagt.
- Koden til generering af HTTP-overskrifter ved svar er blevet fuldstændig omskrevet.
- Kode er blevet tilføjet for automatisk at returnere fejl relateret til forkert chunked-forespørgsler, for stor datastørrelse og forkert angivelse af Content-Length-overskriften.
- Nøjagtigheden i angivelsen af timeout er blevet forbedret fra sekunder til millisekunder.
- Interne optimeringer er blevet gennemført, såsom forbedret hukommelsesstyring, øget effektivitet i hashing og eliminering af gentagen parsing af protokolversionen og HTTP-metoden.
- Der er sikret en strengere kontrol af gyldigheden af HTTP-overskridtsværdier, tilladt brugen af tabs-tegn i værdierne for svardeskrifter, men brugen af mellemrum i værdierne for brugerdefinerede overskrifter er forbudt.
- Der er tilføjet en konfigurationsmulighed ‘—enable-sanitizers[=address,undefined,leak,user-poison]’ for selektiv aktivering af tilstande til opdagelse af problemer i koden.
- Der er tilføjet en projektfil til bygning i MSVC.
Kilde: opennet.ru
