GNU libmicrohttpd 1.0.2
|
#include <microhttpd.h>
Data Fields | |
enum MHD_DigestAuthAlgo3 | algo3 |
enum MHD_DigestAuthUsernameType | uname_type |
char * | username |
size_t | username_len |
char * | userhash_hex |
size_t | userhash_hex_len |
uint8_t * | userhash_bin |
char * | opaque |
size_t | opaque_len |
char * | realm |
size_t | realm_len |
enum MHD_DigestAuthQOP | qop |
size_t | cnonce_len |
uint32_t | nc |
Information from Digest Authorization client's header.
All buffers pointed by any struct members are freed when MHD_free() is called for pointer to this structure.
Application may modify buffers as needed until MHD_free() is called for pointer to this structure
Definition at line 5207 of file microhttpd.h.
enum MHD_DigestAuthAlgo3 MHD_DigestAuthInfo::algo3 |
The algorithm as defined by client. Set automatically to MD5 if not specified by client.
Definition at line 5215 of file microhttpd.h.
Referenced by MHD_digest_auth_get_request_info3().
size_t MHD_DigestAuthInfo::cnonce_len |
The length of the 'cnonce' parameter value, including possible backslash-escape characters. 'cnonce' is used in hash calculation, which is CPU-intensive procedure. An application may want to reject too large cnonces to limit the CPU load. A few kilobytes is a reasonable limit, typically cnonce is just 32-160 characters long.
Definition at line 5316 of file microhttpd.h.
Referenced by MHD_digest_auth_get_request_info3().
uint32_t MHD_DigestAuthInfo::nc |
The nc parameter value. Can be used by application to limit the number of nonce re-uses. If nc is higher than application wants to allow, then "auth required" response with 'stale=true' could be used to force client to retry with the fresh 'nonce'. If not specified by client or does not have hexadecimal digits only, the value is MHD_DIGEST_AUTH_INVALID_NC_VALUE.
Definition at line 5327 of file microhttpd.h.
Referenced by MHD_digest_auth_get_request_info3().
char* MHD_DigestAuthInfo::opaque |
The 'opaque' parameter value, as specified by client. NULL if not specified by client. The buffer pointed by the opaque becomes invalid when the pointer to the structure is freed by MHD_free().
Definition at line 5281 of file microhttpd.h.
Referenced by MHD_digest_auth_get_request_info3().
size_t MHD_DigestAuthInfo::opaque_len |
The length of the opaque. When the opaque is NULL, this member is always zero.
Definition at line 5287 of file microhttpd.h.
Referenced by MHD_digest_auth_get_request_info3().
enum MHD_DigestAuthQOP MHD_DigestAuthInfo::qop |
The 'qop' parameter value.
Definition at line 5306 of file microhttpd.h.
Referenced by MHD_digest_auth_get_request_info3().
char* MHD_DigestAuthInfo::realm |
The 'realm' parameter value, as specified by client. NULL if not specified by client. The buffer pointed by the realm becomes invalid when the pointer to the structure is freed by MHD_free().
Definition at line 5295 of file microhttpd.h.
Referenced by MHD_digest_auth_get_request_info3().
size_t MHD_DigestAuthInfo::realm_len |
The length of the realm. When the realm is NULL, this member is always zero.
Definition at line 5301 of file microhttpd.h.
Referenced by MHD_digest_auth_get_request_info3().
enum MHD_DigestAuthUsernameType MHD_DigestAuthInfo::uname_type |
The type of username used by client.
Definition at line 5220 of file microhttpd.h.
Referenced by MHD_digest_auth_get_request_info3().
uint8_t* MHD_DigestAuthInfo::userhash_bin |
The userhash decoded to binary form. Used only if username type is userhash, always NULL otherwise. When not NULL, this points to binary sequence userhash_hex_len /2 bytes long. The valid size should be #MHD_digest_get_hash_size(algo3) bytes. The buffer pointed by the userhash_bin becomes invalid when the pointer to the structure is freed by MHD_free().
Definition at line 5273 of file microhttpd.h.
char* MHD_DigestAuthInfo::userhash_hex |
The userhash string. Valid only if username type is userhash. This is unqoted string without decoding of the hexadecimal digits (as provided by the client). The buffer pointed by the userhash_hex becomes invalid when the pointer to the structure is freed by MHD_free().
Definition at line 5250 of file microhttpd.h.
size_t MHD_DigestAuthInfo::userhash_hex_len |
The length of the userhash_hex in characters. The valid size should be #MHD_digest_get_hash_size(algo3) * 2 characters. When the userhash_hex is NULL, this member is always zero.
Definition at line 5257 of file microhttpd.h.
char* MHD_DigestAuthInfo::username |
The username string. Used only if username type is standard or extended, always NULL otherwise. If extended notation is used, this string is pct-decoded string with charset and language tag removed (i.e. it is original username extracted from the extended notation). When userhash is used by the client, this member is NULL and userhash_hex and userhash_bin are set. The buffer pointed by the username becomes invalid when the pointer to the structure is freed by MHD_free().
Definition at line 5233 of file microhttpd.h.
size_t MHD_DigestAuthInfo::username_len |
The length of the username. When the username is NULL, this member is always zero.
Definition at line 5239 of file microhttpd.h.