Bump version numbers as v0.9.77 was released on parallel branch

This commit is contained in:
Evgeny Grin (Karlson2k)
2023-06-06 22:56:36 +03:00
parent d17b6cb79d
commit ddfa808bb4
6 changed files with 135 additions and 74 deletions
+61
View File
@@ -1,3 +1,64 @@
Sun 28 May 2023 18:00:00 MSK
Released GNU libmicrohttpd 0.9.77.
This is mostly a bugfix release.
This version created by taking patches from the current development
branch and back-porting them on top of version 0.9.76.
The most notable changes are: some improvements for Digest and Basic
authorizations, fixed efficiency for TLS upgraded connections, fixed
processing of folded headers in requests, fixed functionality with
blocking sockets, improved and fixed internal test-suite.
The more detailed list of the important changes:
API changes:
+ Added new function MHD_get_version_bin().
Improvements and enhancements:
* Digest Auth: changed algorithm identifiers in server generated
headers from "md5" / "sha-256" to "MD5" / "SHA-256" to better match
RFC (while clients should use caseless matching).
* Improved Base64 decoding by new implementation with robust input
data validation checks.
* Improved configure for cross-compiling, for better compatibility
with POSIX and for better compatibility with the latest compiler
versions.
* New internal tests: for Base64 decoding, Basic Auth and folded
headers.
* Supported new libcurl API in tests to mute deprecation warnings.
* Supported ARM and ARM64 for VC compilers.
Functionality changes:
* any negative number returned by response data generation callback
function is treated as an error. Previously negative values except
predefined error codes could produce undefined behaviour.
* Added handling of "DEBUG" preprocessor macro as an alias of "_DEBUG".
Fixes:
# Fixed functionality with blocking sockets.
# Fixed very inefficient data pumping for upgraded TLS connections.
# Fixed processing of folded headers in the requests.
# Fixed data races when closing upgraded connection.
# Removed duplication of "Connection: upgrade" header.
# Digest auth: fixed thread sync to avoid "stale hash" results.
# Fixed harmless unwanted extra data processing resulting in triggering
of the assert.
# Fixed tests for LTO.
# Removed removed non-portable functions in examples.
# Fixed delayed call of connection notification callback in
thread-per-connection mode.
# Fixed Address Sanitizer unpoison of memory when memory pool is
destroyed. This fixed periodic ASAN error when used for a long time
with the sanitizer.
# Fixed compiler warnings in library code, examples, tests and configure
checks.
# New TLS certificates for test-suite: all with SAN fields and SHA-256
hash.
# Tests: fixed tests on Darwin 22.x (Ventura).
# Tests: redesigned one tests group to avoid stress-testing of the OS.
-- Evgeny Grin (Karlson2k)
Sun 26 Feb 2023 17:49:30 CET Sun 26 Feb 2023 17:49:30 CET
Released GNU libmicrohttpd 0.9.76 hotfix. -CG Released GNU libmicrohttpd 0.9.76 hotfix. -CG
+54 -54
View File
@@ -1,7 +1,7 @@
/* /*
This file is part of libmicrohttpd This file is part of libmicrohttpd
Copyright (C) 2006-2021 Christian Grothoff (and other contributing authors) Copyright (C) 2006-2021 Christian Grothoff (and other contributing authors)
Copyright (C) 2014-2022 Evgeny Grin (Karlson2k) Copyright (C) 2014-2023 Evgeny Grin (Karlson2k)
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
@@ -96,7 +96,7 @@ extern "C"
* they are parsed as decimal numbers. * they are parsed as decimal numbers.
* Example: 0x01093001 = 1.9.30-1. * Example: 0x01093001 = 1.9.30-1.
*/ */
#define MHD_VERSION 0x00097601 #define MHD_VERSION 0x00097701
/* If generic headers don't work on your platform, include headers /* If generic headers don't work on your platform, include headers
which define 'va_list', 'size_t', 'ssize_t', 'intptr_t', 'off_t', which define 'va_list', 'size_t', 'ssize_t', 'intptr_t', 'off_t',
@@ -1550,7 +1550,7 @@ typedef int
* #MHD_digest_auth_check3() (and similar functions) to check nonce by * #MHD_digest_auth_check3() (and similar functions) to check nonce by
* re-generating it again with the same parameters, which is CPU-intensive * re-generating it again with the same parameters, which is CPU-intensive
* operation. * operation.
* @note Available since #MHD_VERSION 0x00097601 * @note Available since #MHD_VERSION 0x00097701
*/ */
enum MHD_DAuthBindNonce enum MHD_DAuthBindNonce
{ {
@@ -1583,7 +1583,7 @@ enum MHD_DAuthBindNonce
* RFC 7616 allows clients to re-use server-generated nonces for any URI * RFC 7616 allows clients to re-use server-generated nonces for any URI
* in the same "protection space" which by default consists of all server * in the same "protection space" which by default consists of all server
* URIs. * URIs.
* Before #MHD_VERSION 0x00097601 this was default (and only supported) * Before #MHD_VERSION 0x00097701 this was default (and only supported)
* nonce bind type. * nonce bind type.
*/ */
MHD_DAUTH_BIND_NONCE_URI = 1 << 1, MHD_DAUTH_BIND_NONCE_URI = 1 << 1,
@@ -2017,7 +2017,7 @@ enum MHD_OPTION
* An internal copy of the buffer will be made, the data do not * An internal copy of the buffer will be made, the data do not
* need to be static. * need to be static.
* @sa #MHD_OPTION_DIGEST_AUTH_RANDOM * @sa #MHD_OPTION_DIGEST_AUTH_RANDOM
* @note Available since #MHD_VERSION 0x00097601 * @note Available since #MHD_VERSION 0x00097701
*/ */
MHD_OPTION_DIGEST_AUTH_RANDOM_COPY = 35, MHD_OPTION_DIGEST_AUTH_RANDOM_COPY = 35,
@@ -2028,7 +2028,7 @@ enum MHD_OPTION
* This option should be followed by an 'unsigned int` argument with value * This option should be followed by an 'unsigned int` argument with value
* formed as bitwise OR combination of #MHD_DAuthBindNonce values. * formed as bitwise OR combination of #MHD_DAuthBindNonce values.
* When not specified, default value #MHD_DAUTH_BIND_NONCE_NONE is used. * When not specified, default value #MHD_DAUTH_BIND_NONCE_NONE is used.
* @note Available since #MHD_VERSION 0x00097601 * @note Available since #MHD_VERSION 0x00097701
*/ */
MHD_OPTION_DIGEST_AUTH_NONCE_BIND_TYPE = 36, MHD_OPTION_DIGEST_AUTH_NONCE_BIND_TYPE = 36,
@@ -2040,7 +2040,7 @@ enum MHD_OPTION
* The string does not have to start with a colon ':' character. * The string does not have to start with a colon ':' character.
* See #MHD_OPTION_HTTPS_PRIORITIES description for details of automatic * See #MHD_OPTION_HTTPS_PRIORITIES description for details of automatic
* default priorities. * default priorities.
* @note Available since #MHD_VERSION 0x00097601 * @note Available since #MHD_VERSION 0x00097701
*/ */
MHD_OPTION_HTTPS_PRIORITIES_APPEND = 37, MHD_OPTION_HTTPS_PRIORITIES_APPEND = 37,
@@ -2086,7 +2086,7 @@ enum MHD_OPTION
* communicate with some client(s) with badly broken HTTP implementation. * communicate with some client(s) with badly broken HTTP implementation.
* *
* This option should be followed by an `int` argument. * This option should be followed by an `int` argument.
* @note Available since #MHD_VERSION 0x00097601 * @note Available since #MHD_VERSION 0x00097701
*/ */
MHD_OPTION_CLIENT_DISCIPLINE_LVL = 38 MHD_OPTION_CLIENT_DISCIPLINE_LVL = 38
@@ -3137,7 +3137,7 @@ MHD_free (void *ptr);
* timeout (in milliseconds) * timeout (in milliseconds)
* @return #MHD_YES if timeout value has been set, * @return #MHD_YES if timeout value has been set,
* #MHD_NO if timeouts are not used and no data processing is pending. * #MHD_NO if timeouts are not used and no data processing is pending.
* @note Available since #MHD_VERSION 0x00097601 * @note Available since #MHD_VERSION 0x00097701
* @ingroup event * @ingroup event
*/ */
_MHD_EXTERN enum MHD_Result _MHD_EXTERN enum MHD_Result
@@ -3178,7 +3178,7 @@ MHD_get_timeout64 (struct MHD_Daemon *daemon,
* activity for indefinite amount of time, * activity for indefinite amount of time,
* otherwise returned value is the the maximum amount of millisecond * otherwise returned value is the the maximum amount of millisecond
* that external polling function must wait for the activity of FDs. * that external polling function must wait for the activity of FDs.
* @note Available since #MHD_VERSION 0x00097601 * @note Available since #MHD_VERSION 0x00097701
* @ingroup event * @ingroup event
*/ */
_MHD_EXTERN int64_t _MHD_EXTERN int64_t
@@ -3219,7 +3219,7 @@ MHD_get_timeout64s (struct MHD_Daemon *daemon);
* otherwise returned value is the the maximum amount of millisecond * otherwise returned value is the the maximum amount of millisecond
* (capped at INT_MAX) that external polling function must wait * (capped at INT_MAX) that external polling function must wait
* for the activity of FDs. * for the activity of FDs.
* @note Available since #MHD_VERSION 0x00097601 * @note Available since #MHD_VERSION 0x00097701
* @ingroup event * @ingroup event
*/ */
_MHD_EXTERN int _MHD_EXTERN int
@@ -3699,7 +3699,7 @@ enum MHD_ResponseFlags
* reply body must be sent to the client. * reply body must be sent to the client.
* This flag is primarily intended to be used when automatic "Content-Length" * This flag is primarily intended to be used when automatic "Content-Length"
* header is undesirable in response to HEAD requests. * header is undesirable in response to HEAD requests.
* @note Available since #MHD_VERSION 0x00097601 * @note Available since #MHD_VERSION 0x00097701
*/ */
MHD_RF_HEAD_ONLY_RESPONSE = 1 << 4 MHD_RF_HEAD_ONLY_RESPONSE = 1 << 4
} _MHD_FIXED_FLAGS_ENUM; } _MHD_FIXED_FLAGS_ENUM;
@@ -3870,7 +3870,7 @@ MHD_create_response_from_buffer (size_t size,
* @param buffer the buffer with the data for the response body, can be NULL * @param buffer the buffer with the data for the response body, can be NULL
* if @a size is zero * if @a size is zero
* @return NULL on error (i.e. invalid arguments, out of memory) * @return NULL on error (i.e. invalid arguments, out of memory)
* @note Available since #MHD_VERSION 0x00097601 * @note Available since #MHD_VERSION 0x00097701
* @ingroup response * @ingroup response
*/ */
_MHD_EXTERN struct MHD_Response * _MHD_EXTERN struct MHD_Response *
@@ -3897,7 +3897,7 @@ MHD_create_response_from_buffer_static (size_t size,
* @param buffer the buffer with the data for the response body, can be NULL * @param buffer the buffer with the data for the response body, can be NULL
* if @a size is zero * if @a size is zero
* @return NULL on error (i.e. invalid arguments, out of memory) * @return NULL on error (i.e. invalid arguments, out of memory)
* @note Available since #MHD_VERSION 0x00097601 * @note Available since #MHD_VERSION 0x00097701
* @ingroup response * @ingroup response
*/ */
_MHD_EXTERN struct MHD_Response * _MHD_EXTERN struct MHD_Response *
@@ -3948,7 +3948,7 @@ MHD_create_response_from_buffer_with_free_callback (size_t size,
* @param crfc_cls an argument for @a crfc * @param crfc_cls an argument for @a crfc
* @return NULL on error (i.e. invalid arguments, out of memory) * @return NULL on error (i.e. invalid arguments, out of memory)
* @note Available since #MHD_VERSION 0x00097302 * @note Available since #MHD_VERSION 0x00097302
* @note 'const' qualifier is used for @a buffer since #MHD_VERSION 0x00097601 * @note 'const' qualifier is used for @a buffer since #MHD_VERSION 0x00097701
* @ingroup response * @ingroup response
*/ */
_MHD_EXTERN struct MHD_Response * _MHD_EXTERN struct MHD_Response *
@@ -4138,7 +4138,7 @@ MHD_create_response_from_iovec (const struct MHD_IoVec *iov,
* @param flags the flags for the new response object * @param flags the flags for the new response object
* @return NULL on error (i.e. invalid arguments, out of memory), * @return NULL on error (i.e. invalid arguments, out of memory),
* the pointer to the created response object otherwise * the pointer to the created response object otherwise
* @note Available since #MHD_VERSION 0x00097601 * @note Available since #MHD_VERSION 0x00097701
* @ingroup response * @ingroup response
*/ */
_MHD_EXTERN struct MHD_Response * _MHD_EXTERN struct MHD_Response *
@@ -4511,7 +4511,7 @@ MHD_destroy_post_processor (struct MHD_PostProcessor *pp);
* @warning While this value is the same as the #MHD_SHA256_DIGEST_SIZE, * @warning While this value is the same as the #MHD_SHA256_DIGEST_SIZE,
* the calculated digests for SHA-256 and SHA-512/256 are different. * the calculated digests for SHA-256 and SHA-512/256 are different.
* @sa #MHD_digest_get_hash_size() * @sa #MHD_digest_get_hash_size()
* @note Available since #MHD_VERSION 0x00097601 * @note Available since #MHD_VERSION 0x00097701
* @ingroup authentication * @ingroup authentication
*/ */
#define MHD_SHA512_256_DIGEST_SIZE 32 #define MHD_SHA512_256_DIGEST_SIZE 32
@@ -4521,7 +4521,7 @@ MHD_destroy_post_processor (struct MHD_PostProcessor *pp);
* Used as part of #MHD_DigestAuthAlgo3 values. * Used as part of #MHD_DigestAuthAlgo3 values.
* *
* @warning Not used directly by MHD API. * @warning Not used directly by MHD API.
* @note Available since #MHD_VERSION 0x00097601 * @note Available since #MHD_VERSION 0x00097701
*/ */
enum MHD_DigestBaseAlgo enum MHD_DigestBaseAlgo
{ {
@@ -4552,14 +4552,14 @@ enum MHD_DigestBaseAlgo
/** /**
* The flag indicating non-session algorithm types, * The flag indicating non-session algorithm types,
* like 'MD5', 'SHA-256' or 'SHA-512-256'. * like 'MD5', 'SHA-256' or 'SHA-512-256'.
* @note Available since #MHD_VERSION 0x00097601 * @note Available since #MHD_VERSION 0x00097701
*/ */
#define MHD_DIGEST_AUTH_ALGO3_NON_SESSION (1 << 6) #define MHD_DIGEST_AUTH_ALGO3_NON_SESSION (1 << 6)
/** /**
* The flag indicating session algorithm types, * The flag indicating session algorithm types,
* like 'MD5-sess', 'SHA-256-sess' or 'SHA-512-256-sess'. * like 'MD5-sess', 'SHA-256-sess' or 'SHA-512-256-sess'.
* @note Available since #MHD_VERSION 0x00097601 * @note Available since #MHD_VERSION 0x00097701
*/ */
#define MHD_DIGEST_AUTH_ALGO3_SESSION (1 << 7) #define MHD_DIGEST_AUTH_ALGO3_SESSION (1 << 7)
@@ -4567,7 +4567,7 @@ enum MHD_DigestBaseAlgo
* Digest algorithm identification * Digest algorithm identification
* @warning Do not be confused with #MHD_DigestAuthAlgorithm, * @warning Do not be confused with #MHD_DigestAuthAlgorithm,
* which uses other values! * which uses other values!
* @note Available since #MHD_VERSION 0x00097601 * @note Available since #MHD_VERSION 0x00097701
*/ */
enum MHD_DigestAuthAlgo3 enum MHD_DigestAuthAlgo3
{ {
@@ -4630,7 +4630,7 @@ enum MHD_DigestAuthAlgo3
* or zero if the input value is not supported or not valid * or zero if the input value is not supported or not valid
* @sa #MHD_digest_auth_calc_userdigest() * @sa #MHD_digest_auth_calc_userdigest()
* @sa #MHD_digest_auth_calc_userhash(), #MHD_digest_auth_calc_userhash_hex() * @sa #MHD_digest_auth_calc_userhash(), #MHD_digest_auth_calc_userhash_hex()
* @note Available since #MHD_VERSION 0x00097601 * @note Available since #MHD_VERSION 0x00097701
* @ingroup authentication * @ingroup authentication
*/ */
_MHD_EXTERN size_t _MHD_EXTERN size_t
@@ -4642,7 +4642,7 @@ MHD_digest_get_hash_size (enum MHD_DigestAuthAlgo3 algo3);
* #MHD_DigestAuthAlgo3 always can be casted to #MHD_DigestAuthMultiAlgo3, but * #MHD_DigestAuthAlgo3 always can be casted to #MHD_DigestAuthMultiAlgo3, but
* not vice versa. * not vice versa.
* *
* @note Available since #MHD_VERSION 0x00097601 * @note Available since #MHD_VERSION 0x00097701
*/ */
enum MHD_DigestAuthMultiAlgo3 enum MHD_DigestAuthMultiAlgo3
{ {
@@ -4773,7 +4773,7 @@ enum MHD_DigestAuthMultiAlgo3
* MHD_NO if @a bin_buf_size is too small or if @a algo3 algorithm is * MHD_NO if @a bin_buf_size is too small or if @a algo3 algorithm is
* not supported (or external error has occurred, * not supported (or external error has occurred,
* see #MHD_FEATURE_EXTERN_HASH) * see #MHD_FEATURE_EXTERN_HASH)
* @note Available since #MHD_VERSION 0x00097601 * @note Available since #MHD_VERSION 0x00097701
* @ingroup authentication * @ingroup authentication
*/ */
_MHD_EXTERN enum MHD_Result _MHD_EXTERN enum MHD_Result
@@ -4820,7 +4820,7 @@ MHD_digest_auth_calc_userhash (enum MHD_DigestAuthAlgo3 algo3,
* MHD_NO if @a bin_buf_size is too small or if @a algo3 algorithm is * MHD_NO if @a bin_buf_size is too small or if @a algo3 algorithm is
* not supported (or external error has occurred, * not supported (or external error has occurred,
* see #MHD_FEATURE_EXTERN_HASH). * see #MHD_FEATURE_EXTERN_HASH).
* @note Available since #MHD_VERSION 0x00097601 * @note Available since #MHD_VERSION 0x00097701
* @ingroup authentication * @ingroup authentication
*/ */
_MHD_EXTERN enum MHD_Result _MHD_EXTERN enum MHD_Result
@@ -4843,7 +4843,7 @@ MHD_digest_auth_calc_userhash_hex (enum MHD_DigestAuthAlgo3 algo3,
* * (value >= MHD_DIGEST_AUTH_UNAME_TYPE_STANDARD) is true if username is * * (value >= MHD_DIGEST_AUTH_UNAME_TYPE_STANDARD) is true if username is
* provided in clear text (not userhash matching is needed) * provided in clear text (not userhash matching is needed)
* *
* @note Available since #MHD_VERSION 0x00097601 * @note Available since #MHD_VERSION 0x00097701
*/ */
enum MHD_DigestAuthUsernameType enum MHD_DigestAuthUsernameType
{ {
@@ -4886,7 +4886,7 @@ enum MHD_DigestAuthUsernameType
/** /**
* The QOP ('quality of protection') types. * The QOP ('quality of protection') types.
* @note Available since #MHD_VERSION 0x00097601 * @note Available since #MHD_VERSION 0x00097701
*/ */
enum MHD_DigestAuthQOP enum MHD_DigestAuthQOP
{ {
@@ -4925,7 +4925,7 @@ enum MHD_DigestAuthQOP
* #MHD_DigestAuthQOP always can be casted to #MHD_DigestAuthMultiQOP, but * #MHD_DigestAuthQOP always can be casted to #MHD_DigestAuthMultiQOP, but
* not vice versa. * not vice versa.
* *
* @note Available since #MHD_VERSION 0x00097601 * @note Available since #MHD_VERSION 0x00097701
*/ */
enum MHD_DigestAuthMultiQOP enum MHD_DigestAuthMultiQOP
{ {
@@ -4976,7 +4976,7 @@ enum MHD_DigestAuthMultiQOP
/** /**
* The invalid value of 'nc' parameter in client Digest Authorization header. * The invalid value of 'nc' parameter in client Digest Authorization header.
* @note Available since #MHD_VERSION 0x00097601 * @note Available since #MHD_VERSION 0x00097701
*/ */
#define MHD_DIGEST_AUTH_INVALID_NC_VALUE (0) #define MHD_DIGEST_AUTH_INVALID_NC_VALUE (0)
@@ -4988,7 +4988,7 @@ enum MHD_DigestAuthMultiQOP
* *
* Application may modify buffers as needed until #MHD_free() is called for * Application may modify buffers as needed until #MHD_free() is called for
* pointer to this structure * pointer to this structure
* @note Available since #MHD_VERSION 0x00097601 * @note Available since #MHD_VERSION 0x00097701
*/ */
struct MHD_DigestAuthInfo struct MHD_DigestAuthInfo
{ {
@@ -5111,7 +5111,7 @@ struct MHD_DigestAuthInfo
* a pointer to the structure with information if the valid request * a pointer to the structure with information if the valid request
* header found, free using #MHD_free(). * header found, free using #MHD_free().
* @sa #MHD_digest_auth_get_username3() * @sa #MHD_digest_auth_get_username3()
* @note Available since #MHD_VERSION 0x00097601 * @note Available since #MHD_VERSION 0x00097701
* @ingroup authentication * @ingroup authentication
*/ */
_MHD_EXTERN struct MHD_DigestAuthInfo * _MHD_EXTERN struct MHD_DigestAuthInfo *
@@ -5126,7 +5126,7 @@ MHD_digest_auth_get_request_info3 (struct MHD_Connection *connection);
* *
* Application may modify buffers as needed until #MHD_free() is called for * Application may modify buffers as needed until #MHD_free() is called for
* pointer to this structure * pointer to this structure
* @note Available since #MHD_VERSION 0x00097601 * @note Available since #MHD_VERSION 0x00097701
*/ */
struct MHD_DigestAuthUsernameInfo struct MHD_DigestAuthUsernameInfo
{ {
@@ -5205,7 +5205,7 @@ struct MHD_DigestAuthUsernameInfo
* a pointer structure with information if the valid request header * a pointer structure with information if the valid request header
* found, free using #MHD_free(). * found, free using #MHD_free().
* @sa #MHD_digest_auth_get_request_info3() provides more complete information * @sa #MHD_digest_auth_get_request_info3() provides more complete information
* @note Available since #MHD_VERSION 0x00097601 * @note Available since #MHD_VERSION 0x00097701
* @ingroup authentication * @ingroup authentication
*/ */
_MHD_EXTERN struct MHD_DigestAuthUsernameInfo * _MHD_EXTERN struct MHD_DigestAuthUsernameInfo *
@@ -5217,7 +5217,7 @@ MHD_digest_auth_get_username3 (struct MHD_Connection *connection);
* *
* All error values are zero or negative. * All error values are zero or negative.
* *
* @note Available since #MHD_VERSION 0x00097601 * @note Available since #MHD_VERSION 0x00097701
*/ */
enum MHD_DigestAuthResult enum MHD_DigestAuthResult
{ {
@@ -5330,7 +5330,7 @@ enum MHD_DigestAuthResult
* by the client is not allowed by this parameter * by the client is not allowed by this parameter
* @return #MHD_DAUTH_OK if authenticated, * @return #MHD_DAUTH_OK if authenticated,
* the error code otherwise * the error code otherwise
* @note Available since #MHD_VERSION 0x00097601 * @note Available since #MHD_VERSION 0x00097701
* @ingroup authentication * @ingroup authentication
*/ */
_MHD_EXTERN enum MHD_DigestAuthResult _MHD_EXTERN enum MHD_DigestAuthResult
@@ -5374,7 +5374,7 @@ MHD_digest_auth_check3 (struct MHD_Connection *connection,
* not supported (or external error has occurred, * not supported (or external error has occurred,
* see #MHD_FEATURE_EXTERN_HASH). * see #MHD_FEATURE_EXTERN_HASH).
* @sa #MHD_digest_auth_check_digest3() * @sa #MHD_digest_auth_check_digest3()
* @note Available since #MHD_VERSION 0x00097601 * @note Available since #MHD_VERSION 0x00097701
* @ingroup authentication * @ingroup authentication
*/ */
_MHD_EXTERN enum MHD_Result _MHD_EXTERN enum MHD_Result
@@ -5424,7 +5424,7 @@ MHD_digest_auth_calc_userdigest (enum MHD_DigestAuthAlgo3 algo3,
* @return #MHD_DAUTH_OK if authenticated, * @return #MHD_DAUTH_OK if authenticated,
* the error code otherwise * the error code otherwise
* @sa #MHD_digest_auth_calc_userdigest() * @sa #MHD_digest_auth_calc_userdigest()
* @note Available since #MHD_VERSION 0x00097601 * @note Available since #MHD_VERSION 0x00097701
* @ingroup authentication * @ingroup authentication
*/ */
_MHD_EXTERN enum MHD_DigestAuthResult _MHD_EXTERN enum MHD_DigestAuthResult
@@ -5494,7 +5494,7 @@ MHD_digest_auth_check_digest3 (struct MHD_Connection *connection,
* added, indicating for the client that UTF-8 encoding * added, indicating for the client that UTF-8 encoding
* is preferred * is preferred
* @return #MHD_YES on success, #MHD_NO otherwise * @return #MHD_YES on success, #MHD_NO otherwise
* @note Available since #MHD_VERSION 0x00097601 * @note Available since #MHD_VERSION 0x00097701
* @ingroup authentication * @ingroup authentication
*/ */
_MHD_EXTERN enum MHD_Result _MHD_EXTERN enum MHD_Result
@@ -5783,7 +5783,7 @@ struct MHD_BasicAuthInfo
* current request, or * current request, or
* pointer to structure with username and password, which must be * pointer to structure with username and password, which must be
* freed by #MHD_free(). * freed by #MHD_free().
* @note Available since #MHD_VERSION 0x00097601 * @note Available since #MHD_VERSION 0x00097701
* @ingroup authentication * @ingroup authentication
*/ */
_MHD_EXTERN struct MHD_BasicAuthInfo * _MHD_EXTERN struct MHD_BasicAuthInfo *
@@ -5827,7 +5827,7 @@ MHD_basic_auth_get_username_password (struct MHD_Connection *connection,
* @param response the response object to modify and queue; the NULL * @param response the response object to modify and queue; the NULL
* is tolerated * is tolerated
* @return #MHD_YES on success, #MHD_NO otherwise * @return #MHD_YES on success, #MHD_NO otherwise
* @note Available since #MHD_VERSION 0x00097601 * @note Available since #MHD_VERSION 0x00097701
* @ingroup authentication * @ingroup authentication
*/ */
_MHD_EXTERN enum MHD_Result _MHD_EXTERN enum MHD_Result
@@ -6174,17 +6174,17 @@ enum MHD_FEATURE
/** /**
* Get whether automatic parsing of HTTP Cookie header is supported. * Get whether automatic parsing of HTTP Cookie header is supported.
* If disabled, no MHD_COOKIE_KIND will be generated by MHD. * If disabled, no MHD_COOKIE_KIND will be generated by MHD.
* MHD versions before 0x00097601 always support cookie parsing. * MHD versions before 0x00097701 always support cookie parsing.
* @note Available since #MHD_VERSION 0x00097601 * @note Available since #MHD_VERSION 0x00097701
*/ */
MHD_FEATURE_HTTPS_COOKIE_PARSING = 24, MHD_FEATURE_HTTPS_COOKIE_PARSING = 24,
/** /**
* Get whether the early version the Digest Authorization (RFC 2069) is * Get whether the early version the Digest Authorization (RFC 2069) is
* supported (digest authorisation without QOP parameter). * supported (digest authorisation without QOP parameter).
* Since #MHD_VERSION 0x00097601 it is always supported if Digest Auth * Since #MHD_VERSION 0x00097701 it is always supported if Digest Auth
* module is built. * module is built.
* @note Available since #MHD_VERSION 0x00097601 * @note Available since #MHD_VERSION 0x00097701
*/ */
MHD_FEATURE_DIGEST_AUTH_RFC2069 = 25, MHD_FEATURE_DIGEST_AUTH_RFC2069 = 25,
@@ -6193,7 +6193,7 @@ enum MHD_FEATURE
* Authorization. * Authorization.
* Currently it is always supported if Digest Auth module is built * Currently it is always supported if Digest Auth module is built
* unless manually disabled in a custom build. * unless manually disabled in a custom build.
* @note Available since #MHD_VERSION 0x00097601 * @note Available since #MHD_VERSION 0x00097701
*/ */
MHD_FEATURE_DIGEST_AUTH_MD5 = 26, MHD_FEATURE_DIGEST_AUTH_MD5 = 26,
@@ -6202,16 +6202,16 @@ enum MHD_FEATURE
* Authorization. * Authorization.
* It it always supported since #MHD_VERSION 0x00096200 if Digest Auth * It it always supported since #MHD_VERSION 0x00096200 if Digest Auth
* module is built unless manually disabled in a custom build. * module is built unless manually disabled in a custom build.
* @note Available since #MHD_VERSION 0x00097601 * @note Available since #MHD_VERSION 0x00097701
*/ */
MHD_FEATURE_DIGEST_AUTH_SHA256 = 27, MHD_FEATURE_DIGEST_AUTH_SHA256 = 27,
/** /**
* Get whether the SHA-512/256-based hashing algorithms are supported * Get whether the SHA-512/256-based hashing algorithms are supported
* for Digest Authorization. * for Digest Authorization.
* It it always supported since #MHD_VERSION 0x00097601 if Digest Auth * It it always supported since #MHD_VERSION 0x00097701 if Digest Auth
* module is built unless manually disabled in a custom build. * module is built unless manually disabled in a custom build.
* @note Available since #MHD_VERSION 0x00097601 * @note Available since #MHD_VERSION 0x00097701
*/ */
MHD_FEATURE_DIGEST_AUTH_SHA512_256 = 28, MHD_FEATURE_DIGEST_AUTH_SHA512_256 = 28,
@@ -6219,7 +6219,7 @@ enum MHD_FEATURE
* Get whether QOP with value 'auth-int' (authentication with integrity * Get whether QOP with value 'auth-int' (authentication with integrity
* protection) is supported for Digest Authorization. * protection) is supported for Digest Authorization.
* Currently it is always not supported. * Currently it is always not supported.
* @note Available since #MHD_VERSION 0x00097601 * @note Available since #MHD_VERSION 0x00097701
*/ */
MHD_FEATURE_DIGEST_AUTH_AUTH_INT = 29, MHD_FEATURE_DIGEST_AUTH_AUTH_INT = 29,
@@ -6227,15 +6227,15 @@ enum MHD_FEATURE
* Get whether 'session' algorithms (like 'MD5-sess') are supported for Digest * Get whether 'session' algorithms (like 'MD5-sess') are supported for Digest
* Authorization. * Authorization.
* Currently it is always not supported. * Currently it is always not supported.
* @note Available since #MHD_VERSION 0x00097601 * @note Available since #MHD_VERSION 0x00097701
*/ */
MHD_FEATURE_DIGEST_AUTH_ALGO_SESSION = 30, MHD_FEATURE_DIGEST_AUTH_ALGO_SESSION = 30,
/** /**
* Get whether 'userhash' is supported for Digest Authorization. * Get whether 'userhash' is supported for Digest Authorization.
* It is always supported since #MHD_VERSION 0x00097601 if Digest Auth * It is always supported since #MHD_VERSION 0x00097701 if Digest Auth
* module is built. * module is built.
* @note Available since #MHD_VERSION 0x00097601 * @note Available since #MHD_VERSION 0x00097701
*/ */
MHD_FEATURE_DIGEST_AUTH_USERHASH = 31, MHD_FEATURE_DIGEST_AUTH_USERHASH = 31,
@@ -6249,7 +6249,7 @@ enum MHD_FEATURE
* potentially may fail even with valid input because of out-of-memory error * potentially may fail even with valid input because of out-of-memory error
* or crypto accelerator device failure, however in practice such fails are * or crypto accelerator device failure, however in practice such fails are
* unlikely. * unlikely.
* @note Available since #MHD_VERSION 0x00097601 * @note Available since #MHD_VERSION 0x00097701
*/ */
MHD_FEATURE_EXTERN_HASH = 32, MHD_FEATURE_EXTERN_HASH = 32,
@@ -6257,7 +6257,7 @@ enum MHD_FEATURE
* Get whether MHD was built with asserts enabled. * Get whether MHD was built with asserts enabled.
* For debug builds the error log is always enabled even if #MHD_USE_ERROR_LOG * For debug builds the error log is always enabled even if #MHD_USE_ERROR_LOG
* is not specified for daemon. * is not specified for daemon.
* @note Available since #MHD_VERSION 0x00097601 * @note Available since #MHD_VERSION 0x00097701
*/ */
MHD_FEATURE_DEBUG_BUILD = 33 MHD_FEATURE_DEBUG_BUILD = 33
}; };
+2 -2
View File
@@ -42,7 +42,7 @@
* current request, or * current request, or
* pointer to structure with username and password, which must be * pointer to structure with username and password, which must be
* freed by #MHD_free(). * freed by #MHD_free().
* @note Available since #MHD_VERSION 0x00097517 * @note Available since #MHD_VERSION 0x00097701
* @ingroup authentication * @ingroup authentication
*/ */
_MHD_EXTERN struct MHD_BasicAuthInfo * _MHD_EXTERN struct MHD_BasicAuthInfo *
@@ -216,7 +216,7 @@ MHD_basic_auth_get_username_password (struct MHD_Connection *connection,
* @param response the response object to modify and queue; the NULL * @param response the response object to modify and queue; the NULL
* is tolerated * is tolerated
* @return #MHD_YES on success, #MHD_NO otherwise * @return #MHD_YES on success, #MHD_NO otherwise
* @note Available since #MHD_VERSION 0x00097516 * @note Available since #MHD_VERSION 0x00097701
* @ingroup authentication * @ingroup authentication
*/ */
_MHD_EXTERN enum MHD_Result _MHD_EXTERN enum MHD_Result
+4 -4
View File
@@ -4061,7 +4061,7 @@ MHD_get_timeout (struct MHD_Daemon *daemon,
* timeout (in milliseconds) * timeout (in milliseconds)
* @return #MHD_YES if timeout value has been set, * @return #MHD_YES if timeout value has been set,
* #MHD_NO if timeouts are not used and no data processing is pending. * #MHD_NO if timeouts are not used and no data processing is pending.
* @note Available since #MHD_VERSION 0x00097508 * @note Available since #MHD_VERSION 0x00097701
* @ingroup event * @ingroup event
*/ */
_MHD_EXTERN enum MHD_Result _MHD_EXTERN enum MHD_Result
@@ -4175,7 +4175,7 @@ MHD_get_timeout64 (struct MHD_Daemon *daemon,
* activity for indefinite amount of time, * activity for indefinite amount of time,
* otherwise returned value is the the maximum amount of millisecond * otherwise returned value is the the maximum amount of millisecond
* that external polling function must wait for the activity of FDs. * that external polling function must wait for the activity of FDs.
* @note Available since #MHD_VERSION 0x00097509 * @note Available since #MHD_VERSION 0x00097701
* @ingroup event * @ingroup event
*/ */
_MHD_EXTERN int64_t _MHD_EXTERN int64_t
@@ -4227,7 +4227,7 @@ MHD_get_timeout64s (struct MHD_Daemon *daemon)
* otherwise returned value is the the maximum amount of millisecond * otherwise returned value is the the maximum amount of millisecond
* (capped at INT_MAX) that external polling function must wait * (capped at INT_MAX) that external polling function must wait
* for the activity of FDs. * for the activity of FDs.
* @note Available since #MHD_VERSION 0x00097510 * @note Available since #MHD_VERSION 0x00097701
* @ingroup event * @ingroup event
*/ */
_MHD_EXTERN int _MHD_EXTERN int
@@ -8606,7 +8606,7 @@ MHD_get_version (void)
* *
* @return version binary value, e.g. "0x00090900" (#MHD_VERSION of * @return version binary value, e.g. "0x00090900" (#MHD_VERSION of
* compiled MHD binary) * compiled MHD binary)
* @note Available since #MHD_VERSION 0x00097544 * @note Available since #MHD_VERSION 0x00097601
* @ingroup specialized * @ingroup specialized
*/ */
_MHD_EXTERN uint32_t _MHD_EXTERN uint32_t
+10 -10
View File
@@ -288,7 +288,7 @@ digest_get_hash_size (enum MHD_DigestAuthAlgo3 algo3)
* or zero if the input value is not supported or not valid * or zero if the input value is not supported or not valid
* @sa #MHD_digest_auth_calc_userdigest() * @sa #MHD_digest_auth_calc_userdigest()
* @sa #MHD_digest_auth_calc_userhash(), #MHD_digest_auth_calc_userhash_hex() * @sa #MHD_digest_auth_calc_userhash(), #MHD_digest_auth_calc_userhash_hex()
* @note Available since #MHD_VERSION 0x00097526 * @note Available since #MHD_VERSION 0x00097701
* @ingroup authentication * @ingroup authentication
*/ */
_MHD_EXTERN size_t _MHD_EXTERN size_t
@@ -1257,7 +1257,7 @@ get_rq_nc (const struct MHD_RqDAuth *params,
* @return NULL no valid Digest Authorization header is used in the request; * @return NULL no valid Digest Authorization header is used in the request;
* a pointer structure with information if the valid request header * a pointer structure with information if the valid request header
* found, free using #MHD_free(). * found, free using #MHD_free().
* @note Available since #MHD_VERSION 0x00097519 * @note Available since #MHD_VERSION 0x00097701
* @ingroup authentication * @ingroup authentication
*/ */
_MHD_EXTERN struct MHD_DigestAuthInfo * _MHD_EXTERN struct MHD_DigestAuthInfo *
@@ -1345,7 +1345,7 @@ MHD_digest_auth_get_request_info3 (struct MHD_Connection *connection)
* a pointer structure with information if the valid request header * a pointer structure with information if the valid request header
* found, free using #MHD_free(). * found, free using #MHD_free().
* @sa MHD_digest_auth_get_request_info3() provides more complete information * @sa MHD_digest_auth_get_request_info3() provides more complete information
* @note Available since #MHD_VERSION 0x00097519 * @note Available since #MHD_VERSION 0x00097701
* @ingroup authentication * @ingroup authentication
*/ */
_MHD_EXTERN struct MHD_DigestAuthUsernameInfo * _MHD_EXTERN struct MHD_DigestAuthUsernameInfo *
@@ -1922,7 +1922,7 @@ calc_userdigest (struct DigestAlgorithm *da,
* not supported (or external error has occurred, * not supported (or external error has occurred,
* see #MHD_FEATURE_EXTERN_HASH). * see #MHD_FEATURE_EXTERN_HASH).
* @sa #MHD_digest_auth_check_digest3() * @sa #MHD_digest_auth_check_digest3()
* @note Available since #MHD_VERSION 0x00097535 * @note Available since #MHD_VERSION 0x00097701
* @ingroup authentication * @ingroup authentication
*/ */
_MHD_EXTERN enum MHD_Result _MHD_EXTERN enum MHD_Result
@@ -2026,7 +2026,7 @@ calc_userhash (struct DigestAlgorithm *da,
* MHD_NO if @a bin_buf_size is too small or if @a algo3 algorithm is * MHD_NO if @a bin_buf_size is too small or if @a algo3 algorithm is
* not supported (or external error has occurred, * not supported (or external error has occurred,
* see #MHD_FEATURE_EXTERN_HASH) * see #MHD_FEATURE_EXTERN_HASH)
* @note Available since #MHD_VERSION 0x00097535 * @note Available since #MHD_VERSION 0x00097701
* @ingroup authentication * @ingroup authentication
*/ */
_MHD_EXTERN enum MHD_Result _MHD_EXTERN enum MHD_Result
@@ -2100,7 +2100,7 @@ MHD_digest_auth_calc_userhash (enum MHD_DigestAuthAlgo3 algo3,
* MHD_NO if @a bin_buf_size is too small or if @a algo3 algorithm is * MHD_NO if @a bin_buf_size is too small or if @a algo3 algorithm is
* not supported (or external error has occurred, * not supported (or external error has occurred,
* see #MHD_FEATURE_EXTERN_HASH). * see #MHD_FEATURE_EXTERN_HASH).
* @note Available since #MHD_VERSION 0x00097535 * @note Available since #MHD_VERSION 0x00097701
* @ingroup authentication * @ingroup authentication
*/ */
_MHD_EXTERN enum MHD_Result _MHD_EXTERN enum MHD_Result
@@ -3146,7 +3146,7 @@ MHD_digest_auth_check (struct MHD_Connection *connection,
* by the client is not allowed by this parameter * by the client is not allowed by this parameter
* @return #MHD_DAUTH_OK if authenticated, * @return #MHD_DAUTH_OK if authenticated,
* the error code otherwise * the error code otherwise
* @note Available since #MHD_VERSION 0x00097528 * @note Available since #MHD_VERSION 0x00097701
* @ingroup authentication * @ingroup authentication
*/ */
_MHD_EXTERN enum MHD_DigestAuthResult _MHD_EXTERN enum MHD_DigestAuthResult
@@ -3211,7 +3211,7 @@ MHD_digest_auth_check3 (struct MHD_Connection *connection,
* @return #MHD_DAUTH_OK if authenticated, * @return #MHD_DAUTH_OK if authenticated,
* the error code otherwise * the error code otherwise
* @sa #MHD_digest_auth_calc_userdigest() * @sa #MHD_digest_auth_calc_userdigest()
* @note Available since #MHD_VERSION 0x00097528 * @note Available since #MHD_VERSION 0x00097701
* @ingroup authentication * @ingroup authentication
*/ */
_MHD_EXTERN enum MHD_DigestAuthResult _MHD_EXTERN enum MHD_DigestAuthResult
@@ -3474,7 +3474,7 @@ MHD_digest_auth_check_digest (struct MHD_Connection *connection,
* added, indicating for the client that UTF-8 encoding * added, indicating for the client that UTF-8 encoding
* is preferred * is preferred
* @return #MHD_YES on success, #MHD_NO otherwise * @return #MHD_YES on success, #MHD_NO otherwise
* @note Available since #MHD_VERSION 0x00097526 * @note Available since #MHD_VERSION 0x00097701
* @ingroup authentication * @ingroup authentication
*/ */
static enum MHD_Result static enum MHD_Result
@@ -3923,7 +3923,7 @@ queue_auth_required_response3_inner (struct MHD_Connection *connection,
* added, indicating for the client that UTF-8 encoding * added, indicating for the client that UTF-8 encoding
* is preferred * is preferred
* @return #MHD_YES on success, #MHD_NO otherwise * @return #MHD_YES on success, #MHD_NO otherwise
* @note Available since #MHD_VERSION 0x00097526 * @note Available since #MHD_VERSION 0x00097701
* @ingroup authentication * @ingroup authentication
*/ */
_MHD_EXTERN enum MHD_Result _MHD_EXTERN enum MHD_Result
+4 -4
View File
@@ -1500,7 +1500,7 @@ MHD_create_response_from_buffer (size_t size,
* @param buffer the buffer with the data for the response body, can be NULL * @param buffer the buffer with the data for the response body, can be NULL
* if @a size is zero * if @a size is zero
* @return NULL on error (i.e. invalid arguments, out of memory) * @return NULL on error (i.e. invalid arguments, out of memory)
* @note Available since #MHD_VERSION 0x00097506 * @note Available since #MHD_VERSION 0x00097701
* @ingroup response * @ingroup response
*/ */
_MHD_EXTERN struct MHD_Response * _MHD_EXTERN struct MHD_Response *
@@ -1533,7 +1533,7 @@ MHD_create_response_from_buffer_static (size_t size,
* @param buffer the buffer with the data for the response body, can be NULL * @param buffer the buffer with the data for the response body, can be NULL
* if @a size is zero * if @a size is zero
* @return NULL on error (i.e. invalid arguments, out of memory) * @return NULL on error (i.e. invalid arguments, out of memory)
* @note Available since #MHD_VERSION 0x00097507 * @note Available since #MHD_VERSION 0x00097701
* @ingroup response * @ingroup response
*/ */
_MHD_EXTERN struct MHD_Response * _MHD_EXTERN struct MHD_Response *
@@ -1620,7 +1620,7 @@ MHD_create_response_from_buffer_with_free_callback (size_t size,
* @param crfc_cls an argument for @a crfc * @param crfc_cls an argument for @a crfc
* @return NULL on error (i.e. invalid arguments, out of memory) * @return NULL on error (i.e. invalid arguments, out of memory)
* @note Available since #MHD_VERSION 0x00097302 * @note Available since #MHD_VERSION 0x00097302
* @note 'const' qualifier is used for @a buffer since #MHD_VERSION 0x00097504 * @note 'const' qualifier is used for @a buffer since #MHD_VERSION 0x00097701
* @ingroup response * @ingroup response
*/ */
_MHD_EXTERN struct MHD_Response * _MHD_EXTERN struct MHD_Response *
@@ -1819,7 +1819,7 @@ MHD_create_response_from_iovec (const struct MHD_IoVec *iov,
* @param flags the flags for the new response object * @param flags the flags for the new response object
* @return NULL on error (i.e. invalid arguments, out of memory), * @return NULL on error (i.e. invalid arguments, out of memory),
* the pointer to the created response object otherwise * the pointer to the created response object otherwise
* @note Available since #MHD_VERSION 0x00097503 * @note Available since #MHD_VERSION 0x00097701
* @ingroup response * @ingroup response
*/ */
_MHD_EXTERN struct MHD_Response * _MHD_EXTERN struct MHD_Response *