aboutsummaryrefslogtreecommitdiff
path: root/src/microhttpd/internal.h
diff options
context:
space:
mode:
authorEvgeny Grin (Karlson2k) <k2k@narod.ru>2022-08-25 20:02:30 +0300
committerEvgeny Grin (Karlson2k) <k2k@narod.ru>2022-08-25 20:04:47 +0300
commita2916400661cb7c468af5744ea284ec9157abac9 (patch)
tree6ff41ef1d6e94544293226fe9bccee51c96a8a57 /src/microhttpd/internal.h
parent5e5efd92797e01595ea69826cde808d8e13ae26e (diff)
downloadlibmicrohttpd-a2916400661cb7c468af5744ea284ec9157abac9.tar.gz
libmicrohttpd-a2916400661cb7c468af5744ea284ec9157abac9.zip
digestauth: keep results of algo and QOP parsing, renamed public struct member
Diffstat (limited to 'src/microhttpd/internal.h')
-rw-r--r--src/microhttpd/internal.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/src/microhttpd/internal.h b/src/microhttpd/internal.h
index 3a81b2a2..3fa773a7 100644
--- a/src/microhttpd/internal.h
+++ b/src/microhttpd/internal.h
@@ -62,6 +62,7 @@
62#include "mhd_locks.h" 62#include "mhd_locks.h"
63#include "mhd_sockets.h" 63#include "mhd_sockets.h"
64#include "mhd_itc_types.h" 64#include "mhd_itc_types.h"
65#include "mhd_str_types.h"
65#if defined(BAUTH_SUPPORT) || defined(DAUTH_SUPPORT) 66#if defined(BAUTH_SUPPORT) || defined(DAUTH_SUPPORT)
66#include "gen_auth.h" 67#include "gen_auth.h"
67#endif /* BAUTH_SUPPORT || DAUTH_SUPPORT*/ 68#endif /* BAUTH_SUPPORT || DAUTH_SUPPORT*/
@@ -2282,6 +2283,51 @@ struct MHD_Daemon
2282}; 2283};
2283 2284
2284 2285
2286#ifdef DAUTH_SUPPORT
2287
2288/**
2289 * Parameter of request's Digest Authorization header
2290 */
2291struct MHD_RqDAuthParam
2292{
2293 /**
2294 * The string with length, NOT zero-terminated
2295 */
2296 struct _MHD_str_w_len value;
2297 /**
2298 * True if string must be "unquoted" before processing.
2299 * This member is false if the string is used in DQUOTE marks, but no
2300 * backslash-escape is used in the string.
2301 */
2302 bool quoted;
2303};
2304
2305/**
2306 * Request client's Digest Authorization header parameters
2307 */
2308struct MHD_RqDAuth
2309{
2310 struct MHD_RqDAuthParam nonce;
2311 struct MHD_RqDAuthParam opaque;
2312 struct MHD_RqDAuthParam response;
2313 struct MHD_RqDAuthParam username;
2314 struct MHD_RqDAuthParam username_ext;
2315 struct MHD_RqDAuthParam realm;
2316 struct MHD_RqDAuthParam uri;
2317 /* The raw QOP value, used in the 'response' calculation */
2318 struct MHD_RqDAuthParam qop_raw;
2319 struct MHD_RqDAuthParam cnonce;
2320 struct MHD_RqDAuthParam nc;
2321
2322 /* Decoded values are below */
2323 bool userhash; /* True if 'userhash' parameter has value 'true'. */
2324 enum MHD_DigestAuthAlgo3 algo3;
2325 enum MHD_DigestAuthQOP qop;
2326};
2327
2328
2329#endif /* DAUTH_SUPPORT */
2330
2285/** 2331/**
2286 * Insert an element at the head of a DLL. Assumes that head, tail and 2332 * Insert an element at the head of a DLL. Assumes that head, tail and
2287 * element are structs with prev and next fields. 2333 * element are structs with prev and next fields.