aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvgeny Grin (Karlson2k) <k2k@narod.ru>2023-06-06 22:56:36 +0300
committerEvgeny Grin (Karlson2k) <k2k@narod.ru>2023-06-06 22:56:36 +0300
commitddfa808bb4abfcba444b142c45d760842ea2ed1c (patch)
tree297a7c983b07147622e202f4aa22c537d39a7ab0
parentd17b6cb79dd660083c22e06cc7b7aa6c7aea921d (diff)
downloadlibmicrohttpd-ddfa808bb4abfcba444b142c45d760842ea2ed1c.tar.gz
libmicrohttpd-ddfa808bb4abfcba444b142c45d760842ea2ed1c.zip
Bump version numbers as v0.9.77 was released on parallel branch
-rw-r--r--NEWS61
-rw-r--r--src/include/microhttpd.h108
-rw-r--r--src/microhttpd/basicauth.c4
-rw-r--r--src/microhttpd/daemon.c8
-rw-r--r--src/microhttpd/digestauth.c20
-rw-r--r--src/microhttpd/response.c8
6 files changed, 135 insertions, 74 deletions
diff --git a/NEWS b/NEWS
index c7f49480..cbb63d84 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,64 @@
1Sun 28 May 2023 18:00:00 MSK
2Released GNU libmicrohttpd 0.9.77.
3
4 This is mostly a bugfix release.
5 This version created by taking patches from the current development
6 branch and back-porting them on top of version 0.9.76.
7 The most notable changes are: some improvements for Digest and Basic
8 authorizations, fixed efficiency for TLS upgraded connections, fixed
9 processing of folded headers in requests, fixed functionality with
10 blocking sockets, improved and fixed internal test-suite.
11
12 The more detailed list of the important changes:
13
14 API changes:
15 + Added new function MHD_get_version_bin().
16
17 Improvements and enhancements:
18 * Digest Auth: changed algorithm identifiers in server generated
19 headers from "md5" / "sha-256" to "MD5" / "SHA-256" to better match
20 RFC (while clients should use caseless matching).
21 * Improved Base64 decoding by new implementation with robust input
22 data validation checks.
23 * Improved configure for cross-compiling, for better compatibility
24 with POSIX and for better compatibility with the latest compiler
25 versions.
26 * New internal tests: for Base64 decoding, Basic Auth and folded
27 headers.
28 * Supported new libcurl API in tests to mute deprecation warnings.
29 * Supported ARM and ARM64 for VC compilers.
30
31 Functionality changes:
32 * any negative number returned by response data generation callback
33 function is treated as an error. Previously negative values except
34 predefined error codes could produce undefined behaviour.
35 * Added handling of "DEBUG" preprocessor macro as an alias of "_DEBUG".
36
37 Fixes:
38 # Fixed functionality with blocking sockets.
39 # Fixed very inefficient data pumping for upgraded TLS connections.
40 # Fixed processing of folded headers in the requests.
41 # Fixed data races when closing upgraded connection.
42 # Removed duplication of "Connection: upgrade" header.
43 # Digest auth: fixed thread sync to avoid "stale hash" results.
44 # Fixed harmless unwanted extra data processing resulting in triggering
45 of the assert.
46 # Fixed tests for LTO.
47 # Removed removed non-portable functions in examples.
48 # Fixed delayed call of connection notification callback in
49 thread-per-connection mode.
50 # Fixed Address Sanitizer unpoison of memory when memory pool is
51 destroyed. This fixed periodic ASAN error when used for a long time
52 with the sanitizer.
53 # Fixed compiler warnings in library code, examples, tests and configure
54 checks.
55 # New TLS certificates for test-suite: all with SAN fields and SHA-256
56 hash.
57 # Tests: fixed tests on Darwin 22.x (Ventura).
58 # Tests: redesigned one tests group to avoid stress-testing of the OS.
59
60 -- Evgeny Grin (Karlson2k)
61
1Sun 26 Feb 2023 17:49:30 CET 62Sun 26 Feb 2023 17:49:30 CET
2Released GNU libmicrohttpd 0.9.76 hotfix. -CG 63Released GNU libmicrohttpd 0.9.76 hotfix. -CG
3 64
diff --git a/src/include/microhttpd.h b/src/include/microhttpd.h
index 64cb8509..3db5378d 100644
--- a/src/include/microhttpd.h
+++ b/src/include/microhttpd.h
@@ -1,7 +1,7 @@
1/* 1/*
2 This file is part of libmicrohttpd 2 This file is part of libmicrohttpd
3 Copyright (C) 2006-2021 Christian Grothoff (and other contributing authors) 3 Copyright (C) 2006-2021 Christian Grothoff (and other contributing authors)
4 Copyright (C) 2014-2022 Evgeny Grin (Karlson2k) 4 Copyright (C) 2014-2023 Evgeny Grin (Karlson2k)
5 5
6 This library is free software; you can redistribute it and/or 6 This library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Lesser General Public 7 modify it under the terms of the GNU Lesser General Public
@@ -96,7 +96,7 @@ extern "C"
96 * they are parsed as decimal numbers. 96 * they are parsed as decimal numbers.
97 * Example: 0x01093001 = 1.9.30-1. 97 * Example: 0x01093001 = 1.9.30-1.
98 */ 98 */
99#define MHD_VERSION 0x00097601 99#define MHD_VERSION 0x00097701
100 100
101/* If generic headers don't work on your platform, include headers 101/* If generic headers don't work on your platform, include headers
102 which define 'va_list', 'size_t', 'ssize_t', 'intptr_t', 'off_t', 102 which define 'va_list', 'size_t', 'ssize_t', 'intptr_t', 'off_t',
@@ -1550,7 +1550,7 @@ typedef int
1550 * #MHD_digest_auth_check3() (and similar functions) to check nonce by 1550 * #MHD_digest_auth_check3() (and similar functions) to check nonce by
1551 * re-generating it again with the same parameters, which is CPU-intensive 1551 * re-generating it again with the same parameters, which is CPU-intensive
1552 * operation. 1552 * operation.
1553 * @note Available since #MHD_VERSION 0x00097601 1553 * @note Available since #MHD_VERSION 0x00097701
1554 */ 1554 */
1555enum MHD_DAuthBindNonce 1555enum MHD_DAuthBindNonce
1556{ 1556{
@@ -1583,7 +1583,7 @@ enum MHD_DAuthBindNonce
1583 * RFC 7616 allows clients to re-use server-generated nonces for any URI 1583 * RFC 7616 allows clients to re-use server-generated nonces for any URI
1584 * in the same "protection space" which by default consists of all server 1584 * in the same "protection space" which by default consists of all server
1585 * URIs. 1585 * URIs.
1586 * Before #MHD_VERSION 0x00097601 this was default (and only supported) 1586 * Before #MHD_VERSION 0x00097701 this was default (and only supported)
1587 * nonce bind type. 1587 * nonce bind type.
1588 */ 1588 */
1589 MHD_DAUTH_BIND_NONCE_URI = 1 << 1, 1589 MHD_DAUTH_BIND_NONCE_URI = 1 << 1,
@@ -2017,7 +2017,7 @@ enum MHD_OPTION
2017 * An internal copy of the buffer will be made, the data do not 2017 * An internal copy of the buffer will be made, the data do not
2018 * need to be static. 2018 * need to be static.
2019 * @sa #MHD_OPTION_DIGEST_AUTH_RANDOM 2019 * @sa #MHD_OPTION_DIGEST_AUTH_RANDOM
2020 * @note Available since #MHD_VERSION 0x00097601 2020 * @note Available since #MHD_VERSION 0x00097701
2021 */ 2021 */
2022 MHD_OPTION_DIGEST_AUTH_RANDOM_COPY = 35, 2022 MHD_OPTION_DIGEST_AUTH_RANDOM_COPY = 35,
2023 2023
@@ -2028,7 +2028,7 @@ enum MHD_OPTION
2028 * This option should be followed by an 'unsigned int` argument with value 2028 * This option should be followed by an 'unsigned int` argument with value
2029 * formed as bitwise OR combination of #MHD_DAuthBindNonce values. 2029 * formed as bitwise OR combination of #MHD_DAuthBindNonce values.
2030 * When not specified, default value #MHD_DAUTH_BIND_NONCE_NONE is used. 2030 * When not specified, default value #MHD_DAUTH_BIND_NONCE_NONE is used.
2031 * @note Available since #MHD_VERSION 0x00097601 2031 * @note Available since #MHD_VERSION 0x00097701
2032 */ 2032 */
2033 MHD_OPTION_DIGEST_AUTH_NONCE_BIND_TYPE = 36, 2033 MHD_OPTION_DIGEST_AUTH_NONCE_BIND_TYPE = 36,
2034 2034
@@ -2040,7 +2040,7 @@ enum MHD_OPTION
2040 * The string does not have to start with a colon ':' character. 2040 * The string does not have to start with a colon ':' character.
2041 * See #MHD_OPTION_HTTPS_PRIORITIES description for details of automatic 2041 * See #MHD_OPTION_HTTPS_PRIORITIES description for details of automatic
2042 * default priorities. 2042 * default priorities.
2043 * @note Available since #MHD_VERSION 0x00097601 2043 * @note Available since #MHD_VERSION 0x00097701
2044 */ 2044 */
2045 MHD_OPTION_HTTPS_PRIORITIES_APPEND = 37, 2045 MHD_OPTION_HTTPS_PRIORITIES_APPEND = 37,
2046 2046
@@ -2086,7 +2086,7 @@ enum MHD_OPTION
2086 * communicate with some client(s) with badly broken HTTP implementation. 2086 * communicate with some client(s) with badly broken HTTP implementation.
2087 * 2087 *
2088 * This option should be followed by an `int` argument. 2088 * This option should be followed by an `int` argument.
2089 * @note Available since #MHD_VERSION 0x00097601 2089 * @note Available since #MHD_VERSION 0x00097701
2090 */ 2090 */
2091 MHD_OPTION_CLIENT_DISCIPLINE_LVL = 38 2091 MHD_OPTION_CLIENT_DISCIPLINE_LVL = 38
2092 2092
@@ -3137,7 +3137,7 @@ MHD_free (void *ptr);
3137 * timeout (in milliseconds) 3137 * timeout (in milliseconds)
3138 * @return #MHD_YES if timeout value has been set, 3138 * @return #MHD_YES if timeout value has been set,
3139 * #MHD_NO if timeouts are not used and no data processing is pending. 3139 * #MHD_NO if timeouts are not used and no data processing is pending.
3140 * @note Available since #MHD_VERSION 0x00097601 3140 * @note Available since #MHD_VERSION 0x00097701
3141 * @ingroup event 3141 * @ingroup event
3142 */ 3142 */
3143_MHD_EXTERN enum MHD_Result 3143_MHD_EXTERN enum MHD_Result
@@ -3178,7 +3178,7 @@ MHD_get_timeout64 (struct MHD_Daemon *daemon,
3178 * activity for indefinite amount of time, 3178 * activity for indefinite amount of time,
3179 * otherwise returned value is the the maximum amount of millisecond 3179 * otherwise returned value is the the maximum amount of millisecond
3180 * that external polling function must wait for the activity of FDs. 3180 * that external polling function must wait for the activity of FDs.
3181 * @note Available since #MHD_VERSION 0x00097601 3181 * @note Available since #MHD_VERSION 0x00097701
3182 * @ingroup event 3182 * @ingroup event
3183 */ 3183 */
3184_MHD_EXTERN int64_t 3184_MHD_EXTERN int64_t
@@ -3219,7 +3219,7 @@ MHD_get_timeout64s (struct MHD_Daemon *daemon);
3219 * otherwise returned value is the the maximum amount of millisecond 3219 * otherwise returned value is the the maximum amount of millisecond
3220 * (capped at INT_MAX) that external polling function must wait 3220 * (capped at INT_MAX) that external polling function must wait
3221 * for the activity of FDs. 3221 * for the activity of FDs.
3222 * @note Available since #MHD_VERSION 0x00097601 3222 * @note Available since #MHD_VERSION 0x00097701
3223 * @ingroup event 3223 * @ingroup event
3224 */ 3224 */
3225_MHD_EXTERN int 3225_MHD_EXTERN int
@@ -3699,7 +3699,7 @@ enum MHD_ResponseFlags
3699 * reply body must be sent to the client. 3699 * reply body must be sent to the client.
3700 * This flag is primarily intended to be used when automatic "Content-Length" 3700 * This flag is primarily intended to be used when automatic "Content-Length"
3701 * header is undesirable in response to HEAD requests. 3701 * header is undesirable in response to HEAD requests.
3702 * @note Available since #MHD_VERSION 0x00097601 3702 * @note Available since #MHD_VERSION 0x00097701
3703 */ 3703 */
3704 MHD_RF_HEAD_ONLY_RESPONSE = 1 << 4 3704 MHD_RF_HEAD_ONLY_RESPONSE = 1 << 4
3705} _MHD_FIXED_FLAGS_ENUM; 3705} _MHD_FIXED_FLAGS_ENUM;
@@ -3870,7 +3870,7 @@ MHD_create_response_from_buffer (size_t size,
3870 * @param buffer the buffer with the data for the response body, can be NULL 3870 * @param buffer the buffer with the data for the response body, can be NULL
3871 * if @a size is zero 3871 * if @a size is zero
3872 * @return NULL on error (i.e. invalid arguments, out of memory) 3872 * @return NULL on error (i.e. invalid arguments, out of memory)
3873 * @note Available since #MHD_VERSION 0x00097601 3873 * @note Available since #MHD_VERSION 0x00097701
3874 * @ingroup response 3874 * @ingroup response
3875 */ 3875 */
3876_MHD_EXTERN struct MHD_Response * 3876_MHD_EXTERN struct MHD_Response *
@@ -3897,7 +3897,7 @@ MHD_create_response_from_buffer_static (size_t size,
3897 * @param buffer the buffer with the data for the response body, can be NULL 3897 * @param buffer the buffer with the data for the response body, can be NULL
3898 * if @a size is zero 3898 * if @a size is zero
3899 * @return NULL on error (i.e. invalid arguments, out of memory) 3899 * @return NULL on error (i.e. invalid arguments, out of memory)
3900 * @note Available since #MHD_VERSION 0x00097601 3900 * @note Available since #MHD_VERSION 0x00097701
3901 * @ingroup response 3901 * @ingroup response
3902 */ 3902 */
3903_MHD_EXTERN struct MHD_Response * 3903_MHD_EXTERN struct MHD_Response *
@@ -3948,7 +3948,7 @@ MHD_create_response_from_buffer_with_free_callback (size_t size,
3948 * @param crfc_cls an argument for @a crfc 3948 * @param crfc_cls an argument for @a crfc
3949 * @return NULL on error (i.e. invalid arguments, out of memory) 3949 * @return NULL on error (i.e. invalid arguments, out of memory)
3950 * @note Available since #MHD_VERSION 0x00097302 3950 * @note Available since #MHD_VERSION 0x00097302
3951 * @note 'const' qualifier is used for @a buffer since #MHD_VERSION 0x00097601 3951 * @note 'const' qualifier is used for @a buffer since #MHD_VERSION 0x00097701
3952 * @ingroup response 3952 * @ingroup response
3953 */ 3953 */
3954_MHD_EXTERN struct MHD_Response * 3954_MHD_EXTERN struct MHD_Response *
@@ -4138,7 +4138,7 @@ MHD_create_response_from_iovec (const struct MHD_IoVec *iov,
4138 * @param flags the flags for the new response object 4138 * @param flags the flags for the new response object
4139 * @return NULL on error (i.e. invalid arguments, out of memory), 4139 * @return NULL on error (i.e. invalid arguments, out of memory),
4140 * the pointer to the created response object otherwise 4140 * the pointer to the created response object otherwise
4141 * @note Available since #MHD_VERSION 0x00097601 4141 * @note Available since #MHD_VERSION 0x00097701
4142 * @ingroup response 4142 * @ingroup response
4143 */ 4143 */
4144_MHD_EXTERN struct MHD_Response * 4144_MHD_EXTERN struct MHD_Response *
@@ -4511,7 +4511,7 @@ MHD_destroy_post_processor (struct MHD_PostProcessor *pp);
4511 * @warning While this value is the same as the #MHD_SHA256_DIGEST_SIZE, 4511 * @warning While this value is the same as the #MHD_SHA256_DIGEST_SIZE,
4512 * the calculated digests for SHA-256 and SHA-512/256 are different. 4512 * the calculated digests for SHA-256 and SHA-512/256 are different.
4513 * @sa #MHD_digest_get_hash_size() 4513 * @sa #MHD_digest_get_hash_size()
4514 * @note Available since #MHD_VERSION 0x00097601 4514 * @note Available since #MHD_VERSION 0x00097701
4515 * @ingroup authentication 4515 * @ingroup authentication
4516 */ 4516 */
4517#define MHD_SHA512_256_DIGEST_SIZE 32 4517#define MHD_SHA512_256_DIGEST_SIZE 32
@@ -4521,7 +4521,7 @@ MHD_destroy_post_processor (struct MHD_PostProcessor *pp);
4521 * Used as part of #MHD_DigestAuthAlgo3 values. 4521 * Used as part of #MHD_DigestAuthAlgo3 values.
4522 * 4522 *
4523 * @warning Not used directly by MHD API. 4523 * @warning Not used directly by MHD API.
4524 * @note Available since #MHD_VERSION 0x00097601 4524 * @note Available since #MHD_VERSION 0x00097701
4525 */ 4525 */
4526enum MHD_DigestBaseAlgo 4526enum MHD_DigestBaseAlgo
4527{ 4527{
@@ -4552,14 +4552,14 @@ enum MHD_DigestBaseAlgo
4552/** 4552/**
4553 * The flag indicating non-session algorithm types, 4553 * The flag indicating non-session algorithm types,
4554 * like 'MD5', 'SHA-256' or 'SHA-512-256'. 4554 * like 'MD5', 'SHA-256' or 'SHA-512-256'.
4555 * @note Available since #MHD_VERSION 0x00097601 4555 * @note Available since #MHD_VERSION 0x00097701
4556 */ 4556 */
4557#define MHD_DIGEST_AUTH_ALGO3_NON_SESSION (1 << 6) 4557#define MHD_DIGEST_AUTH_ALGO3_NON_SESSION (1 << 6)
4558 4558
4559/** 4559/**
4560 * The flag indicating session algorithm types, 4560 * The flag indicating session algorithm types,
4561 * like 'MD5-sess', 'SHA-256-sess' or 'SHA-512-256-sess'. 4561 * like 'MD5-sess', 'SHA-256-sess' or 'SHA-512-256-sess'.
4562 * @note Available since #MHD_VERSION 0x00097601 4562 * @note Available since #MHD_VERSION 0x00097701
4563 */ 4563 */
4564#define MHD_DIGEST_AUTH_ALGO3_SESSION (1 << 7) 4564#define MHD_DIGEST_AUTH_ALGO3_SESSION (1 << 7)
4565 4565
@@ -4567,7 +4567,7 @@ enum MHD_DigestBaseAlgo
4567 * Digest algorithm identification 4567 * Digest algorithm identification
4568 * @warning Do not be confused with #MHD_DigestAuthAlgorithm, 4568 * @warning Do not be confused with #MHD_DigestAuthAlgorithm,
4569 * which uses other values! 4569 * which uses other values!
4570 * @note Available since #MHD_VERSION 0x00097601 4570 * @note Available since #MHD_VERSION 0x00097701
4571 */ 4571 */
4572enum MHD_DigestAuthAlgo3 4572enum MHD_DigestAuthAlgo3
4573{ 4573{
@@ -4630,7 +4630,7 @@ enum MHD_DigestAuthAlgo3
4630 * or zero if the input value is not supported or not valid 4630 * or zero if the input value is not supported or not valid
4631 * @sa #MHD_digest_auth_calc_userdigest() 4631 * @sa #MHD_digest_auth_calc_userdigest()
4632 * @sa #MHD_digest_auth_calc_userhash(), #MHD_digest_auth_calc_userhash_hex() 4632 * @sa #MHD_digest_auth_calc_userhash(), #MHD_digest_auth_calc_userhash_hex()
4633 * @note Available since #MHD_VERSION 0x00097601 4633 * @note Available since #MHD_VERSION 0x00097701
4634 * @ingroup authentication 4634 * @ingroup authentication
4635 */ 4635 */
4636_MHD_EXTERN size_t 4636_MHD_EXTERN size_t
@@ -4642,7 +4642,7 @@ MHD_digest_get_hash_size (enum MHD_DigestAuthAlgo3 algo3);
4642 * #MHD_DigestAuthAlgo3 always can be casted to #MHD_DigestAuthMultiAlgo3, but 4642 * #MHD_DigestAuthAlgo3 always can be casted to #MHD_DigestAuthMultiAlgo3, but
4643 * not vice versa. 4643 * not vice versa.
4644 * 4644 *
4645 * @note Available since #MHD_VERSION 0x00097601 4645 * @note Available since #MHD_VERSION 0x00097701
4646 */ 4646 */
4647enum MHD_DigestAuthMultiAlgo3 4647enum MHD_DigestAuthMultiAlgo3
4648{ 4648{
@@ -4773,7 +4773,7 @@ enum MHD_DigestAuthMultiAlgo3
4773 * MHD_NO if @a bin_buf_size is too small or if @a algo3 algorithm is 4773 * MHD_NO if @a bin_buf_size is too small or if @a algo3 algorithm is
4774 * not supported (or external error has occurred, 4774 * not supported (or external error has occurred,
4775 * see #MHD_FEATURE_EXTERN_HASH) 4775 * see #MHD_FEATURE_EXTERN_HASH)
4776 * @note Available since #MHD_VERSION 0x00097601 4776 * @note Available since #MHD_VERSION 0x00097701
4777 * @ingroup authentication 4777 * @ingroup authentication
4778 */ 4778 */
4779_MHD_EXTERN enum MHD_Result 4779_MHD_EXTERN enum MHD_Result
@@ -4820,7 +4820,7 @@ MHD_digest_auth_calc_userhash (enum MHD_DigestAuthAlgo3 algo3,
4820 * MHD_NO if @a bin_buf_size is too small or if @a algo3 algorithm is 4820 * MHD_NO if @a bin_buf_size is too small or if @a algo3 algorithm is
4821 * not supported (or external error has occurred, 4821 * not supported (or external error has occurred,
4822 * see #MHD_FEATURE_EXTERN_HASH). 4822 * see #MHD_FEATURE_EXTERN_HASH).
4823 * @note Available since #MHD_VERSION 0x00097601 4823 * @note Available since #MHD_VERSION 0x00097701
4824 * @ingroup authentication 4824 * @ingroup authentication
4825 */ 4825 */
4826_MHD_EXTERN enum MHD_Result 4826_MHD_EXTERN enum MHD_Result
@@ -4843,7 +4843,7 @@ MHD_digest_auth_calc_userhash_hex (enum MHD_DigestAuthAlgo3 algo3,
4843 * * (value >= MHD_DIGEST_AUTH_UNAME_TYPE_STANDARD) is true if username is 4843 * * (value >= MHD_DIGEST_AUTH_UNAME_TYPE_STANDARD) is true if username is
4844 * provided in clear text (not userhash matching is needed) 4844 * provided in clear text (not userhash matching is needed)
4845 * 4845 *
4846 * @note Available since #MHD_VERSION 0x00097601 4846 * @note Available since #MHD_VERSION 0x00097701
4847 */ 4847 */
4848enum MHD_DigestAuthUsernameType 4848enum MHD_DigestAuthUsernameType
4849{ 4849{
@@ -4886,7 +4886,7 @@ enum MHD_DigestAuthUsernameType
4886 4886
4887/** 4887/**
4888 * The QOP ('quality of protection') types. 4888 * The QOP ('quality of protection') types.
4889 * @note Available since #MHD_VERSION 0x00097601 4889 * @note Available since #MHD_VERSION 0x00097701
4890 */ 4890 */
4891enum MHD_DigestAuthQOP 4891enum MHD_DigestAuthQOP
4892{ 4892{
@@ -4925,7 +4925,7 @@ enum MHD_DigestAuthQOP
4925 * #MHD_DigestAuthQOP always can be casted to #MHD_DigestAuthMultiQOP, but 4925 * #MHD_DigestAuthQOP always can be casted to #MHD_DigestAuthMultiQOP, but
4926 * not vice versa. 4926 * not vice versa.
4927 * 4927 *
4928 * @note Available since #MHD_VERSION 0x00097601 4928 * @note Available since #MHD_VERSION 0x00097701
4929 */ 4929 */
4930enum MHD_DigestAuthMultiQOP 4930enum MHD_DigestAuthMultiQOP
4931{ 4931{
@@ -4976,7 +4976,7 @@ enum MHD_DigestAuthMultiQOP
4976 4976
4977/** 4977/**
4978 * The invalid value of 'nc' parameter in client Digest Authorization header. 4978 * The invalid value of 'nc' parameter in client Digest Authorization header.
4979 * @note Available since #MHD_VERSION 0x00097601 4979 * @note Available since #MHD_VERSION 0x00097701
4980 */ 4980 */
4981#define MHD_DIGEST_AUTH_INVALID_NC_VALUE (0) 4981#define MHD_DIGEST_AUTH_INVALID_NC_VALUE (0)
4982 4982
@@ -4988,7 +4988,7 @@ enum MHD_DigestAuthMultiQOP
4988 * 4988 *
4989 * Application may modify buffers as needed until #MHD_free() is called for 4989 * Application may modify buffers as needed until #MHD_free() is called for
4990 * pointer to this structure 4990 * pointer to this structure
4991 * @note Available since #MHD_VERSION 0x00097601 4991 * @note Available since #MHD_VERSION 0x00097701
4992 */ 4992 */
4993struct MHD_DigestAuthInfo 4993struct MHD_DigestAuthInfo
4994{ 4994{
@@ -5111,7 +5111,7 @@ struct MHD_DigestAuthInfo
5111 * a pointer to the structure with information if the valid request 5111 * a pointer to the structure with information if the valid request
5112 * header found, free using #MHD_free(). 5112 * header found, free using #MHD_free().
5113 * @sa #MHD_digest_auth_get_username3() 5113 * @sa #MHD_digest_auth_get_username3()
5114 * @note Available since #MHD_VERSION 0x00097601 5114 * @note Available since #MHD_VERSION 0x00097701
5115 * @ingroup authentication 5115 * @ingroup authentication
5116 */ 5116 */
5117_MHD_EXTERN struct MHD_DigestAuthInfo * 5117_MHD_EXTERN struct MHD_DigestAuthInfo *
@@ -5126,7 +5126,7 @@ MHD_digest_auth_get_request_info3 (struct MHD_Connection *connection);
5126 * 5126 *
5127 * Application may modify buffers as needed until #MHD_free() is called for 5127 * Application may modify buffers as needed until #MHD_free() is called for
5128 * pointer to this structure 5128 * pointer to this structure
5129 * @note Available since #MHD_VERSION 0x00097601 5129 * @note Available since #MHD_VERSION 0x00097701
5130 */ 5130 */
5131struct MHD_DigestAuthUsernameInfo 5131struct MHD_DigestAuthUsernameInfo
5132{ 5132{
@@ -5205,7 +5205,7 @@ struct MHD_DigestAuthUsernameInfo
5205 * a pointer structure with information if the valid request header 5205 * a pointer structure with information if the valid request header
5206 * found, free using #MHD_free(). 5206 * found, free using #MHD_free().
5207 * @sa #MHD_digest_auth_get_request_info3() provides more complete information 5207 * @sa #MHD_digest_auth_get_request_info3() provides more complete information
5208 * @note Available since #MHD_VERSION 0x00097601 5208 * @note Available since #MHD_VERSION 0x00097701
5209 * @ingroup authentication 5209 * @ingroup authentication
5210 */ 5210 */
5211_MHD_EXTERN struct MHD_DigestAuthUsernameInfo * 5211_MHD_EXTERN struct MHD_DigestAuthUsernameInfo *
@@ -5217,7 +5217,7 @@ MHD_digest_auth_get_username3 (struct MHD_Connection *connection);
5217 * 5217 *
5218 * All error values are zero or negative. 5218 * All error values are zero or negative.
5219 * 5219 *
5220 * @note Available since #MHD_VERSION 0x00097601 5220 * @note Available since #MHD_VERSION 0x00097701
5221 */ 5221 */
5222enum MHD_DigestAuthResult 5222enum MHD_DigestAuthResult
5223{ 5223{
@@ -5330,7 +5330,7 @@ enum MHD_DigestAuthResult
5330 * by the client is not allowed by this parameter 5330 * by the client is not allowed by this parameter
5331 * @return #MHD_DAUTH_OK if authenticated, 5331 * @return #MHD_DAUTH_OK if authenticated,
5332 * the error code otherwise 5332 * the error code otherwise
5333 * @note Available since #MHD_VERSION 0x00097601 5333 * @note Available since #MHD_VERSION 0x00097701
5334 * @ingroup authentication 5334 * @ingroup authentication
5335 */ 5335 */
5336_MHD_EXTERN enum MHD_DigestAuthResult 5336_MHD_EXTERN enum MHD_DigestAuthResult
@@ -5374,7 +5374,7 @@ MHD_digest_auth_check3 (struct MHD_Connection *connection,
5374 * not supported (or external error has occurred, 5374 * not supported (or external error has occurred,
5375 * see #MHD_FEATURE_EXTERN_HASH). 5375 * see #MHD_FEATURE_EXTERN_HASH).
5376 * @sa #MHD_digest_auth_check_digest3() 5376 * @sa #MHD_digest_auth_check_digest3()
5377 * @note Available since #MHD_VERSION 0x00097601 5377 * @note Available since #MHD_VERSION 0x00097701
5378 * @ingroup authentication 5378 * @ingroup authentication
5379 */ 5379 */
5380_MHD_EXTERN enum MHD_Result 5380_MHD_EXTERN enum MHD_Result
@@ -5424,7 +5424,7 @@ MHD_digest_auth_calc_userdigest (enum MHD_DigestAuthAlgo3 algo3,
5424 * @return #MHD_DAUTH_OK if authenticated, 5424 * @return #MHD_DAUTH_OK if authenticated,
5425 * the error code otherwise 5425 * the error code otherwise
5426 * @sa #MHD_digest_auth_calc_userdigest() 5426 * @sa #MHD_digest_auth_calc_userdigest()
5427 * @note Available since #MHD_VERSION 0x00097601 5427 * @note Available since #MHD_VERSION 0x00097701
5428 * @ingroup authentication 5428 * @ingroup authentication
5429 */ 5429 */
5430_MHD_EXTERN enum MHD_DigestAuthResult 5430_MHD_EXTERN enum MHD_DigestAuthResult
@@ -5494,7 +5494,7 @@ MHD_digest_auth_check_digest3 (struct MHD_Connection *connection,
5494 * added, indicating for the client that UTF-8 encoding 5494 * added, indicating for the client that UTF-8 encoding
5495 * is preferred 5495 * is preferred
5496 * @return #MHD_YES on success, #MHD_NO otherwise 5496 * @return #MHD_YES on success, #MHD_NO otherwise
5497 * @note Available since #MHD_VERSION 0x00097601 5497 * @note Available since #MHD_VERSION 0x00097701
5498 * @ingroup authentication 5498 * @ingroup authentication
5499 */ 5499 */
5500_MHD_EXTERN enum MHD_Result 5500_MHD_EXTERN enum MHD_Result
@@ -5783,7 +5783,7 @@ struct MHD_BasicAuthInfo
5783 * current request, or 5783 * current request, or
5784 * pointer to structure with username and password, which must be 5784 * pointer to structure with username and password, which must be
5785 * freed by #MHD_free(). 5785 * freed by #MHD_free().
5786 * @note Available since #MHD_VERSION 0x00097601 5786 * @note Available since #MHD_VERSION 0x00097701
5787 * @ingroup authentication 5787 * @ingroup authentication
5788 */ 5788 */
5789_MHD_EXTERN struct MHD_BasicAuthInfo * 5789_MHD_EXTERN struct MHD_BasicAuthInfo *
@@ -5827,7 +5827,7 @@ MHD_basic_auth_get_username_password (struct MHD_Connection *connection,
5827 * @param response the response object to modify and queue; the NULL 5827 * @param response the response object to modify and queue; the NULL
5828 * is tolerated 5828 * is tolerated
5829 * @return #MHD_YES on success, #MHD_NO otherwise 5829 * @return #MHD_YES on success, #MHD_NO otherwise
5830 * @note Available since #MHD_VERSION 0x00097601 5830 * @note Available since #MHD_VERSION 0x00097701
5831 * @ingroup authentication 5831 * @ingroup authentication
5832 */ 5832 */
5833_MHD_EXTERN enum MHD_Result 5833_MHD_EXTERN enum MHD_Result
@@ -6174,17 +6174,17 @@ enum MHD_FEATURE
6174 /** 6174 /**
6175 * Get whether automatic parsing of HTTP Cookie header is supported. 6175 * Get whether automatic parsing of HTTP Cookie header is supported.
6176 * If disabled, no MHD_COOKIE_KIND will be generated by MHD. 6176 * If disabled, no MHD_COOKIE_KIND will be generated by MHD.
6177 * MHD versions before 0x00097601 always support cookie parsing. 6177 * MHD versions before 0x00097701 always support cookie parsing.
6178 * @note Available since #MHD_VERSION 0x00097601 6178 * @note Available since #MHD_VERSION 0x00097701
6179 */ 6179 */
6180 MHD_FEATURE_HTTPS_COOKIE_PARSING = 24, 6180 MHD_FEATURE_HTTPS_COOKIE_PARSING = 24,
6181 6181
6182 /** 6182 /**
6183 * Get whether the early version the Digest Authorization (RFC 2069) is 6183 * Get whether the early version the Digest Authorization (RFC 2069) is
6184 * supported (digest authorisation without QOP parameter). 6184 * supported (digest authorisation without QOP parameter).
6185 * Since #MHD_VERSION 0x00097601 it is always supported if Digest Auth 6185 * Since #MHD_VERSION 0x00097701 it is always supported if Digest Auth
6186 * module is built. 6186 * module is built.
6187 * @note Available since #MHD_VERSION 0x00097601 6187 * @note Available since #MHD_VERSION 0x00097701
6188 */ 6188 */
6189 MHD_FEATURE_DIGEST_AUTH_RFC2069 = 25, 6189 MHD_FEATURE_DIGEST_AUTH_RFC2069 = 25,
6190 6190
@@ -6193,7 +6193,7 @@ enum MHD_FEATURE
6193 * Authorization. 6193 * Authorization.
6194 * Currently it is always supported if Digest Auth module is built 6194 * Currently it is always supported if Digest Auth module is built
6195 * unless manually disabled in a custom build. 6195 * unless manually disabled in a custom build.
6196 * @note Available since #MHD_VERSION 0x00097601 6196 * @note Available since #MHD_VERSION 0x00097701
6197 */ 6197 */
6198 MHD_FEATURE_DIGEST_AUTH_MD5 = 26, 6198 MHD_FEATURE_DIGEST_AUTH_MD5 = 26,
6199 6199
@@ -6202,16 +6202,16 @@ enum MHD_FEATURE
6202 * Authorization. 6202 * Authorization.
6203 * It it always supported since #MHD_VERSION 0x00096200 if Digest Auth 6203 * It it always supported since #MHD_VERSION 0x00096200 if Digest Auth
6204 * module is built unless manually disabled in a custom build. 6204 * module is built unless manually disabled in a custom build.
6205 * @note Available since #MHD_VERSION 0x00097601 6205 * @note Available since #MHD_VERSION 0x00097701
6206 */ 6206 */
6207 MHD_FEATURE_DIGEST_AUTH_SHA256 = 27, 6207 MHD_FEATURE_DIGEST_AUTH_SHA256 = 27,
6208 6208
6209 /** 6209 /**
6210 * Get whether the SHA-512/256-based hashing algorithms are supported 6210 * Get whether the SHA-512/256-based hashing algorithms are supported
6211 * for Digest Authorization. 6211 * for Digest Authorization.
6212 * It it always supported since #MHD_VERSION 0x00097601 if Digest Auth 6212 * It it always supported since #MHD_VERSION 0x00097701 if Digest Auth
6213 * module is built unless manually disabled in a custom build. 6213 * module is built unless manually disabled in a custom build.
6214 * @note Available since #MHD_VERSION 0x00097601 6214 * @note Available since #MHD_VERSION 0x00097701
6215 */ 6215 */
6216 MHD_FEATURE_DIGEST_AUTH_SHA512_256 = 28, 6216 MHD_FEATURE_DIGEST_AUTH_SHA512_256 = 28,
6217 6217
@@ -6219,7 +6219,7 @@ enum MHD_FEATURE
6219 * Get whether QOP with value 'auth-int' (authentication with integrity 6219 * Get whether QOP with value 'auth-int' (authentication with integrity
6220 * protection) is supported for Digest Authorization. 6220 * protection) is supported for Digest Authorization.
6221 * Currently it is always not supported. 6221 * Currently it is always not supported.
6222 * @note Available since #MHD_VERSION 0x00097601 6222 * @note Available since #MHD_VERSION 0x00097701
6223 */ 6223 */
6224 MHD_FEATURE_DIGEST_AUTH_AUTH_INT = 29, 6224 MHD_FEATURE_DIGEST_AUTH_AUTH_INT = 29,
6225 6225
@@ -6227,15 +6227,15 @@ enum MHD_FEATURE
6227 * Get whether 'session' algorithms (like 'MD5-sess') are supported for Digest 6227 * Get whether 'session' algorithms (like 'MD5-sess') are supported for Digest
6228 * Authorization. 6228 * Authorization.
6229 * Currently it is always not supported. 6229 * Currently it is always not supported.
6230 * @note Available since #MHD_VERSION 0x00097601 6230 * @note Available since #MHD_VERSION 0x00097701
6231 */ 6231 */
6232 MHD_FEATURE_DIGEST_AUTH_ALGO_SESSION = 30, 6232 MHD_FEATURE_DIGEST_AUTH_ALGO_SESSION = 30,
6233 6233
6234 /** 6234 /**
6235 * Get whether 'userhash' is supported for Digest Authorization. 6235 * Get whether 'userhash' is supported for Digest Authorization.
6236 * It is always supported since #MHD_VERSION 0x00097601 if Digest Auth 6236 * It is always supported since #MHD_VERSION 0x00097701 if Digest Auth
6237 * module is built. 6237 * module is built.
6238 * @note Available since #MHD_VERSION 0x00097601 6238 * @note Available since #MHD_VERSION 0x00097701
6239 */ 6239 */
6240 MHD_FEATURE_DIGEST_AUTH_USERHASH = 31, 6240 MHD_FEATURE_DIGEST_AUTH_USERHASH = 31,
6241 6241
@@ -6249,7 +6249,7 @@ enum MHD_FEATURE
6249 * potentially may fail even with valid input because of out-of-memory error 6249 * potentially may fail even with valid input because of out-of-memory error
6250 * or crypto accelerator device failure, however in practice such fails are 6250 * or crypto accelerator device failure, however in practice such fails are
6251 * unlikely. 6251 * unlikely.
6252 * @note Available since #MHD_VERSION 0x00097601 6252 * @note Available since #MHD_VERSION 0x00097701
6253 */ 6253 */
6254 MHD_FEATURE_EXTERN_HASH = 32, 6254 MHD_FEATURE_EXTERN_HASH = 32,
6255 6255
@@ -6257,7 +6257,7 @@ enum MHD_FEATURE
6257 * Get whether MHD was built with asserts enabled. 6257 * Get whether MHD was built with asserts enabled.
6258 * For debug builds the error log is always enabled even if #MHD_USE_ERROR_LOG 6258 * For debug builds the error log is always enabled even if #MHD_USE_ERROR_LOG
6259 * is not specified for daemon. 6259 * is not specified for daemon.
6260 * @note Available since #MHD_VERSION 0x00097601 6260 * @note Available since #MHD_VERSION 0x00097701
6261 */ 6261 */
6262 MHD_FEATURE_DEBUG_BUILD = 33 6262 MHD_FEATURE_DEBUG_BUILD = 33
6263}; 6263};
diff --git a/src/microhttpd/basicauth.c b/src/microhttpd/basicauth.c
index 78818a95..de2cd45c 100644
--- a/src/microhttpd/basicauth.c
+++ b/src/microhttpd/basicauth.c
@@ -42,7 +42,7 @@
42 * current request, or 42 * current request, or
43 * pointer to structure with username and password, which must be 43 * pointer to structure with username and password, which must be
44 * freed by #MHD_free(). 44 * freed by #MHD_free().
45 * @note Available since #MHD_VERSION 0x00097517 45 * @note Available since #MHD_VERSION 0x00097701
46 * @ingroup authentication 46 * @ingroup authentication
47 */ 47 */
48_MHD_EXTERN struct MHD_BasicAuthInfo * 48_MHD_EXTERN struct MHD_BasicAuthInfo *
@@ -216,7 +216,7 @@ MHD_basic_auth_get_username_password (struct MHD_Connection *connection,
216 * @param response the response object to modify and queue; the NULL 216 * @param response the response object to modify and queue; the NULL
217 * is tolerated 217 * is tolerated
218 * @return #MHD_YES on success, #MHD_NO otherwise 218 * @return #MHD_YES on success, #MHD_NO otherwise
219 * @note Available since #MHD_VERSION 0x00097516 219 * @note Available since #MHD_VERSION 0x00097701
220 * @ingroup authentication 220 * @ingroup authentication
221 */ 221 */
222_MHD_EXTERN enum MHD_Result 222_MHD_EXTERN enum MHD_Result
diff --git a/src/microhttpd/daemon.c b/src/microhttpd/daemon.c
index df4038fd..37df86d1 100644
--- a/src/microhttpd/daemon.c
+++ b/src/microhttpd/daemon.c
@@ -4061,7 +4061,7 @@ MHD_get_timeout (struct MHD_Daemon *daemon,
4061 * timeout (in milliseconds) 4061 * timeout (in milliseconds)
4062 * @return #MHD_YES if timeout value has been set, 4062 * @return #MHD_YES if timeout value has been set,
4063 * #MHD_NO if timeouts are not used and no data processing is pending. 4063 * #MHD_NO if timeouts are not used and no data processing is pending.
4064 * @note Available since #MHD_VERSION 0x00097508 4064 * @note Available since #MHD_VERSION 0x00097701
4065 * @ingroup event 4065 * @ingroup event
4066 */ 4066 */
4067_MHD_EXTERN enum MHD_Result 4067_MHD_EXTERN enum MHD_Result
@@ -4175,7 +4175,7 @@ MHD_get_timeout64 (struct MHD_Daemon *daemon,
4175 * activity for indefinite amount of time, 4175 * activity for indefinite amount of time,
4176 * otherwise returned value is the the maximum amount of millisecond 4176 * otherwise returned value is the the maximum amount of millisecond
4177 * that external polling function must wait for the activity of FDs. 4177 * that external polling function must wait for the activity of FDs.
4178 * @note Available since #MHD_VERSION 0x00097509 4178 * @note Available since #MHD_VERSION 0x00097701
4179 * @ingroup event 4179 * @ingroup event
4180 */ 4180 */
4181_MHD_EXTERN int64_t 4181_MHD_EXTERN int64_t
@@ -4227,7 +4227,7 @@ MHD_get_timeout64s (struct MHD_Daemon *daemon)
4227 * otherwise returned value is the the maximum amount of millisecond 4227 * otherwise returned value is the the maximum amount of millisecond
4228 * (capped at INT_MAX) that external polling function must wait 4228 * (capped at INT_MAX) that external polling function must wait
4229 * for the activity of FDs. 4229 * for the activity of FDs.
4230 * @note Available since #MHD_VERSION 0x00097510 4230 * @note Available since #MHD_VERSION 0x00097701
4231 * @ingroup event 4231 * @ingroup event
4232 */ 4232 */
4233_MHD_EXTERN int 4233_MHD_EXTERN int
@@ -8606,7 +8606,7 @@ MHD_get_version (void)
8606 * 8606 *
8607 * @return version binary value, e.g. "0x00090900" (#MHD_VERSION of 8607 * @return version binary value, e.g. "0x00090900" (#MHD_VERSION of
8608 * compiled MHD binary) 8608 * compiled MHD binary)
8609 * @note Available since #MHD_VERSION 0x00097544 8609 * @note Available since #MHD_VERSION 0x00097601
8610 * @ingroup specialized 8610 * @ingroup specialized
8611 */ 8611 */
8612_MHD_EXTERN uint32_t 8612_MHD_EXTERN uint32_t
diff --git a/src/microhttpd/digestauth.c b/src/microhttpd/digestauth.c
index 5505118c..ed2610c2 100644
--- a/src/microhttpd/digestauth.c
+++ b/src/microhttpd/digestauth.c
@@ -288,7 +288,7 @@ digest_get_hash_size (enum MHD_DigestAuthAlgo3 algo3)
288 * or zero if the input value is not supported or not valid 288 * or zero if the input value is not supported or not valid
289 * @sa #MHD_digest_auth_calc_userdigest() 289 * @sa #MHD_digest_auth_calc_userdigest()
290 * @sa #MHD_digest_auth_calc_userhash(), #MHD_digest_auth_calc_userhash_hex() 290 * @sa #MHD_digest_auth_calc_userhash(), #MHD_digest_auth_calc_userhash_hex()
291 * @note Available since #MHD_VERSION 0x00097526 291 * @note Available since #MHD_VERSION 0x00097701
292 * @ingroup authentication 292 * @ingroup authentication
293 */ 293 */
294_MHD_EXTERN size_t 294_MHD_EXTERN size_t
@@ -1257,7 +1257,7 @@ get_rq_nc (const struct MHD_RqDAuth *params,
1257 * @return NULL no valid Digest Authorization header is used in the request; 1257 * @return NULL no valid Digest Authorization header is used in the request;
1258 * a pointer structure with information if the valid request header 1258 * a pointer structure with information if the valid request header
1259 * found, free using #MHD_free(). 1259 * found, free using #MHD_free().
1260 * @note Available since #MHD_VERSION 0x00097519 1260 * @note Available since #MHD_VERSION 0x00097701
1261 * @ingroup authentication 1261 * @ingroup authentication
1262 */ 1262 */
1263_MHD_EXTERN struct MHD_DigestAuthInfo * 1263_MHD_EXTERN struct MHD_DigestAuthInfo *
@@ -1345,7 +1345,7 @@ MHD_digest_auth_get_request_info3 (struct MHD_Connection *connection)
1345 * a pointer structure with information if the valid request header 1345 * a pointer structure with information if the valid request header
1346 * found, free using #MHD_free(). 1346 * found, free using #MHD_free().
1347 * @sa MHD_digest_auth_get_request_info3() provides more complete information 1347 * @sa MHD_digest_auth_get_request_info3() provides more complete information
1348 * @note Available since #MHD_VERSION 0x00097519 1348 * @note Available since #MHD_VERSION 0x00097701
1349 * @ingroup authentication 1349 * @ingroup authentication
1350 */ 1350 */
1351_MHD_EXTERN struct MHD_DigestAuthUsernameInfo * 1351_MHD_EXTERN struct MHD_DigestAuthUsernameInfo *
@@ -1922,7 +1922,7 @@ calc_userdigest (struct DigestAlgorithm *da,
1922 * not supported (or external error has occurred, 1922 * not supported (or external error has occurred,
1923 * see #MHD_FEATURE_EXTERN_HASH). 1923 * see #MHD_FEATURE_EXTERN_HASH).
1924 * @sa #MHD_digest_auth_check_digest3() 1924 * @sa #MHD_digest_auth_check_digest3()
1925 * @note Available since #MHD_VERSION 0x00097535 1925 * @note Available since #MHD_VERSION 0x00097701
1926 * @ingroup authentication 1926 * @ingroup authentication
1927 */ 1927 */
1928_MHD_EXTERN enum MHD_Result 1928_MHD_EXTERN enum MHD_Result
@@ -2026,7 +2026,7 @@ calc_userhash (struct DigestAlgorithm *da,
2026 * MHD_NO if @a bin_buf_size is too small or if @a algo3 algorithm is 2026 * MHD_NO if @a bin_buf_size is too small or if @a algo3 algorithm is
2027 * not supported (or external error has occurred, 2027 * not supported (or external error has occurred,
2028 * see #MHD_FEATURE_EXTERN_HASH) 2028 * see #MHD_FEATURE_EXTERN_HASH)
2029 * @note Available since #MHD_VERSION 0x00097535 2029 * @note Available since #MHD_VERSION 0x00097701
2030 * @ingroup authentication 2030 * @ingroup authentication
2031 */ 2031 */
2032_MHD_EXTERN enum MHD_Result 2032_MHD_EXTERN enum MHD_Result
@@ -2100,7 +2100,7 @@ MHD_digest_auth_calc_userhash (enum MHD_DigestAuthAlgo3 algo3,
2100 * MHD_NO if @a bin_buf_size is too small or if @a algo3 algorithm is 2100 * MHD_NO if @a bin_buf_size is too small or if @a algo3 algorithm is
2101 * not supported (or external error has occurred, 2101 * not supported (or external error has occurred,
2102 * see #MHD_FEATURE_EXTERN_HASH). 2102 * see #MHD_FEATURE_EXTERN_HASH).
2103 * @note Available since #MHD_VERSION 0x00097535 2103 * @note Available since #MHD_VERSION 0x00097701
2104 * @ingroup authentication 2104 * @ingroup authentication
2105 */ 2105 */
2106_MHD_EXTERN enum MHD_Result 2106_MHD_EXTERN enum MHD_Result
@@ -3146,7 +3146,7 @@ MHD_digest_auth_check (struct MHD_Connection *connection,
3146 * by the client is not allowed by this parameter 3146 * by the client is not allowed by this parameter
3147 * @return #MHD_DAUTH_OK if authenticated, 3147 * @return #MHD_DAUTH_OK if authenticated,
3148 * the error code otherwise 3148 * the error code otherwise
3149 * @note Available since #MHD_VERSION 0x00097528 3149 * @note Available since #MHD_VERSION 0x00097701
3150 * @ingroup authentication 3150 * @ingroup authentication
3151 */ 3151 */
3152_MHD_EXTERN enum MHD_DigestAuthResult 3152_MHD_EXTERN enum MHD_DigestAuthResult
@@ -3211,7 +3211,7 @@ MHD_digest_auth_check3 (struct MHD_Connection *connection,
3211 * @return #MHD_DAUTH_OK if authenticated, 3211 * @return #MHD_DAUTH_OK if authenticated,
3212 * the error code otherwise 3212 * the error code otherwise
3213 * @sa #MHD_digest_auth_calc_userdigest() 3213 * @sa #MHD_digest_auth_calc_userdigest()
3214 * @note Available since #MHD_VERSION 0x00097528 3214 * @note Available since #MHD_VERSION 0x00097701
3215 * @ingroup authentication 3215 * @ingroup authentication
3216 */ 3216 */
3217_MHD_EXTERN enum MHD_DigestAuthResult 3217_MHD_EXTERN enum MHD_DigestAuthResult
@@ -3474,7 +3474,7 @@ MHD_digest_auth_check_digest (struct MHD_Connection *connection,
3474 * added, indicating for the client that UTF-8 encoding 3474 * added, indicating for the client that UTF-8 encoding
3475 * is preferred 3475 * is preferred
3476 * @return #MHD_YES on success, #MHD_NO otherwise 3476 * @return #MHD_YES on success, #MHD_NO otherwise
3477 * @note Available since #MHD_VERSION 0x00097526 3477 * @note Available since #MHD_VERSION 0x00097701
3478 * @ingroup authentication 3478 * @ingroup authentication
3479 */ 3479 */
3480static enum MHD_Result 3480static enum MHD_Result
@@ -3923,7 +3923,7 @@ queue_auth_required_response3_inner (struct MHD_Connection *connection,
3923 * added, indicating for the client that UTF-8 encoding 3923 * added, indicating for the client that UTF-8 encoding
3924 * is preferred 3924 * is preferred
3925 * @return #MHD_YES on success, #MHD_NO otherwise 3925 * @return #MHD_YES on success, #MHD_NO otherwise
3926 * @note Available since #MHD_VERSION 0x00097526 3926 * @note Available since #MHD_VERSION 0x00097701
3927 * @ingroup authentication 3927 * @ingroup authentication
3928 */ 3928 */
3929_MHD_EXTERN enum MHD_Result 3929_MHD_EXTERN enum MHD_Result
diff --git a/src/microhttpd/response.c b/src/microhttpd/response.c
index d125ea24..277247cc 100644
--- a/src/microhttpd/response.c
+++ b/src/microhttpd/response.c
@@ -1500,7 +1500,7 @@ MHD_create_response_from_buffer (size_t size,
1500 * @param buffer the buffer with the data for the response body, can be NULL 1500 * @param buffer the buffer with the data for the response body, can be NULL
1501 * if @a size is zero 1501 * if @a size is zero
1502 * @return NULL on error (i.e. invalid arguments, out of memory) 1502 * @return NULL on error (i.e. invalid arguments, out of memory)
1503 * @note Available since #MHD_VERSION 0x00097506 1503 * @note Available since #MHD_VERSION 0x00097701
1504 * @ingroup response 1504 * @ingroup response
1505 */ 1505 */
1506_MHD_EXTERN struct MHD_Response * 1506_MHD_EXTERN struct MHD_Response *
@@ -1533,7 +1533,7 @@ MHD_create_response_from_buffer_static (size_t size,
1533 * @param buffer the buffer with the data for the response body, can be NULL 1533 * @param buffer the buffer with the data for the response body, can be NULL
1534 * if @a size is zero 1534 * if @a size is zero
1535 * @return NULL on error (i.e. invalid arguments, out of memory) 1535 * @return NULL on error (i.e. invalid arguments, out of memory)
1536 * @note Available since #MHD_VERSION 0x00097507 1536 * @note Available since #MHD_VERSION 0x00097701
1537 * @ingroup response 1537 * @ingroup response
1538 */ 1538 */
1539_MHD_EXTERN struct MHD_Response * 1539_MHD_EXTERN struct MHD_Response *
@@ -1620,7 +1620,7 @@ MHD_create_response_from_buffer_with_free_callback (size_t size,
1620 * @param crfc_cls an argument for @a crfc 1620 * @param crfc_cls an argument for @a crfc
1621 * @return NULL on error (i.e. invalid arguments, out of memory) 1621 * @return NULL on error (i.e. invalid arguments, out of memory)
1622 * @note Available since #MHD_VERSION 0x00097302 1622 * @note Available since #MHD_VERSION 0x00097302
1623 * @note 'const' qualifier is used for @a buffer since #MHD_VERSION 0x00097504 1623 * @note 'const' qualifier is used for @a buffer since #MHD_VERSION 0x00097701
1624 * @ingroup response 1624 * @ingroup response
1625 */ 1625 */
1626_MHD_EXTERN struct MHD_Response * 1626_MHD_EXTERN struct MHD_Response *
@@ -1819,7 +1819,7 @@ MHD_create_response_from_iovec (const struct MHD_IoVec *iov,
1819 * @param flags the flags for the new response object 1819 * @param flags the flags for the new response object
1820 * @return NULL on error (i.e. invalid arguments, out of memory), 1820 * @return NULL on error (i.e. invalid arguments, out of memory),
1821 * the pointer to the created response object otherwise 1821 * the pointer to the created response object otherwise
1822 * @note Available since #MHD_VERSION 0x00097503 1822 * @note Available since #MHD_VERSION 0x00097701
1823 * @ingroup response 1823 * @ingroup response
1824 */ 1824 */
1825_MHD_EXTERN struct MHD_Response * 1825_MHD_EXTERN struct MHD_Response *