./www/libmicrohttpd, Small C library to run an HTTP server as part of another app

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 1.0.1, Package name: libmicrohttpd-1.0.1, Maintainer: nikita

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

* C library: fast and small
* API is simple, expressive and fully reentrant
* Implementation is HTTP 1.1 compliant
* HTTP server can listen on multiple ports
* Four different threading models (select, poll, pthread, thread pool)
* Supported platforms include GNU/Linux, FreeBSD, OpenBSD, NetBSD, OS X, W32,
Symbian and z/OS
* Support for IPv6
* Support for SHOUTcast
* Support for incremental processing of POST data (optional)
* Support for basic and digest authentication (optional)
* Support for SSL3 and TLS (requires libgcrypt and libgnutls, optional)
* Binary is only about 32k (without TLS/SSL support and other optional
features)


Required to run:
[www/curl] [security/gnutls] [security/libgcrypt]

Required to build:
[pkgtools/cwrappers]

Master sites: (Expand)

Filesize: 2187.103 KB

Version history: (Expand)


CVS history: (Expand)


   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