libmicrohttpd

HTTP/1.x server C library (MHD 1.x, stable)
Log | Files | Refs | Submodules | README | LICENSE

ChangeLog (156586B)


      1 Mon Jul 14 05:03:07 PM CEST 2025
      2     Fix double-close bugs on bind() errors reported by MC on the list.
      3     Removed MHD2 draft code, now in libmicrohttpd2.git.
      4     Releasing GNU libmicrohttpd 1.0.2 -CG
      5 
      6 Fri 23 Feb 2024 21:00:00 UZT
      7     Releasing GNU libmicrohttpd 1.0.1 -EG
      8 
      9 February 2024
     10     Fixed builds without messages. -JP & CG
     11     Fixed builds with external MD5 calculation.
     12     Fixed SHA-512/256 code for hypothetical extra large sizes.
     13     Fixed response handling during daemon shutdown.
     14     Fixed code logic for builds without messages.
     15     Reduced the binary size for builds without messages by removing
     16     the strings with filenames used for panic reports.
     17     Fixed tests and examples for builds without messages and for builds
     18     without basic auth.
     19     Fixed some compiler warnings. -EG
     20 
     21 Thu 01 Feb 2024 15:00:00 CET
     22     Releasing GNU libmicrohttpd 1.0.0 -EG
     23 
     24 January 2024
     25     add missing lock, do not call 'close(-1)' on very rare error path.
     26     use correct HTTP header (content type, not content encoding) for mime type
     27     in examples.
     28     fix memory leak on error path. -CG
     29     MHD_OPTION_CONNECTION_MEMORY_{LIMIT,INCREMENT}: added ignore of zero value.
     30     test_upgrade{,_large}{,_tls}: unified code, removed workarounds, added new
     31     test.
     32     digest_auth_example_adv: added new advanced example for the new Digest
     33     Auth API use.
     34     Fixed compiler warnings in configure, lib, examples, tests.
     35     test_digestauth2: supported old libcurl versions.
     36     Fixed tests with GnuTLS in non-default path.
     37     configure: sorted messages in final config summary.
     38     Fixed non-debug build without HTTPS.
     39     configure: removed old workaround for Solaris.
     40     test_upgrade: adapted for macOS. -EG
     41 
     42 December 2023
     43     "Upgraded" TLS connections: fixed data pumping in various edge conditions.
     44     'bootstrap': fixes and simplifications.
     45     Digest Auth: added default timeout and max nc values, added daemon options
     46     for default nonce timeout and max nc values, added testing, implemented
     47     setting DAuth defaults by configure parameters. -EG
     48 
     49 November 2023
     50     Updated HTTP methods, headers and reason phrases.
     51     Renamed one new basic auth function, improved doxy.
     52     digest auth: updated header, slightly modified multi-value processing. -EG
     53     websocket_threaded_example: fix websocket url string. -Evgeniy Gavrilenko
     54     configure: warn if building without threads. -EG
     55     configure: added detection of FD_SETSIZE value and ability to override it.
     56     internal.h: added macros for polling mode detection.
     57     Added use of configure-detected system default FD_SETSIZE value.
     58     internal.h: added macros for internal threads modes detection.
     59     Added MHD_OPTION_APP_FD_SETSIZE and MHD_FEATURE_FLEXIBLE_FD_SETSIZE.
     60     daemon.c: moved processing and checking of app-provided listen socket.
     61     MHD_start_daemon(): mark listen as UNIX based on available information.
     62     MHD_start_daemon(): added stricter checks for bind() and listen() return
     63     values.
     64     MHD_start_daemon(): added check for epoll FD to fit fd_set for external
     65     polling mode.
     66     Implemented and documented MHD_OPTION_LISTEN_SOCKET followed by
     67     MHD_INVALID_SOCKET.
     68     Fixed ignored daemon port when MHD_OPTION_LISTEN_SOCKET or
     69     MHD_OPTION_SOCK_ADDR are used as documented.
     70     MHD_start_daemon(): further improved UNIX / IP socket detection.
     71     Implemented new option MHD_OPTION_SOCK_ADDR_LEN.
     72     MHD_start_daemon(): added check for app-provided socket to fit fd_set.
     73     MHD_start_daemon(): fixed leaked listen socket when daemon start failed.
     74     MHD_add_connection(): added more checks for correct members of sockaddr.
     75     Timeout handling added detection of more conditions to process the data
     76     without waiting.
     77     MHD_quiesce_daemon(): fixed return value if already quiesced.
     78     MHD_start_daemon(): reject INTERNAL_POLLING_THREAD if threads are disabled.
     79     test_daemon: fixed to not skip the test if failed.
     80     test_digestauth2: fixed order of the initial checks.
     81     Improved daemon shutdown handling in external polling mode.
     82     Unified and simplified fd_set filling.
     83     Added new daemon flag MHD_USE_NO_THREAD_SAFETY and testing.
     84     Officially support zero for MHD_OPTION_THREAD_POOL_SIZE.
     85     test_upgrade: used sized send and receive, removed VLA, other improvements.
     86     test_upgrade: implemented proper timeout detection and handling. -EG
     87 
     88 September 2023
     89     fix #7928: correct tutorial direntry.
     90     proper fix for #7757. -CG
     91     W32 VS projects: added perf_replies.
     92     W32 VS projects: added .editorconfig.
     93     perf_replies improvements for W32.
     94     mhd_threads: muted compiler warning on W32.
     95     mhd_threads: fixed check for error when starting a new thread on W32.
     96     Renamed 'pid' -> 'tid' when used for threads.
     97     mhd_str: fixed possible compiler and run-time sanitizers warnings.
     98     Muted and fixed some compiler warnings.
     99     W32 VS project: corrected compiler settings.
    100     W32 VS: really muted run-time false warnings about data truncation.
    101     examples/sessions.c: fixes.
    102     Fixed missing <errno.h> includes.
    103     Refactored threads support to handle platforms without "invalid" ID value.
    104     Fixed MHD_CONNECTION_INFO_DAEMON: return master daemon. -EG
    105     check rvalues from pthread_mutex_, MHD_add_response_header,
    106     MHD_post_process in examples.
    107     Theoretical use-after-free in test on error path. -CG
    108     Do no use internal magic number if it is used by the remote client.
    109     Refactoring: store "request target" original length.
    110     Detect error earlier if request HTTP version is bad.
    111     Added calculation of request headers total size.
    112     Rewritten handling of exhaustion of memory pool when receiving.
    113     tests: fixed compiler warnings, copy-paste error, added error reporting.
    114     test_long_header: re-use the same port for all checks.
    115     Control acceptance of LF as CRLF in chunked encoding in the same way as
    116     in headers parsing.
    117     Improved compatibility with old compilers.
    118     Fixed more compiler warnings. -EG
    119 
    120 Sun Sep  3 12:23:18 AM CEST 2023
    121     Prevent queueing of responses if connection is not currently in the
    122     access handler callback (which was always not allowed per API spec,
    123     but is now met with an appropriate error response). Fixes #7757. -CG
    124 
    125 August 2023
    126     Improved CPU cores detection in perf_replies. -EG
    127 
    128 July 2023
    129     Added new tool perf_replies with automatic detection of number of available
    130     CPU on system and for the program. -EG
    131 
    132 June 2023
    133     Bump version numbers as v0.9.77 was released on parallel branch.
    134     Added test for MHD_get_version{,_bin} function and related macros.
    135     base64 decoding: added more compact code version.
    136     Refactoring: check whether memory pool block is resizeable.
    137     Re-implemented parsing of the request line from scratch with strict
    138     conformance with RFC 9110 and 9112 requirements.
    139     Re-implemented parsing of the request headers and footers from scratch with
    140     strict conformance with RFC 9110 and 9112 requirements.
    141     Fuzzing tests: almost completely re-implemented. The new version is unified
    142     and much easier to maintain.
    143     Added new tests for folded headers.
    144     Corrected HTTP error responses for clients.
    145     connection: fixed pipelined requests processing.
    146     Added checks for correct values specified for connection memory limits.
    147     process new connection: fixed missing mutex unlock in error handling path.
    148     W32 VS Projects: fixed code parsing by GUI.
    149     Focused all read-buffer grows in a single point, related improvements. -EG
    150 
    151 May 2023
    152     Improved portability of boostrap (and autogen.sh)
    153     Muted more compiler warnings in configure.
    154     Tests: updated to support new libcurl APIs and fixed deprecation
    155     warnings with new versions (the old versions are supported still).
    156     Tests: minor and cosmetic fixes and improvements.
    157     Tests: compiler warnings fixes.
    158     configure: bump gettext version.
    159     Tests: fixed build with C89 compilers.
    160     Tests: fixed tests on Darwin 22.x (Ventura).
    161     Tests: redesigned one tests group to avoid stress-testing of the OS.
    162     configure: improved portability for exotic platforms.
    163     examples: removed non-portable functions, added some checking,
    164     fixed compiler warnings, fixed erroneously commented out code.
    165     configure: fixed detection of __FUNCTION__ magic macro.
    166     Unified function name magic macros usage in code.
    167     W32 VS projects: supported ARM and ARM64.
    168     Fixed compiler warning on x32.
    169     Some minor fixes for W32 VS compilation. -EG
    170 
    171 
    172 April 2023
    173     Implemented and used new function MHD_pool_deallocate().
    174     Updated libtool fixes.
    175     Removed some autotools files from git.
    176     Added autoconf patches and fixes.
    177     {md5,sha256}_ext.c: fixed processing of initialisation error with NULL
    178     handler. -EG
    179 
    180 March 2023
    181     Upgraded TLS: fixed inefficient communication.
    182     Upgraded TLS: use more available memory for pumping the data. -EG
    183 
    184 Web 29 Mar 2023 20:56:00 CEST
    185     Bumped version as the hotfix was released based on the separate branch. -EG
    186 
    187 March 2023
    188     configure: reordered checks for compiler flags.
    189     configure: fixed checks for tsearch() and related changes.
    190     Makefile: fixed build with 'make' without nested vars support.
    191     configure: fixed compiler warnings.
    192     libcurl.m4: patched to fix compiler warning.
    193     configure: internal fixes, compiler warning fixes, cosmetics, better
    194     POSIX compatibility, fixed compatibility with old autoconf.
    195     Upgraded TLS: warn if emergency buffer is used. -EG
    196 
    197 Sun Feb 26 05:49:30 PM CET 2023
    198     Fix potential DoS vector in MHD_PostProcessor discovered
    199     by Gynvael Coldwind and Dejan Alvadzijevic (CVE-2023-27371). -CG
    200 
    201 February 2023
    202     epoll: immediately notice when other side closes the socket, instead of
    203     waiting for timeout. -CG
    204 
    205 December 2022
    206     Refactored cookies parsing.
    207     Always close connection after reply if both Content-Length and chucked are
    208     used. This is specified by RFC.
    209     Added new daemon option MHD_OPTION_CLIENT_DISCIPLINE_LV with more detailed
    210     control of accepted/rejected non-standard requests.
    211     Added new M4 helper macro.
    212     configure: used better detection of some functions when cross-compiling.
    213     configure: try to detect whether eventfd is enabled.
    214     Compiler warning fixes.
    215     Improved reported strings in tests. -EG
    216 
    217 November 2022
    218     connection: refuse requests with unsupported Transfer-Encoding.
    219     connection: reject or log requests with both chunked encoding and
    220     Content-Length.
    221     tests: fixed checking response headers as null-terminated string.
    222     Some tests fixes.
    223     configure: check fixes.
    224     Refactored user-poison: minimized scope of non-sanitized code.
    225     digestauth: avoided malloc() repeating by using the new function.
    226     MHD_get_version_bin(): added new function.
    227     test_parse_cookies: rewritten. -EG
    228 
    229 October 2022
    230     Reworked HTTPS tests. Removed hardcoded TLS version and ciphers, updated
    231     self-signed certificate.
    232     Fixed delayed call of connection notification callback in
    233     thread-per-connection mode.
    234     Fixed delayed new connection notification in thread-per-connection mode.
    235     Minor internal code improvements.
    236     Added handling of "DEBUG" preprocessor macro as an alias of "_DEBUG".
    237     TLS initialisation: re-implemented. New implementation trying to use
    238     "libmicrohttpd" system-wide GnuTLS configuration by default with fallbacks
    239     to generic system-wide GnuTLS configuration and default GnuTLS
    240     configuration.
    241     New daemon option to use addition to default configuration instead of
    242     specifying full configuration string.
    243     Added relevant tests for GnuTLS initialization.
    244     Added reporting of failed part of GnuTLS configuration string.
    245     Added MHD_FEATURE_DEBUG_BUILD value.
    246     Implemented internal protection from some wild data hypothetically reported
    247     by accept4().
    248     Internal refactoring.
    249     Prevented sending "100 continue" if request has no body or if any part of
    250     request data has been received.
    251     Reworked handling of situation when app just partially processed the data:
    252     if any data was processed then zero timeout if used for polling sockets,
    253     if no data was processed then callback in not called until the new data
    254     arrived.
    255     Fixed handling of various errors conditions detected in requests.
    256     Added test with Content-Length broken value in request.
    257     test_head: added check for excess data in reply
    258     Improved epoll connection handling.
    259     Fuzzing tests: fixed CPPFLAGS.
    260     configure: do not pass AM_TESTS_ENVIRONMENT directly.
    261     configure: added summary message about heavy and fuzzing tests
    262     test-suite: marked some tests as "very heavy" tests
    263     configure: improved check for asserts. -EG
    264 
    265 September 2022
    266     Added testing of userdigest and userhash calculations.
    267     Implemented SHA-512/256 from scratch.
    268     Digest Auth: implemented SHA-512/256 support, added
    269     MHD_FEATURE_DIGEST_AUTH_SHA512_256 and relevant tests.
    270     Made all algorithms (MD5, SHA-256, SHA-512/256) optional with ability
    271     to remove by configure parameter.
    272     Digest Auth: internal refactoring and improvements.
    273     configure: minor improvements.
    274     Fixed initialisation of very old GnuTLS versions.
    275     Replace public domain MD5 implementation with the new implementation
    276     written from scratch.
    277     MD5, SHA-256, SHA-512/256: various code improvements, special versions for
    278     compact code.
    279     Digest Auth: changed internal algorithm for re-use of nonce-nc slot.
    280     Digest Auth: used weak pseudo-random generators to avoid slot clashes.
    281     Implemented optional ability to use GnuTLS functions for MD5 and SHA-256
    282     calculations.
    283     Fixed harmless unwanted extra data processing resulting in triggering of
    284     the assert.
    285     Added testing of HEAD requests.
    286     Minor internal changes.
    287     Fixed compiler warnings for compact code version.
    288     Muted compiler warnings with clang.
    289     Configure: more workarounds for clang on W32 with incorrect headers.
    290     Removed long-unused "gauger" from tests.
    291     Fixed compiler warnings in test.
    292     test_add_conn: added reasonable limits. -EG
    293 
    294 August 2022
    295     Added testing of userhash parameter parsing.
    296     Added testing of the auth type headers in one request.
    297     Warn in log if random data has not been initialised.
    298     Digest Auth: improved response header in RFC2069 mode.
    299     Added more string processing internal functions.
    300     Digest Auth: added new option MHD_OPTION_DIGEST_AUTH_NONCE_BIND_TYPE to
    301     control nonces generation.
    302     Increased testing for Digest Auth.
    303     Digest Auth: do not use reproducible nonces generation by default.
    304     Minor correction for auth headers processing.
    305     Digest Auth: internal refactoring.
    306     Digest Auth: added algorithm value to username info (required for userhash
    307     values).
    308     Digest Auth: added new public functions for userhash and userdigest
    309     calculations. -EG
    310 
    311 July 2022
    312     Digest Auth: internal optimisations and refactoring, digest_auth_check
    313     almost completely rewritten.
    314     Digest Auth: removed use of VLA.
    315     Digest Auth: added support for username in extended notation and test
    316     for extended notation.
    317     Digest Auth: implemented userhash support and tests for extended notation.
    318     MHD_add_response_entry(): refactoring
    319     Digest Auth: implemented DAuth response function
    320     MHD_queue_auth_required_response3() from scratch. Removed old
    321     implementations, old functions converted to wrappers for the new function.
    322     Digest Auth: added new group of tests.
    323     Digest Auth: added related MHD_FEATURES_* values.
    324     Digest Auth: added detection of the algorithm used by the client and
    325     use specified algorithm if allowed by application.
    326     Configure: cosmetics and reports improvements, control static and shared
    327     enablement by --enable-build-type=.
    328     Added new daemon option MHD_OPTION_DIGEST_AUTH_RANDOM_COPY and tests.
    329     Digest Auth: implemented support for old RFC 2069 (if allowed by app) and
    330     tests for RFC 2069.
    331     Internal refactoring: moved all request-related connection struct members
    332     to dedicated struct. The same for reply-related struct members.
    333     Implemented support for both Basic and Digest headers in the same
    334     request. -EG
    335 
    336 June 2022
    337     Fixed compiler warnings in main code and examples.
    338     Added error checking in examples.
    339     Added test for parsing auth headers.
    340     Improved parsing of auth headers.
    341     Added more internal functions for quoted string processing.
    342     Added test for quoting string processing.
    343     Digest Auth: internal optimisations.
    344     Basic Auth: fixed handling of realms with slashes and/or double quotes.
    345     Digest Auth: fixed use of possible maximum client nonce length as maximum
    346     server nonce length. Reduced size of internal arrays.
    347     Basic Auth: new function MHD_queue_basic_auth_fail_response3() with support
    348     for RFC 7617.
    349     Basic Auth: added new function MHD_basic_auth_get_username_password3() with
    350     more details about username and password. Technically allow binary zero in
    351     username and in password.
    352     Fixed data races when closing upgraded connection.
    353     Replaced public domain Base64 decoder with the new implementation written
    354     from scratch. The new implementation has very precise checks for the input
    355     data.
    356     Added new test for Base64 decoding.
    357     Updated examples to use new Basic Auth functions.
    358     Fixed and improved postprocessor tests.
    359     Ported test to non-VLA compilers.
    360     Added configure parameter --enable-compact-code.
    361     Removed duplication of "Connection: upgrade" header. Patch by Alexander
    362     Irion.
    363     Configure: removed some unneeded compiler flags.
    364     Digest Auth: improved RFC match (qop value caseless match), check
    365     parameters length validity before checking the values validity, correctly
    366     compare URLs with binary zeros, check URL arguments only in the same order
    367     as specified in DAuth header.
    368     Added internal functions for percent-decoding and tests for
    369     percent-decoding.
    370     Added internal function for hex to bin decoding, tests for hex<->bin
    371     decoding.
    372     Digest Auth: added new function MHD_digest_auth_get_request_info3() and
    373     MHD_digest_auth_get_username3() with detailed information about DAuth
    374     request. -EG
    375     Fixed memory leaks in tests.
    376     Fixed wrong array size for Digest Auth. -CG
    377 
    378 May 2022
    379     Improved public doxy.
    380     Digest Auth: fixed missing mark on 'nc' value as 'used'.
    381     Digest Auth: added internal checks for unrealistically high values.
    382     Digest Auth: added check for correct values from application.
    383     Digest Auth: nonce timestamps changed to milliseconds to lower conflict
    384     probability.
    385     Digest Auth: implemented management nonce-nc map array slots so old
    386     entries are removed safely while trying to avoid to remove the new entries.
    387     configure: added 'debugger' build type.
    388     Added more tests for cookies parsing.
    389     Digest Auth: use nonce-nc map arrays with locks in master daemon only
    390     so works can re-use the nonces and nc information.
    391     MHD_set_connection_option(): reduced scope for the lock.
    392     Fixed leak of mutexes when daemon creation failed and when closing daemon
    393     with thread pool.
    394     Digest Auth: fixed stale nonce result value ambiguity.
    395     Digest Auth: added special check for fabricated nonces.
    396     Added new functions MHD_digest_auth_check3() and
    397     MHD_digest_auth_check_digest3() with detailed result of the checks.
    398     Added return NULL MHD_CONNECTION_INFO_CLIENT_ADDRESS when information is
    399     not available.
    400     Improved internal handling of non-IP connections (UNIX sockets or pipes)
    401     when processing the client address.
    402     Fixed compiler warnings.
    403     Increased testing of cookies parsing.
    404     Completely re-written cookies parsing. The new code follow RFC 6265.
    405     Made cookies parsing functionality optional, can be disabled by configure.
    406     Configure: added more warning flags.
    407     Configure: internal improvements.
    408     Globally changed '#if HAVE_SOMETHING' to '#ifdef HAVE_SOMETHING'.
    409     Enabled more compiler warnings in W32 projects.
    410     Fixed MHD functionality with blocking sockets. Patch by Kolja Nowak.
    411     Moved some macros and declaration to new specialised headers: basicauth.h
    412     and digestauth.h.
    413     Added new function to process quoted strings.
    414     Digest Auth: reworking support for multiple digest algorithms.
    415     Response processing: better handle unrealistic but broken situation.
    416     Basic and Digest Auth: completely reworked headers parsing, unified code.
    417     Added new autoconf macros.
    418     Configure: added more workarounds for clang.
    419     Fixed possible use of uninitialised variable.
    420     Added new test for Basic Auth.
    421     Some code readability improvements. -EG
    422 
    423 April 2022
    424     Added autoconf macro for checking compiler parameter/flag.
    425     Improved -fvisibility compiler flag support detection in configure.
    426     Fixed compiler warnings.
    427     Moved fixed libtool-specific flags to Makefile from configure.
    428     Configure: added reporting of final compiler/linker flags.
    429     Fixed ignored user linker flags when building library binary.
    430     Improved makefiles dependency specification.
    431     Implemented --enable-build-type=TYPE configure parameters for ready-to-use
    432     configuration sets (defaults).
    433     Separated internal types for request headers and response headers.
    434     Fixed many unneeded drops of 'const' qualifier, converted some pointers
    435     to 'const'.
    436     Added use of _MHD_EXTERN with all external function definitions.
    437     Refactored response creation functions.
    438     Added new function MHD_create_response_from_buffer_static() to avoid
    439     unwanted dropping of 'const' when application is using static strings.
    440     Added new API function MHD_create_response_from_buffer_copy().
    441     Public doxy improvements.
    442     Improved handling of TLS backends for libcurl when testing HTTPS.
    443     Updated TLS certificates for tests and examples. New certificates
    444     were generated with SAN fields to match actual requirements.
    445     Fixed old style function definitions in examples.
    446     Tuned compiler warning flags.
    447     Fixed many preprocessor macros (removed space before bracket).
    448     Fixed printf() format specifications in examples.
    449     Removed non-literal strings for printf in examples.
    450     Improved portability of examples.
    451     Fixed unaligned access via sockaddr_in pointers.
    452     Fixed unaligned access in MHD_get_connection_info() and
    453     MHD_get_daemon_info().
    454     Compiler warning fixes.
    455     Changed: any negative number returned by response data generation
    456     callback function is treated as an error.
    457     Fixed setting custom connection timeout value for thread-per-connection
    458     mode.
    459     Fixed short (lees then one second) busy-waiting when connection is about
    460     to expire by switching to milliseconds accuracy instead of seconds.
    461     Added new functions MHD_get_timeout64(), MHD_get_timeout64s(),
    462     MHD_get_timeout_i().
    463     Added some checks for possible value trim due to width conversion.
    464     Digest Auth: continuation of refactoring, optimisations.
    465     Digest Auth: do not use nonces provided by the client if they were not
    466     generated previously by MHD. -EG
    467 
    468 March 2022
    469     Added internal check for suitability of used response.
    470     Improved doxy.
    471     Improved handling of application-provide "Content-Length" header.
    472     Internally separated "Icy" flag from the response code.
    473     Fixed Address Sanitizer unpoison of memory when memory pool is destroyed.
    474     Improved log messages.
    475     Added more checks for "Upgrade" handling.
    476     Better internally separated response type handling:
    477       headers only without
    478       body-specific headers, body-specific headers without body
    479     (Content-Length/Transfer-Encoding),
    480       all headers with body.
    481     Blocked MHD_SIZE_UNKNOWN value for buffer-based responses.
    482     Significantly improved doxy for MHD_queue_response().
    483     Added new function MHD_create_response_empty()
    484     Fixed compiler flags for UBsan in configure.
    485     Added new option for "--enable-sanitizers=" parameter.
    486     Improved autoconf macros. -EG
    487 
    488 January 2022
    489     Tuned automake options.
    490     Fixed compiler warning in examples.
    491     Fixed use of initialised variable in tests.
    492     Removed unused autotools files.
    493     .gitignore: cleanup and update.
    494     Autotools: always let user override build flags.
    495     Moved 'po' files to separate directory.
    496     Fixed missing include file in docs.
    497     Fixed 'make distcheck'.
    498     Fixed use on GNU/kFreeBSD.
    499     Fixed HTTP/1.1 or 1.0 selection in tests.
    500     Other tests improvements and fixes.
    501     Digest Auth: changed "md5" / "sha-256" to "MD5" / "SHA-256" to better
    502     match RFC (while clients should use caseless matching).
    503     Initial digest auth refactoring, reject invalid input.
    504     Global rename of callback parameter 'con_cls' -> 'req_cls'.
    505     Digest auth tests improvements and fixes.
    506     Added test for parallel digest auth requests.
    507     Minor autoconf macros fixes. -EG
    508 
    509 December 2021
    510     configure: fixed unwanted output on Fedora.
    511     configure: clarified licence message.
    512     Doxy corrections and improvments. -EG
    513 
    514 Sun 26 Dec 2021 20:30:00 MSK
    515     Releasing GNU libmicrohttpd 0.9.75 -EG
    516 
    517 December 2021
    518     Fixed Makefile warning on MinGW.
    519     Fixed compiler warning on MinGW.
    520     Fixed "configure" portability (for NetBSD).
    521     MSVC project cosmetics.
    522     MSVC fixed project to fix linker warning.
    523     Fixed compiler warning on some platforms.
    524     Further improved test_client_put_stop to get stable results on all
    525     platforms.
    526     Added workaround for platforms (like OpenBSD) where system monotonic clocks
    527     may jump forward and back.
    528     Added more checks in test_large_put, increased timeout (was too small for
    529     this test). -EG
    530 
    531 Sun 19 Dec 2021 18:30:00 MSK
    532     Releasing GNU libmicrohttpd 0.9.74 -EG
    533 
    534 December 2021
    535     Fixed doxy for MHD_suspend_connection().
    536     Some code improvements for new test test_client_put_stop.
    537     Added special log message if thread creation failed due to system limits.
    538     Fully restructured new_connection_process_() to correctly handle errors,
    539     fixed missing decrement of number of daemon connections if any error
    540     encountered, fixed app notification of connection termination when app has
    541     not been notified about connection start, fixed (highly unlikely) reset of
    542     the list of connections if reached daemon's connections limit.
    543     configure: fixed some compiler warnings reported in config.log.
    544     Fixed tests on FreeBSD to support system-limited rate of RST packets and
    545     'blackhole' system setting. -EG
    546     Fixed tests for libmagic to really use libmagic in examples. -CG
    547     Used tricks in code formatting to workaround uncrustify bugs.
    548     configure: improved compatibility with various shells.
    549     configure: added selective enable of sanitizers.
    550     Fixed compatibility with old GnuTLS versions.
    551     Fixed tests compatibility with old libcurl versions.
    552     Fixed busy-waiting in test_timeout (fixed CPU load spikes in the test).
    553     test_https_time_out: check rewritten, previously it is was no-op.
    554     test_upgrade{,_large}: fixed passing of socket value to GnuTLS on W32.
    555     Simplified Makefile for HTTPS tests.
    556     Added detection of old broken GnuTLS builds (on RHEL6 and clones) and
    557     disabled some tests broken with these builds.
    558     Muted compiler warnings with old libcurl versions.
    559     Reworked dlltool support: added support for weakened oversimplified
    560     half-broken llvm-dlltool
    561     Silenced MS lib tool warning and MS lib tool invocation.
    562     Added Makefiles rules for automatic regeneration of all required files if
    563     anything is missing.
    564     Added Makefile silent rules support for W32 RC and W32 static libs.
    565     Added local patches for autotools (mainly for libtool) to build MHD
    566     correctly on modern MinGW64/Clang.
    567     Updated HTTP headers macros from registry. -EG
    568 
    569 November 2021
    570     Clarified comments and doxy for MHD_str* and related tests.
    571     MHD_uint32_to_strx(): rewritten for readability and minor optimization,
    572     used indexes instead of pointers.
    573     Documented in doxy how to use MHD_AccessHandlerCallback.
    574     mhd_sockets: added more network error codes.
    575     W32 socket pair: set TCP_NODELAY to avoid unwanted buffering and delays.
    576     Additional doxy fixes in microhttpd.h.
    577     Fixed blocking sockets setting in tests and examples for W32.
    578     Added checks for fcntl() results in tests and examples.
    579     Added series of tests based on simple HTTP client implementation developed
    580     for testing of MHD.
    581     Renamed 'early_response' connection flag to 'discard_request' and reworked
    582     handling of connection's flags.
    583     Clarified request termination reasons doxy, fixed reporting of
    584     MHD_REQUEST_TERMINATED_READ_ERROR (previously this code was not really used
    585     in reporting).
    586     Enforce all libcurl tests exit code to be zero or one.
    587     Rewritten client upload processing: removed redundant checks, fixed
    588     skipping of chunk closure when not data is not received yet, fixed skipping
    589     of the last LF in termination chunk, handle correctly chunk sizes with more
    590     than 16 digits (leading zeros are valid according to HTTP RFC), fixed
    591     handling of CRCR, LFCR, LFLF, and bare CR as single line delimiters, report
    592     error when invalid chunk format is received without waiting to receive
    593     (possibly missing) end of the line, reply to the client with special error
    594     if chunk size is too large to be handled by MHD (>16 EiB).
    595     Added error reply if client used too large request payload (>16 EiB).
    596     Fixed return value for MHD_FEATURE_AUTOSUPPRESS_SIGPIPE on W32, now it
    597     returns MHD_YES as W32 does not need sigpipe suppression.
    598     configure: reordered and improved headers detection. Some headers require
    599     other headers to be included before, now configure supports it.
    600     Added missing ifdef guard for <stdbool.h>.
    601     mhd_sockets: reordered includes for better compatibility.
    602     Some code readability and formatting improvements. -EG
    603 
    604 October 2021
    605     Added test family test_toolarge to check correct handling of the buffers
    606     when the size of data is larger than free space.
    607     Fixed missing updated of read and write buffers sizes.
    608     Added detection and use of supported "noreturn" keyword for function
    609     declaration. It should help compiler and static analyser.
    610     Added support for leak sanitizer.
    611     Fixed analyser errors on W32.
    612     Partially reworked memory allocation from the pool, more robust
    613     implementation, always track read and write buffers.
    614     Added custom memory poisoning in memory pool with address sanitizer.
    615     Added missing update of the read buffer size.
    616     Addition for doxy for new behaviour of MHD_del_response_header().
    617     Added two tests with non-standard symbols in requests.
    618     Removed double close of connection with error in headers processing.
    619     Respond to the client with error if chunked request has broken chunked
    620     encoding as required by HTTP RFC instead of just closing the connection.
    621     Fixed request headers processing. Do not recognize bare CR as end of line.
    622     Fixed processing of CRCR, bare CR, LFCR, and LFLF as end of the line for
    623     request chunked encoding. Now only CRLF or bare LF are recognized as end
    624     of line.
    625     Added Lawrence Sebald to the AUTHORS file (iovec-based responses).
    626     Check for PAGESIZE and PAGE_SIZE macros and check whether they can be used
    627     for static variable initialization.
    628     Include "MHD_config.h" before all other includes to set macros required to
    629     be set before standard includes.
    630     Chunked response: abort with error if application returns more data than
    631     requested.
    632     Monotonic clock: use only native clock on W32 as all other clocks are just
    633     wrappers.
    634     W32: fixed builds with MSVC, added projects for VS2022, added MSVC
    635     universal project that use latest available toolset, use C17 if supported.
    636     Chunked response: fixed calculation of number of bytes left to send.
    637     microhttpd.h: doxy clarifications for sockets polling.
    638     Updated HTTP statuses, methods, and headers names from the registries.
    639     Further improved doxy for MHD_add_response_header().
    640     A few comments improvements and clarifications.
    641     Added internal connection's flag indicating discard of the request. -EG
    642     Websockets update by David Gausmann. -DG
    643     Fixed reported value for MHD_CONNECTION_INFO_CONNECTION_TIMEOUT.
    644     Minor code readability improvements in MHD_set_connection_option().
    645     Improved doxy for MHD_get_timeout().
    646     Memorypool: minor code improvements. -EG
    647 
    648 September 2021
    649     Improved system includes headers detection and usage. Removed unused
    650     headers detection.
    651     Added indirect calculation of maximum values at compile time by
    652     using types size detection. These values are used only to mute
    653     compiler warnings.
    654     Fixed pre-compiler errors if various *_MAX macros defined with
    655     non-digits symbols not readable for pre-compiler.
    656     Limit number of used CPU cores in tests to 6, unless heavy tests are
    657     enabled.
    658     Disabled parallel tests with libcurl if heavy tests are enabled.
    659     configure: removed '--enable-sanitizer' and added '--enable-sanitizers'
    660     parameters. Added testing for supported sanitizers and enabling only
    661     supported sanitizers.
    662     Added support for run-time sanitizers settings for tests when
    663     sanitizers are enabled.
    664     Added support for undefined behavior sanitizer without run-time library.
    665     Fixed various undefined behavior sanitizer detected errors, improved
    666     portability.
    667     Fixed how bitwise NOT is used with enum, fixed portability.
    668     microhttpd.h: changed macros MHD_CONTENT_READER_* to use ssize_t.
    669     test_postprocessor: added more check, improved error reporting, added
    670     new test data.
    671     postprocessor: fixed undefined behavior (memcpy(), memmove() with zero
    672     size and NULL pointer).
    673     Updated copyright year in W32 DLLs.
    674     postprocessor: fixed empty key processing.
    675     test_postprocessor: added tests with hex-encoded values.
    676     postprocessor: fixed incomplete processing of the last part of hex-encoded
    677     value if data was broken into certain sized pieces.
    678     Used type specifiers for printf() from inttypes.h to improved compatibility
    679     with various run-time libs. Fallback to standard values if type specifiers
    680     are not defined.
    681     Added detection of used run-time library (MSVCRT/UCRT) on W32.
    682     testcurl: fixed incorrect case-insensitive match for method name. Method
    683     name must be checked by using case-sensitive match.
    684     microhttpd.h: clarified some doxy descriptions.
    685     Prevented potential double sending of error responses.
    686     Fixed application notification with MHD_REQUEST_TERMINATED_COMPLETED_OK
    687     when error response has been sent (MHD_REQUEST_TERMINATED_WITH_ERROR is
    688     used).
    689     Avoid trying to send error response if response is already being sent.
    690     Improved log error message when error response is processing. -EG
    691 
    692 August 2021
    693     Silently drop "keep-alive" token from response "connection" header,
    694     "keep-alive" cannot be enforced and always enabled if possible.
    695     Further improved doxy for MHD_add_response_header().
    696     Added detection of the "Date:" header in the response headers set by
    697     app at response forming time.
    698     Disallow space in response header name, allow tab in response header
    699     value.
    700     Added internal MHD_uint8_to_str_pad() function.
    701     Used internal MHD_uint8_to_str_pad() in datestamp generation function.
    702     Added detection and reporting of incorrect "Upgrade" responses. -EG
    703     Fixed short busy waiting (up to one second) when connection is going
    704     to be closed. -AI
    705     Minor improvement for test_callback, test_get_chunked
    706     Fixed chunked responses with known size.
    707     Added two more tests for chunked response.
    708     Fixed chunked responses with predefined data (without data callback).
    709     Fixed calculation of the buffer size for the next response chunk.
    710     Completely rewritten reply header build function. The old version
    711     had several levels of hacks, was unmaintainable, did not follow
    712     HTTP specification in details; fixed used caseless header matching
    713     where case-sensitive matching must be used; removed two passes of
    714     header building. New version use clear logic and can be extended
    715     when needed.
    716     Changed behaviour: "Connection: keep-alive" is not being sent
    717     for HTTP/1.1 connection (as per HTTP RFC).
    718     test_get_chunked: fixed error reporting.
    719     HTTPS tests: fixed memory leaks if function failed.
    720     libcurl tests: improved handling of curl multi_*.
    721     Added two tests for correct choice of "Keep-Alive" or "Close".
    722     Simplified Makefile for testcurl.
    723     Fixed select() error handling in tests.
    724     microhttpd.h: minor macro formatting
    725     Changed behaviour: if response size is unknown and chunked encoding is
    726     allowed, chunked encoding is used even for non-keep-alive connection as
    727     required by HTTP RFC.
    728     Added two more tests for chunked replies.
    729     Simplified keepalive_possible(); added new value for MHD_ConnKeepAlive,
    730     added third state "Upgrade".
    731     Changed behaviour: used HTTP/1.1 replies for HTTP/1.0 requests as
    732     required by HTTP RFC. HTTP/1.0 reply still can be enforced by response
    733     flag.
    734     Added more doxy for MHD_ResponseFlags, added new names with the same
    735     values as old names: MHD_RF_HTTP_1_0_COMPATIBLE_STRICT and
    736     MHD_RF_HTTP_1_0_SERVER.
    737     Added new value MHD_RF_SEND_KEEP_ALIVE_HEADER to enforce sending of
    738     "Connection: keep-alive" even for HTTP/1.1 clients when keep-alive is
    739     used.
    740     test_get_close_keep_alive: added more combinations of parameters to
    741     check.
    742     Added separate flag for chunked response in connection instead of
    743     reusing the same flag as for chunked request.
    744     Added new connection's flag "stop_with_error".
    745     Fixed empty first line processing: the request could be not processed
    746     unless something else kicks next processing the same connection again.
    747     Added new connection states: MHD_CONNECTION_REQ_LINE_RECEIVING,
    748     MHD_CONNECTION_FULL_REQ_RECEIVED, MHD_CONNECTION_START_REPLY to
    749     simplify states logic.
    750     Changed write buffer allocation logic: as connection buffer size is
    751     known and fixed, use initially use full buffer for writing and reduce
    752     size of part used for writing if another allocation from the same
    753     buffer needs to be done. Implemented helper function to automatically
    754     reduce the size of read or write part to allocate buffer for other
    755     needs.
    756     Added define of NDEBUG if neither _DEBUG nor NDEBUG are defined.
    757     As accepted sockets inherit non-blocking flag from listening socket
    758     on all platform except Linux, track this state to use less number
    759     of syscalls.
    760     Fixed compiler and static analyser warnings.
    761     Moved HTTPS tests helper file to the HTTPS tests directory.
    762     Minor Makefiles cleanup.
    763     Added support for new monotonic clock ids.
    764     Added new internal monotonic clock function with milliseconds accuracy.
    765     Fixed support of custom connection timeout in thread-per-connection mode.
    766     Added more error checking to test_timeout.
    767     microhttpd.h: removed duplicated macro.
    768     Refined timeouts handling. Switched from seconds resolution to milliseconds
    769     resolution, added automatic detection and support of low-resolution system
    770     clock to avoid busy-waiting at connection expiration. Added log message
    771     for too large timeout period (> 146 million years) with trim to supported
    772     values. -EG
    773 
    774 Wed 04 Aug 2021 06:56:52 PM CEST
    775     Introduce new MHD_CONNECTION_INFO_HTTP_STATUS. -CG
    776 
    777 July 2021
    778     Added automatic response flags with detection when response
    779     is being formed.
    780     Added special processing for response "Connection" headers, combined
    781     multiple "Connection" headers into single header.
    782     Restructured MSVC project files.
    783     Changed MSVC project defaults to Vista+ (WinXP is still supported).
    784     Fixed copy-paste error in mhd_aligh.h, added support for MSVC.
    785     Added internal function for printing hex and decimals numbers.
    786     Reply chunked body handling fixes, used new internal functions
    787     instead of snprintf().
    788     Added automatic response flag when app sets chunked encoding header.
    789     New internal function for chunked reply footer forming. Unification with
    790     reply header forming function just over-complicated things and made
    791     function hardly maintainable.
    792     Added new function MHD_get_reason_phrase_len_for(), related tests and
    793     updated scripts for response phrases.
    794     Added more tests for chunked replies.
    795     Added function to reset connection state after finishing processing of
    796     request-reply to prepare for the next request.
    797     Added even more tests for chunked replies.
    798     Added internal function for printing uint64_t decimal numbers. -EG
    799 
    800 June 2021
    801     Tests: implemented checking of response footer.
    802     Fixed loss of incoming data if more than half of buffer is
    803     used for the next request data.
    804     Fixed completely broken calculation of request header size.
    805     Chunked response: do not ask app callback for more data then
    806     it is possible to process (more than 16 MBytes).
    807     Check and report if app used wrong response code (>999 or <100)
    808     Refuse to add second "Transfer-Encoding" header.
    809     HTTPS tests: check whether all libcurl function succeeded.
    810     HTTPS tests: implemented new detection of TLS backend.
    811     HTTPS tests: fixed tests with new TLS defaults (SSL forbidden).
    812     Implemented detection of basic HTTP methods, fixed wrong
    813     caseless matching for HTTP method names.
    814     MHD_create_response_*() functions: improved doxy.
    815     MHD_add_response_header: added detailed comment about automatic
    816     headers.
    817     Do not allow responses with 1xx codes for HTTP/1.0 requests.
    818     Fixed used order of headers: now user response headers are used in
    819     the same order as was added by application.
    820     Added new internal function MHD_get_response_element_n_().
    821     Added detection of more compiler built-ins for bits rotations.
    822     Minor optimisation of caseless strings matching.
    823     Added MHD_str_remove_token_caseless_() function and tests.
    824     Added MHD_str_remove_tokens_caseless_() function and tests. -EG
    825 
    826 May 2021
    827     Doxy description clarifications for MHD_get_timeout() and related
    828     functions.
    829     Added MHD_create_response_from_buffer_with_free_callback_cls().
    830     Added SHA-1 calculation (required for WebSockets).
    831     Added new internal header mhd_aligh.h for checking alignment of
    832     variables.
    833     Fixed SHA-256 and MD5 calculation with unaligned data.
    834     Added tests for hashes with unaligned data.
    835     Used compiler built-ins for bits rotations.
    836     Added detection of HTTP version at early stage.
    837     Added early response of unsupported HTTP version.
    838     Fixed wrong caseless matches for HTTP version strings.
    839     Added calculation of error responses at compile time (avoided
    840     repeated strlen() for known data). -EG
    841 
    842 April 2021
    843     New test for reply chunked encoding. -EG
    844 
    845 Mon 26 Apr 2021 02:09:46 PM CEST
    846     Importing experimental Websocket support by David Gausmann. -CG
    847 
    848 Sun 25 Apr 2021 14:00:00 MSK
    849     Releasing GNU libmicrohttpd 0.9.73. -EG
    850 
    851 Sat 24 Apr 2021 23:00:00 MSK
    852     Fixed build with Clang and Visual Studio.
    853     MSVS project files updated.
    854     Enabled bind port autodetection with MSVS builds. -EG
    855 
    856 Fri 23 Apr 2021 14:27:00 MSK
    857     Fixed build without TLS lib.
    858     Fixed build without system poll() function.
    859     Fixed compiler warnings on 32-bit platforms.
    860     Fixed various compiler warnings. -EG
    861 
    862 Thu 22 Apr 2021 12:32:00 MSK
    863     Fixed some typos.
    864     Force disable TCP_CORK, TCP_NOPUSH, and TCP_NODELAY before switching
    865     connection to "upgraded" mode.
    866     Improved portability of the test-suite for upgraded connections. -EG
    867 
    868 Tue 20 Apr 2021 17:11:00 MSK
    869     Disabled NLS by default in configure. -EG
    870 
    871 Mon 19 Apr 2021 18:58:00 MSK
    872     Fixed testzzuf/test_put_chanked to correctly use MHD.
    873     Added internal error code for TLS errors.
    874     Added all missing messages to the .pot file.
    875     Detect more types of errors for receiving data and report
    876     error description in the MHD log.
    877     Added support for ALPN on TLS connections if supported by
    878     used TLS library. -EG
    879 
    880 Sun 18 Apr 2021 20:47:00 MSK
    881     Removed dead code.
    882     Limited iov-backed responses size to SSIZE_MAX as limited by
    883     system calls.
    884     Report error message in MHD log for send errors. -EG
    885 
    886 Sat 17 Apr 2021 18:50:00 MSK
    887     Unified upgrade test behavior for all platforms.
    888     Some code simplification and unification.
    889     Compiler warning (false positive) fixed. -EG
    890 
    891 Fri 16 Apr 2021 17:58:00 MSK
    892     Used run-time value if IOV_MAX if available.
    893     Fixed portability of error handling for sending functions.
    894     Detect pipes/unix sockets on fly and do not use TCP/IP specific
    895     functions with them.
    896     Fixed support of UNIX sockets on non-Linux kernels. -EG
    897 
    898 Fri 16 Apr 2021 10:23:39 AM CEST
    899     Detect if a socket is a UNIX domain socket and do not try to play
    900     with TCP corking options in this case (avoids useless failed
    901     syscalls). -CG
    902 
    903 Thu 15 Apr 2021 18:56:00 MSK
    904     Fixed configure '--enable-sanitizer' parameter.
    905     Stopped pushing of partial responses when limited by system maximum size
    906     for sendmsg(). -EG
    907 
    908 Web 14 Apr 2021 22:20:00 MSK
    909     Fixed: use sendmsg() in POSIX-compatible way, do not try to send more
    910     than IOV_MAX elements per single call. -EG
    911 
    912 Sun 11 Apr 2021 15:44:00 MSK
    913     Updated test TLS certificates to not expired modern versions, restored
    914     HTTPS examples compatibility with modern browsers.
    915     TCP_NODELAY is not pre-enabled for HTTPS connection as it actually
    916     does not speed-up TLS handshakes on moders OSes. -EG
    917 
    918 Thu 01 Apr 2021 21:29:46 MSK
    919     Fixed MD5 digest authorization broken when compiled without variable
    920     length arrays support (notably with MSVC).
    921     Fixed and muted compiler warning.
    922     Deeper test with zzuf if configured with --enable-heavy-tests.
    923     Removed run-check of assert() in configure to avoid core dumps. -EG
    924 
    925 Thu 01 Apr 2021 17:46:00 MSK
    926     Added new function MHD_run_wait() useful for single-threaded applications
    927     without other network activity.
    928     Added tests for the new function. -EG
    929 
    930 Wed 17 Mar 2021 20:53:33 MSK
    931     Re-factored startup log parameters processing. Warn user if wrong logger
    932     could be used potentially.
    933     Added headers doxy with information about minimal MHD version when
    934     particular symbols were introduced.
    935     Added new daemon option to indicate SIGPIPE handling by application for
    936     daemons being run in application thread. -EG
    937 
    938 Wed 24 Feb 2021 19:23:00 MSK
    939     SIGPIPE-related macro minor refactoring for readability.
    940     Added new response iov function (and related framework), based on the patch
    941     provided by Lawrence Sebald and Damon N. Earp from NASA. -EG
    942 
    943 Thu 04 Feb 2021 06:41:34 PM CET
    944     Fix PostProcessor to always properly stop iteration when application callback
    945     tells it to do so. -CG
    946 
    947 Sun 24 Jan 2021 21:30:00 MSK
    948     Added '--enable-heavy-tests' configure parameter.
    949     Minor configure.ac and Makefiles fixes. -EG
    950 
    951 Tue 19 Jan 2021 17:59:00 MSK
    952     Fixed compatibility with autoconf. 2.70
    953     Updated M4 macros. -EG
    954 
    955 Wed 06 Jan 2021 08:39:58 PM CET
    956     Return timeout of zero also for connections awaiting cleanup. -CG
    957 
    958 Tue 29 Dec 2020 15:39:00 MSK
    959     Improved speed of TLS handshake by pre-enabling TCP_NODELAY. -EG
    960 
    961 Mon 28 Dec 2020 21:36:00 MSK
    962     Releasing libmicrohttpd 0.9.72. -EG
    963 
    964 Mon 28 Dec 2020 09:37:00 MSK
    965     Completely reworked and rewritten TCP_CORK, TCP_NOPUSH, TCP_NODELAY and
    966     MSG_MORE handling. Reduced number of sys-calls, fixed portability for
    967     FreeBSD, OpenBSD, NetBSD, Darwin, W32, Solaris.
    968     Removed usage of gnutls_record_cork() as it fully blocks stream until
    969     final block is ready.
    970     Fixed compatibility with C90 compilers.
    971     Really started using sendmsg() for header + body combined single-call
    972     response sending.
    973     Fixed sending of response body by sendmsg() when it shouldn't be sent,
    974     like responses for HEAD requests.
    975     Improved error handling for gnutls_record_send().
    976     Updated W32 resources for .DLLs.
    977     Fixed building with various disabled features (like messages, HTTPS,
    978     http-upgrade, authorization etc.)
    979     Fixed possible SIGPIPE generation when sendfile() is used (it was always
    980     possible on Linux that sendfile() produce SIGPIPE, now it's fixed).
    981     Several compiler warnings muted and/or fixed in the lib code and in
    982     the examples. -EG
    983 
    984 Sun 01 Nov 2020 17:17:00 MSK
    985     Fixed conflict with system CPU_COUNT macro.
    986     Minor improvements of error reporting in MHD daemon.
    987     Fixed FTBFS with GnuTLS versions before 3.1.9
    988     Fixed test_add_conn for multi-CPU machines.
    989     Fixed analyzer warnings.
    990     Fixed use-after-free and resources leaks for upgraded connections
    991     in TLS mode with thread-per-connection. -EG
    992 
    993 Sun 25 Oct 2020 19:31:00 MSK
    994     Fixed epoll mode without listening socket.
    995     Minor improvements of thread sync.
    996     Fixed broken sendfile on FreeBSD.
    997     Fixed broken MHD with thread-pool and without listening socket.
    998     Added four tests for MHD_add_connection().
    999     Fixed several resources leaks in error handlers.
   1000     Re-implemented scheme of handling of externally added connections,
   1001     fixed thread-safety. -EG
   1002 
   1003 Wed 21 Oct 2020 10:00:58 AM CEST
   1004     Corking should be OFF when sending the footer (#6610). -AP/CG
   1005 
   1006 Wed 07 Oct 2020 11:07:00 MSK
   1007     W32 default target version changed to Vista, XP is still supported.
   1008     Minor fixes and additional asserts for memorypool.
   1009     IPv6 tests are not used if IPv6 is disabled at run-time. -EG
   1010 
   1011 Sun 27 Sep 2020 10:08:03 PM CEST
   1012     Fixed incorrect triggering of epoll edge polling for
   1013     "upgraded" TLS connections.  Fixed a few cases where
   1014     gnutls_record_uncork() return value was still ignored,
   1015     possibly causing buffer to not be flushed correctly. -CG
   1016 
   1017 Sat 26 Sep 2020 08:18:02 PM CEST
   1018     Make MHD_USE_NO_LISTEN_SOCKET work in conjunction with
   1019     MHD internal threads. -CG/DE
   1020 
   1021 Thu 24 Sep 2020 16:55:00 MSK
   1022     Fixed compiler warnings on W32.
   1023     Minor optimisation of MHD_YES/MHD_NO internal usage.
   1024     Refactor and cleanup of internal debugging macros.
   1025     Updated HTTP status codes, header names and methods from
   1026     the registries.
   1027     Fixed portability of test_upgrade_large.
   1028     Minor testsuite fixes.
   1029     Restored parallel build of libmicrohttpd (except tests). -EG
   1030 
   1031 Fri 11 Sep 2020 10:08:22 PM CEST
   1032     Fix crash problem in PostProcessor reported by MD. -CG
   1033     Fix GnuTLS configure test to check for gnutls_record_uncork. -CG
   1034 
   1035 Wed 19 Aug 2020 09:40:39 AM CEST
   1036     Add logic to check on MHD_pool_reallocate() failure reported on the
   1037     mailinglist (will NOT yet fix the issue). -CG
   1038 
   1039 Sun 26 Jul 2020 01:56:54 PM CEST
   1040     Add MHD_create_response_from_pipe() to allow creating a response based
   1041     on data read from a pipe. -CG
   1042 
   1043 Fri Jul 10 15:04:51 CEST 2020
   1044     Fixed Postprocessor URL-encoded parsing if '%' fell on boundary. -CG/MD
   1045 
   1046 Thu 02 Jul 2020 09:56:23 PM CEST
   1047     Fixed return type of MHD_queue_basic_auth_fail_response. -CA/CG
   1048 
   1049 Sun 28 Jun 2020 09:36:01 PM CEST
   1050     Fix buffer overflow issue in URL parser.
   1051     Releasing libmicrohttpd 0.9.71. -CG
   1052 
   1053 Tue 16 Jun 2020 08:44:22 PM CEST
   1054     Add logic to try again if GNUtls uncork() fails. -CG
   1055 
   1056 Wed 10 Jun 2020 09:44:29 PM CEST
   1057     Fixed PostProcessor bug discovered by MD, which given certain parser
   1058     boundaries caused the returned values to be wrong. -CG/MD
   1059 
   1060 Wed 08 Apr 2020 10:53:01 PM CEST
   1061     Introduce `enum MHD_Result` for #MHD_YES/#MHD_NO to avoid using 'int' so much.
   1062     Note that this change WILL cause compiler warnings until (most) MHD callbacks
   1063     in application code change their return type from 'int' to 'enum MHD_Result'.
   1064     That said, avoiding possible confusions of different enums is going to make
   1065     the code more robust in the future. For conditional compilation, test
   1066     for "MHD_VERSION >= 0x00097002". -CG
   1067 
   1068 Tue 07 Apr 2020 02:58:39 PM BRT
   1069     Fixed #5501 (Added example for how to provide a tiny threaded websocket server). -SC
   1070 
   1071 Tue 31 Mar 2020 02:36:40 PM BRT
   1072     Fixed #6142 (applied several spelling fixes). -DKG/-SC
   1073 
   1074 Sat 07 Mar 2020 05:20:33 PM CET
   1075     Fixed #6090 (misc. severe socket handling bugs on OS X). -CG
   1076 
   1077 Sat 08 Feb 2020 09:12:54 PM CET
   1078     Fixed 100-continue handling for PATCH method (#6068).
   1079     Fixed FTBFS from wrong #endif position for certain builds (#6025).
   1080     Fixed connection overflow issue when combining MHD_USE_NO_LISTEN_SOCKET
   1081     with MHD_USE_THREAD_PER_CONNECTION (#6036).
   1082     Updated m4 script to fix FTBFS when using -Werror=unused-but-set-parameter (#6078).
   1083     Releasing libmicrohttpd 0.9.70. -CG
   1084 
   1085 Thu Dec 26 14:43:27 CET 2019
   1086     Adding fix for urlencoding of keys without values in
   1087     post-processor logic. -CG
   1088 
   1089 Tue 24 Dec 2019 03:32:18 PM CET
   1090     Adding patch from Ethan Tuttle with test case for urlencoding
   1091     in post-processor for keys without values. -CG/ET
   1092 
   1093 Sun 15 Dec 2019 02:12:02 PM CET
   1094     Fix send() call (affects Mac OS X). #5977 -CG/fbrault
   1095     Releasing libmicrohttpd 0.9.69. -CG
   1096 
   1097 Fri 29 Nov 2019 11:22:25 PM CET
   1098     If application suspends a connection before we could send 100 CONTINUE,
   1099     give application another shot at queuing a reply before the upload begins. -CG
   1100 
   1101 Sat 26 Oct 2019 06:53:05 PM CEST
   1102     Fix regression where MHD would fail to return an empty response
   1103     when used with HTTPS.
   1104     Releasing libmicrohttpd 0.9.68. -CG/TR
   1105 
   1106 Fri 25 Oct 2019 02:31:59 PM CEST
   1107     Introduce MHD_RF_INSANITY_HEADER_CONTENT_LENGTH. -CG
   1108 
   1109 Thu 17 Oct 2019 04:50:52 PM CEST
   1110     Integrate 0-byte send() method for uncorking for old FreeBSD/OS X
   1111     systems into new mhd_send.c logic for uncorking.
   1112     Releasing libmicrohttpd 0.9.67. -CG
   1113 
   1114 Fri 18 Aug 2019 00:00:00 PM UTC
   1115     Fixes and optimizations for the setsockopt handling:
   1116     * Added: MHD_UPGRADE_ACTION_CORK_ON and MHD_UPGRADE_ACTION_CORK_OFF
   1117       to enum MHD_UpgradeAction (turn corking on/off on the underlying
   1118       socket).
   1119     * Use calls and flags native to the system for corking and
   1120       other operations, tested with performance improvements on
   1121       FreeBSD, Debian Linux, NetBSD, and cygwin. In particular,
   1122       this adds selective usage of MSG_MORE, NODELAY, TCP_NOPUSH,
   1123       TCP_CORK. -ng0
   1124 
   1125 Fri 09 Aug 2019 10:07:27 AM CEST
   1126     Copy compiler and linker hardening flags from GNUnet (updating
   1127     configure.ac). -CG
   1128 
   1129 Thu 01 Aug 2019 01:23:36 PM CEST
   1130     Releasing libmicrohttpd 0.9.66. -CG
   1131 
   1132 Thu 01 Aug 2019 12:53:49 AM CEST
   1133     Fix issue with discarding unhandled upload data discovered
   1134     by Florian Dold. -CG
   1135 
   1136 Mon 29 Jul 2019 08:01:50 PM CEST
   1137     Fix hanging situation with large transmission over upgraded
   1138     (i.e. Web socket) connection with epoll() and HTTPS enabled
   1139     (as reported by Viet on the mailinglist). -CG
   1140 
   1141 Thu 25 Jul 2019 02:40:12 PM CEST
   1142     Fixing regression introduced in cc5032b85 (bit mask matching
   1143     of the header kinds in MHD_lookup_connection_value()), as
   1144     reported by Jose Bollo on the mailinglist. -CG/JB
   1145 
   1146 Tue Jul 16 19:56:14 CEST 2019
   1147     Add MHD_OPTION_HTTPS_CERT_CALLBACK2 to allow OCSP stapling
   1148     and MHD_FEATURE_HTTPS_CERT_CALLBACK2 to check for. -TR
   1149 
   1150 Fri Jul 05 2019 22:30:40 MSK
   1151 	Releasing libmicrohttpd 0.9.65. -EG
   1152 
   1153 Sun Jun 23 2019 21:27:43 MSK
   1154 	Many fixes and improvements for connection-specific memory pool:
   1155 	* Added asserts;
   1156 	* Added testing of reallocation;
   1157 	* Reallocation code rewritten to avoid extra allocation, when
   1158 	  possible to reuse already allocated memory;
   1159 	* Large memory pools aligned to system page size;
   1160 	* Large memory pools on W32 are cleared more securely after use,
   1161 	  optimised usage of system memory.
   1162 	Better handled connection's memory shortage situations:
   1163 	* error response could be sent to client even if all buffer space
   1164 	  was used;
   1165 	* if buffer space become low when receiving, do not allocate last
   1166 	  buffer space and use small receive blocks instead.
   1167 	Improved sending speed by using all available buffer space for
   1168 	sending. -EG
   1169 
   1170 Sun Jun 09 2019 20:27:04 MSK
   1171 	Releasing libmicrohttpd 0.9.64. -EG
   1172 
   1173 Sun Jun 09 2019 20:03:16 MSK
   1174 	Updated HTTP headers, methods and status codes from registries,
   1175 	Added scripts to import new headers, methods and status codes from
   1176 	registries,
   1177 	Minor doxyget comment fix,
   1178 	Added missing MSVS project files to tarball.
   1179 	Reodered includes in microhttpd.h -EG
   1180 
   1181 Mon 03 Jun 2019 11:45:52 PM CEST
   1182 	Apply MHD_-prefix to hash functions, even if they are not in the
   1183 	officially exported API. -CG/DB
   1184 
   1185 Sun Jun 02 01:52:11 MSK 2019
   1186 	Support usage of SOCK_NOSIGPIPE on Solaris 11.4 and NetBSD 7+,
   1187 	finally avoid SIGPIPE on Solaris. -EG
   1188 
   1189 Sat Jun 01 22:51:50 MSK 2019
   1190 	Do not report errors if AF_UNIX socket is used on *BSD. -EG
   1191 
   1192 Thu May 30 23:32:09 MSK 2019
   1193 	Improved detection of 'getsockname()' in configure.
   1194 	Avoided using 'getsockname()' in code if not detected. -EG
   1195 
   1196 Sun May 26 23:32:49 MSK 2019
   1197 	Fixed some tests on W32. -EG
   1198 
   1199 Sun May 26 23:05:42 MSK 2019
   1200 	Better detection of sockaddr member in configure, fixed build on *BSD,
   1201 	Fixed compiler warnings,
   1202 	Updated and fixed libcurl tests. -EG
   1203 
   1204 Tue May 21 22:12:43 MSK 2019
   1205 	Fixed doxygen comments,
   1206 	Avoid dropping 'const' qualifier in macros,
   1207 	Fixed some compiler warnings,
   1208 	Properly support automatic port detections on some platforms,
   1209 	Added checks for too long TLS parameters strings. -EG
   1210 
   1211 Tue May 21 17:52:48 MSK 2019
   1212 	Spelling fixes. -EG
   1213 
   1214 Mon May 20 15:39:35 MSK 2019
   1215 	Compiler warning fixes. -EG/CG
   1216 	Fixed example for non-64bits platforms. -EG
   1217 
   1218 Wed May 15 23:51:49 MSK 2019
   1219 	Optimized and improved processing speed by using precalculated and
   1220 	already calculated lengths of strings. -EG
   1221 
   1222 Wed May 15 14:54:00 MSK 2019
   1223 	Fixed build from source on GNU Hurd. -EG
   1224 
   1225 Mon May  6 11:58:00 MSK 2019
   1226 	Updated README and COPYING files. MHD remains LGPLv2.1-licensed. -EG
   1227 
   1228 Fri May  3 20:08:00 MSK 2019
   1229 	Store connection's keys and values with sizes;
   1230 	Speedup keys search be comparing key length first;
   1231 	Added functions for working with keys and values with binary zeros;
   1232 	Fixed test_postprocessor_amp to fail on problems. -EG
   1233 
   1234 Wed May  1 16:40:00 MSK 2019
   1235 	Reverted change of MHD_KeyValueIterator, implemented MHD_KeyValueIteratorN
   1236 	with sizes for connection's key and value to get keys and values
   1237 	with binary zeros. -EG
   1238 
   1239 Mon 29 Apr 2019 01:26:39 AM BRT
   1240 	Fixed signed/unsigned comparison in example http_chunked_compression.c. -SC/TR
   1241 
   1242 Sun Apr 21 16:40:00 MSK 2019
   1243 	Improved compatibility with MSVC compilers;
   1244 	Fixed MHD compilation by Clang/LLVM in VS;
   1245 	Used MSVC intrinsics for bit rotations and bytes swap;
   1246 	Added project files for VS2019. -EG
   1247 
   1248 Fri Apr 19 23:00:00 MSK 2019
   1249 	Rewritten SHA-256 calculations from scratch to avoid changing LGPL version;
   1250 	Added usage of GCC/Clang built-ins for bytes swap to significantly improve
   1251 	speed of MD5 and SHA-256 calculation on platforms with known endianness.
   1252 	Added test for SHA-256 calculations. -EG
   1253 
   1254 Wed Apr 17 20:52:00 MSK 2019
   1255 	Refactoring of mhd5.c: optimized, dead code removed;
   1256 	Faster MD5 calculation on little endian platforms;
   1257 	Bit manipulations moved to separate header file.
   1258 	Added tests for MD5 calculations. -EG
   1259 
   1260 Mon 15 Apr 2019 05:33:52 PM CEST
   1261 	Add MHD_USE_POST_HANDSHAKE_AUTH_SUPPORT and
   1262 	MHD_USE_INSECURE_TLS_EARLY_DATA flags. -CG
   1263 
   1264 Thu Apr 11 11:37:00 MSK 2019
   1265 	Fixed MSVC 'Release' builds;
   1266 	Fixed usage of MSVC's assert. -EG
   1267 
   1268 Wed Apr 10 14:31:00 MSK 2019
   1269 	Improved shell compatibility for 'bootstrap', removed bash-ism.
   1270 	Added wrapper script 'autogen.sh'. -EG
   1271 
   1272 Mon 08 Apr 2019 03:06:05 PM CEST
   1273 	Fix close() checks as suggested by MK on the mailinglist
   1274         (#3926). -MK/CG
   1275 
   1276 Wed 20 Mar 2019 10:20:24 AM CET
   1277 	Adding additional "value_length" argument to MHD_KeyValueIterator
   1278 	callback to support binary zeros in values.  This is done in a
   1279 	backwards-compatible way, but may require adding a cast to existing
   1280 	code to avoid a compiler warning. -CG
   1281 
   1282 Sun Feb 10 21:00:37 BRT 2019
   1283 	Added example for how to compress a chunked HTTP response. -SC
   1284 
   1285 Sun 10 Feb 2019 05:03:44 PM CET
   1286 	Releasing libmicrohttpd 0.9.63. -CG
   1287 
   1288 Sat 09 Feb 2019 01:51:02 PM CET
   1289 	Extended test_get to test URI logging and query string parsing
   1290 	to avoid regression fixed in previous patch in the future. -CG
   1291 
   1292 Thu Feb  7 16:16:12 CET 2019
   1293 	Preliminary patch for the raw query string issue, to be tested. -CG
   1294 
   1295 Tue Jan  8 02:57:21 BRT 2019
   1296 	Added minimal example for how to compress HTTP response. -SC
   1297 
   1298 Wed Dec 19 00:06:03 CET 2018
   1299 	Check for GNUTLS_E_AGAIN instead of GNUTLS_E_INTERRUPTED when
   1300 	giving up on a TLS connection. -LM/CG
   1301 
   1302 Thu Dec 13 22:48:14 CET 2018
   1303 	Fix connection timeout logic if in thread-per-connection mode the
   1304 	working thread takes longer than the timeout to queue the response. -CG
   1305 
   1306 Tue Dec 11 09:58:32 CET 2018
   1307 	Add logic to avoid VLA arrays with compilers that do not support them. -CG
   1308 
   1309 Sat Dec  8 23:15:53 CET 2018
   1310 	Fixed missing WSA_FLAG_OVERLAPPED which can cause W32 to block on
   1311 	socket races when using threadpool. (See very detailed description
   1312 	of the issue in the libmicrohttpd mailinglist post of today.) -JM
   1313 
   1314 Sat Dec  8 22:53:56 CET 2018
   1315 	Added test for RFC 7616 and documented new API.
   1316 	Releasing libmicrohttpd 0.9.62. -CG
   1317 
   1318 Sat Dec  8 17:34:58 CET 2018
   1319 	Adding support for RFC 7616, experimental, needs
   1320 	testing and documentation still! -CG
   1321 
   1322 Fri Dec  7 12:37:17 CET 2018
   1323 	Add option to build MHD without any threads
   1324 	and MHD_FEATURE_THREADS to test for it.  -CG
   1325 
   1326 Thu Dec  6 13:25:08 BRT 2018
   1327 	Renamed all occurrences from _model(s)_ to _mode(s)_. -SC
   1328 
   1329 Thu Dec  6 12:50:11 BRT 2018
   1330 	Optimized the function MHD_create_response_from_callback() for
   1331 	Windows by increasing its internal buffer size and allowed to customize
   1332 	it via macro MHD_FD_BLOCK_SIZE. -SC
   1333 
   1334 Thu Dec  6 02:11:15 BRT 2018
   1335 	Referenced the gnutls_load_file() function in the HTTPs examples. -SC
   1336 
   1337 Wed Dec  5 18:08:59 CET 2018
   1338 	Fix regression causing URLs to be unescaped twice. -CG
   1339 
   1340 Sun Nov 18 13:08:11 CET 2018
   1341 	Parse arguments with (properly) escaped URLs correctly.
   1342 	(making things work with recent cURL changes, #5473).
   1343 	Replace sprintf with snprintf in testcases.
   1344 	Releasing libmicrohttpd 0.9.61. -CG
   1345 
   1346 Wed Nov 14 14:01:21 CET 2018
   1347 	Fix build issue with GnuTLS < 3.0. -CG
   1348 
   1349 Mon Nov 12 19:50:43 CET 2018
   1350 	Fix #5473 (test case failure due to change in libcurl). -eworm
   1351 
   1352 Thu Nov  8 14:53:27 CET 2018
   1353 	Add MHD_create_response_from_buffer_with_free_callback. -CG
   1354 
   1355 Tue Nov  6 19:43:47 CET 2018
   1356 	Upgrading to gettext 0.19.8.
   1357 	Releasing libmicrohttpd 0.9.60. -CG
   1358 
   1359 Thu Nov  1 16:29:59 CET 2018
   1360 	Enable using epoll() without listen socket. -JB
   1361 
   1362 Sat Oct 20 12:44:16 CEST 2018
   1363 	In thread-per-connection mode, signal main thread for
   1364 	thread termination for instant clean-up and application
   1365 	notification about closed connections. -CG
   1366 
   1367 Tue Oct 16 20:43:41 CEST 2018
   1368 	Add MHD_RF_HTTP_VERSION_1_0_RESPONSE option to make MHD
   1369 	act more like an HTTP/1.0 server. -GH
   1370 
   1371 Fri Oct  5 18:44:45 CEST 2018
   1372 	MHD_add_response_header() now prevents applications from
   1373 	setting a "Transfer-Encoding" header to values other than
   1374 	"identity" or "chunked" as other transfer encodings are
   1375 	not supported by MHD. (Note that usually MHD will pick the
   1376 	transfer encoding correctly automatically, but applications
   1377 	can use the header to force a particular behavior.)
   1378 	Fixing #5411 (never set Content-length if Transfer-Encoding
   1379 	is given). -CG
   1380 
   1381 Sat Jul 14 11:42:15 CEST 2018
   1382 	Add MHD_OPTION_GNUTLS_PSK_CRED_HANDLER to allow use of PSK with
   1383 	TLS connections. -CG/TM
   1384 
   1385 Sat Jul 14 11:03:37 CEST 2018
   1386 	Integrate patch for checking digest authentication based on
   1387 	a digest, allowing servers to store passwords only hashed.
   1388 	Adding new function MHD_digest_auth_check_digest(). -CG/DB
   1389 
   1390 Sat Mar 10 12:15:35 CET 2018
   1391 	Upgrade to gettext-0.19.8.1. Switching to more canonical
   1392 	gettext integration. -CG
   1393 
   1394 Fri Mar  2 21:44:24 CET 2018
   1395 	Ensure MHD_RequestCompletedCallback is always called from
   1396 	the correct thread (even on shutdown and for upgraded connections). -CG
   1397 
   1398 Tue Feb 27 23:27:02 CET 2018
   1399 	Ensure MHD_RequestCompletedCallback is also called for
   1400 	upgraded connections. -CG
   1401 
   1402 Fri Feb 16 03:09:33 CET 2018
   1403 	Fixing #5278 as suggested by reporter. -CG/texec
   1404 
   1405 Thu Feb  1 10:12:22 CET 2018
   1406 	Releasing GNU libicrohttpd 0.9.59. -CG
   1407 
   1408 Thu Feb  1 08:39:50 CET 2018
   1409 	Fix masking operation. -CG/silvioprog
   1410 
   1411 Mon Jan 29 17:33:54 CET 2018
   1412 	Fix deadlock when failing to prepare chunked response
   1413 	(#5260). -CG/ghaderer
   1414 
   1415 Thu Jan  4 12:24:33 CET 2018
   1416 	Fix __clang_major__ related warnings for non-clang
   1417 	compilers reported by Tim on the mailinglist. -CG
   1418 
   1419 Mon Dec 11 17:11:00 MSK 2017
   1420 	Fixed tests on platforms with huge number of CPUs.
   1421 	Doxygen configuration was updated.
   1422 	Various doxygen fixes. -EG
   1423 
   1424 Mon Dec 07 21:08:00 MSK 2017
   1425 	Releasing GNU libmicrohttpd 0.9.58. -EG
   1426 
   1427 Mon Dec 07 16:01:00 MSK 2017
   1428 	Fixed HTTPS tests on modern platforms. -EG
   1429 
   1430 Mon Dec 04 15:43:00 MSK 2017
   1431 	Minor documentation installation fixes. -EG
   1432 
   1433 Mon Nov 27 22:58:38 CET 2017
   1434 	Tolerate AF_UNIX when trying to determine our binding port
   1435 	from socket.  Use `sockaddr_storage` instead of trying to
   1436 	guess the sockaddr type before calling getsockname(). -CG
   1437 
   1438 Mon Nov 27 22:24:00 MSK 2017
   1439 	Releasing GNU libmicrohttpd 0.9.57. -EG
   1440 
   1441 Mon Nov 27 21:36:00 MSK 2017
   1442 	Updated README. -EG
   1443 
   1444 Mon Nov 27 18:37:00 MSK 2017
   1445 	Corrected names in W32 DLL resources.
   1446 	Reordered and clarified configure summary message.
   1447 	Additional compiler warning mutes for builds with various configure
   1448 	parameters.
   1449 	Fixed tests on Cygwin.
   1450 	Used larger SETSIZE for Cygwin (same value as for native W32).
   1451 	Minor fixes for Cygwin.
   1452 	Added configure parameter to force disable usage of sendfile().
   1453 	Minor testsuite fixes.
   1454 	Really fixed builds with optimisation for size. -EG
   1455 
   1456 Sat Nov 25 18:37:00 MSK 2017
   1457 	Fixed build with optimisation for size. -EG
   1458 
   1459 Fri Nov 24 20:14:02 CET 2017
   1460 	Releasing GNU libmicrohttpd 0.9.56. -CG
   1461 
   1462 Thu Nov 23 17:40:00 MSK 2017
   1463 	Added MHD_FEATURE_SENDFILE enum value and report. -EG
   1464 
   1465 Thu Nov 23 08:56:00 MSK 2017
   1466 	Fixed receiving large requests in TLS mode with epoll.
   1467 	Improved GnuTLS and libgcrypt detection in configure, do not ignore
   1468 	flags in GNUTLS_{CFLAGS,LIBS} variables.
   1469 	Added special trick for Solaris/Openindiana to find GnuTLS-3 with
   1470 	right bitness.
   1471 	Added support for Solaris sendfile(3) function.
   1472 	Fixed dataraces with thread ID on W32 and pthread. Now check for
   1473 	correct thread in MHD_queue_response() works correctly.
   1474 	Fixed and silenced compiler warnings in tests and examples.
   1475 	Removed usage of TLS flags in examples where TLS is not required.
   1476 	Added support for MultiSSL in https tests with libcurl >= 7.56.0.
   1477 	Improved detection of OFF_T_MAX, SIZE_MAX. Added macros for
   1478 	SSIZE_MAX in mhd_limits.h. There are some platforms that really
   1479 	require those macros.
   1480 	Added support for Darwin's sendfile() function.
   1481 	Updated .gitignore files.
   1482 	Reworked mhd_sys_extentions.m4 with better support of modern
   1483 	platforms, more reliable detection of required macros, and
   1484 	detection of disabling of system-specific features by
   1485 	_XOPEN_SOURCE macro. -EG
   1486 
   1487 Wed Nov  1 20:43:00 MSK 2017
   1488 	Mixed and muted many compiler warnings. Now GCC's flags
   1489 	-Wall -Wextra could be used for building.
   1490 	Fixed compilation of examples without libmagic.
   1491 	Better detection of libgnutls in configure.
   1492 	Reworked launch of nested configure in "po" directory to
   1493 	prevent useless reconfiguration.
   1494 	Fixed some wrong asserts.
   1495 	Enabled "test_options" test.
   1496 	Use "test_start_stop" without libcurl.
   1497 	Use chunks with sendfile() to prevent locking thread for
   1498 	single connection with large file.
   1499 	Added support for FreeBSD's sendfile with additional
   1500 	optimisations for FreeBSD 11.
   1501 	Refactoring and improvements for MHD_start_daemon_va() and
   1502 	MHD_stop_daemon().
   1503 	Fixed testing with GnuTLS >= 3.6.0. -EG
   1504 
   1505 Mon Oct  9 22:38:07 CEST 2017
   1506 	Add MHD_free() to allow proper free()-ing of username/password
   1507 	data returned via MHD_digest_auth_get_username() or
   1508 	MHD_basic_auth_get_username_password() on Windows. -CG
   1509 
   1510 Tue Sep 26 14:00:58 CEST 2017
   1511 	Fixing race involving setting "at_limit" flag. -CG
   1512 
   1513 Tue Sep 08 21:39:00 MSK 2017
   1514 	Fixed build of examples when MHD build with non-pthread lib.
   1515 	MHD_queue_response(): added check for using in correct thread.
   1516 	Fixed sending responses larger 16 KiB in TLS mode with epoll.
   1517 	Improved doxy for MHD_get_timeout() and related functions.
   1518 	Minor internal refactoring. -EG
   1519 
   1520 Tue Jul 23 11:32:00 MSK 2017
   1521 	Updated chunked_example.c to provide real illustration of usage of
   1522 	chunked encoding. -EG
   1523 
   1524 Thu Jul 13 21:41:00 MSK 2017
   1525 	Restored SIGPIPE suppression in TLS mode.
   1526 	Added new value MHD_FEATURE_AUTOSUPPRESS_SIGPIPE so application could
   1527 	check whether SIGPIPE handling is required.
   1528 	Used GNUTLS_NONBLOCK for TLS sessions. -EG
   1529 
   1530 Tue Jun 20 23:52:00 MSK 2017
   1531 	Libgcrypt is now optional and required only for old GnuTLS versions. -EG
   1532 
   1533 Wed Jun 14 21:42:00 MSK 2017
   1534 	Added support for debug assert() and new configure parameter
   1535 	--enable-asserts for debug builds.
   1536 	Removed non-functional Symbian support. -EG
   1537 
   1538 Mon Jun 05 23:34:00 MSK 2017
   1539 	More internal refactoring:
   1540 	merged MHD_tls_connection_handle_read/write() with non-TLS version,
   1541 	reduced and unified number of layers for network processing (before
   1542 	refactoring MHD_tls_connection_handle_read->MHD_connection_handle_read->
   1543 	do_read->recv_tls_adapter->GnuTLS->recv_param_adapter - 5 MHD layers;
   1544 	after refactoring MHD_connection_handle_read->recv_tls_adapter->GnuTLS -
   1545 	2 MHD layers),
   1546 	simplified and removed dead code from
   1547 	MHD_connection_handle_read/write() without functional change. -EG
   1548 
   1549 Mon Jun 05 22:20:00 MSK 2017
   1550 	Internal refactoring:
   1551 	used TCP sockets directly with GnuTLS (performance improvement),
   1552 	moved some connection-related code from daemon.c to
   1553 	connection.c/connection_https.c,
   1554 	removed hacks around sendfile() and implemented correct support of
   1555 	sendfile(),
   1556 	removed do_read() and do_write() to reduce number of layer around send()
   1557 	and recv() and to improve readability and maintainability of code,
   1558 	implemented separate tracking of TLS layer state, independent of HTTP
   1559 	connection stage. -EG
   1560 
   1561 Sun Jun 04 15:02:00 MSK 2017
   1562 	Improved thread-safety of MHD_add_connection() and
   1563 	internal_add_connection(), minor optimisations. -EG
   1564 
   1565 Sun May 28 23:26:00 MSK 2017
   1566 	Releasing GNU libmicrohttpd 0.9.55. -EG
   1567 
   1568 Sun May 21 18:48:00 MSK 2017
   1569 	Fixed build with disabled "UPGRADE".
   1570 	Fixed possible null-dereference in HTTPS test.
   1571 	Fixed compiler warning in process_request_body(), minor optimizations.
   1572 	Do not allow suspend of "upgraded" connections.
   1573 	Fixed returned value for MHD_CONNECTION_INFO_CONNECTION_SUSPENDED.
   1574 	Fixed removal from timeout lists of non-existing connections in
   1575 	cleanup_connection().
   1576 	Fixed double locking of mutex. -EG
   1577 
   1578 Sun May 14 15:05:00 MSK 2017
   1579 	Fixed resuming connections and closing upgraded connections in select()
   1580 	mode with thread-per-connection. -EG
   1581 
   1582 Sun May 14 14:49:00 MSK 2017
   1583 	Removed extra call to resume connections in MHD_run().
   1584 	Handle resumed connection without delay in epoll mode.
   1585 	Update states of resumed connection after resume in thread-per-connection
   1586 	mode.
   1587 	Fixed resuming connections and closing upgraded connections in poll()
   1588 	mode with thread-per-connection. -EG
   1589 
   1590 Thu May 11 22:37:00 MSK 2017
   1591 	Faster start really processing data in resumed connections. -EG
   1592 
   1593 Thu May 11 14:24:00 MSK 2017
   1594 	Do not add any "Connection" headers for "upgrade" connections. -EG
   1595 
   1596 Wed May 10 23:09:00 MSK 2017
   1597 	Resume resuming connection before other processing in external polling
   1598 	mode. -EG
   1599 
   1600 Tue May  9 23:16:00 MSK 2017
   1601 	Fixed: Do not add "Connection: Keep-Alive" header for "upgrade"
   1602 	connections. -EG
   1603 
   1604 Tue May  9 21:01:00 MSK 2017
   1605 	Fixed: check all "Connection" headers of request for "Close" and "Upgrade"
   1606 	tokens instead of using only first "Connection" header with full string
   1607 	match. -EG
   1608 
   1609 Tue May  9 12:28:00 MSK 2017
   1610 	Revert: continue match footers in MHD_get_response_header() for backward
   1611 	compatibility. -EG
   1612 
   1613 Mon May  8 19:30:00 MSK 2017
   1614 	Fixed: use case-insensitive matching for header name in
   1615 	MHD_get_response_header(), match only headers (not footers). -EG
   1616 
   1617 Fri May  5 20:57:00 MSK 2017
   1618 	Fixed null dereference when connection has "Upgrade" request and
   1619 	connection is not upgraded.  -JB/EG
   1620 	Better handle Keep-Alive/Close. -EG
   1621 
   1622 Tue May  2 18:37:53 CEST 2017
   1623 	Update manual. -CG
   1624 	Add MHD_CONNECTION_INFO_REQUEST_HEADER_SIZE.
   1625 	Releasing GNU libmicrohttpd 0.9.54. -CG
   1626 
   1627 Thu Apr 27 22:31:00 CEST 2017
   1628 	Replaced flags MHD_USE_PEDANTIC_CHECKS and MHD_USE_PERMISSIVE_CHECKS by
   1629 	single option MHD_OPTION_STRICT_FOR_CLIENT. Flag MHD_USE_PEDANTIC_CHECKS
   1630 	is still supported. -EG
   1631 
   1632 Tue Apr 26 15:11:00 CEST 2017
   1633 	Fixed shift in HTTP reasons strings.
   1634 	Added test for HTTP reasons strings. -EG
   1635 
   1636 Tue Apr 25 19:11:00 CEST 2017
   1637 	Allow flag MHD_USE_POLL with MHD_USE_THREAD_PER_CONNECTION and without
   1638 	flag MHD_USE_INTERNAL_POLLING_THREAD for backward compatibility. -EG
   1639 
   1640 Mon Apr 24 17:29:45 CEST 2017
   1641 	Enforce RFC 7230's rule on no whitespace by default,
   1642 	introduce new MHD_USE_PERMISSIVE_CHECKS to disable. -CG
   1643 
   1644 Sun Apr 23 20:05:44 CEST 2017
   1645 	Enforce RFC 7230's rule on no whitespace in HTTP header
   1646 	field names if MHD_USE_PEDANTIC_CHECKS is set. -CG
   1647 
   1648 Sun Apr 23 19:20:33 CEST 2017
   1649 	Replace remaining occurrences of sprintf() with
   1650 	MHD_snprintf_(). Thanks to Ram for pointing this out. -CG
   1651 
   1652 Sat Apr 22 20:39:00 MSK 2017
   1653 	Fixed builds in Linux without epoll.
   1654 	Check for invalid --with-thread= configure parameters.
   1655 	Fixed support for old libgcrypt on W32 with W32 threads. -EG
   1656 
   1657 Tue Apr 11 22:17:00 MSK 2017
   1658 	Releasing GNU libmicrohttpd 0.9.53. -EG
   1659 
   1660 Mon Apr 10 19:50:20 MSK 2017
   1661 	HTTPS tests: skip tests instead of failing if HTTPS is not supported by
   1662 	libcurl.
   1663 	HTTPS tests: fixed return values so testsuite is able to correctly
   1664 	interpret it.
   1665 	Fixed ignored result of epoll test in test_https_get_select. -EG
   1666 
   1667 Thu Apr 06 23:02:07 MSK 2017
   1668 	Make zzuf tests compatible with *BSD platforms. -EG
   1669 
   1670 Thu Apr 06 22:14:22 MSK 2017
   1671 	Added warning for hypothetical extra large timeout.
   1672 	Fixed incorrect timeout calculation under extra rare conditions.
   1673 	Fixed accidental usage of IPv6 in testsuite in specific conditions. -EG
   1674 
   1675 Wed Apr 05 14:14:22 MSK 2017
   1676 	Updated autoinit_funcs.h to latest upstream version with proper support of
   1677 	Oracle/Sun compiler. -EG
   1678 
   1679 Wed Apr 05 12:53:26 MSK 2017
   1680 	Fixed some compiler warnings.
   1681 	Fixed error snprintf() errors detection in digestauth.c.
   1682 	Converted many run-time 'strlen()' to compile-time calculations. -EG
   1683 
   1684 Sun Mar 26 13:49:01 MSK 2017
   1685 	Internal refactoring for simplification and unification.
   1686 	Minor optimizations and minor fixes.
   1687 	MHD_USE_ITC used again in thread pool mode. -EG
   1688 
   1689 Sat Mar 25 20:58:24 CET 2017
   1690 	Remove dead MHD_strx_to_sizet-functions and associated
   1691 	test cases from code. -CG
   1692 
   1693 Sat Mar 25 20:40:10 CET 2017
   1694 	Allow chunk size > 16 MB (up to 2^64-1). Ignore
   1695 	chunk extensions instead of triggering an error.
   1696 	(fixes #4967). -CG
   1697 
   1698 Tue Mar 25 20:59:18 MSK 2017
   1699 	Check for invalid combinations of flags and options in
   1700 	MHD_start_daemon(). -EG
   1701 
   1702 Tue Mar 21 13:51:04 CET 2017
   1703 	Use "-lrt" to link libmicrohttpd if we are using
   1704 	clock_gettime() as needed by glibc < 2.17. -CG
   1705 
   1706 Tue Mar 21 13:42:07 CET 2017
   1707 	Allow chaining of suspend-resume calls withuot
   1708 	the application processing data from the network. -CG
   1709 
   1710 Mon Mar 20 0:51:24 MSK 2017
   1711 	Added autoconf module for detection whatever shutdown of listening socket
   1712 	trigger select. This is only reliable method to use such feature as some
   1713 	platforms change behaviour from version to version. -EG
   1714 
   1715 Sun Mar 19 13:57:30 MSK 2017
   1716 	Rewritten logic of handling "upgraded" TLS connections in epoll mode:
   1717 	used edge trigger instead of level trigger,
   1718 	upgraded "ready" connection are stored in DL-list,
   1719 	fixed handling of more than 128 ready connections,
   1720 	fixed busy-waiting for idle "upgraded" TLS connections. -EG
   1721 
   1722 Fri Mar 17 10:45:31 MSK 2017
   1723 	If read buffer is full, MHD need to receive remote data and application
   1724 	suspended connection, do not fail while connection is suspended and give
   1725 	application one more chance to read data from buffer once connection is
   1726 	resumed. -EG
   1727 
   1728 Thu Mar 16 23:45:29 MSK 2017
   1729 	Allow again to run MHD in external epoll mode by
   1730 	MHD_run_from_select() - this allow unification of user code
   1731 	and produce no harm for performance. Especially useful with
   1732 	MHD_USE_AUTO flag. -EG
   1733 
   1734 Thu Mar 16 23:12:07 MSK 2017
   1735 	Idle connection should be disconnected *after* "timeout" number of
   1736 	second, not *before* this number. -EG/VT
   1737 
   1738 Thu Mar 16 22:31:54 MSK 2017
   1739 	Unified update of last activity on connections.
   1740 	Update last activity only if something is really transmitted.
   1741 	Update last activity each time when something is transmitted.
   1742 	Removed early duplicated check for timeout on HTTPS connections.
   1743 	Removed update of last active time for connections without timeout.
   1744 	Fixed reset of timeout timer on resumed connections.
   1745 	Fixed never-expired timeouts on HTTPS connections.
   1746 	Fixed thread-safety of MHD_set_connection_option(). -EG
   1747 
   1748 Thu Mar 16 21:05:08 MSK 2017
   1749 	Fixed minor bug resulted in slight slowdown of HTTPS connection
   1750 	handshake. -EG
   1751 
   1752 Thu Mar 16 20:35:59 MSK 2017
   1753 	Improved thread-safety for DL-lists. -EG
   1754 
   1755 Thu Mar 16 17:55:01 MSK 2017
   1756 	Fixed thread-safety of MHD_get_daemon_info() for
   1757 	MHD_DAEMON_INFO_CURRENT_CONNECTIONS. -EG
   1758 
   1759 Thu Mar 16 16:49:07 MSK 2017
   1760 	Added ability to get actual daemon flags via MHD_get_daemon_info().
   1761 	Fixed test_upgrade to work in request mode.
   1762 	Fixed compiler warnings in test_upgrade. -EG
   1763 
   1764 Wed Mar 15 23:29:59 MSK 2017
   1765 	Prevented socket read/write if connection is suspended.
   1766 	Added missing resets of 'connection->in_idle'.
   1767 	Reworked handling of suspended connection: ensure that
   1768 	connection is not disconnected by timeout, always
   1769 	updated read/write states right after suspending. -EG
   1770 
   1771 Wed Mar 15 21:02:26 MSK 2017
   1772 	Added new enum value MHD_CONNECTION_INFO_CONNECTION_TIMEOUT
   1773 	to get connection timeout by MHD_get_connection_info(). -EG
   1774 
   1775 Sat Mar 11 12:03:45 CET 2017
   1776 	Fix largepost example from tutorial to properly generate
   1777 	error pages. -CG
   1778 	Fix largepost example, must only queue replies either before upload
   1779 	happens or after upload is done, not while upload is ongoing
   1780 
   1781 Fri Mar 10 16:37:12 CET 2017
   1782 	Fix hypothetical integer overflow for very, very large
   1783 	timeout values. -CG
   1784 
   1785 Fri Mar 10 16:22:54 CET 2017
   1786 	Handle case that we do not listen at all more gracefully
   1787 	in MHD_start_daemon() and not pass '-1' to helper functions
   1788 	that expect a valid socket. -CG
   1789 
   1790 Tue Mar  7 12:11:44 BRT 2017
   1791 	Updates file `.gitignore`.
   1792 
   1793 Tue Mar  7 10:37:45 BRT 2017
   1794 	Updated the MHD_OPTION_URI_LOG_CALLBACK's documentation.
   1795 
   1796 Mon Mar  6 21:46:59 BRT 2017
   1797 	Added the i18n example fixing #4924. -SC
   1798 
   1799 Wed Mar 1 23:47:05 CET 2017
   1800 	Minor internal optimisations.
   1801 	Changed closure connection monitoring logic: now all connections are
   1802 	monitored for OOB data (which treated as error), connections are not
   1803 	monitored any more for incoming data if incoming data is not required for
   1804 	processing. except_fd_set is not optional now for MHD_get_fdset(),
   1805 	MHD_get_fdset2() and MHD_run_from_select().
   1806 	Improved connection processing in epoll mode: now connection can process
   1807 	both read and write each turn.
   1808 	Updated HTTP response codes; updated and added all missing standard HTTP
   1809 	headers names (and headers categories); updated and added all missing
   1810 	standard and additional HTTP methods. Now MHD return status
   1811 	MHD_HTTP_REQUEST_HEADER_FIELDS_TOO_LARGE (431) instead of old
   1812 	MHD_HTTP_REQUEST_ENTITY_TOO_LARGE (413) for very long header.
   1813 	Reworked handling of data pending in TLS buffers, resolved busy-waiting
   1814 	if incoming data is pending in TLS buffers and connection is in
   1815 	LOOP_INFO_WRITE mode.
   1816 	Do not clear 'ready' flag in epoll mode if send()/recv() result is
   1817 	EINTERRUPTED.
   1818 	Better detection of unready connection state: used less number of calls of
   1819 	recv()/send() in epoll mode.
   1820 	Configure: do not run gcrypt and GnuTLS tests if HTTPS is disabled by
   1821 	configure parameter.
   1822 	Fixed wrong value returned by MHD_get_timeout().
   1823 	All double-linked lists now walked from tail to head. As new items are
   1824 	added to head, this result in more uniform processing time.
   1825 	Improved sockets errors handling in epoll mode.
   1826 	OOB data on 'upgraded' sockets is treated as error. -EG
   1827 
   1828 Thu Feb 16 11:20:05 CET 2017
   1829 	Replace tsearch configure check with code from gnulib. -CG
   1830 
   1831 Wed Feb 15 13:35:36 CET 2017
   1832 	Fixing a few very rare race conditions for thread-pool or
   1833 	thread-per-connection operations during shutdown.
   1834 	Various minor cosmetic improvements.
   1835 	Fixed #4884 and #4888 (solaris portability issues). -CG
   1836 
   1837 Wed Feb 08 22:33:10 MSK 2016
   1838 	Ported test_quiesce_stream to W32.
   1839 	Improved precompiler flags selection of OpenBSD.
   1840 	Fixed sending responses backed by files not supported by sendfile().
   1841 	Fixed thread safety for responses backed by file FD.
   1842 	Updated fileserver_example.
   1843 	Improved handling of 'upgraded' TLS forwarding in select() and poll()
   1844 	modes.
   1845 	Fixed processing of incoming TLS data in epoll mode if more than 128
   1846 	connections are active.
   1847 	Fixed accepting more than 128 incoming connection in epoll mode.
   1848 	Improved test_large_put, added poll() and epoll testing.
   1849 	Added test_large_put_inc for testing of incremental buffer processing.
   1850 	Rewritten epoll connection processing logic: handle all connection one
   1851 	time per turn instead of trying to handle all active connection until all
   1852 	pending data is dried. Result is more uniform connection processing
   1853 	period. -EG
   1854 
   1855 Wed Nov 23 15:24:10 MSK 2016
   1856 	Used SO_REUSEADDR (on non-W32) alongside with SO_REUSEPORT if option
   1857 	MHD_OPTION_LISTENING_ADDRESS_REUSE was set. -EG
   1858 
   1859 Wed Nov 23 12:48:23 MSK 2016
   1860 	Move all gettext-related staff to 'po' subdirectory.
   1861 	Excluded gettext files generation from normal build.
   1862 	Removed generated files from GIT. -EG
   1863 
   1864 Tue Nov 15 19:08:43 MSK 2016
   1865 	Fixed forwarding "upgraded" TLS connections for
   1866 	chunks sizes larger than buffer size. -EG
   1867 
   1868 Mon Nov 14 22:18:30 MSK 2016
   1869 	Fixed unintentional usage of SO_REUSEADDR on W32.
   1870 	Added support for SO_EXCLBIND on Solaris.
   1871 	Fixed using MHD with MHD_OPTION_LISTENING_ADDRESS_REUSE
   1872 	on Linux kernels before 3.9 (longterm 3.2 and 3.4
   1873 	are still supported). -EG
   1874 
   1875 Sun Nov 13 19:16:38 CET 2016
   1876 	Fixed a few race issues on suspend-resume in cases where the
   1877 	application uses threads even though MHD did not (or at least
   1878 	had no internal need for locking). Also fixed DLL handling of
   1879 	the timeout list, avoiding manipulating it for suspended
   1880 	connections.  Finally, eliminated calling application logic
   1881 	on suspended connections (which before could happen under
   1882 	certain circumstances). -CG
   1883 
   1884 Thu Nov 11 20:49:23 MSK 2016
   1885 	Added support for various forms of
   1886 	pthread_attr_setname_np() so thread names will be set
   1887 	more efficiently on certain platforms (Solaris, NetBSD etc.) -EG
   1888 
   1889 Thu Nov 10 21:50:35 MSK 2016
   1890 	Added rejection in MHD_start_daemon() of invalid combinations
   1891 	of daemon flags.
   1892 	Added MHD_USE_AUTO and MHD_USE_AUTO_INTERNAL_THREAD for
   1893 	automatic selection of polling function depending on
   1894 	platform capabilities and requested mode. -EG
   1895 
   1896 Thu Nov 10 17:49:56 MSK 2016
   1897 	Ported "upgrade" tests to W32 and other platforms, used
   1898 	"gnutls-cli" instead of "openssl" in tests, minor bugs
   1899 	fixed, added verbose reporting if requested.
   1900 	"Upgrade" processing - changed internal handling logic, improved
   1901 	and refactored, bugs fixed, fixed sigpipe on Darwin, added
   1902 	printing error to log, fixed compilation without HTTPS.
   1903 	Added 'configure' parameter "--disable-httpupgrade" for building
   1904 	minimal-sized MHD versions.
   1905 	Added feature check "MHD_FEATURE_UPGRADE".
   1906 	Responses destroyed (freed) earlier if possible.
   1907 	Added many remarks in code comments about thread safety.
   1908 	Some data races and other multithread-related issues are fixed,
   1909 	including usage of closed sockets (may resulted in accidental closing
   1910 	of wrong socket).
   1911 	SO_NOSIGPIPE is used on all platform which support it, not only
   1912 	on Darwin.
   1913 	Added support for suspending connections in thread-per-connection
   1914 	mode (itself almost useless, mostly to unify modes support).
   1915 	Fixed Inter-Thread Communication channel usage in epoll modes.
   1916 	Reworked daemon cleanups and handling MHD_stop_daemon(): resources
   1917 	are freed only by specific threads, data races and other fixes.
   1918 	Started usage of C99 standard 'bool' where supported with
   1919 	fallback to 'int'.
   1920 	Renamed many MHD flags. Now they are self-explainable and more
   1921 	obvious, like MHD_USE_INTERNAL_POLLING_THREAD instead of
   1922 	MHD_USE_SELECT_INTERNALLY. Old flag names are supported for
   1923 	backward compatibility.
   1924 	Improved processing of "fast" connections: now full sequence
   1925 	"read request - send reply headers - send reply body" is processed
   1926 	after single select()/poll(). If connection is slow, request is huge
   1927 	or response in not immediately ready - connection will be processed
   1928 	in "traditional" way.
   1929 	Added usage of "calloc()" where supported.
   1930 	Minor documentation fixes.
   1931 	Minor improvements and fixes. -EG
   1932 	"Upgrade" test fixes.
   1933 	Documentation updated.
   1934 	Added HTTP "Upgrade" example. -CG
   1935 
   1936 Mon Oct 17 19:08:18 CEST 2016
   1937 	Fixed misc. issues relating to upgrade.
   1938 	Releasing experimental 0.9.52. -CG
   1939 
   1940 Wed Oct 12 14:26:20 CEST 2016
   1941 	Migrated repository from Subversion to Git. -CG
   1942 
   1943 Tue Oct 11 18:09:56 CEST 2016
   1944 	Deprecated MHD_USE_SSL, use MHD_USE_TLS instead. -CG
   1945 
   1946 Tue Oct 11 18:14:40 MSK 2016
   1947 	Code internal refactoring: 'pipes' renamed to 'inter-thread
   1948 	communication (channels)/ITCs', as code can use different types
   1949 	of communications.
   1950 	Optimizations: ITCs now always created in non-blocking mode.
   1951 	Added configure parameter to choose ITC type.
   1952 	Updated documentation and comments.
   1953 	Minor errors fixed (related to heavy load). -EG
   1954 
   1955 Thu Sep 22 17:51:04 CEST 2016
   1956 	Implementing support for eventfd() instead of pipe() for
   1957 	signaling (on platforms that support it); fixing #3557. -CG
   1958 
   1959 Thu Sep 22 11:03:43 CEST 2016
   1960 	Simplify internal error handling logic by folding it into the
   1961 	MHD_socket_close_, MHD_mutex_lock_, MHD_mutex_unlock_ and
   1962 	MHD_mutex_destroy_ functions. -CG
   1963 
   1964 Tue Sep 13 22:20:26 MSK 2016
   1965 	Added autoconf macro to enable maximum platform
   1966 	features. Fixed compiling on Solaris. -EG
   1967 
   1968 Wed Sep  7 12:57:57 CEST 2016
   1969 	Fixing #4641. -Hawk
   1970 
   1971 Wed Sep  7 00:28:59 CEST 2016
   1972 	Adding remaining "_"-markups for i18n (#4614). -CG
   1973 
   1974 Tue Sep  6 23:39:56 CEST 2016
   1975 	Allow out-of-order nonces for digest authentication (#4636). -CG
   1976 
   1977 Tue Sep  6 21:29:09 CEST 2016
   1978 	Martin was right, "socket_context" should be "void *"
   1979 	in `union MHD_ConnectionInfo`.  -MS
   1980 
   1981 Sun Sep  4 18:16:32 CEST 2016
   1982 	Fixing potential memory leak (#4634). -CG
   1983 
   1984 Sun Sep  4 17:25:45 CEST 2016
   1985 	Tests for "Upgrade" logic are now in place and passing.
   1986 	However, still need to make sure code is portable. -CG
   1987 
   1988 Sat Sep  3 11:56:20 CEST 2016
   1989 	Adding logic for handling HTTP "Upgrade" in thread-per-connection
   1990 	mode. Also still untested. -CG
   1991 
   1992 Sat Aug 27 21:01:43 CEST 2016
   1993 	Adding a few extra safety checks around HTTP "Upgrade"
   1994 	(against wrong uses of API), and a testcase. -CG
   1995 
   1996 Sat Aug 27 20:07:53 CEST 2016
   1997 	Adding completely *untested* logic for HTTP "Upgrade"
   1998 	handling. -CG
   1999 
   2000 Sat Aug 27 18:20:38 CEST 2016
   2001 	Releasing libmicrohttpd 0.9.51. -CG
   2002 
   2003 Tue Aug 23 22:54:07 MSK 2016
   2004 	Internal refactoring: W32 compatibility layer was finally
   2005 	replaced with several specialized abstraction layers for
   2006 	sockets, control pipes (inter-thread communication) and
   2007 	generic functions. Now all major platform functions
   2008 	(including threads and mutex) are implemented in thin
   2009 	abstraction layers.
   2010 	Improved performance on W32 due to eliminating
   2011 	translation of error to POSIX codes and using W32 codes
   2012 	directly (through macros).
   2013 	Improved error reporting on all platforms.
   2014 	Improved error handling and reporting on Darwin.
   2015 	Minor fixes. -EG
   2016 
   2017 Tue Aug 16 15:14:30 MSK 2016
   2018 	Minor improvement for monotonic clock.
   2019 	Minor configure fix for non-bash shells. -EG
   2020 
   2021 Mon Aug 15 13:06:52 CEST 2016
   2022 	Fixed possible crash due to write to read-only region of
   2023 	memory given ill-formed HTTP request (write was otherwise
   2024 	harmless, writing 0 to where there was already a 0).
   2025 	Fixed issue with closed connection slots not immediately
   2026 	being available again for new connections if we reached
   2027 	our connection limit.
   2028 	Avoid even accept()ing connections in certain thread modes
   2029 	if we are at the connection limit and
   2030 	MHD_USE_PIPE_FOR_SHUTDOWN is available. -CG
   2031 
   2032 Wed Aug 10 16:42:57 MSK 2016
   2033 	Moved threads, locks and mutex abstraction to separate files,
   2034 	some minor errors fixed, added support for thread name functions
   2035 	on various platforms, added configure flag for disable thread
   2036 	naming. -EG
   2037 
   2038 Sat Jul 23 20:45:51 CEST 2016
   2039 	Added macro detection of speed/size compiler optimization.
   2040 	Added different implementation of functions in mhd_str.c for
   2041 	size optimization. Enabled automatically if compiler size
   2042 	optimization is detected or MHD_FAVOR_SMALL_CODE is defined.
   2043 	Added unit tests for all mhd_str.c functions. -EG
   2044 
   2045 Sat Jul 16 21:54:49 CEST 2016
   2046 	Warn user if they sent connection into blocking
   2047 	state by not processing all POST data, not suspending,
   2048 	and not running in external select mode. -CG
   2049 
   2050 Fri Jul  8 21:35:07 CEST 2016
   2051 	Fix FIXME in tutorial. -CG
   2052 
   2053 Fri Jul  8 15:57:06 CEST 2016
   2054 	Adding support for 308 status code. -CG
   2055 
   2056 Sat Jun 25 13:49:31 CEST 2016
   2057 	Use shutdown to trigger select on NetBSD. -EG
   2058 
   2059 Thu Jun  2 09:55:50 CEST 2016
   2060 	Releasing libmicrohttpd 0.9.50. -CG
   2061 
   2062 Wed Jun  1 21:59:34 CEST 2016
   2063 	Do not send "Content-Length" header for 1xx/204/304 status codes. -CG
   2064 
   2065 Tue May 17 13:32:21 CEST 2016
   2066 	Allow clients to determine whether a connection is suspended;
   2067 	introduces MHD_CONNECTION_INFO_CONNECTION_SUSPENDED. -CG/FC
   2068 
   2069 Sun May 15 12:17:25 CEST 2016
   2070 	Fix handling system or process resource limit exhaustion upon
   2071 	accept(). -CG/CP
   2072 
   2073 Thu May 12 08:42:19 CEST 2016
   2074 	Fix handling of partial writes in MHD_USE_EPOLL_LINUX_ONLY; only
   2075 	consider sockets returning EAGAIN as unready. -CG/CP
   2076 
   2077 Mon May  2 06:08:26 CEST 2016
   2078 	Adding logic to help address FE performance issue as
   2079 	discussed on the mailinglist with subject
   2080         "single-threaded daemon, multiple pending requests, responses batched".
   2081 	The new logic is only enabled when MHD_USE_EPOLL_TURBO is set.
   2082 	Note that some additional refactoring was also done to clean up
   2083 	the code and avoid code duplication, which may have actually fixed
   2084 	an unrelated issue with HTTPS and a POLL-style event loop. -CG
   2085 
   2086 Sat Apr 30 10:22:37 CEST 2016
   2087 	Added clarifications to manual based on questions on list. -CG
   2088 
   2089 Sat Apr 23 20:12:01 CET 2016
   2090 	Tests perf_get_concurrent and test_concurrent_stop ported to use
   2091 	pthread instead of fork(). Added more error detections. -EG
   2092 
   2093 Sat Apr 23 16:06:30 CET 2016
   2094 	Improved test_quiesce test. -EG
   2095 
   2096 Sat Apr 23 15:39:38 CET 2016
   2097 	Notify other threads in MHD_quiesce_daemon() so listen socket FD
   2098 	is removed from awaiting select() and poll(). -EG
   2099 
   2100 Sat Apr 23 14:17:15 CET 2016
   2101 	Revert "shutdown trigger select" on Darwin. Fixed daemon shutdown
   2102 	on Darwin without "MHD_USE_PIPE_FOR_SHUTDOWN" option. -EG
   2103 
   2104 Fri Apr 22 14:29:28 CET 2016
   2105 	Fixed race conditions when stopping quiesced daemon with thread
   2106 	pool. -EG
   2107 
   2108 Wed Apr 20 18:12:30 CET 2016
   2109 	Fixed macros in sysfdsetsize.c which could prevent compiling with
   2110 	non-default FD_SETSIZE.
   2111 	Fixed comments in mhd_str.c.
   2112 	Updated test_post.c to not ignore specific error on W32 if libcurl
   2113 	is built with workaround for WinSock bug. -EG
   2114 
   2115 Mon Apr 18 19:35:14 CET 2016
   2116 	Fixed data races leading to inability in rare situations to
   2117 	resume suspended connection. -EG
   2118 
   2119 Tue Apr 13 21:46:01 CET 2016
   2120 	Removed unneeded locking for global timeout list in
   2121 	MHD_USE_THREAD_PER_CONNECTION mode.
   2122 	Added 'simplepost' and 'largepost' examples to VS projects.
   2123 	Added strtoXX() locale-independent replacement functions.
   2124 	Added more error checking and minor fixes in digest auth
   2125 	functions - should improve security.
   2126 	Ignored specific errors in 'test_post' test until libcurl
   2127 	will implement workaround for WinSock bug.
   2128 	Fixed handling of caller-supplied socket with
   2129 	MHD_OPTION_LISTEN_SOCKET (regression in 0.9.49).
   2130 	Minor fixes.
   2131 	Various cosmetics and comments fixes. -EG
   2132 
   2133 Sat Apr 09 13:05:42 CET 2016
   2134 	Releasing libmicrohttpd 0.9.49. -EG
   2135 
   2136 Fri Apr 08 18:32:17 CET 2016
   2137 	Some minor internal fixes, addition error checking and
   2138 	micro optimizations.
   2139 	Reworked usage of sockets shutdown() - now work equally
   2140 	on all platforms, disconnection should be "more graceful". -EG
   2141 
   2142 Tue Mar 15 21:52:27 CET 2016
   2143 	Do not crash if pthread_create() fails. -DD
   2144 
   2145 Tue Mar 15 20:29:34 CET 2016
   2146 	Do not use eready DLL data structure unless
   2147 	we are actually using epoll(). -DD/CG
   2148 
   2149 Fri Feb  5 20:43:11 CET 2016
   2150 	Fixed testsuite compile warning on W32.
   2151 	Added check test for triggering poll() on
   2152 	listen socket. -EG
   2153 
   2154 Thu Feb  4 11:38:11 CET 2016
   2155 	Added some buffer overrun protection.
   2156 	Fixed handling of malformed URI with spaces. -EG
   2157 
   2158 Wed Feb  3 15:41:57 CET 2016
   2159 	Make signal-pipe non-blocking and drain it. -CG
   2160 
   2161 Sat Jan 30 15:49:07 CET 2016
   2162 	Fix running select() with empty fdsets on W32. -EG
   2163 
   2164 Mon Jan 25 13:45:50 CET 2016
   2165 	Added check test for triggering select() on
   2166 	listen socket. -EG
   2167 
   2168 Thu Jan 21 19:35:18 CET 2016
   2169 	Fixed old bug with making sockets non-blocking on
   2170 	various platforms so now sockets are really
   2171 	non-blocking on all supported platforms.
   2172 	Reworked and fixed code for using SOCK_CLOEXEC,
   2173 	SOCK_NONBLOCK and EPOLL_CLOEXEC resulting in
   2174 	fewer used system calls. -EG
   2175 
   2176 Tue Jan 19 20:59:59 CET 2016
   2177 	Cleaned up and optimized with minor fixes code for
   2178 	making sockets non-blocking non-inheritable. -EG
   2179 
   2180 Tue Jan 19 11:14:18 CET 2016
   2181 	Removed workaround for Cygwin non-blocking sockets:
   2182 	handling non-blocking sockets were fixed in Cygwin
   2183 	and libmicrohttpd how uses non-blocking sockets on
   2184 	all platforms. -EG
   2185 
   2186 Mon Jan 18 23:54:45 CET 2016
   2187 	Cleaned up examples to avoid giving oversimplified code
   2188 	that may lead to complications if adopted naively. -CG
   2189 
   2190 Sun Jan 17 11:18:55 CET 2016
   2191 	Do no refuse to send response if sendfile() failed with
   2192 	EINVAL (common error for files located on SMB/CIF). -EG
   2193 
   2194 Sat Jan 16 19:14:39 CET 2016
   2195 	Use US-ASCII only (instead of user locale settings) when
   2196 	performing caseless string comparison as required by
   2197 	standard. -EG
   2198 
   2199 Tue Jan 12 16:10:09 CET 2016
   2200 	Fixed declaraion of MHD_get_reason_phrase_for(). -EG
   2201 
   2202 Mon Jan 11 19:58:50 CET 2016
   2203 	Configure.ac small fixes and refactoring. -EG
   2204 
   2205 Fri Dec 18 15:54:50 CET 2015
   2206 	Releasing libmicrohttpd 0.9.48. -CG
   2207 
   2208 Tue Dec  15 18:35:55 CET 2015
   2209 	Improved compatibility with VS2010 and other older
   2210 	compilers. -EG
   2211 
   2212 Tue Dec  8 21:48:44 CET 2015
   2213 	Default backlog size for listen socket was changed from
   2214 	32 to SOMAXCONN, added new option MHD_OPTION_LISTEN_BACKLOG_SIZE
   2215 	to override default backlog size.
   2216 	If not all connections can be handled by MHD_select() than
   2217 	at least some of connections will be processed instead of
   2218 	failing without any processing.
   2219 	Fixed redefenition of FD_SETSIZE on W32 so select() will
   2220 	work with 2000 connections instead of 64.
   2221 	Better handled redefenition of FD_SETSIZE on all
   2222 	platforms. -EG
   2223 
   2224 Sat Dec  5 17:30:45 CET 2015
   2225 	Close sockets more aggressively in multi-threaded
   2226 	mode (possibly relevant for idle servers). -CG
   2227 
   2228 Fri Dec  4 13:53:05 CET 2015
   2229 	Releasing libmicrohttpd 0.9.47. -CG
   2230 
   2231 Thu Dec  3 18:21:44 CET 2015
   2232 	Reworked VS project files. Used x64 build tools by
   2233 	default, many optimizations, fixes.
   2234 	Added project files for VS 2015. -EG
   2235 
   2236 Tue Dec  1 14:05:13 CET 2015
   2237 	SPDY is dead, killing experimental libmicrospdy. -CG
   2238 
   2239 Tue Dec  1 10:01:12 CET 2015
   2240 	New logic for controlling socket buffer modes.
   2241 	Eliminated delay before last packet in response and before
   2242 	"100 Continue" response on all platforms. Also response
   2243 	header are pushed to client without waiting for response
   2244 	body. -EG
   2245 
   2246 Wed Nov 25 17:02:53 CET 2015
   2247 	Remove 200ms delay observable with keep-alive on Darwin
   2248 	and *BSD platforms. -EG
   2249 
   2250 Tue Nov 10 15:25:48 CET 2015
   2251 	Fix issue with shutdown if connection was resumed just
   2252 	before shutdown. -FC
   2253 
   2254 Fri Nov  6 22:54:38 CET 2015
   2255 	Fixing the buffer shrinkage issue, this time with test. -CG
   2256 	Releasing libmicrohttpd 0.9.46. -CG
   2257 
   2258 Tue Nov  3 23:24:52 CET 2015
   2259 	Undoing change from Sun Oct 25 15:29:23 CET 2015
   2260 	as the original code was counter-intuitive but
   2261 	correct, and the new code does break pipelining.
   2262 	Ignore empty lines at the beginning of an HTTP
   2263 	request (more tolerant implementation). -CG
   2264 
   2265 Sat Oct 31 15:52:52 CET 2015
   2266 	Releasing libmicrohttpd 0.9.45. -CG
   2267 
   2268 Tue Oct 27 12:08:02 CET 2015
   2269 	Rework deprecation maros: fix errors with old GCC versions,
   2270 	improved support for old clang and new GCC. -EG
   2271 
   2272 Sun Oct 25 23:05:32 CET 2015
   2273 	Return correct header kind in MHD_get_connection_values()
   2274 	even if a bitmask is used for the "kind" argument. -FC/CG
   2275 
   2276 Sun Oct 25 15:29:23 CET 2015
   2277 	Fixing transient resource leak affecting long-lived
   2278 	connections with a lot of keep-alive and HTTP request
   2279 	pipelining under certain circumstances (which reduced
   2280 	the receive window).
   2281 	Fixed assertion failure triggered by a race in
   2282 	thread-per-connection mode on shutdown in rare
   2283 	circumstances. -CG
   2284 
   2285 Mon Oct  5 11:53:52 CEST 2015
   2286 	Deduplicate code between digestauth and connection
   2287 	parsing logic for URI arguments, shared code moved
   2288 	to new MHD_parse_arguments_ function in internal.c. -CG
   2289 
   2290 Thu Oct  1 21:22:05 CEST 2015
   2291 	Releasing libmicrohttpd 0.9.44. -CG
   2292 
   2293 Wed Sep 30 21:05:38 CEST 2015
   2294 	Various fixes for W32 VS project files. -EG
   2295 
   2296 Fri Sep 25 09:49:10 CEST 2015
   2297 	Fix digest authentication with URL arguments where
   2298 	value-less keys are given before the last argument.
   2299 	Thanks to MA for reporting. -CG
   2300 
   2301 Tue Sep 22 19:17:54 CEST 2015
   2302 	Do not use shutdown() on listen socket if MHD_USE_PIPE_FOR_SHUTDOWN
   2303 	is set. -CG
   2304 
   2305 Wed Sep 16 11:06:02 CEST 2015
   2306 	Releasing libmicrohttpd 0.9.43. -CG
   2307 
   2308 Wed Sep  2 16:50:31 CEST 2015
   2309  	Call resume_suspended_connections() when the user is running
   2310 	its own mainloop and calls MHD_run_from_select() to support
   2311 	resuming connections with external select. -FC
   2312 
   2313 Sun Aug 30 14:53:51 CEST 2015
   2314 	Correct documentation as to when MHD_USE_EPOLL_LINUX_ONLY
   2315 	is allowed. -CG
   2316 
   2317 Thu Aug 27 09:38:44 CEST 2015
   2318 	Reimplement monotonic clock functions for better
   2319 	support various platforms.
   2320 	Print more information during configure. -EG
   2321 
   2322 Fri Aug 14 14:13:55 CEST 2015
   2323 	Export MHD_get_reason_phrase_for() symbol. -CG
   2324 
   2325 Sat Aug  8 12:19:47 CEST 2015
   2326 	Added checks for overflows and buffer overruns, fixed
   2327 	possible buffer overrun.
   2328 	Updated md5 implementation.
   2329 	Fixed many compiler warning (mostly for VC compiler). -EG
   2330 
   2331 Tue Aug  4 13:50:23 CEST 2015
   2332 	Fix failure to properly clean up timed out connections
   2333 	if running in external select mode without listen socket,
   2334 	which caused busy waiting until new connections arrived.
   2335 	(Fixes #3924, thanks to slimp for reporting and testcase). -CG
   2336 
   2337 Sun Aug  2 19:08:20 CEST 2015
   2338 	Ignore close() errors on sockets except for EBADF,
   2339 	fixes #3926. -CG
   2340 
   2341 Sat Jun 27 22:16:27 CEST 2015
   2342 	Make sure to decrement connection counter before
   2343 	calling connection notifier so that
   2344 	MHD_DAEMON_INFO_CURRENT_CONNECTIONS does not
   2345 	present stale information (relevant if this is
   2346 	used for termination detection of a daemon
   2347 	stopped via MHD_quiesce_daemon()). Thanks to
   2348 	Markus Doppelbauer for reporting. -CG
   2349 
   2350 Fri Jun 26 23:17:20 CEST 2015
   2351 	Fix (automatic) handling of HEAD requests with
   2352 	MHD_create_response_from_callback() and HTTP/1.1
   2353 	connection keep-alive. Thanks to Cristian Klein
   2354 	for reporting. -CG
   2355 
   2356 Tue Jun 09 18:30:17 CEST 2015
   2357 	Add new functions MHD_create_response_from_fd64() and
   2358 	MHD_create_response_from_fd_at_offset64(). -EG
   2359 
   2360 Thu Jun  4 13:37:05 CEST 2015
   2361 	Fixing memory leak in digest authentication. -AW
   2362 
   2363 Wed Jun 03 21:23:47 CEST 2015
   2364 	Add deprecation compiler messages for deprecated functions
   2365 	and macros. -EG
   2366 
   2367 Fri May 29 12:23:01 CEST 2015
   2368 	Fixing digest authentication when used in combination
   2369 	with escaped characters in URLs. -CG/AW
   2370 
   2371 Wed May 13 11:49:09 CEST 2015
   2372 	Releasing libmicrohttpd 0.9.42. -CG
   2373 
   2374 Wed May 13 11:33:59 CEST 2015
   2375 	Fix off-by-one in MHD_start_daemon_va() error handling logic
   2376 	when initialization of threads for thread pool fails for some
   2377 	reason. -CG/JC
   2378 
   2379 Thu May  7 17:05:46 CEST 2015
   2380 	Add support for poll() in W32. -EG
   2381 
   2382 Wed May  6 18:07:38 CEST 2015
   2383 	Fix #3784: actually implement MHD_CONNECTION_INFO_SOCKET_CONTEXT. -asherkin
   2384 
   2385 Thu Apr 30 00:03::49 CEST 2015
   2386 	Releasing libmicrohttpd 0.9.41. -CG
   2387 
   2388 Thu Apr 30 00:02:33 CEST 2015
   2389 	Fix issue where resumed connections would not continue
   2390 	unless other requests are active in certain
   2391 	event-loop modes. Thanks to Mike Castillo for reporting. -CG
   2392 
   2393 Wed Apr 15 03:16:18 CEST 2015
   2394 	Fixing issue #3753 (testcase issue). -CG
   2395 
   2396 Wed Apr 15 00:30:34 CEST 2015
   2397 	Fix looping issue when using MHD_USE_POLL_INTERNALLY
   2398 	and a client times out. -LB
   2399 
   2400 Sun Apr 12 21:48:50 CEST 2015
   2401 	Fix looping issue when combining MHD_USE_EPOLL_LINUX_ONLY
   2402 	with HTTPS and slow clients. -CG
   2403 
   2404 Fri Apr 10 22:02:27 CEST 2015
   2405 	Fix logic to add "Connection: Close" that was broken in 0.9.38
   2406 	when adding MHD_RF_HTTP_VERSION_1_0_ONLY. -CG
   2407 
   2408 Fri Apr 10 00:38:40 CEST 2015
   2409 	Ensure fast termination in MHD_USE_THREAD_PER_CONNECTION
   2410 	mode on W32 by using signal pipe. -CG
   2411 
   2412 Thu Apr  9 09:01:15 CEST 2015
   2413 	Fixing issue with undrained signal pipe when using
   2414 	MHD_USE_SELECT_INTERNALLY and MHD_USE_POLL in combination
   2415 	with MHD_resume_connection(), causing 100% CPU usage. -DD
   2416 
   2417 Tue Apr  7 00:12:36 CEST 2015
   2418 	Releasing libmicrohttpd 0.9.40. -CG
   2419 
   2420 Sat Apr  4 18:28:24 CEST 2015
   2421 	Fix potential deadlock issue in MHD_USE_THREAD_PER_CONNECTION
   2422 	mode if shutdown is initiated while connections are active. -CG
   2423 
   2424 Sat Apr  4 17:48:13 CEST 2015
   2425 	Fix issue in thread-pool mode where a MHD_stop_daemon()
   2426 	might not reach threads that stopped listening because
   2427 	we hit the maximum number of concurrent connections and
   2428 	the option MHD_USE_PIPE_FOR_SHUTDOWN was also not used.
   2429 	Testcase added as well. -CG
   2430 
   2431 Fri Apr  3 12:55:31 CEST 2015
   2432 	Update HTTPS testcases to avoid SSLv3, as SSLv3 is dead.
   2433 
   2434 Fri Apr  3 12:25:28 CEST 2015
   2435 	Do not enforce FD_SETSIZE-limit on worker control
   2436 	pipe when using MHD_USE_EPOLL_LINUX_ONLY (#3751). -MH/CG
   2437 
   2438 Tue Mar 31 10:28:26 CEST 2015
   2439 	Adding MHD_OPTION_NOTIFY_CONNECTION,
   2440 	MHD_CONNECTION_NOTIFY_STARTED,
   2441 	MHD_CONNECTION_NOTIFY_CLOSED and
   2442 	MHD_CONNECTION_INFO_SOCKET_CONTEXT to allow
   2443 	applications to trigger operations when TCP
   2444 	connections start or end, instead of just
   2445 	exposing HTTP requests starting and ending. -RG/CG
   2446 
   2447 Thu Feb 26 09:55:43 CET 2015
   2448 	Fixing bug that prevented MHD_OPTION_HTTPS_MEM_DHPARAMS
   2449 	from working within a MHD_OPTION_ARRAY. -DD
   2450 
   2451 Sun Feb  8 01:24:38 CET 2015
   2452 	Adding MHD_OPTION_HTTPS_KEY_PASSWORD as proposed by
   2453 	Andrew Basile. -CG/AB
   2454 
   2455 Wed Feb  4 20:34:22 CET 2015
   2456 	Fix issue where for HTTP/1.0-clients that set
   2457 	Connection: Keep-Alive header a response of
   2458 	indefinite size was generated with chunked encoding. -CG
   2459 
   2460 Sun Jan 18 20:09:06 CET 2015
   2461 	Fix potential infinite loop on shutdown in multi-threaded mode
   2462 	under certain conditions. -CG
   2463 
   2464 Mon Dec 22 16:33:18 CET 2014
   2465 	Releasing 0.9.39. -CG
   2466 
   2467 Mon Dec 22 13:02:36 CET 2014
   2468 	Fix generated compiler flags for Solaris Studio linker (#3584). -CG
   2469 
   2470 Sat Dec 20 00:35:40 CET 2014
   2471 	Adding MHD_http_unescape() to public API (#3585). -CG
   2472 	Updating documentation to document
   2473 	MHD_is_feature_supported(). -CG
   2474 
   2475 Thu Dec  4 00:43:10 CET 2014
   2476 	If "Connection: upgrade" is requested, do not add
   2477 	"Connection: Keep-Alive" in the response. -GJ
   2478 
   2479 Tue Nov 18 13:52:29 CET 2014
   2480 	Call MHD_cleanup_connections() during MHD_DAEMON_INFO_CURRENT_CONNECTIONS
   2481 	processing for more accurate results. -MS
   2482 
   2483 Wed Oct 29 20:45:21 CET 2014
   2484 	Adding MHD_OPTION_LISTENING_ADDRESS_REUSE option allowing clients
   2485 	to force allowing re-use of the address:port combination
   2486 	(SO_REUSEPORT). -MS
   2487 
   2488 Wed Oct 29 16:27:05 CET 2014
   2489 	Adding MHD_DAEMON_INFO_CURRENT_CONNECTIONS to allow clients
   2490 	to query the number of active connections. -MS
   2491 
   2492 Fri Oct  3 14:28:58 CEST 2014
   2493 	Releasing 0.9.38. -CG
   2494 
   2495 Mon Sep 29 22:25:34 CEST 2014
   2496 	Properly decode '+' in URL-encoded POST data. -CG/KM
   2497 
   2498 Fri Sep 12 17:32:09 CEST 2014
   2499 	Fix --disable-dauth configure option (#3543). -doostee
   2500 
   2501 Thu Jun 26 21:06:04 CEST 2014
   2502 	Fix failure to terminate 'instantly' in thread-per-connection
   2503 	mode if there is a client with open connections.
   2504 	Thanks to Kenneth Mastro for reporting. -CG
   2505 
   2506 Sun Jun 22 12:22:08 CEST 2014
   2507 	Actually, avoid locking on response as responses must
   2508 	not be modified in a connection-specific way; instead
   2509 	modify the connection's data buffer to add missing
   2510 	responses headers.  If we are forced to add
   2511 	"Connection: close", suppress output of conflicting
   2512 	application-provided "Connection: Keep-Alive" header. -CG
   2513 
   2514 Sun Jun 22 00:22:08 CEST 2014
   2515 	Lock on response if adding headers, needed if response
   2516 	object is shared across threads and connections. -CG
   2517 
   2518 Thu Jun 19 17:32:32 CEST 2014
   2519 	Ensure that listen FD is bound to epoll FD even before
   2520 	MHD_run() is called if running with MHD_USE_EPOLL_LINUX_ONLY
   2521 	in combination with 'external select' mode.  Thanks to
   2522 	Marcos Pindado Sebastian for reporting. -CG
   2523 
   2524 Sun Jun  8 15:10:44 CEST 2014
   2525 	Add 'MHD_set_response_options' as a way to set per-response
   2526 	flags.  Add flag to force HTTP 1.0-only conservative
   2527 	behavior, in particular suppressing adding "Connection"
   2528 	headers. -CG
   2529 
   2530 Mon Jun  2 00:03:28 CEST 2014
   2531 	Added back unescaping for URI path (#3413) but without
   2532 	unescaping '+' (#3371) to remain compatible with
   2533 	MHD 0.9.34 and before.  Note that applications providing
   2534 	a custom MHD_OPTION_UNESCAPE_CALLBACK are no longer expected
   2535 	to replace '+' with ' ', as that is now done separately for
   2536 	the locations where this transformation is appropriate.
   2537 	Releasing 0.9.37. -CG
   2538 
   2539 Wed May 28 15:30:56 CEST 2014
   2540 	Properly applying patch that was supposed to be
   2541 	committed on "May  2 20:22:45 CEST 2014" to address
   2542 	infinite loop (DoS) when HTTP connection is reset (#3392). -GM
   2543 
   2544 Sun May 25 20:18:27 CEST 2014
   2545 	Fixed W32 build issues. -EG
   2546 	Releasing 0.9.36. -CG
   2547 
   2548 Sat May 17 06:47:00 CEST 2014
   2549 	Fix notifying client about completed request twice
   2550 	under certain circumstances. -CG
   2551 
   2552 Tue May 13 18:24:37 CEST 2014
   2553 	Fix accidental transmission of footer termination '\r\n'
   2554 	for responses with zero byte payload and non-chunked
   2555 	encoding (#3397).  Thanks to amatus for reporting. -CG
   2556 
   2557 Sun May  4 11:05:26 CEST 2014
   2558 	Fix gnutls header check to make it cross-compile aware. -BK
   2559 
   2560 May  2 20:22:45 CEST 2014
   2561 	Fix infinite loop (DoS) when HTTP connection is reset (#3392). -GM
   2562 	Fix possible issue from combination of epoll and suspend/resume
   2563 	logic if edge trigger event is lost; also simplify logic to
   2564 	maintain simpler invariants on the epoll state. -CG
   2565 	Use OpenSSL cipher list "HIGH" in libmicrospdy (#3391). -CG
   2566 	Releasing 0.9.35. -CG
   2567 
   2568 Thu Apr 10 09:39:38 CEST 2014
   2569 	Removed unescaping for URI path (#3371) as '+' should not
   2570 	be converted to space in accordance with
   2571 	http://www.w3.org/TR/html401/appendix/notes.html#ampersands-in-uris
   2572 	and http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.1
   2573 	Note that we now also no longer convert '#38;' to '&'; if needed,
   2574 	the application needs to apply unescaping to the path of the URI
   2575 	itself (before, MHD unescaped '#38;' but not '&amp;', so this
   2576 	inconsistency was now resolved by simply not unescaping anything
   2577 	before the first '&'). -CG
   2578 
   2579 Tue Apr 08 15:35:44 CET 2014
   2580 	Added support for W32 native threads.
   2581 	Added --with-threads=LIB configure parameter. -EG
   2582 
   2583 Mon Apr  7 13:25:30 CEST 2014
   2584 	Add MHD_OPTION_HTTPS_MEM_DHPARAMS to allow applications
   2585 	to enable PFS. -HB/CG
   2586 
   2587 Tue Apr 01 07:10:23 CET 2014
   2588 	Added usage of native mutex on W32. -EG
   2589 
   2590 Sat Mar 29 16:12:03 CET 2014
   2591 	Added MHD_is_feature_supported() function. -EG
   2592 
   2593 Thu Mar 27 14:47:54 CET 2014
   2594 	Used larger FD_SETSIZE internally on W32.
   2595 	Extended API to work with non-default FD_SETSIZE. -EG
   2596 
   2597 Tue Mar 25 12:53:55 CET 2014
   2598 	Fix limiting by IPv6 address. -EG
   2599 
   2600 Tue Mar 25 09:06:13 CET 2014
   2601 	Added more FD_SETSIZE checks.
   2602 	Implemented FD_SETSIZE checks for W32. -EG
   2603 
   2604 Wed Mar 05 13:15:05 CET 2014
   2605 	Cleanup and refactoring of configure.ac.
   2606 	m4 macros updated.
   2607 	Custom configure macros replaced with autoconf archive macros.
   2608 	SPDY disabled by default on W32.
   2609 	Changed configure flag from '--disable-pipe' to
   2610 	'--enable-socketpair'.
   2611 	Added configure flags '--disable-doc' and '--disable-examples'.
   2612 	Narrowed down external lib specific compiler and linker flags
   2613 	usage. -EG
   2614 
   2615 Wed Feb 26 17:42:34 CET 2014
   2616 	Refactoring of configure.ac: custom macros replaced with macros
   2617 	from Autoconf Archive.
   2618 	Minor corrections of configure.ac.
   2619 	Excluded pthread flags from global flags, pthread now used only
   2620 	where required.
   2621 	W32: fixed .dll resource compilation with '-isystem' CPPFLAG.
   2622 	W32: improved header compatibility with MSVC.
   2623 	W32: now tested on Win64, compiled by MinGW-w64. -EG
   2624 
   2625 Mon Feb 24 23:13:53 CET 2014
   2626 	Added support for TCP FASTOPEN. -SHT
   2627 	Releasing 0.9.34. -CG
   2628 
   2629 Thu Feb 20 14:17:05 CET 2014
   2630 	W32: Added creation of libmicrohttpd.lib, libmicrohttpd.def,
   2631 	libmicrohttpd.exp and libmicrohttpd-static.lib for easy use
   2632 	compiled MHD with MSVC.
   2633 	W32: Use MS lib.exe tool if available for creating MSVC staff.
   2634 	W32: Added .dll information resource. -EG
   2635 
   2636 Tue Feb 18 19:46:45 CET 2014
   2637 	Removed dependency on plibc for simpler compilation for W32.
   2638 	Added configure option "--disable-pipes" to use socketpairs
   2639 	instead of pipes for signalling to child threads. Pipes are
   2640 	always disabled on W32.
   2641 	Some code refactoring. -EG
   2642 
   2643 Sat Feb  8 15:08:35 CET 2014
   2644 	Corrected some uses of 'int' vs. 'size_t'. -EG/CG
   2645 
   2646 Wed Jan 22 09:44:33 CET 2014
   2647 	MHD_USE_DUAL_STACK in libmicrohttpd currently just *inhibits
   2648 	setting* the IPV6_V6ONLY socket option, but per Microsoft's
   2649 	documentation the default on Windows is that this is enabled, thus
   2650 	MHD_USE_DUAL_STACK will not work (since it leaves the
   2651 	default). libmicrohttpd should probably just unconditionally set
   2652 	IPV6_V6ONLY to the desired value when the option is available. -LJ
   2653 
   2654 Wed Jan  1 21:38:18 CET 2014
   2655 	Allow Keep-Alive with HTTP 1.0 (if explicitly requested),
   2656 	and automatically set "Connection: Keep-Alive" in response
   2657 	in this case as well. -CG
   2658 
   2659 Tue Dec 24 12:27:39 CET 2013
   2660 	Adding explicit annotations to hide symbols that are not for
   2661 	export in the C code (gcc 4.0 or higher only). -CG
   2662 
   2663 Sun Dec 22 14:54:30 CET 2013
   2664 	Adding a few lines to avoid warnings from picky compilers. -CG
   2665 
   2666 Sat Dec 21 17:26:08 CET 2013
   2667 	Fixed an issue with a missing argument in the postexample.
   2668 	Fixed issue with bogus offset increment involving sendfile
   2669 	on GNU/Linux.  Adding support for SNI.
   2670 	Releasing 0.9.33. -CG
   2671 
   2672 Mon Dec  9 21:41:57 CET 2013
   2673 	Fix for per-worker daemon pipes enabled with
   2674 	MHD_USE_SUSPEND_RESUME that were not closed in
   2675 	MHD_stop_daemon. -MH
   2676 
   2677 Sat Dec  7 00:44:49 CET 2013
   2678 	Fixing warnings and build issue if --disable-https is given
   2679 	to configure. -CG
   2680 
   2681 Tue Dec  3 21:25:56 CET 2013
   2682 	Security fix: do not read past 0-terminator when unescaping
   2683 	strings (thanks to Florian Weimer for reporting).
   2684 	Releasing 0.9.32. -CG
   2685 
   2686 Tue Dec  3 21:05:38 CET 2013
   2687 	Signaling n times for shutdown works, but for resume we need to
   2688 	wake up the correct daemon. Even if we signal n times in that
   2689 	case also, there's no guarantee that some daemon can't run
   2690 	through its select loop more than once before the daemon we want
   2691 	to wake up gets a chance to read.  Thus we need a signal pipe
   2692 	per thread in the thread pool IF MHD_suspend_connection is used.
   2693 	This introduces a new flag MHD_USE_SUSPEND_RESUME to add those
   2694 	additional pipes and only allow MHD_suspend_connection to be
   2695 	used in conjunction with this flag.
   2696 
   2697 	Also, as MHD_resume_connection() will be called on a non-daemon
   2698 	thread, but none of the queue insert/delete calls are thread safe,
   2699 	we need to be concerned about (a) corrupting the queue, and (b)
   2700 	having to add mutex protection around every access to the queues,
   2701 	including loops through timer queues, etc. This wasn't a problem
   2702 	before adding resume; even suspend should be safe since it happens
   2703 	in a callback from the daemon.
   2704 
   2705 	I think it's easier to (a) have MHD_suspend_connection() move the
   2706 	connection to a suspended queue, (b) have MHD_resume_connection()
   2707 	mark the connection as resuming, and then (c) do all the actual
   2708 	queue manipulations in MHD_select (poll, epoll, etc.) to move the
   2709 	resumed connections back to their normal queues, in response to
   2710 	the wake up. The changes are simpler & cleaner. There is a cost to
   2711 	the basic select loop that is avoided by making suspend/resume a
   2712 	startup option. The per-worker pipes can then also be enabled only
   2713 	with that option set. -MH
   2714 
   2715 Fri Nov 29 20:17:03 CET 2013
   2716 	Eliminating theoretical stack overflow by limiting length
   2717 	of URIs in authentication headers to 32k (only applicable
   2718 	if the application explicitly raised the memory limits,
   2719 	and only applies to MHD_digest_auth_check). Issue was
   2720 	reported by Florian Weimer. -CG
   2721 
   2722 Tue Nov 26 01:26:15 CET 2013
   2723 	Fix race on shutdown signal with thread pool on non-Linux
   2724 	systems by signalling n times for n threads. -CG
   2725 
   2726 Sun Nov 24 13:41:15 CET 2013
   2727 	Introduce state to mark connections in suspended state (with
   2728 	epoll); add missing locking operations in MHD_suspend_connection.
   2729 	Fix definition of MHD_TLS_CONNECTION_INIT.  -MH/JC
   2730 
   2731 Wed Oct 30 09:34:20 CET 2013
   2732 	Fixing issue in PostProcessor when getting partial boundary
   2733 	at the beginning, expanding test suite. -CG
   2734 
   2735 Sun Oct 27 15:19:44 CET 2013
   2736 	Implementing faster processing of upload data in multipart
   2737 	encoding (thanks to performance analysis by Adam Homolya). -CG
   2738 
   2739 Thu Oct 24 10:40:03 CEST 2013
   2740 	Adding support for connection flow control via
   2741 	MHD_suspend_connection and MHD_resume_connection. -CG
   2742 
   2743 Sat Oct 19 16:40:32 CEST 2013
   2744 	Releasing libmicrohttpd 0.9.31. -CG
   2745 
   2746 Mon Sep 23 20:24:48 CEST 2013
   2747 	Fixing build issues on OS X with CLOCK_MONOTONIC not being
   2748 	implemented on OS X. -CG
   2749 
   2750 Mon Sep 23 14:15:00 CEST 2013
   2751 	Make libmicrohttpd play nicely with upcoming libgcrypt 1.6.0. -CG
   2752 
   2753 Fri Sep 20 17:01:37 CEST 2013
   2754 	Improved configure checks for cURL. -CG
   2755 
   2756 Wed Sep 18 18:29:24 CEST 2013
   2757 	Signal connection termination as OK (and not as ERROR) if the
   2758 	stream was terminated by the callback returning
   2759 	MHD_CONTENT_READER_END_OF_STREAM. Also, release response
   2760 	mutex before calling the termination callback, to avoid
   2761 	possible deadlock if the client destroys the response in
   2762 	the termination callback (due to non-recursiveness of the
   2763 	lock). -CG
   2764 
   2765 Wed Sep 18 14:31:35 CEST 2013
   2766 	Adding #define MHD_HTTP_HEADER_ACCESS_CONTROL_ALLOW_ORIGIN. -CG
   2767 
   2768 Tue Sep 17 21:32:47 CEST 2013
   2769 	Also pass MHD connection handle in URI log callback. -CG
   2770 
   2771 Fri Sep  6 10:00:44 CEST 2013
   2772 	Improved check for proper OpenSSL version for
   2773 	libmicrospdy. -CG
   2774 
   2775 Wed Sep  4 17:23:15 CEST 2013
   2776 	Set IPV6_V6ONLY socket option correctly when IPv6 is
   2777 	enabled (MHD_USE_IPv6) but not dual stack
   2778 	(MHD_USE_DUAL_STACK) -MW
   2779 
   2780 Mon Sep  2 22:59:45 CEST 2013
   2781 	Fix use-after-free in epoll()-mode on read error.
   2782 	Releasing libmicrohttpd 0.9.30. -CG
   2783 
   2784 Sun Sep  1 21:55:53 CEST 2013
   2785 	Fixing build issues on FreeBSD. -CG
   2786 
   2787 Fri Aug 30 13:53:04 CEST 2013
   2788 	Started to implement #3008 (RFC 2616, section 8.1.4
   2789 	says HTTP server SHOULD terminate connection if the
   2790 	client closes it for writing via TCP FIN, so we should
   2791 	continue to try to read and react differently
   2792 	if recv() returns zero). -CG
   2793 
   2794 Wed Aug 28 18:40:47 CEST 2013
   2795 	Fix #3007 (build issue if messages are disabled). -CG
   2796 
   2797 Tue Aug 27 18:39:08 CEST 2013
   2798 	Fix build issue if SOCK_NONBLOCK/EPOLL_CLOEXEC are not
   2799 	defined (as is the case on older glibc versions). -CG
   2800 
   2801 Fri Aug 23 14:28:02 CEST 2013
   2802 	Releasing libmicrohttpd 0.9.29. -CG
   2803 
   2804 Mon Aug 12 23:51:18 CEST 2013
   2805 	Updated manual, documenting W32 select/shutdown issue. -CG
   2806 
   2807 Sat Aug 10 21:01:18 CEST 2013
   2808 	Fixed #2983. -CG
   2809 
   2810 Sat Aug 10 20:39:27 CEST 2013
   2811 	Use 'errno' to indicate why 'MHD_add_connection' failed
   2812 	(#2984). -CG
   2813 
   2814 Sat Aug 10 17:31:31 CEST 2013
   2815 	Disable use of 'shutdown' on W32 always as winsock
   2816 	doesn't properly behave with half-closed connections
   2817 	(see http://www.chilkatsoft.com/p/p_299.asp). -CG/LRN
   2818 
   2819 Thu Aug  8 07:55:07 CEST 2013
   2820 	Fixing issue with pipelining not working as desired. -CG
   2821 
   2822 Wed Aug  7 08:17:40 CEST 2013
   2823 	Removing dependency on liberty (on W32). -MC
   2824 
   2825 Fri Aug  2 20:55:47 CEST 2013
   2826 	Fix HTTP 1.1 compliance with respect to not returning
   2827 	content-length headers for successful "CONNECT" requests.
   2828 	Note that for unsuccessful "CONNECT" requests with an
   2829 	empty response body, users must now explicitly set the
   2830 	content-length header. -CG
   2831 
   2832 Sun Jul 28 16:35:17 CEST 2013
   2833 	Fixing build issue (missing #ifdef) in conjunction with
   2834 	--disable-messages. -blueness
   2835 
   2836 Sat Jul 20 12:35:40 CEST 2013
   2837 	Fixing combination of MHD_USE_SSL and MHD_USE_EPOLL_LINUX_ONLY. -CG
   2838 
   2839 Fri Jul 19 09:57:27 CEST 2013
   2840 	Fix issue where connections were not cleaned up when
   2841 	'MHD_run_from_select' was used.  Adding experimental
   2842 	TURBO mode.
   2843 	Releasing libmicrohttpd 0.9.28. -CG
   2844 
   2845 Sun Jul 14 19:57:56 CEST 2013
   2846 	Removing 'shutdown' calls that happen just before close or
   2847 	that are for read-only and for a client that has already
   2848 	stopped sending anyway (thus reducing number of system calls
   2849 	slightly). -CG
   2850 
   2851 Sun Jul 14 19:37:37 CEST 2013
   2852 	Name MHD worker threads on glibc >= 2.12. -,L4X[o]
   2853 
   2854 Fri Jul  5 12:05:01 CEST 2013
   2855 	Added MHD_OPTION_CONNECTION_MEMORY_INCREMENT to allow users
   2856 	to specify a custom value for incrementing read buffer
   2857 	sizes (#2899). -MH
   2858 
   2859 Fri Jun 28 14:05:15 CEST 2013
   2860 	If we shutdown connection for reading on POST due to error,
   2861 	really do not process further requests even if we already
   2862 	read the next request from the connection.  Furthermore, do
   2863 	not shutdown connections for reading on GET/HEAD/etc. just
   2864 	because	the application queued a response immediately ---
   2865 	reserve that behavior for PUT/POST. -CG
   2866 
   2867 Tue Jun 25 15:08:30 CEST 2013
   2868 	Added option 'MHD_USE_DUAL_STACK' to support a single
   2869 	daemon for IPv4 and IPv6 without the application having
   2870 	to do the binding. -CG
   2871 
   2872 Mon Jun 24 22:33:34 CEST 2013
   2873 	Finished integration with epoll, including benchmarking and
   2874 	documentation. -CG
   2875 
   2876 Sun Jun 23 15:28:13 CEST 2013
   2877 	Added option 'MHD_USE_PIPE_FOR_SHUTDOWN' to cleanly support
   2878 	'MHD_quiesce_daemon' with thread pools and per-connection
   2879 	threads (we then need a pipe for shutdown, but if
   2880 	'MHD_quiesce_daemon' is not used, we do not want to
   2881 	require the use of a pipe; introducing the pipe after
   2882 	the threads have been started can also fail, so the
   2883 	application needs to tell us early on). -CG
   2884 
   2885 Sat Jun 22 20:24:17 CEST 2013
   2886 	Removed locking calls for thread modes that do not need them.
   2887 	Reorganized way to obtain connection's event loop state.
   2888 	Added sorted XDLL for connections with default timeout to
   2889 	avoid having to loop over all connections to determine current
   2890 	timeout (custom per-connection timeouts are in another list
   2891 	which is iterated each time). -CG
   2892 
   2893 Fri Jun 21 20:55:48 CEST 2013
   2894 	Preparing build system and tests for epoll support. -CG
   2895 
   2896 Tue May 21 14:34:36 CEST 2013
   2897 	Improving configure tests for OpenSSL and spdylay to
   2898 	avoid build errors in libmicrospdy code if those libraries
   2899 	are not present. -CG
   2900 
   2901 Mon May 20 12:29:35 CEST 2013
   2902 	Added MHD_CONNECTION_INFO_CONNECTION_FD to allow clients
   2903 	direct access to connection socket; useful for COMET
   2904 	applications that need to disable NAGLE (#2886). -CG
   2905 
   2906 Mon May 15 12:49:01 CEST 2013
   2907 	Fixing #2859. -CG
   2908 
   2909 Sun May  5 21:44:08 CEST 2013
   2910 	Merged libmicrospdy code with libmicrohttpd build system
   2911 	(no major changes to libmicrospdy itself yet). -CG
   2912 
   2913 Sun May  5 20:13:59 CEST 2013
   2914 	Improved documentation and code style a bit.
   2915 	Releasing libmicrohttpd 0.9.27. -CG
   2916 
   2917 Thu Apr 25 13:08:10 CEST 2013
   2918 	Added 'MHD_quiesce_daemon' to allow application to stop
   2919 	processing new incoming connections while finishing
   2920 	ongoing requests. -CG
   2921 
   2922 Sun Mar 31 23:17:13 CEST 2013
   2923 	Added MHD demonstration code 'src/examples/demo.c'. -CG
   2924 
   2925 Sun Mar 31 20:27:48 CEST 2013
   2926 	Adding new API call 'MHD_run_from_select' to allow programs
   2927 	running in 'external select mode' to reduce the number of
   2928 	'select' calls by a factor of two. -CG
   2929 
   2930 Sun Mar 31 20:03:48 CEST 2013
   2931 	Performance improvements, updated documentation.
   2932 	Make better use of available memory pool memory for
   2933 	reading (especially important for large POST uploads);
   2934 	improve post processor speed by internally adjusting the
   2935 	buffer size by 4 bytes to ensure "round" IO sizes given
   2936 	a "round" post processor buffer size argument.  Note
   2937 	that applications that previously added 4 bytes to the
   2938 	post processor buffer size might now perform worse.
   2939 	Using the new 'demo' example, POST upload speed
   2940 	increased from ~90 MB/s to ~120 MB/s for a large file
   2941 	(note that the improvement comes from better aligned
   2942 	disk IO; without disk IO, the speed was (and remains)
   2943 	at ~1500 MB/s on this system). -CG
   2944 
   2945 Fri Mar 29 16:44:29 CET 2013
   2946 	Renaming testcases to consistently begin with test_;
   2947 	Changing build system to build examples in doc/.
   2948 	Releasing libmicrohttpd 0.9.26. -CG
   2949 
   2950 Thu Mar  7 10:13:08 CET 2013
   2951 	Fix bug in postprocessor URL parser (#2818). -jgresula
   2952 
   2953 Mon Mar  4 13:45:35 CET 2013
   2954 	Fix dropping of SSL connections if uptime is less than
   2955         MHD_OPTION_CONNECTION_TIMEOUT due to integer underflow (#2802). -greed
   2956 
   2957 Fri Mar  1 01:11:57 CET 2013
   2958 	Fully initialize cleanup mutex struct for each thread (#2803). -Ulion
   2959 
   2960 Wed Feb  6 01:51:52 CET 2013
   2961 	Releasing libmicrohttpd 0.9.25. -CG
   2962 
   2963 Fri Feb  1 10:19:44 CET 2013
   2964 	Handle case where POST data contains "key=" without value
   2965 	at the end and is not new-line terminated by invoking the
   2966 	callback with the "key" during MHD_destroy_post_processor (#2733). -CG
   2967 
   2968 Wed Jan 30 13:09:30 CET 2013
   2969 	Adding more 'const' to allow keeping of reason phrases in ROM.
   2970 	(see mailinglist). -CG/MV
   2971 
   2972 Tue Jan 29 21:27:56 CET 2013
   2973 	Make code work with PlibC 0.1.7 (which removed plibc_init_utf8).
   2974 	Only relevant for W32. Fixes #2734. -CG
   2975 
   2976 Sat Jan 26 21:26:48 CET 2013
   2977 	Fixing regression introduced Jan 6 (test on data_size instead
   2978 	of total_size. -CG
   2979 
   2980 Fri Jan 11 23:21:55 CET 2013
   2981 	Also return MHD_YES from MHD_destroy_post_processor if
   2982 	we did not get '\r\n' in the upload. -CG
   2983 
   2984 Sun Jan  6 21:10:13 CET 2013
   2985 	Enable use of "MHD_create_response_from_callback" with
   2986 	body size of zero. -CG
   2987 
   2988 Tue Dec 25 16:16:30 CET 2012
   2989 	Releasing libmicrohttpd 0.9.24. -CG
   2990 
   2991 Tue Dec 18 21:18:11 CET 2012
   2992 	Given both 'chunked' encoding and 'content-length',
   2993 	ignore the 'content-length' header as per RFC. -ES
   2994 
   2995 Thu Dec  6 10:14:44 CET 2012
   2996 	Force adding "Connection: close" header to response if
   2997 	client asked for connection to be closed (so far, we
   2998 	did close the connection, but did not send the
   2999 	"Connection: close" header explicitly, which some clients
   3000 	seem to dislike. (See discussion on mailinglist).
   3001 	Also, if there is already a transfer-encoding other
   3002 	than 'chunked' set by the application, we also now close
   3003 	the connection if the response is of unknown size. -CG
   3004 
   3005 Wed Dec  5 19:22:26 CET 2012
   3006 	Fixing parameter loss of POST parameters with IE8 and Chrome
   3007 	in the PostProcessor as the code failed to properly handle
   3008 	partial data. -MM
   3009 
   3010 Fri Nov  9 21:36:46 CET 2012
   3011 	Releasing libmicrohttpd 0.9.23. -CG
   3012 
   3013 Thu Nov  8 22:32:59 CET 2012
   3014 	Ship our own version of tsearch and friends if not provided by platform,
   3015 	so that MHD works nicely on Android. -JJ
   3016 
   3017 Mon Oct 22 13:05:01 CEST 2012
   3018 	Immediately do a second read if we get a full buffer from
   3019 	TLS as there might be more data in the TLS buffers even if
   3020 	there is no activity on the socket. -CG
   3021 
   3022 Tue Oct 16 01:33:55 CEST 2012
   3023 	Consistently use "#ifdef" and "#ifndef" WINDOWS, and not
   3024 	sometimes "#if". -CG
   3025 
   3026 Sat Sep  1 20:51:21 CEST 2012
   3027 	Releasing libmicrohttpd 0.9.22. -CG
   3028 
   3029 Sat Sep  1 20:38:35 CEST 2012
   3030 	Adding configure option to allow selecting support for basic
   3031 	and digest authentication separately (#2525). -CG
   3032 
   3033 Thu Aug 30 21:12:56 CEST 2012
   3034 	Fixing URI argument parsing when string contained keys without
   3035 	equals sign (i.e. '&bar&') in the middle of the argument (#2531).
   3036 	Also replacing 'strstr' with more efficient 'strchr' when
   3037 	possible. -CG
   3038 
   3039 Tue Aug 21 14:36:17 CEST 2012
   3040 	Use "int" instead of "enum X" in 'va_arg' calls to be nice to
   3041 	compilers that use 'short' (i.e. 8 or 16 bit) enums but pass
   3042 	enums still as "int" in varargs. (See discussion on mailinglist). -CG/MV
   3043 
   3044 Tue Aug 21 14:31:54 CEST 2012
   3045 	Reduce default size in post processor buffer (for small systems;
   3046 	performance impact on large systems should be minimal). -CG/MV
   3047 
   3048 Thu Jul 19 21:48:42 CEST 2012
   3049 	Releasing libmicrohttpd 0.9.21. -CG
   3050 
   3051 Thu Jul 19 11:34:50 CEST 2012
   3052 	Consistently use 'panic' function instead of ever directly
   3053 	calling 'abort ()'.  Eliminating unused mutex in SSL mode.
   3054 	Removing check in testcases that fails depending on which
   3055 	version of gnuTLS is involved. -CG
   3056 
   3057 Tue Jul 17 23:50:43 CEST 2012
   3058 	Stylistic code clean up.  Allowing lookup up of trailing values
   3059 	without keys using "MHD_lookup_connection_value" with a key of NULL
   3060 	(thus achieving consistency with the existing iterator API). -CG
   3061 
   3062 Tue Jul 17 22:37:05 CEST 2012
   3063 	Adding experimental (!) code for MHD operation without listen socket. -CG
   3064 
   3065 Tue Jul 17 22:15:57 CEST 2012
   3066 	Making sendfile test pass again on non-W32 systems. -CG
   3067 
   3068 Mon Jul  9 13:43:35 CEST 2012
   3069 	Misc changes to allow testcases to pass on W32. -LRN
   3070 
   3071 Sun Jul  8 15:05:31 CEST 2012
   3072 	Misc changes to fix build on W32. -LRN
   3073 
   3074 Fri Jun 22 11:31:25 CEST 2012
   3075 	Make sure sockets opened by MHD are non-inheritable by default (#2414). -CG
   3076 
   3077 Tue Jun 19 19:44:53 CEST 2012
   3078 	Change various uses of time(NULL) to new MHD_monotonic_time() function to
   3079 	make timeouts immune to the system real time clock changing. -MC
   3080 
   3081 Tue Jun 12 21:35:00 CEST 2012
   3082 	Adding 451 status code. -CG
   3083 
   3084 Thu May 31 13:33:45 CEST 2012
   3085 	Releasing 0.9.20. -CG
   3086 
   3087 Tue May 29 13:55:03 CEST 2012
   3088 	Fixed some testcase build issues with disabled post processor. -CG
   3089 
   3090 Tue May 29 13:45:15 CEST 2012
   3091 	Fixing bug where MHD failed to call connection termination callback
   3092 	if a connection either was closed due to read errors or if MHD
   3093 	was terminated with certain threading modes.  Added new
   3094 	termination code MHD_REQUEST_TERMINATED_READ_ERROR for the
   3095 	read-termination cause. -CG
   3096 
   3097 Thu Mar 15 23:47:53 CET 2012
   3098 	Eliminating code clone in tls connection read/write handlers. -CG
   3099 
   3100 Fri Mar  2 23:44:56 CET 2012
   3101 	Making sure that MHD_get_connection_values iterates over the
   3102 	headers in the order in which they were received. -CG
   3103 
   3104 Wed Feb  1 09:39:12 CET 2012
   3105 	Fixed compilation problem on MinGW. -BS
   3106 
   3107 Tue Jan 31 17:50:24 CET 2012
   3108 	Releasing 0.9.19. -CG
   3109 
   3110 Mon Jan 30 20:02:34 CET 2012
   3111 	Fixed handling of garbage prior to first multipart boundary
   3112 	(#2126). -woof
   3113 
   3114 Fri Jan 27 11:00:43 CET 2012
   3115 	Fixed postprocessor failure for applications that enclosed boundary
   3116 	in quotes (#2120). -woof
   3117 
   3118 Tue Jan 24 16:07:53 CET 2012
   3119 	Added configure check for sin_len in 'struct sockaddr' and adding
   3120 	code to initialize this field if it exists now. -CG
   3121 
   3122 Mon Jan 23 14:02:26 CET 2012
   3123 	Fixed double-free if specified cipher was not valid (during
   3124 	MHD_daemon_start).  Releasing 0.9.18. -CG
   3125 
   3126 Thu Jan 19 22:11:12 CET 2012
   3127 	Switch to non-blocking sockets for all systems but Cygwin
   3128 	(we already used non-blocking sockets for GNU/Linux); also
   3129 	use non-blocking sockets on Cygwin for HTTPS as this is
   3130 	required to avoid DoS-by-partial-record via gnutls.  On
   3131 	Cygwin, #1824 implies that we need to use blocking sockets
   3132 	for HTTP on Cygwin for now. -CG
   3133 
   3134 Thu Jan 19 17:46:05 CET 2012
   3135 	Fixing use of uninitialized 'earliest_deadline' variable in
   3136 	MHD_get_timeout which can lead to returning an incorrect
   3137 	(too early) timeout (#2085). -tclaveirole
   3138 
   3139 Thu Jan 19 13:31:27 CET 2012
   3140 	Fixing digest authentication for GET requests with URI arguments
   3141 	(#2059). -CG
   3142 
   3143 Sat Jan  7 17:30:48 CET 2012
   3144 	Digest authentication expects nonce count in base 16, not base 10
   3145 	(#2061). -tclaveirole
   3146 
   3147 Thu Jan  5 22:01:37 CET 2012
   3148 	Partial fix for #2059, digest authentication with GET arguments. -CG
   3149 
   3150 Thu Dec  1 15:22:57 CET 2011
   3151 	Updated authorization_example.c to actually demonstrate the current
   3152 	MHD API. -SG
   3153 
   3154 Mon Nov 21 18:51:30 CET 2011
   3155 	Added option to suppress generation of the 'Date:' header to be
   3156 	used on embedded systems without RTC.  Documented the new option
   3157 	and the configure options. -CG
   3158 
   3159 Sat Nov 19 20:08:40 CET 2011
   3160 	Releasing 0.9.17. -CG
   3161 
   3162 Fri Nov 18 20:17:22 CET 2011
   3163 	Fixing return value of MHD_get_timeout if timeouts are not in use.
   3164         (#1914). -rboulton
   3165 
   3166 Sun Nov 13 13:34:29 CET 2011
   3167 	Trying to fix accidental addition of a "Connection: close" footer
   3168 	under certain (rare) circumstances. -CG
   3169 
   3170 Fri Nov  4 10:03:00 CET 2011
   3171 	Small updates to the tutorial.
   3172 	Releasing 0.9.16. -CG
   3173 
   3174 Thu Nov  3 10:14:59 CET 2011
   3175 	shutdown(RDWR) fails on OS X after shutdown(RD), so only use
   3176 	shutdown(WR) if we already closed the socket for reading (otherwise
   3177 	OS X might not do shutdown (WR) at all). -CG
   3178 
   3179 Tue Nov  1 18:51:50 CET 2011
   3180 	Force adding of 'Connection: close' to the header if we (for whatever
   3181 	reason) are shutting down the socket for reading (see also
   3182 	#1760). -CG
   3183 
   3184 Thu Oct 27 14:16:34 CEST 2011
   3185 	Treat EAGAIN the same way as EINTR (helps on W32). -LRN
   3186 
   3187 Wed Oct 12 10:40:12 CEST 2011
   3188 	Made sockets blocking again for non-Linux platforms as non-blocking
   3189 	sockets cause problems (#1824) on Cygwin but offer better performance
   3190 	on Linux (see change on August 11 2011). -CG/pross
   3191 
   3192 Fri Oct  7 19:50:07 CEST 2011
   3193  	Fixed problems with testcases on W32. -LRN
   3194 
   3195 Fri Sep 30 17:56:36 CEST 2011
   3196 	Fixed MHD_CONNECTION_OPTION_TIMEOUT for HTTPS (#1811). -CG
   3197 
   3198 Wed Sep 28 08:37:55 CEST 2011
   3199 	Releasing libmicrohttpd 0.9.15. -CG
   3200 
   3201 Tue Sep 27 13:07:36 CEST 2011
   3202 	Added ability to access URL arguments of the form 'url?foo' (without
   3203 	'=').  Added testcase and updated documentation accordingly. -CG
   3204 
   3205 Mon Sep 26 21:24:00 CEST 2011
   3206 	Only run response cleanup testcase if curl binary was found by
   3207 	configure. -CG
   3208 
   3209 Wed Sep 21 09:53:18 CEST 2011
   3210 	Reverting to using pipes for signalling select on non-Linux
   3211 	platforms where shutdown-on-listen-sockets does not work. -WB/CG
   3212 
   3213 Mon Sep 19 14:06:30 CEST 2011
   3214 	Fixing problem introduced with prompt response cleanup code. -CG
   3215 
   3216 Wed Sep 14 13:43:26 CEST 2011
   3217 	Fixing minor memory leak if daemon with HTTPS support failed to
   3218 	initialize (#1766). -CG
   3219 
   3220 Tue Sep 13 09:47:58 CEST 2011
   3221 	Try to release responses more promptly upon connection termination. -CG
   3222 
   3223 Mon Sep 12 10:20:28 CEST 2011
   3224 	Releasing libmicrohttpd 0.9.14. -CG
   3225 
   3226 Mon Sep 12 10:05:36 CEST 2011
   3227 	Added new function to allow setting of a custom timeout value
   3228 	for an individual connection (the MHD_set_connection_option is
   3229 	more generic, but this is currently the only use). -CG
   3230 
   3231 Sat Sep 10 07:30:12 CEST 2011
   3232 	Documenting that MHD_CONNECTION_INFO_GNUTLS_CLIENT_CERT is not
   3233 	implemented and will not be implemented, and what to use instead. -CG
   3234 
   3235 Fri Sep  9 13:42:20 CEST 2011
   3236 	Added testcase to demonstrate that response cleanup calling is
   3237 	working. No bug was found. -CG
   3238 
   3239 Thu Aug 18 11:05:16 CEST 2011
   3240 	Fixed bug with wrong state transition if callback returned
   3241 	MHD_CONTENT_READER_END_OF_STREAM causing spurious extra callbacks
   3242 	to the handler (thanks to Jan Seeger for pointing it out). -CG/JS
   3243 
   3244 Thu Aug 11 11:40:03 CEST 2011
   3245 	Changing sockets to be non-blocking as suggested by Eivind Sarto
   3246 	on the mailinglist. -CG
   3247 
   3248 Mon Jul 25 16:13:15 CEST 2011
   3249 	Added a logo. -CG
   3250 
   3251 Sat Jul 16 22:42:10 CEST 2011
   3252 	Change type of nonce to 'unsigned long int' to match return type
   3253 	from 'strtoul'.  Fixes ERANGE check which would have previously
   3254 	failed. -CG
   3255 
   3256 Wed Jul 13 09:26:17 CEST 2011
   3257 	Fixing HTTP error status strings for certain high-numbered status codes.
   3258 	Added support for some more (non-standard) status codes.
   3259 	Releasing libmicrohttpd 0.9.13. -CG
   3260 
   3261 Thu Jul  7 10:24:20 CEST 2011
   3262 	Adding performance measurements. -CG
   3263 
   3264 Thu Jun 23 14:21:13 CEST 2011
   3265 	Releasing libmicrohttpd 0.9.12. -CG
   3266 
   3267 Wed Jun 22 14:32:23 CEST 2011
   3268 	Force closing connection if either the client asked it or
   3269 	if the response contains 'Connection: close' (so far,
   3270 	only the client's request was considered). -CG/RV
   3271 
   3272 Wed Jun 22 10:37:35 CEST 2011
   3273 	Removing listen socket from poll/select sets in
   3274 	MHD_USE_THREAD_PER_CONNECTION mode; using 'shutdown'
   3275 	on connection sockets to signal termination instead. -CG
   3276 
   3277 Wed Jun 22 10:25:13 CEST 2011
   3278 	Eliminate unnecessary (and badly synchronized) calls to
   3279 	MHD_get_timeout in MHD_USE_THREAD_PER_CONNECTION mode.
   3280 	Document that this is not acceptable. -CG
   3281 
   3282 Tue Jun 21 13:54:59 CEST 2011
   3283 	Fixing tiny memory leak in SSL code from 'gnutls_priority_init'.
   3284 	Fixing data race between code doing connection shutdown and
   3285 	connection cleanup.
   3286 	Changing code to reduce connection cleanup cost from O(n) to O(1).
   3287 	Cleaning up logging code around 'connection_close_error'. -CG
   3288 
   3289 Sat Jun 11 13:05:12 CEST 2011
   3290 	Replacing use of sscanf by strtoul (#1688). -CG/bplant
   3291 
   3292 Fri Jun  3 15:26:42 CEST 2011
   3293 	Adding MHD_CONNECTION_INFO_DAEMON to obtain MHD_Daemon
   3294 	responsible for a given connection. -CG
   3295 
   3296 Wed May 25 14:23:20 CEST 2011
   3297 	Trying to fix stutter problem on timeout described by
   3298 	David Myers on the mailinglist (5/10/2011). -CG
   3299 
   3300 Fri May 20 22:11:55 CEST 2011
   3301 	Fixed bug in testcase setup code causing crashes in
   3302 	tls_session_timeout_test on some systems.
   3303 	Releasing libmicrohttpd 0.9.11. -CG
   3304 
   3305 Fri May 20 19:34:59 CEST 2011
   3306 	Fixed bug in parsing multipart/form-data with post processor where
   3307 	the code failed to add a 0-terminator in the correct position. -PP
   3308 
   3309 Thu May 12 14:40:46 CEST 2011
   3310 	Fixed bug where if multiple HTTP request messages are piped in at once,
   3311 	microhttpd would call the handler with the wrong upload_data_size. -HZM
   3312 
   3313 Thu May 12 14:40:08 CEST 2011
   3314 	Documented possible issue with off_t being sometimes
   3315 	32-bit and sometimes 64-bit depending on #includes. -CG
   3316 
   3317 Sun May  8 21:52:47 CEST 2011
   3318 	Allow MHD_SIZE_UNKNOWN to be used in conjunction with
   3319 	MHD_create_response_from_fd (fixing #1679). -TG
   3320 
   3321 Wed Apr 27 16:11:18 CEST 2011
   3322 	Releasing libmicrohttpd 0.9.10. -CG
   3323 
   3324 Fri Apr  8 11:40:35 CEST 2011
   3325 	Workaround for cygwin poll brokenness. -TS
   3326 
   3327 Sun Apr  3 13:56:52 CEST 2011
   3328 	Fixing compile error on OS X. -CG
   3329 
   3330 Wed Mar 30 12:56:09 CEST 2011
   3331 	Initialize tv_usec in MHD_USE_THREAD_PER_CONNECTION with select
   3332 	and per-connection timeout. -CG
   3333 
   3334 Tue Mar 29 14:15:13 CEST 2011
   3335 	Releasing libmicrohttpd 0.9.9. -CG
   3336 
   3337 Tue Mar 29 14:11:19 CEST 2011
   3338 	Fixed call to mmap for memory pool, extended testcase to cover
   3339 	POLL. -CG
   3340 
   3341 Wed Mar 23 23:24:25 CET 2011
   3342 	Do not use POLLIN when we only care about POLLHUP (significantly
   3343 	improves performance when using MHD_USE_THREAD_PER_CONNECTION
   3344 	in combination with MHD_USE_POLL). -ES
   3345 
   3346 Sun Mar 20 09:16:53 CET 2011
   3347 	Fixing race when using MHD_USE_THREAD_PER_CONNECTION in combination
   3348 	with MHD_USE_POLL. -CG
   3349 
   3350 Fri Mar 18 13:23:47 CET 2011
   3351 	Removing MSG_DONTWAIT which should not be needed and was presumably
   3352 	causing problems with EAGAIN under certain circumstances. -ES
   3353 
   3354 Fri Mar 11 22:25:29 CET 2011
   3355 	Fixing bug in MHD_create_response_from_fd_at_offset with non-zero offsets. -ES
   3356 
   3357 Sat Mar  5 22:00:36 CET 2011
   3358 	Do not use POLLRDHUP, which causes build errors on OS X / OpenSolaris
   3359 	(#1667). -CG
   3360 
   3361 Fri Mar  4 10:24:04 CET 2011
   3362 	Added new API to allow MHD server to initiate connection to
   3363 	client (special use-case for servers behind NAT), thereby
   3364 	addressing #1661 (externally created connections).
   3365 	Releasing libmicrohttpd 0.9.8. -CG
   3366 
   3367 Fri Mar  4 10:07:18 CET 2011
   3368 	Avoid using a pipe for signalling as well, just use server
   3369 	socket shutdown (also for thread-per-connection). -CG
   3370 
   3371 Thu Mar  3 21:42:47 CET 2011
   3372 	Fixing issue where Base64 decode fails when char is defined
   3373         as unsigned char  (Mantis 1666). -CG/tmayer
   3374 
   3375 Tue Mar  1 13:58:04 CET 2011
   3376 	Allow use of 'poll' in combination with the external select mode.
   3377 	Avoid using pthread signals (SIGALRM), use pipe instead.
   3378 	Corrected timeout calculation (s vs. ms). -CG
   3379 
   3380 Wed Feb 23 14:21:44 CET 2011
   3381 	Removing useless code pointed out by Eivind Sarto. -CG
   3382 
   3383 Fri Feb 18 11:03:59 CET 2011
   3384 	Handle large (>2 GB) file transfers with sendfile on 32-bit
   3385 	systems better; handle odd sendfile failures by libc/kernel
   3386 	by falling back to standard 'SEND'. -CG
   3387 
   3388 Sun Feb 13 10:52:29 CET 2011
   3389 	Handle gnutls receive error(s) for interrupted SSL
   3390 	connections better. -MS
   3391 	Releasing libmicrohttpd 0.9.7. -CG
   3392 
   3393 Fri Feb 11 10:15:38 CET 2011
   3394 	Fixing parameter ordering in documentation (#1659). -wellska
   3395 
   3396 Thu Jan 27 10:51:39 CET 2011
   3397 	Disable 'EXTRA_CHECKS's by default as suggested in #1652
   3398  	(I guess it is time). -CG/timn
   3399 
   3400 Thu Jan 27 10:48:55 CET 2011
   3401 	Removing bogus assertion in basic authentication code (#1651). -CG/timn
   3402 
   3403 Tue Jan 25 14:10:45 CET 2011
   3404 	Releasing libmicrohttpd 0.9.6. -CG
   3405 
   3406 Mon Jan 24 16:36:35 CET 2011
   3407 	Fixing compilation error if DAUTH_SUPPORT was 0 (#1646). -CG/bplant
   3408 
   3409 Tue Jan 18 23:58:09 CET 2011
   3410 	Fixing hash calculation in digest auth; old function had
   3411 	collisions causing the browser to challenge users for
   3412 	authentication too often. -CG/AW
   3413 
   3414 Fri Jan 14 19:19:45 CET 2011
   3415 	Removing dead code, adding missing new symbols to export list.
   3416 	Fixed two missing NULL checks after malloc operations. -CG
   3417 
   3418 Mon Jan 10 14:07:33 CET 2011
   3419 	Releasing libmicrohttpd 0.9.5. -CG
   3420 
   3421 Wed Jan  5 15:20:11 CET 2011
   3422 	Fixing double-locking on non-Linux platforms when using
   3423 	MHD_create_response_from_fd (#1639). -CG
   3424 	Avoid use of strndup for better portability (#1636). -CG
   3425 
   3426 Tue Jan  4 13:07:21 CET 2011
   3427 	Added MHD_create_response_from_buffer, deprecating
   3428 	MHD_create_response_from_data.  Deprecating
   3429 	MHD_create_response_from_fd as well. -CG
   3430 
   3431 Sun Dec 26 00:02:15 CET 2010
   3432 	Releasing libmicrohttpd 0.9.4. -CG
   3433 
   3434 Sat Dec 25 21:57:14 CET 2010
   3435 	Adding support for basic authentication.
   3436 	Documented how to obtain client SSL certificates in tutorial. -MS
   3437 
   3438 Thu Dec 23 15:40:36 CET 2010
   3439 	Increasing nonce length to 128 to support digest authentication
   3440 	with Opera (see #1633).
   3441 
   3442 Mon Dec 20 21:22:57 CET 2010
   3443 	Added macro MHD_LONG_LONG to allow change of MHD's "long long" use
   3444 	to some other type on platforms that do not support "long long"
   3445 	(Mantis #1631). -CG/bplant
   3446 
   3447 Sun Dec 19 19:54:15 CET 2010
   3448 	Added 'MHD_create_response_from_fd_at_offset'. -CG
   3449 
   3450 Sun Dec 19 15:16:16 CET 2010
   3451 	Fixing --enable and --disable configure options to behave properly. -CG
   3452 
   3453 Sun Dec 19 13:46:52 CET 2010
   3454 	Added option to specify size of stacks for threads created by MHD. -CG
   3455 
   3456 Tue Nov 23 09:41:00 CET 2010
   3457 	Releasing libmicrohttpd 0.9.3. -CG
   3458 
   3459 Thu Nov 18 23:10:36 CET 2010
   3460 	Fixing #1619 (testcases not working with NSS on Fedora). -CG/timn
   3461 
   3462 Thu Nov 18 22:55:58 CET 2010
   3463 	Fixing #1621 (socket not closed under certain circumstances). -CG/jaredc
   3464 
   3465 Wed Nov 17 12:16:53 CET 2010
   3466 	Allowing signalling of errors in generating chunked responses to
   3467 	clients (by closing connectins) using the new
   3468 	MHD_CONTENT_READER_END_WITH_ERROR ((size_t)-2) return value.  Also
   3469 	introducing MHD_CONTENT_READER_END_OF_STREAM constant instead
   3470 	of (size_t) -1 / SIZE_MAX.
   3471 
   3472 Sun Nov 14 20:45:45 CET 2010
   3473 	Adding API call to generate HTTP footers in response. -CG
   3474 
   3475 Sat Oct 16 12:38:43 CEST 2010
   3476 	Releasing libmicrohttpd 0.9.2. -CG
   3477 
   3478 Tue Oct 12 15:41:51 CEST 2010
   3479 	Fixed issue with data received via SSL being delayed in the
   3480 	GNUtls buffer if sender stopped transmitting (but did not close
   3481 	the connection) and MHD buffer size was smaller than last fragment,
   3482 	resulting in possibly significantly delayed processing of
   3483 	incoming data.  -CG
   3484 
   3485 Wed Sep 22 09:48:59 CEST 2010
   3486 	Changed port argument from 'unsigned short' to 'uint16_t'.
   3487 	Removed dead code when compiling with messages enabled.
   3488 	Minimal unrelated code cleanup. -CG
   3489 
   3490 Tue Sep 21 15:12:41 CEST 2010
   3491 	Use "size_t" for buffer size instead of "int". -CG
   3492 
   3493 Sat Sep 18 07:16:30 CEST 2010
   3494 	Adding support for SHOUTcast. -CG
   3495 
   3496 Wed Sep 15 09:33:46 CEST 2010
   3497 	Fixed double-free. -CG/ES
   3498 
   3499 Fri Sep 10 14:47:11 CEST 2010
   3500 	Releasing libmicrohttpd 0.9.1. -CG
   3501 
   3502 Fri Sep 10 14:29:37 CEST 2010
   3503 	Adding proper nonce counter checking for digest authentication. -CG/AA
   3504 
   3505 Sat Sep  4 21:55:52 CEST 2010
   3506 	Digest authentication now seems to be working. -CG/AA
   3507 
   3508 Wed Sep  1 13:59:16 CEST 2010
   3509 	Added ability to specify external unescape function.
   3510 	"microhttpd.h" now includes the right headers for GNU/Linux
   3511 	systems unless MHD_PLATFORM_H is defined (in which case it
   3512 	is assumed that the right headers were already determined by
   3513 	some configure-like process). -CG
   3514 
   3515 Tue Aug 31 15:39:25 CEST 2010
   3516 	Fixed bug with missing call to response cleanup in case of
   3517 	connection handling error (for example, after getting a SIGPIPE). -CG
   3518 
   3519 Tue Aug 24 11:39:25 CEST 2010
   3520 	Fixed bug in handling EAGAIN from GnuTLS (caused
   3521 	needlessly dropped SSL connections). -CG
   3522 
   3523 Sun Aug 22 16:49:13 CEST 2010
   3524 	Initial draft for digest authentication. -AA
   3525 
   3526 Thu Aug 19 14:15:01 CEST 2010
   3527 	Changed code to enable error messages and HTTPS by default;
   3528 	added option to disable post processor API (use
   3529 	breaks binary compatibility, should only be done
   3530 	for embedded systems that require minimal footprint). -CG
   3531 
   3532 Thu Aug 19 13:26:00 CEST 2010
   3533 	Patches for Windows to ease compilation trouble. -GT/CG
   3534 
   3535 Sat Aug 14 15:43:30 CEST 2010
   3536 	Fixed small, largely hypothetical leaks.
   3537 	Reduced calls to strlen for header processing. -CG
   3538 
   3539 Fri Aug  6 12:51:59 CEST 2010
   3540 	Fixing (small) memory leak on daemon-shutdown with
   3541 	SSL enabled. -CG/PG
   3542 
   3543 Thu Aug  5 22:24:37 CEST 2010
   3544 	Fixing timeout bug on systems that think it's still
   3545 	1970 (can happen if system time not initialized). -CG
   3546 
   3547 Mon Jul 26 10:46:57 CEST 2010
   3548 	Releasing libmicrohttpd 0.9.0. -CG
   3549 
   3550 Sun Jul 25 14:57:47 CEST 2010
   3551 	Adding support for sendfile on Linux.  Adding support
   3552 	for systemd-style passing of an existing listen socket
   3553 	as an option.  IPv6 sockets now only bind to IPv6
   3554 	(if platform supports this). -CG
   3555 
   3556 Sun Jul 25 11:10:45 CEST 2010
   3557 	Changed code to use external libgnutls code instead of
   3558 	the "fork".  Minor API changes for setting TLS options. -CG
   3559 
   3560 Sun Jun 13 10:52:34 CEST 2010
   3561 	Cleaned up example code. -CG
   3562 
   3563 Fri Apr 23 09:56:37 CEST 2010
   3564 	Do not return HTTP headers for requests without version
   3565 	numbers.  Do return HTTP version 1.0 if client requested
   3566 	HTTP version 1.1 (previously, we returned HTTP/1.1 even
   3567 	if the client specified HTTP/1.0).  -GM/CG
   3568 
   3569 Sat Mar 13 09:41:01 CET 2010
   3570 	Releasing libmicrohttpd 0.4.6. -CG
   3571 
   3572 Wed Mar 10 13:18:26 CET 2010
   3573 	Fixing bug in 100 CONTINUE replacement when handling POSTs
   3574 	(see report on mailinglist), with testcase. -CG/MC
   3575 
   3576 Tue Feb 23 09:16:15 CET 2010
   3577 	Added configure check for endianness to define WORDS_BIGENDIAN
   3578 	which fixes SSL support on big endian architectures. -JA/CG
   3579 
   3580 Sat Feb 20 10:01:09 CET 2010
   3581 	Added check for inconsistent options (MHD_OPTION_PROTOCOL_VERSION
   3582 	without MHD_USE_SSL) causing instant segfault. -JA/CG
   3583 
   3584 Tue Feb  9 20:31:51 CET 2010
   3585 	Fixed issue with poll doing busy waiting. -BK/CG
   3586 
   3587 Thu Jan 28 21:28:56 CET 2010
   3588 	Releasing libmicrohttpd 0.4.5. -CG
   3589 
   3590 Thu Jan 28 20:35:48 CET 2010
   3591 	Make sure addresses returned by memory pool are
   3592 	aligned (fixes bus errors on Sparc). -CG
   3593 
   3594 Thu Dec 17 20:26:52 CET 2009
   3595 	poll.h is not strictly required anymore. -ND
   3596 
   3597 Fri Dec  4 13:17:50 CET 2009
   3598 	Adding MHD_OPTION_ARRAY. -CG
   3599 
   3600 Mon Nov 16 14:41:26 CET 2009
   3601 	Fixed busy-loop in internal select mode for inactive
   3602 	clients with infinite connection timeout. -CG
   3603 
   3604 Thu Nov 12 16:19:14 CET 2009
   3605 	Adding support for setting a custom error handler for
   3606 	fatal errors (previously, the implementation always
   3607 	called 'abort' in these cases). -CG/ND
   3608 
   3609 Wed Nov 11 12:54:16 CET 2009
   3610 	Adding support for poll (alternative to select allowing
   3611 	for more than FD_SETSIZE parallel connections). -JM
   3612 
   3613 Wed Oct 28 20:26:00 CET 2009
   3614  	Releasing libmicrohttpd 0.4.4. -CG
   3615 
   3616 Wed Oct 14 14:37:37 CEST 2009
   3617 	Fixing (rare) deadlock due to SELECT missing SIGALRM by
   3618 	making all SELECT calls block for at most 1s.  While this
   3619 	can in (rare) situations delay the shutdown by 1s, I think
   3620 	this is preferable (both performance and possibly portability-wise)
   3621 	over using a pipe for the signal. -CG
   3622 
   3623 Sun Oct 11 14:57:29 CEST 2009
   3624 	Adding eCos license as an additional license for the
   3625 	non-HTTPS code of MHD. -CG
   3626 
   3627 Sun Oct 11 11:24:27 CEST 2009
   3628 	Adding support for Symbian. -MR
   3629 
   3630 Fri Oct  9 15:21:29 CEST 2009
   3631 	Check for error codes from pthread operations (to help with
   3632 	error diagnostics) and abort if something went wrong. -CG
   3633 
   3634 Thu Oct  8 10:43:02 CEST 2009
   3635 	Added check for sockets being '< FD_SETSIZE' (just to be safe). -CG
   3636 
   3637 Mon Oct  5 21:17:26 CEST 2009
   3638 	Adding "COOKIE" header string #defines. -CG
   3639 
   3640 Mon Oct  5 08:29:06 CEST 2009
   3641 	Documenting default values. -CG
   3642 
   3643 Fri Aug 28 22:56:47 CEST 2009
   3644  	Releasing libmicrohttpd 0.4.3. -CG
   3645 
   3646 Sun Aug 23 16:21:35 UTC 2009
   3647 	Allow MHD_get_daemon_info to return the daemon's listen socket.
   3648 	Includes a test case that uses this functionality to bind a server to
   3649 	an OS-assigned port, look the port up with getsockname, and curl it. -DR
   3650 
   3651 Tue Aug  4 00:14:04 CEST 2009
   3652 	 Fixing double-call to read from content-reader callback for first
   3653 	 data segment (as reported by Alex on the mailinglist). -CG
   3654 
   3655 Thu Jul 29 21:41:52 CEST 2009
   3656  	 Fixed issue with the code not using the "block_size" argument
   3657          given to MHD_create_response_from_callback causing inefficiencies
   3658 	 for values < 2048 and segmentation faults for values > 2048
   3659 	 (as reported by Andre Colomb on the mailinglist). -CG
   3660 
   3661 Sun May 17 03:29:46 MDT 2009
   3662  	 Releasing libmicrohttpd 0.4.2. -CG
   3663 
   3664 Fri May 15 11:00:20 MDT 2009
   3665 	 Grow reserved read buffer more aggressively so that we are not
   3666 	 needlessly stuck reading only a handful of bytes in each iteration. -CG
   3667 
   3668 Thu May 14 21:20:30 MDT 2009
   3669 	 Fixed issue where the "NOTIFY_COMPLETED" handler could be called
   3670 	 twice (if a socket error or timeout occurred for a pipelined
   3671 	 connection after successfully completing a request and before
   3672 	 the next request was successfully transmitted).  This could
   3673 	 confuse applications not expecting to see a connection "complete"
   3674 	 that they were never aware of in the first place. -CG
   3675 
   3676 Mon May 11 13:01:16 MDT 2009
   3677          Fixed issue where error code on timeout was "TERMINATED_WITH_ERROR"
   3678          instead of "TERMINATED_TIMEOUT_REACHED". -CG
   3679 
   3680 Wed Apr  1 21:33:05 CEST 2009
   3681          Added MHD_get_version(). -ND
   3682 
   3683 Wed Mar 18 22:59:07 MDT 2009
   3684 	 Releasing libmicrohttpd 0.4.1. -CG
   3685 
   3686 Wed Mar 18 17:46:58 MDT 2009
   3687 	 Always RECV/SEND with MSG_DONTWAIT to (possibly) address
   3688 	 strange deadlock reported by Erik on the mailinglist ---
   3689 	 and/or issues with blocking read after select on GNU/Linux
   3690 	 (see select man page under bugs). -CG
   3691 
   3692 Tue Mar 17 01:19:50 MDT 2009
   3693 	 Added support for thread-pools. -CG/RA
   3694 
   3695 Mon Mar  2 23:44:08 MST 2009
   3696 	 Fixed problem with 64-bit upload and download sizes and
   3697 	 "-1" being used to indicate "unknown" by introducing
   3698 	 new 64-bit constant "MHD_SIZE_UNKNOWN". -CG/DC
   3699 
   3700 Wed Feb 18 08:13:56 MST 2009
   3701 	 Added missing #include for build on arm-linux-uclibc. -CG/CC
   3702 
   3703 Mon Feb 16 21:12:21 MST 2009
   3704 	 Moved MHD_get_connection_info so that it is always defined,
   3705 	 even if HTTPS support is not enabled. -CG
   3706 
   3707 Sun Feb  8 21:15:30 MST 2009
   3708 	 Releasing libmicrohttpd 0.4.0. -CG
   3709 
   3710 Thu Feb  5 22:43:45 MST 2009
   3711 	 Incompatible API change to allow 64-bit uploads and downloads.
   3712 	 Clients must use "uint64_t" for the "pos"
   3713 	 argument (MHD_ContentReaderCallback) and the "off"
   3714 	 argument (MHD_PostDataIterator) and the "size"
   3715 	 argument (MHD_create_response_from_callback) now.
   3716 	 Also, "unsigned int" was changed to "size_t" for
   3717 	 the "upload_data_size" argument (MHD_AccessHandlerCallback),
   3718 	 the argument to MHD_OPTION_CONNECTION_MEMORY_LIMIT,
   3719 	 the "block_size" argument (MHD_create_response_from_callback),
   3720 	 the "buffer_size" argument (MHD_create_post_processor) and
   3721 	 the "post_data_len" argument (MHD_post_process).  You may
   3722 	 need to #include <stdint.h> before <microhttpd.h> from now on. -CG
   3723 
   3724 Thu Feb  5 20:21:08 MST 2009
   3725 	 Allow getting address information about the connecting
   3726 	 client after the accept call. -CG
   3727 
   3728 Mon Feb  2 22:21:48 MST 2009
   3729 	 Fixed missing size adjustment for offsets for %-encoded
   3730 	 arguments processed by the post processor (Mantis #1447). -CG/SN
   3731 
   3732 Fri Jan 23 16:57:21 MST 2009
   3733 	 Support charset specification (ignore) after content-type
   3734 	 when post-processing HTTP POST requests (Mantis #1443). -CG/SN
   3735 
   3736 Fri Dec 26 23:08:04 MST 2008
   3737 	 Fixed broken check for identical connection address. -CG
   3738 	 Making cookie parser more RFC2109 compliant (handle
   3739 	 spaces around key, allow value to be optional). -CG
   3740 
   3741 Sat Dec  6 18:36:17 MST 2008
   3742 	 Added configure option to disable checking for CURL support.
   3743 	 Added MHD_OPTION to allow specification of custom logger. -CG
   3744 
   3745 Tue Nov 18 01:19:53 MST 2008
   3746 	 Removed support for untested and/or broken SSL features
   3747 	 and (largely useless) options. -CG
   3748 
   3749 Sun Nov 16 16:54:54 MST 2008
   3750 	 Added option to get unparsed URI via callback.
   3751 	 Releasing GNU libmicrohttpd 0.4.0pre1. -CG
   3752 
   3753 Sun Nov 16 02:48:14 MST 2008
   3754 	 Removed tons of dead code. -CG
   3755 
   3756 Sat Nov 15 17:34:24 MST 2008
   3757 	 Added build support for code coverage analysis. -CG
   3758 
   3759 Sat Nov 15 00:31:33 MST 2008
   3760 	 Removing (broken) support for HTTPS servers with
   3761 	 anonymous (aka "no") certificates as well as
   3762 	 various useless dead code. -CG
   3763 
   3764 Sat Nov  8 02:18:42 MST 2008
   3765 	 Unset TCP_CORK at the end of transmitting a response
   3766 	 to improve performance (on systems where this is
   3767 	 supported). -MM
   3768 
   3769 Tue Sep 30 16:48:08 MDT 2008
   3770 	 Make MHD useful to Cygwin users; detect IPv6 headers
   3771 	 in configure.
   3772 
   3773 Sun Sep 28 14:57:46 MDT 2008
   3774 	 Unescape URIs (convert "%ef%e4%45" to "中国"). -CG
   3775 
   3776 Wed Sep 10 22:43:59 MDT 2008
   3777 	 Releasing GNU libmicrohttpd 0.4.0pre0. -CG
   3778 
   3779 Wed Sep 10 21:36:06 MDT 2008
   3780 	 Fixed data race on closing sockets during
   3781 	 shutdown (in one-thread-per-connection mode). -CG
   3782 
   3783 Thu Sep  4 23:37:18 MDT 2008
   3784 	 Fixed some boundary issues with processing
   3785 	 chunked requests; removed memmove from a
   3786 	 number of spots, in favor of using an index into
   3787 	 the current buffer instead. -GS
   3788 
   3789 Sun Aug 24 13:05:41 MDT 2008
   3790 	 Now handling clients returning 0 from response callback
   3791 	 as specified in the documentation (abort if internal
   3792 	 select is used, retry immediately if a thread per
   3793 	 connection is used). -CG
   3794 
   3795 Sun Aug 24 12:44:43 MDT 2008
   3796 	 Added missing reason phrase. -SG
   3797 
   3798 Sun Aug 24 10:33:22 MDT 2008
   3799 	 Fixed bug where MHD failed to transmit the response when
   3800 	 the client decided not to send "100 CONTINUE" during
   3801 	 a PUT/POST request. -CG
   3802 
   3803 Wed Jul 16 18:54:03 MDT 2008
   3804 	 Fixed bug generating chunked responses with chunk sizes
   3805 	 greater than 0xFFFFFF (would cause protocol violations). -CG
   3806 
   3807 Mon May 26 13:28:57 MDT 2008
   3808 	 Updated and improved documentation.
   3809 	 Releasing GNU libmicrohttpd 0.3.1. -CG
   3810 
   3811 Fri May 23 16:54:41 MDT 2008
   3812 	 Fixed issue with postprocessor not handling URI-encoded
   3813 	 values of more than 1024 bytes correctly. -CG
   3814 
   3815 Mon May  5 09:18:29 MDT 2008
   3816 	 Fixed date header (was off by 1900 years). -JP
   3817 
   3818 Sun Apr 13 01:06:20 MDT 2008
   3819 	 Releasing GNU libmicrohttpd 0.3.0. -CG
   3820 
   3821 Sat Apr 12 21:34:26 MDT 2008
   3822 	 Generate an internal server error if the programmer fails
   3823 	 to handle upload data correctly.  Tweaked testcases to
   3824 	 avoid running into the problem in the testcases.
   3825 	 Completed zzuf-based fuzzing testcases.  -CG
   3826 
   3827 Sat Apr 12 15:14:05 MDT 2008
   3828 	 Restructured the code (curl-testcases and zzuf testcases
   3829 	 are now in different directories; code examples are in
   3830 	 src/examples/).
   3831 	 Fixed a problem (introduced in 0.2.3) with handling very
   3832 	 large requests (the code did not return proper error code).
   3833 	 If "--enable-messages" is specified, the code now includes
   3834 	 reasonable default HTML webpages for various built-in
   3835 	 errors (such as request too large and malformed requests).
   3836 	 Without that flag, the webpages returned will still be
   3837 	 empty.
   3838 	 Started to add zzuf-based fuzzing-testcases (these require
   3839 	 the zzuf and socat binaries to be installed). -CG
   3840 
   3841 Fri Apr 11 20:20:34 MDT 2008
   3842 	 I hereby dub libmicrohttpd a GNU package. -Richard Stallman
   3843 
   3844 Sat Mar 29 22:36:09 MDT 2008
   3845 	 Fixed bugs in handling of malformed HTTP requests
   3846 	 (causing either NULL dereferences or connections to
   3847 	 persist until time-out, if any). -CG
   3848 
   3849 	 Updated and integrated TexInfo documentation. -CG
   3850 
   3851 Tue Mar 25 13:40:53 MDT 2008
   3852 	 Prevent multi-part post-processor from going to error
   3853 	 state when the input buffer is full and current token
   3854 	 just changes processor state without consuming any data.
   3855 	 Also, the original implementation would not consume any
   3856 	 input in process_value_to_boundary if there is no new
   3857 	 line character in sight. -AS
   3858 
   3859 	 Remove checks for request method after it finished writing
   3860 	 response footers as it's only _pipelined_ requests that
   3861 	 should not be allowed after POST or PUT requests.  Reusing
   3862 	 the existing connection is perfectly ok though.  And there
   3863 	 is no reliable way to detect pipelining on server side
   3864 	 anyway so it is the client's responsibility to not send new
   3865 	 data before it gets a response after a POST operation. -AS
   3866 
   3867 	 Clarified license in man page. Releasing
   3868          libmicrohttpd 0.2.3 -CG
   3869 
   3870 Sat Mar 22 01:12:38 MDT 2008
   3871 	 Releasing libmicrohttpd 0.2.2. -CG
   3872 
   3873 Mon Feb 25 19:13:53 MST 2008
   3874 	 Fixed a problem with sockets closed for reading ending up
   3875 	 in the read set under certain circumstances. -CG
   3876 
   3877 Wed Jan 30 23:15:44 MST 2008
   3878 	 Added support for nested multiparts to post processor.
   3879 	 Made sure that MHD does not allow pipelining for methods
   3880 	 other than HEAD and GET (and of course still also only
   3881 	 allows it for http 1.1).  Releasing libmicrohttpd 0.2.1.  -CG
   3882 
   3883 Mon Jan 21 11:59:46 MST 2008
   3884 	 Added option to limit number of concurrent connections
   3885 	 accepted from the same IP address. -CG
   3886 
   3887 Fri Jan  4 16:02:08 MST 2008
   3888 	 Fix to properly close connection if application signals
   3889 	 problem handling the request. - AS
   3890 
   3891 Wed Jan  2 16:41:05 MST 2008
   3892 	 Improvements and bugfixes to post processor implementation. - AS
   3893 
   3894 Wed Dec 19 21:12:04 MST 2007
   3895 	 Implemented chunked (HTTP 1.1) downloads (including
   3896 	 sending of HTTP footers).  Also allowed queuing of
   3897 	 a response early to suppress the otherwise automatic
   3898 	 "100 CONTINUE" response.  Removed the mostly useless
   3899 	 "(un)register handler" methods from the API.  Changed
   3900 	 the internal implementation to use a finite state
   3901 	 machine (cleaner code, slightly less memory consumption).
   3902 	 Releasing libmicrohttpd 0.2.0. - CG
   3903 
   3904 Sun Dec 16 03:24:13 MST 2007
   3905 	 Implemented handling of chunked (HTTP 1.1) uploads.
   3906 	 Note that the upload callback must be able to
   3907 	 process chunks in the size uploaded by the client,
   3908 	 MHD will not "join" small chunks into a big
   3909 	 contiguous block of memory (even if buffer space
   3910 	 would be available).  - CG
   3911 
   3912 Wed Dec  5 21:39:35 MST 2007
   3913 	 Fixed race in multi-threaded server mode.
   3914 	 Fixed handling of POST data when receiving a
   3915 	 "Connection: close" header (#1296).
   3916 	 Releasing libmicrohttpd 0.1.2. - CG
   3917 
   3918 Sat Nov 17 00:55:24 MST 2007
   3919 	 Fixed off-by-one in error message string matching.
   3920 	 Added code to avoid generating SIGPIPE on platforms
   3921 	 where this is possible (everywhere else, the main
   3922 	 application should install a handler for SIGPIPE).
   3923 
   3924 Thu Oct 11 11:02:06 MDT 2007
   3925 	 Releasing libmicrohttpd 0.1.1. - CG
   3926 
   3927 Thu Oct 11 10:09:12 MDT 2007
   3928 	 Fixing response to include HTTP status message. - EG
   3929 
   3930 Thu Sep 27 10:19:46 MDT 2007
   3931 	 Fixing parsing of "%xx" in URLs with GET arguments. - eglaysher
   3932 
   3933 Sun Sep  9 14:32:23 MDT 2007
   3934 	 Added option to compile debug/warning messages;
   3935 	 error messages are now disabled by default.
   3936 	 Modified linker option for GNU LD to not export
   3937 	 non-public symbols (further reduces binary size).
   3938 	 Releasing libmicrohttpd 0.1.0. - CG
   3939 
   3940 Sat Sep  8 21:54:04 MDT 2007
   3941 	 Extended API to allow for incremental POST
   3942 	 processing.  The new API is binary-compatible
   3943 	 as long as the app does not handle POSTs, but
   3944 	 since that maybe the case, we're strictly speaking
   3945 	 breaking backwards compatibility (since url-encoded
   3946 	 POST data is no longer obtained the same way). - CG
   3947 
   3948 Thu Aug 30 00:59:24 MDT 2007
   3949 	 Improving API to allow clients to associate state
   3950          with a connection and to be notified about request
   3951          termination (this is a binary-compatible change). - CG
   3952 	 Fixed compile errors under OS X. - HL
   3953 
   3954 Sun Aug 26 03:11:46 MDT 2007
   3955 	 Added MHD_USE_PEDANTIC_CHECKS option which enforces
   3956 	 receiving a "Host:" header in HTTP 1.1 (and sends a
   3957 	 HTTP 400 status back if this is violated). - CG
   3958 
   3959 Tue Aug 21 01:01:46 MDT 2007
   3960 	 Fixing assertion failure that occurred when a client
   3961 	 closed the connection after sending some data but
   3962 	 not the full headers. - CG
   3963 
   3964 Sat Aug 18 03:06:09 MDT 2007
   3965 	 Check for out of memory when adding headers to
   3966 	 responses.  Check for NULL key when looking
   3967 	 for headers.   If a content reader callback
   3968 	 for a response returns zero (has no data yet),
   3969 	 do not possibly fall into busy waiting when
   3970 	 using external select (with internal selects
   3971 	 we have no choice).  - CG
   3972 
   3973 Wed Aug 15 01:46:44 MDT 2007
   3974 	 Extending API to allow timeout of connections.
   3975 	 Changed API (MHD_create_response_from_callback) to
   3976 	 allow user to specify IO buffer size.
   3977 	 Improved error handling.
   3978          Released libmicrohttpd 0.0.3. - CG
   3979 
   3980 Tue Aug 14 19:45:49 MDT 2007
   3981 	 Changed license to LGPL (with consent from all contributors).
   3982          Released libmicrohttpd 0.0.2. - CG
   3983 
   3984 Sun Aug 12 00:09:26 MDT 2007
   3985 	 Released libmicrohttpd 0.0.1. - CG
   3986 
   3987 Fri Aug 10 17:31:23 MDT 2007
   3988 	 Fixed problems with handling of responses created from
   3989 	 callbacks.  Allowing accept policy callback to be NULL
   3990 	 (to accept from all).  Added minimal fileserver example.
   3991 	 Only send 100 continue header when specifically requested. - CG
   3992 
   3993 Wed Aug  8 01:46:06 MDT 2007
   3994 	 Added pool allocation and connection limitations (total
   3995 	 number and memory size).  Released libmicrohttpd 0.0.0. - CG
   3996 
   3997 Tue Jan  9 20:52:48 MST 2007
   3998 	 Created project build files and updated API. - CG