Next | Query returned 80 messages, browsing 1 to 10 | Previous

History of commit frequency

CVS Commit History:


   2024-02-25 16:12:23 by Thomas Klausner | Files touched by this commit (2) | Package updated
Log message:
libmicrohttpd: update to 1.0.1.

Released GNU libmicrohttpd 1.0.1.

    This is a correction release.
    This release mainly fixes and improves builds with non-default configure
    parameters.
   2024-02-05 15:30:11 by nikita | Files touched by this commit (2) | Package updated
Log message:
libmicrohttpd: update to version 1.0.0

Changelog:

Dear all,

We are glad to announce the release of GNU libmicrohttpd v1.0, and
future plans for the library.

About GNU libmicrohttpd
=======================

GNU libmicrohttpd is a small C library that makes it easy to run an
HTTP server as part of another application. GNU Libmicrohttpd is free
software and an official GNU package.  Key features that distinguish
GNU libmicrohttpd from other projects are:

* C library: fast and small
* API is expressive and fully reentrant
* Implementation is HTTP 1.1 compliant
* HTTP server can listen on multiple ports
* Various threading modes
* Three different sockets polling modes
* Broad platform support
* Support for IPv4 and IPv6
* Support for incremental processing of POST data
* Support for basic and digest authentication
* Support for TLS (requires libgnutls)

Do not use GNU libmicrohttpd if you are looking for a standalone HTTP
server, there are many other projects out there that provide that kind
of functionality already. However, if you want to be able to serve
HTTP requests from within your C or C++ application, check it out!

GNU libmicrohttpd has been primarily developed by the GNU maintainers
Evgeny Grin and Christian Grothoff over the last 16 years with the
help of a large community contributing features, bug reports and bug
fixes. We are especially grateful for code security audits performed
or paid for by Mozilla and Red Hat.

Changes
=======

This is the first non-bugfix release since version 0.9.75 and the first
ever stable release of GNU libmicrohttpd. It is a huge with new features
and fixes.

The major changes:

* Rewritten parsing of clients' requests, fully aligned with current
  RFCs (9110 and 9112) requirements. Added detailed control of strict
  or lenient specification enforcement. Application may choose between
  more compatible mode or more strict and secure mode.
* Reworked Digest Auth, greater enhanced support for current RFC 7617
  features. MHD currently is the only known server-side implementation
  with support for SHA-512/256, userhash and username in extended
  notation. At the same time the very old RFC2069 is supported, as
  well as MD5 and SHA-256.
* Improved functionality in multi-threading environment, especially with
  external sockets polling modes.
* Reworked Basic Auth, adding new convenient API functions.
* Re-implemented GnuTLS initialisation. Now supported
  libmicrohttpd-specific system-wide configuration, as well as generic
  GnuTLS system-wide configuration. Application may adjust settings
  based on system configuration instead of specifying its own full
  configuration.
* Tons of other new functionality and various fixes. For detailed
  changes see the ChangeLog or Git commit logs.

Download
========

You can download GNU libmicrohttpd from:

* https://ftp.gnu.org/gnu/libmicrohttpd/ and all GNU FTP mirrors.
* Our Git repository at https://git.gnunet.org/libmicrohttpd.git

Please report bugs to our bugtracker at
https://bugs.gnunet.org/set_project.php?project_id=10.

The documentation (including a reference manual and tutorial) can be
found at https://gnu.org/s/libmicrohttpd.

Future Development
==================

Work will now begin work on a 2nd major version of GNU libmicrohttpd.
This version will have an easier to use API, add support for HTTP2 and
HTTP3, as well as multiple TLS backends.  Initial work on this will be
done by Taler Operations AG (https://taler-ops.ch/) under a commission
from the German Sovereign Technology Fund
(https://mastodon.social/@sovtechfund).  The Sovereign Tech Fund
supports the development, improvement, and maintenance of open digital
infrastructure. Its goal is to sustainably strengthen the Free Software
ecosystem, focusing on security, resilience, technological diversity,
and the people behind the code.  The result will of course be Free
Software and continue to be released under the Lesser GNU General
Public License.

If you are interested in commercial support or would like to
financially support our development, please contact us at
<mhd@taler-ops.ch>. We would like to see if we can transition from
purely volunteer work to paid work to accelerate development.  We
would especially like to hear from you if your business might be
interested in purchasing (CE) certifications for GNU libmicrohttpd
(say, under the EU Cyber Resilience Act). That would help us assess
this potential business case.

Of course, we will continue our best to provide gratis support -- but
no warranties -- to developers via the GNU libmicrohttpd mailinglist.

Happy hacking!

Evgeny & Christian
   2023-11-08 14:21:43 by Thomas Klausner | Files touched by this commit (2377)
Log message:
*: recursive bump for icu 74.1
   2023-10-25 00:11:51 by Thomas Klausner | Files touched by this commit (2298)
Log message:
*: bump for openssl 3
   2023-05-30 18:05:32 by nikita | Files touched by this commit (1) | Package updated
Log message:
libmicrohttpd: update comment
   2023-05-30 18:04:28 by nikita | Files touched by this commit (2) | Package updated
Log message:
libmicrohttpd: update to version 0.9.77

Changelog:

This is mostly a bugfix release.
This version created by taking patches from the current development branch and
back-porting them on top of version 0.9.76.
The most notable changes are: some improvements for Digest and Basic
authorizations, fixed efficiency for TLS upgraded connections, fixed
processing of folded headers in requests, fixed functionality with blocking
sockets, improved and fixed internal test-suite.

The more detailed list of the important changes:

API changes:
+ Added new function MHD_get_version_bin().

Improvements and enhancements:
* Digest Auth: changed algorithm identifiers in server generated headers from
"md5" / "sha-256" to "MD5" / "SHA-256" \ 
to better match RFC (while clients
should use caseless matching).
* Improved Base64 decoding by new implementation with robust input data
validation checks.
* Improved configure for cross-compiling, for better compatibility with POSIX
and for better compatibility with the latest compiler versions.
* New internal tests: for Base64 decoding, Basic Auth and folded headers.
* Supported new libcurl API in tests to mute deprecation warnings.
* Supported ARM and ARM64 for VC compilers.

Functionality changes:
* any negative number returned by response data generation callback function
is treated as an error. Previously negative values except predefined error
codes could produce undefined behaviour.
* Added handling of "DEBUG" preprocessor macro as an alias of \ 
"_DEBUG".

Fixes:
# Fixed functionality with blocking sockets.
# Fixed very inefficient data pumping for upgraded TLS connections.
# Fixed processing of folded headers in the requests.
# Fixed data races when closing upgraded connection.
# Removed duplication of "Connection: upgrade" header.
# Digest auth: fixed thread sync to avoid "stale hash" results.
# Fixed harmless unwanted extra data processing resulting in triggering of the
assert.
# Fixed tests for LTO.
# Removed removed non-portable functions in examples.
# Fixed delayed call of connection notification callback in
thread-per-connection mode.
# Fixed Address Sanitizer unpoison of memory when memory pool is destroyed.
This fixed periodic ASAN error when used for a long time with the sanitizer.
# Fixed compiler warnings in library code, examples, tests and configure
checks.
# New TLS certificates for test-suite: all with SAN fields and SHA-256 hash.
# Tests: fixed tests on Darwin 22.x (Ventura).
# Tests: redesigned one tests group to avoid stress-testing of the OS.
   2023-04-19 10:12:01 by Adam Ciarcinski | Files touched by this commit (2359) | Package updated
Log message:
revbump after textproc/icu update
   2023-02-27 20:53:33 by Nikita | Files touched by this commit (2) | Package updated
Log message:
libmicrohttpd: update to version 0.9.76

ChangeLog:

Sun Feb 26 05:49:30 PM CET 2023
    Fix potential DoS vector in MHD_PostProcessor discovered
    by Gynvael Coldwind and Dejan Alvadzijevic. -CG
    Releasing GNU libmicrohttpd 0.9.76 hotfix. -CG
   2022-10-26 12:32:08 by Thomas Klausner | Files touched by this commit (687)
Log message:
*: bump PKGREVISION for libunistring shlib major bump
   2021-12-29 09:34:52 by Nikita | Files touched by this commit (3) | Package updated
Log message:
libmicrohttpd: Update to 0.9.75

ChangeLog:
Sun 26 Dec 2021 20:30:00 MSK
    Releasing GNU libmicrohttpd 0.9.75 -EG

December 2021
    Fixed Makefile warning on MinGW.
    Fixed compiler warning on MinGW.
    Fixed "configure" portability (for NetBSD).
    MSVC project cosmetics.
    MSVC fixed project to fix linker warning.
    Fixed compiler warning on some platforms.
    Further improved test_client_put_stop to get stable results on all
    platforms.
    Added workaround for platforms (like OpenBSD) where system monotonic clocks
    may jump forward and back.
    Added more checks in test_large_put, increased timeout (was too small for
    this test). -EG

Sun 19 Dec 2021 18:30:00 MSK
    Releasing GNU libmicrohttpd 0.9.74 -EG

December 2021
    Fixed doxy for MHD_suspend_connection().
    Some code improvements for new test test_client_put_stop.
    Added special log message if thread creation failed due to system limits.
    Fully restructured new_connection_process_() to correctly handle errors,
    fixed missing decrement of number of daemon connections if any error
    encountered, fixed app notification of connection termination when app has
    not been notified about connection start, fixed (highly unlikely) reset of
    the list of connections if reached daemon's connections limit.
    configure: fixed some compiler warnings reported in config.log.
    Fixed tests on FreeBSD to support system-limited rate of RST packets and
    'blackhole' system setting. -EG
    Fixed tests for libmagic to really use libmagic in examples. -CG
    Used tricks in code formatting to workaround uncrustify bugs.
    configure: improved compatibility with various shells.
    configure: added selective enable of sanitizers.
    Fixed compatibility with old GnuTLS versions.
    Fixed tests compatibility with old libcurl versions.
    Fixed busy-waiting in test_timeout (fixed CPU load spikes in the test).
    test_https_time_out: check rewritten, previously it is was no-op.
    test_upgrade{,_large}: fixed passing of socket value to GnuTLS on W32.
    Simplified Makefile for HTTPS tests.
    Added detection of old broken GnuTLS builds (on RHEL6 and clones) and
    disabled some tests broken with these builds.
    Muted compiler warnings with old libcurl versions.
    Reworked dlltool support: added support for weakened oversimplified
    half-broken llvm-dlltool
    Silenced MS lib tool warning and MS lib tool invocation.
    Added Makefiles rules for automatic regeneration of all required files if
    anything is missing.
    Added Makefile silent rules support for W32 RC and W32 static libs.
    Added local patches for autotools (mainly for libtool) to build MHD
    correctly on modern MinGW64/Clang.
    Updated HTTP headers macros from registry. -EG

November 2021
    Clarified comments and doxy for MHD_str* and related tests.
    MHD_uint32_to_strx(): rewritten for readability and minor optimization,
    used indexes instead of pointers.
    Documented in doxy how to use MHD_AccessHandlerCallback.
    mhd_sockets: added more network error codes.
    W32 socket pair: set TCP_NODELAY to avoid unwanted buffering and delays.
    Additional doxy fixes in microhttpd.h.
    Fixed blocking sockets setting in tests and examples for W32.
    Added checks for fcntl() results in tests and examples.
    Added series of tests based on simple HTTP client implementation developed
    for testing of MHD.
    Renamed 'early_response' connection flag to 'discard_request' and reworked
    handling of connection's flags.
    Clarified request termination reasons doxy, fixed reporting of
    MHD_REQUEST_TERMINATED_READ_ERROR (previously this code was not really used
    in reporting).
    Enforce all libcurl tests exit code to be zero or one.
    Rewritten client upload processing: removed redundant checks, fixed
    skipping of chunk closure when not data is not received yet, fixed skipping
    of the last LF in termination chunk, handle correctly chunk sizes with more
    than 16 digits (leading zeros are valid according to HTTP RFC), fixed
    handling of CRCR, LFCR, LFLF, and bare CR as single line delimiters, report
    error when invalid chunk format is received without waiting to receive
    (possibly missing) end of the line, reply to the client with special error
    if chunk size is too large to be handled by MHD (>16 EiB).
    Added error reply if client used too large request payload (>16 EiB).
    Fixed return value for MHD_FEATURE_AUTOSUPPRESS_SIGPIPE on W32, now it
    returns MHD_YES as W32 does not need sigpipe suppression.
    configure: reordered and improved headers detection. Some headers require
    other headers to be included before, now configure supports it.
    Added missing ifdef guard for <stdbool.h>.
    mhd_sockets: reordered includes for better compatibility.
    Some code readability and formatting improvements. -EG

October 2021
    Added test family test_toolarge to check correct handling of the buffers
    when the size of data is larger than free space.
    Fixed missing updated of read and write buffers sizes.
    Added detection and use of supported "noreturn" keyword for function
    declaration. It should help compiler and static analyser.
    Added support for leak sanitizer.
    Fixed analyser errors on W32.
    Partially reworked memory allocation from the pool, more robust
    implementation, always track read and write buffers.
    Added custom memory poisoning in memory pool with address sanitizer.
    Added missing update of the read buffer size.
    Addition for doxy for new behaviour of MHD_del_response_header().
    Added two tests with non-standard symbols in requests.
    Removed double close of connection with error in headers processing.
    Respond to the client with error if chunked request has broken chunked
    encoding as required by HTTP RFC instead of just closing the connection.
    Fixed request headers processing. Do not recognize bare CR as end of line.
    Fixed processing of CRCR, bare CR, LFCR, and LFLF as end of the line for
    request chunked encoding. Now only CRLF or bare LF are recognized as end
    of line.
    Added Lawrence Sebald to the AUTHORS file (iovec-based responses).
    Check for PAGESIZE and PAGE_SIZE macros and check whether they can be used
    for static variable initialization.
    Include "MHD_config.h" before all other includes to set macros \ 
required to
    be set before standard includes.
    Chunked response: abort with error if application returns more data than
    requested.
    Monotonic clock: use only native clock on W32 as all other clocks are just
    wrappers.
    W32: fixed builds with MSVC, added projects for VS2022, added MSVC
    universal project that use latest available toolset, use C17 if supported.
    Chunked response: fixed calculation of number of bytes left to send.
    microhttpd.h: doxy clarifications for sockets polling.
    Updated HTTP statuses, methods, and headers names from the registries.
    Further improved doxy for MHD_add_response_header().
    A few comments improvements and clarifications.
    Added internal connection's flag indicating discard of the request. -EG
    Websockets update by David Gausmann. -DG
    Fixed reported value for MHD_CONNECTION_INFO_CONNECTION_TIMEOUT.
    Minor code readability improvements in MHD_set_connection_option().
    Improved doxy for MHD_get_timeout().
    Memorypool: minor code improvements. -EG

September 2021
    Improved system includes headers detection and usage. Removed unused
    headers detection.
    Added indirect calculation of maximum values at compile time by
    using types size detection. These values are used only to mute
    compiler warnings.
    Fixed pre-compiler errors if various *_MAX macros defined with
    non-digits symbols not readable for pre-compiler.
    Limit number of used CPU cores in tests to 6, unless heavy tests are
    enabled.
    Disabled parallel tests with libcurl if heavy tests are enabled.
    configure: removed '--enable-sanitizer' and added '--enable-sanitizers'
    parameters. Added testing for supported sanitizers and enabling only
    supported sanitizers.
    Added support for run-time sanitizers settings for tests when
    sanitizers are enabled.
    Added support for undefined behavior sanitizer without run-time library.
    Fixed various undefined behavior sanitizer detected errors, improved
    portability.
    Fixed how bitwise NOT is used with enum, fixed portability.
    microhttpd.h: changed macros MHD_CONTENT_READER_* to use ssize_t.
    test_postprocessor: added more check, improved error reporting, added
    new test data.
    postprocessor: fixed undefined behavior (memcpy(), memmove() with zero
    size and NULL pointer).
    Updated copyright year in W32 DLLs.
    postprocessor: fixed empty key processing.
    test_postprocessor: added tests with hex-encoded values.
    postprocessor: fixed incomplete processing of the last part of hex-encoded
    value if data was broken into certain sized pieces.
    Used type specifiers for printf() from inttypes.h to improved compatibility
    with various run-time libs. Fallback to standard values if type specifiers
    are not defined.
    Added detection of used run-time library (MSVCRT/UCRT) on W32.
    testcurl: fixed incorrect case-insensitive match for method name. Method
    name must be checked by using case-sensitive match.
    microhttpd.h: clarified some doxy descriptions.
    Prevented potential double sending of error responses.
    Fixed application notification with MHD_REQUEST_TERMINATED_COMPLETED_OK
    when error response has been sent (MHD_REQUEST_TERMINATED_WITH_ERROR is
    used).
    Avoid trying to send error response if response is already being sent.
    Improved log error message when error response is processing. -EG

August 2021
    Silently drop "keep-alive" token from response \ 
"connection" header,
    "keep-alive" cannot be enforced and always enabled if possible.
    Further improved doxy for MHD_add_response_header().
    Added detection of the "Date:" header in the response headers set by
    app at response forming time.
    Disallow space in response header name, allow tab in response header
    value.
    Added internal MHD_uint8_to_str_pad() function.
    Used internal MHD_uint8_to_str_pad() in datestamp generation function.
    Added detection and reporting of incorrect "Upgrade" responses. -EG
    Fixed short busy waiting (up to one second) when connection is going
    to be closed. -AI
    Minor improvement for test_callback, test_get_chunked
    Fixed chunked responses with known size.
    Added two more tests for chunked response.
    Fixed chunked responses with predefined data (without data callback).
    Fixed calculation of the buffer size for the next response chunk.
    Completely rewritten reply header build function. The old version
    had several levels of hacks, was unmaintainable, did not follow
    HTTP specification in details; fixed used caseless header matching
    where case-sensitive matching must be used; removed two passes of
    header building. New version use clear logic and can be extended
    when needed.
    Changed behaviour: "Connection: keep-alive" is not being sent
    for HTTP/1.1 connection (as per HTTP RFC).
    test_get_chunked: fixed error reporting.
    HTTPS tests: fixed memory leaks if function failed.
    libcurl tests: improved handling of curl multi_*.
    Added two tests for correct choice of "Keep-Alive" or \ 
"Close".
    Simplified Makefile for testcurl.
    Fixed select() error handling in tests.
    microhttpd.h: minor macro formatting
    Changed behaviour: if response size is unknown and chunked encoding is
    allowed, chunked encoding is used even for non-keep-alive connection as
    required by HTTP RFC.
    Added two more tests for chunked replies.
    Simplified keepalive_possible(); added new value for MHD_ConnKeepAlive,
    added third state "Upgrade".
    Changed behaviour: used HTTP/1.1 replies for HTTP/1.0 requests as
    required by HTTP RFC. HTTP/1.0 reply still can be enforced by response
    flag.
    Added more doxy for MHD_ResponseFlags, added new names with the same
    values as old names: MHD_RF_HTTP_1_0_COMPATIBLE_STRICT and
    MHD_RF_HTTP_1_0_SERVER.
    Added new value MHD_RF_SEND_KEEP_ALIVE_HEADER to enforce sending of
    "Connection: keep-alive" even for HTTP/1.1 clients when keep-alive is
    used.
    test_get_close_keep_alive: added more combinations of parameters to
    check.
    Added separate flag for chunked response in connection instead of
    reusing the same flag as for chunked request.
    Added new connection's flag "stop_with_error".
    Fixed empty first line processing: the request could be not processed
    unless something else kicks next processing the same connection again.
    Added new connection states: MHD_CONNECTION_REQ_LINE_RECEIVING,
    MHD_CONNECTION_FULL_REQ_RECEIVED, MHD_CONNECTION_START_REPLY to
    simplify states logic.
    Changed write buffer allocation logic: as connection buffer size is
    known and fixed, use initially use full buffer for writing and reduce
    size of part used for writing if another allocation from the same
    buffer needs to be done. Implemented helper function to automatically
    reduce the size of read or write part to allocate buffer for other
    needs.
    Added define of NDEBUG if neither _DEBUG nor NDEBUG are defined.
    As accepted sockets inherit non-blocking flag from listening socket
    on all platform except Linux, track this state to use less number
    of syscalls.
    Fixed compiler and static analyser warnings.
    Moved HTTPS tests helper file to the HTTPS tests directory.
    Minor Makefiles cleanup.
    Added support for new monotonic clock ids.
    Added new internal monotonic clock function with milliseconds accuracy.
    Fixed support of custom connection timeout in thread-per-connection mode.
    Added more error checking to test_timeout.
    microhttpd.h: removed duplicated macro.
    Refined timeouts handling. Switched from seconds resolution to milliseconds
    resolution, added automatic detection and support of low-resolution system
    clock to avoid busy-waiting at connection expiration. Added log message
    for too large timeout period (> 146 million years) with trim to supported
    values. -EG

Wed 04 Aug 2021 06:56:52 PM CEST
    Introduce new MHD_CONNECTION_INFO_HTTP_STATUS. -CG

July 2021
    Added automatic response flags with detection when response
    is being formed.
    Added special processing for response "Connection" headers, combined
    multiple "Connection" headers into single header.
    Restructured MSVC project files.
    Changed MSVC project defaults to Vista+ (WinXP is still supported).
    Fixed copy-paste error in mhd_aligh.h, added support for MSVC.
    Added internal function for printing hex and decimals numbers.
    Reply chunked body handling fixes, used new internal functions
    instead of snprintf().
    Added automatic response flag when app sets chunked encoding header.
    New internal function for chunked reply footer forming. Unification with
    reply header forming function just over-complicated things and made
    function hardly maintainable.
    Added new function MHD_get_reason_phrase_len_for(), related tests and
    updated scripts for response phrases.
    Added more tests for chunked replies.
    Added function to reset connection state after finishing processing of
    request-reply to prepare for the next request.
    Added even more tests for chunked replies.
    Added internal function for printing uint64_t decimal numbers. -EG

June 2021
    Tests: implemented checking of response footer.
    Fixed loss of incoming data if more than half of buffer is
    used for the next request data.
    Fixed completely broken calculation of request header size.
    Chunked response: do not ask app callback for more data then
    it is possible to process (more than 16 MBytes).
    Check and report if app used wrong response code (>999 or <100)
    Refuse to add second "Transfer-Encoding" header.
    HTTPS tests: check whether all libcurl function succeeded.
    HTTPS tests: implemented new detection of TLS backend.
    HTTPS tests: fixed tests with new TLS defaults (SSL forbidden).
    Implemented detection of basic HTTP methods, fixed wrong
    caseless matching for HTTP method names.
    MHD_create_response_*() functions: improved doxy.
    MHD_add_response_header: added detailed comment about automatic
    headers.
    Do not allow responses with 1xx codes for HTTP/1.0 requests.
    Fixed used order of headers: now user response headers are used in
    the same order as was added by application.
    Added new internal function MHD_get_response_element_n_().
    Added detection of more compiler built-ins for bits rotations.
    Minor optimisation of caseless strings matching.
    Added MHD_str_remove_token_caseless_() function and tests.
    Added MHD_str_remove_tokens_caseless_() function and tests. -EG

May 2021
    Doxy description clarifications for MHD_get_timeout() and related
    functions.
    Added MHD_create_response_from_buffer_with_free_callback_cls().
    Added SHA-1 calculation (required for WebSockets).
    Added new internal header mhd_aligh.h for checking alignment of
    variables.
    Fixed SHA-256 and MD5 calculation with unaligned data.
    Added tests for hashes with unaligned data.
    Used compiler built-ins for bits rotations.
    Added detection of HTTP version at early stage.
    Added early response of unsupported HTTP version.
    Fixed wrong caseless matches for HTTP version strings.
    Added calculation of error responses at compile time (avoided
    repeated strlen() for known data). -EG

April 2021
    New test for reply chunked encoding. -EG

Mon 26 Apr 2021 02:09:46 PM CEST
    Importing experimental Websocket support by David Gausmann. -CG

Next | Query returned 80 messages, browsing 1 to 10 | Previous