./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: 0.9.52nb1, Package name: libmicrohttpd-0.9.52nb1, Maintainer: pkgsrc-users

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

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

Required to build:

Master sites: (Expand)

SHA1: 601a6dc06acd130122788a5025d8036886671fac
RMD160: 05e6b8ae1dd44d66533e7b319d50564ab1ba44b8
Filesize: 1215.321 KB

Version history: (Expand)

CVS history: (Expand)

   2017-01-01 17:06:40 by Adam Ciarcinski | Files touched by this commit (616) | Package updated
Log message:
Revbump after boost update
   2016-12-21 11:31:42 by Thomas Klausner | Files touched by this commit (2)
Log message:
Add upstream patch to fix build on macOS and Solaris.
   2016-10-19 21:54:10 by Thomas Klausner | Files touched by this commit (2) | Package updated
Log message:
Updated libmicrohttpd to 0.9.52.

Mon Oct 17 19:08:18 CEST 2016
	Fixed misc. issues relating to upgrade.
	Releasing experimental 0.9.52. -CG

Wed Oct 12 14:26:20 CEST 2016
	Migrated repository from Subversion to Git. -CG

Tue Oct 11 18:09:56 CEST 2016
	Deprecated MHD_USE_SSL, use MHD_USE_TLS instead. -CG

Tue Oct 11 18:14:40 MSK 2016
	Code internal refactoring: 'pipes' renamed to 'inter-thread
	communication (channels)/ITCs', as code can use different types
	of communications.
	Optimizations: ITCs now always created in non-blocking mode.
	Added configure parameter to choose ITC type.
	Updated documentation and comments.
	Minor errors fixed (related to heavy load). -EG

Thu Sep 22 17:51:04 CEST 2016
	Implementing support for eventfd() instead of pipe() for
	signaling (on platforms that support it); fixing #3557. -CG

Thu Sep 22 11:03:43 CEST 2016
	Simplify internal error handling logic by folding it into the
	MHD_socket_close_, MHD_mutex_lock_, MHD_mutex_unlock_ and
	MHD_mutex_destroy_ functions. -CG

Tue Sep 13 22:20:26 MSK 2016
	Added autoconf macro to enable maximum platform
	features. Fixed compiling on Solaris. -EG

Wed Sep  7 12:57:57 CEST 2016
	Fixing #4641. -Hawk

Wed Sep  7 00:28:59 CEST 2016
	Adding remaining "_"-markups for i18n (#4614). -CG

Tue Sep  6 23:39:56 CEST 2016
	Allow out-of-order nonces for digest authentication (#4636). -CG

Tue Sep  6 21:29:09 CEST 2016
	Martin was right, "socket_context" should be "void *"
	in `union MHD_ConnectionInfo`.  -MS

Sun Sep  4 18:16:32 CEST 2016
	Fixing potential memory leak (#4634). -CG

Sun Sep  4 17:25:45 CEST 2016
	Tests for "Upgrade" logic are now in place and passing.
	However, still need to make sure code is portable. -CG

Sat Sep  3 11:56:20 CEST 2016
	Adding logic for handling HTTP "Upgrade" in thread-per-connection
	mode. Also still untested. -CG

Sat Aug 27 21:01:43 CEST 2016
	Adding a few extra safety checks around HTTP "Upgrade"
	(against wrong uses of API), and a testcase. -CG

Sat Aug 27 20:07:53 CEST 2016
	Adding completely *untested* logic for HTTP "Upgrade"
	handling. -CG

Sat Aug 27 18:20:38 CEST 2016
	Releasing libmicrohttpd 0.9.51. -CG

Tue Aug 23 22:54:07 MSK 2016
	Internal refactoring: W32 compatibility layer was finally
	replaced with several specialized abstraction layers for
	sockets, control pipes (inter-thread communication) and
	generic functions. Now all major platform functions
	(including threads and mutex) are implemented in thin
	abstraction layers.
	Improved performance on W32 due to eliminating
	translation of error to POSIX codes and using W32 codes
	directly (through macros).
	Improved error reporting on all platforms.
	Improved error handling and reporting on Darwin.
	Minor fixes. -EG

Tue Aug 16 15:14:30 MSK 2016
	Minor improvement for monotonic clock.
	Minor configure fix for non-bash shells. -EG

Mon Aug 15 13:06:52 CEST 2016
	Fixed possible crash due to write to read-only region of
	memory given ill-formed HTTP request (write was otherwise
	harmless, writing 0 to where there was already a 0).
	Fixed issue with closed connection slots not immediately
	being available again for new connections if we reached
	our connection limit.
	Avoid even accept()ing connections in certain thread modes
	if we are at the connection limit and

Wed Aug 10 16:42:57 MSK 2016
	Moved threads, locks and mutex abstraction to separate files,
	some minor errors fixed, added support for thread name functions
	on various platforms, added configure flag for disable thread
	naming. -EG

Sat Jul 23 20:45:51 CEST 2016
	Added macro detection of speed/size compiler optimization.
	Added different implementation of functions in mhd_str.c for
	size optimization. Enabled automatically if compiler size
	optimization is detected or MHD_FAVOR_SMALL_CODE is defined.
	Added unit tests for all mhd_str.c functions. -EG

Sat Jul 16 21:54:49 CEST 2016
	Warn user if they sent connection into blocking
	state by not processing all POST data, not suspending,
	and not running in external select mode. -CG

Fri Jul  8 21:35:07 CEST 2016
	Fix FIXME in tutorial. -CG

Fri Jul  8 15:57:06 CEST 2016
	Adding support for 308 status code. -CG

Sat Jun 25 13:49:31 CEST 2016
	Use shutdown to trigger select on NetBSD. -EG

Thu Jun  2 09:55:50 CEST 2016
	Releasing libmicrohttpd 0.9.50. -CG

Wed Jun  1 21:59:34 CEST 2016
	Do not send "Content-Length" header for 1xx/204/304 status codes. -CG

Tue May 17 13:32:21 CEST 2016
	Allow clients to determine whether a connection is suspended;

Sun May 15 12:17:25 CEST 2016
	Fix handling system or process resource limit exhaustion upon
	accept(). -CG/CP

Thu May 12 08:42:19 CEST 2016
	Fix handling of partial writes in MHD_USE_EPOLL_LINUX_ONLY; only
	consider sockets returning EAGAIN as unready. -CG/CP

Mon May  2 06:08:26 CEST 2016
	Adding logic to help address FE performance issue as
	discussed on the mailinglist with subject
        "single-threaded daemon, multiple pending requests, responses \ 
	The new logic is only enabled when MHD_USE_EPOLL_TURBO is set.
	Note that some additional refactoring was also done to clean up
	the code and avoid code duplication, which may have actually fixed
	an unrelated issue with HTTPS and a POLL-style event loop. -CG

Sat Apr 30 10:22:37 CEST 2016
	Added clarifications to manual based on questions on list. -CG

Sat Apr 23 20:12:01 CET 2016
	Tests perf_get_concurrent and test_concurrent_stop ported to use
	pthread instead of fork(). Added more error detections. -EG

Sat Apr 23 16:06:30 CET 2016
	Improved test_quiesce test. -EG

Sat Apr 23 15:39:38 CET 2016
	Notify other threads in MHD_quiesce_daemon() so listen socket FD
	is removed from awaiting select() and poll(). -EG

Sat Apr 23 14:17:15 CET 2016
	Revert "shutdown trigger select" on Darwin. Fixed daemon shutdown
	on Darwin without "MHD_USE_PIPE_FOR_SHUTDOWN" option. -EG

Fri Apr 22 14:29:28 CET 2016
	Fixed race conditions when stopping quiesced daemon with thread
	pool. -EG

Wed Apr 20 18:12:30 CET 2016
	Fixed macros in sysfdsetsize.c which could prevent compiling with
	non-default FD_SETSIZE.
	Fixed comments in mhd_str.c.
	Updated test_post.c to not ignore specific error on W32 if libcurl
	is built with workaround for WinSock bug. -EG

Mon Apr 18 19:35:14 CET 2016
	Fixed data races leading to inability in rare situations to
	resume suspended connection. -EG

Tue Apr 13 21:46:01 CET 2016
	Removed unneeded locking for global timeout list in
	Added 'simplepost' and 'largepost' examples to VS projects.
	Added strtoXX() locale-independent replacement functions.
	Added more error checking and minor fixes in digest auth
	functions - should improve security.
	Ignored specific errors in 'test_post' test until libcurl
	will implement workaround for WinSock bug.
	Fixed handling of caller-supplied socket with
	MHD_OPTION_LISTEN_SOCKET (regression in 0.9.49).
	Minor fixes.
	Various cosmetics and comments fixes. -EG

Sat Apr 09 13:05:42 CET 2016
	Releasing libmicrohttpd 0.9.49. -EG

Fri Apr 08 18:32:17 CET 2016
	Some minor internal fixes, addition error checking and
	micro optimizations.
	Reworked usage of sockets shutdown() - now work equally
	on all platforms, disconnection should be "more graceful". -EG

Tue Mar 15 21:52:27 CET 2016
	Do not crash if pthread_create() fails. -DD

Tue Mar 15 20:29:34 CET 2016
	Do not use eready DLL data structure unless
	we are actually using epoll(). -DD/CG

Fri Feb  5 20:43:11 CET 2016
	Fixed testsuite compile warning on W32.
	Added check test for triggering poll() on
	listen socket. -EG

Thu Feb  4 11:38:11 CET 2016
	Added some buffer overrun protection.
	Fixed handling of misformed URI with spaces. -EG

Wed Feb  3 15:41:57 CET 2016
	Make signal-pipe non-blocking and drain it. -CG

Sat Jan 30 15:49:07 CET 2016
	Fix running select() with empty fdsets on W32. -EG

Mon Jan 25 13:45:50 CET 2016
	Added check test for triggering select() on
	listen socket. -EG

Thu Jan 21 19:35:18 CET 2016
	Fixed old bug with making sockets non-blocking on
	various platforms so now sockets are really
	non-blocking on all supported platforms.
	Reworked and fixed code for using SOCK_CLOEXEC,
	fewer used system calls. -EG

Tue Jan 19 20:59:59 CET 2016
	Cleaned up and optimized with minor fixes code for
	making sockets non-blocking non-inheritable. -EG

Tue Jan 19 11:14:18 CET 2016
	Removed workaround for Cygwin non-blocking sockets:
	handling non-blocking sockets were fixed in Cygwin
	and libmicrohttpd how uses non-blocking sockets on
	all platforms. -EG

Mon Jan 18 23:54:45 CET 2016
	Cleaned up examples to avoid giving oversimplified code
	that may lead to complications if adopted naively. -CG

Sun Jan 17 11:18:55 CET 2016
	Do no refuse to send response if sendfile() failed with
	EINVAL (common error for files located on SMB/CIF). -EG

Sat Jan 16 19:14:39 CET 2016
	Use US-ASCII only (instead of user locale settings) when
	performing caseless string comparison as required by
	standard. -EG

Tue Jan 12 16:10:09 CET 2016
	Fixed declaraion of MHD_get_reason_phrase_for(). -EG

Mon Jan 11 19:58:50 CET 2016
	Configure.ac small fixes and refactoring. -EG
   2016-10-07 20:26:14 by Adam Ciarcinski | Files touched by this commit (611) | Package updated
Log message:
Revbump post boost update
   2016-09-19 15:04:29 by Thomas Klausner | Files touched by this commit (147)
Log message:
Recursive PKGREVISION bump for gnutls shlib major bump.
   2016-03-05 12:29:49 by Jonathan Perkin | Files touched by this commit (1813) | Package updated
Log message:
Bump PKGREVISION for security/openssl ABI bump.
   2015-12-30 00:35:00 by Thomas Klausner | Files touched by this commit (2) | Package updated
Log message:
Update libmicrohttpd to 0.9.48:

Fri Dec 18 15:54:50 CET 2015
	Releasing libmicrohttpd 0.9.48. -CG

Tue Dec  15 18:35:55 CET 2015
	Improved compatibility with VS2010 and other older
	compilers. -EG

Tue Dec  8 21:48:44 CET 2015
	Default backlog size for listen socket was changed from
	to override default backlog size.
	If not all connections can be handled by MHD_select() than
	at least some of connections will be processed instead of
	failing without any processing.
	Fixed redefenition of FD_SETSIZE on W32 so select() will
	work with 2000 connections instead of 64.
	Better handled redefenition of FD_SETSIZE on all
	platforms. -EG

Sat Dec  5 17:30:45 CET 2015
	Close sockets more aggressively in multi-threaded
	mode (possibly relevant for idle servers). -CG
   2015-12-04 21:33:53 by Thomas Klausner | Files touched by this commit (3) | Package updated
Log message:
Update to 0.9.47:

Fri Dec  4 13:53:05 CET 2015
	Releasing libmicrohttpd 0.9.47. -CG

Thu Dec  3 18:21:44 CET 2015
	Reworked VS project files. Used x64 build tools by
	default, many optimizations, fixes.
	Added project files for VS 2015. -EG

Tue Dec  1 14:05:13 CET 2015
	SPDY is dead, killing experimental libmicrospdy. -CG

Tue Dec  1 10:01:12 CET 2015
	New logic for controlling socket buffer modes.
	Eliminated delay before last packet in response and before
	"100 Continue" response on all platforms. Also response
	header are pushed to client without waiting for response
	body. -EG

Wed Nov 25 17:02:53 CET 2015
	Remove 200ms delay observable with keep-alive on Darwin
	and *BSD platfroms. -EG

Tue Nov 10 15:25:48 CET 2015
	Fix issue with shutdown if connection was resumed just
	before shutdown. -FC