GNU project Posted Library release libmicrohttpd 0.9.74 , representing a simple API to embed an HTTP server functionality to applications. The library supports HTTP 1.1, TLS protocol, incremental post requests, Basic and Digest authentication, IPv6, Shoutcast and various Multiplex Multiplex Methods (Select, Poll, Pthread, Thread Pool). Among the supported platforms are: GNU / Linux, FreeBSD, OpenBSD, NetBSD, Android, MacOS, Win32, Symbian and Z / OS. Library spreads under license LGPL 2.1 +.
In the new version:
- An experimental implementation of the WebSockets protocol is added, which is not yet well tested and disabled by default.
- improved compliance with the Specifications of the implementations of the HTTP 1.0 / 1.1 protocols.
- redo the code for decoding chunked queries.
- fully rewritten HTTP header formation code when responding.
- Added code for automatic return of errors associated with incorrect chunked queries, too large data size and incorrect title setting Content-Length.
- The accuracy of the task of the timeouts is raised from seconds to milliseconds.
- Internal optimization was carried out, for example, improved memory management, increased hashing efficiency and repetitive analysis of the version of the protocol and the HTTP method.
- more strict verification of the correctness of HTTP titles values is allowed to use the tab symbol in the response header values, but it is prohibited to use a space in the values of the custom headers.
- Added Assembly option ‘–Enable-sanitizers [= Address, undefined, Leak, User-Poison]’ for selective inclusion of problems detecting problems in the code.
- Added file project for assembly in MSVC.