aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvgeny Grin (Karlson2k) <k2k@narod.ru>2024-04-08 13:11:47 +0200
committerEvgeny Grin (Karlson2k) <k2k@narod.ru>2024-04-08 13:12:07 +0200
commit9b22dba1e2adb16b8370e85117f35b956145c50a (patch)
tree269a84811800cd03768da97760305dc6d7b842a0
parent677125ba2b0037f309d1e0cdebf5e463b5339b88 (diff)
downloadlibmicrohttpd-9b22dba1e2adb16b8370e85117f35b956145c50a.tar.gz
libmicrohttpd-9b22dba1e2adb16b8370e85117f35b956145c50a.zip
Unified enum formatting
-rw-r--r--src/include/microhttpd2.h245
1 files changed, 122 insertions, 123 deletions
diff --git a/src/include/microhttpd2.h b/src/include/microhttpd2.h
index 1a9144ad..d5d6e3cd 100644
--- a/src/include/microhttpd2.h
+++ b/src/include/microhttpd2.h
@@ -2621,14 +2621,16 @@ enum MHD_FIXED_ENUM_ MHD_FdState
2621 * / socket has incoming data ready to read (when used for 2621 * / socket has incoming data ready to read (when used for
2622 * #MHD_process_watched_fds()) 2622 * #MHD_process_watched_fds())
2623 */ 2623 */
2624 MHD_FD_STATE_RECV = 1 << 0, 2624 MHD_FD_STATE_RECV = 1 << 0
2625 ,
2625 /** 2626 /**
2626 * Indicates that socket should be watched for availability for sending 2627 * Indicates that socket should be watched for availability for sending
2627 * (when set by #MHD_get_watched_fds()) 2628 * (when set by #MHD_get_watched_fds())
2628 * / socket has ability to send data (when used for 2629 * / socket has ability to send data (when used for
2629 * #MHD_process_watched_fds()) 2630 * #MHD_process_watched_fds())
2630 */ 2631 */
2631 MHD_FD_STATE_SEND = 1 << 1, 2632 MHD_FD_STATE_SEND = 1 << 1
2633 ,
2632 /** 2634 /**
2633 * Indicates that socket should be watched for disconnect, out-of-band 2635 * Indicates that socket should be watched for disconnect, out-of-band
2634 * data available or high priority data available (when set by 2636 * data available or high priority data available (when set by
@@ -2640,7 +2642,8 @@ enum MHD_FIXED_ENUM_ MHD_FdState
2640 * Note: #MHD_get_watched_fds() always set it as exceptions must be 2642 * Note: #MHD_get_watched_fds() always set it as exceptions must be
2641 * always watched. 2643 * always watched.
2642 */ 2644 */
2643 MHD_FD_STATE_EXCEPT = 1 << 2, 2645 MHD_FD_STATE_EXCEPT = 1 << 2
2646 ,
2644 2647
2645 /* The rest of the list is a bit-wise combination of three main 2648 /* The rest of the list is a bit-wise combination of three main
2646 * states. Application may use three main states directly as 2649 * states. Application may use three main states directly as
@@ -2650,15 +2653,18 @@ enum MHD_FIXED_ENUM_ MHD_FdState
2650 /** 2653 /**
2651 * Combination of #MHD_FD_STATE_RECV and #MHD_FD_STATE_SEND states. 2654 * Combination of #MHD_FD_STATE_RECV and #MHD_FD_STATE_SEND states.
2652 */ 2655 */
2653 MHD_FD_STATE_RECV_SEND = MHD_FD_STATE_RECV | MHD_FD_STATE_SEND, 2656 MHD_FD_STATE_RECV_SEND = MHD_FD_STATE_RECV | MHD_FD_STATE_SEND
2657 ,
2654 /** 2658 /**
2655 * Combination of #MHD_FD_STATE_RECV and #MHD_FD_STATE_EXCEPT states. 2659 * Combination of #MHD_FD_STATE_RECV and #MHD_FD_STATE_EXCEPT states.
2656 */ 2660 */
2657 MHD_FD_STATE_RECV_EXCEPT = MHD_FD_STATE_RECV | MHD_FD_STATE_EXCEPT, 2661 MHD_FD_STATE_RECV_EXCEPT = MHD_FD_STATE_RECV | MHD_FD_STATE_EXCEPT
2662 ,
2658 /** 2663 /**
2659 * Combination of #MHD_FD_STATE_RECV and #MHD_FD_STATE_EXCEPT states. 2664 * Combination of #MHD_FD_STATE_RECV and #MHD_FD_STATE_EXCEPT states.
2660 */ 2665 */
2661 MHD_FD_STATE_SEND_EXCEPT = MHD_FD_STATE_RECV | MHD_FD_STATE_EXCEPT, 2666 MHD_FD_STATE_SEND_EXCEPT = MHD_FD_STATE_RECV | MHD_FD_STATE_EXCEPT
2667 ,
2662 /** 2668 /**
2663 * Combination of #MHD_FD_STATE_RECV, #MHD_FD_STATE_SEND and 2669 * Combination of #MHD_FD_STATE_RECV, #MHD_FD_STATE_SEND and
2664 * #MHD_FD_STATE_EXCEPT states. 2670 * #MHD_FD_STATE_EXCEPT states.
@@ -3356,8 +3362,8 @@ enum MHD_FIXED_ENUM_APP_SET_ MHD_ProtocolStrictLevel
3356 * Be particularly permissive about the protocol, within 3362 * Be particularly permissive about the protocol, within
3357 * the limits set by RFCs for HTTP servers. 3363 * the limits set by RFCs for HTTP servers.
3358 */ 3364 */
3359 MHD_PSL_PERMISSIVE = -1, 3365 MHD_PSL_PERMISSIVE = -1
3360 3366 ,
3361 /* * Special levels * */ 3367 /* * Special levels * */
3362 /** 3368 /**
3363 * Stricter protocol interpretation, even stricter then allowed 3369 * Stricter protocol interpretation, even stricter then allowed
@@ -3396,8 +3402,8 @@ enum MHD_FIXED_ENUM_APP_SET_ MHD_ProtocolStrictLevel
3396 * allows whitespaces in cookie values. 3402 * allows whitespaces in cookie values.
3397 * This level can be used in isolated environments. 3403 * This level can be used in isolated environments.
3398 */ 3404 */
3399 MHD_PSL_VERY_PERMISSIVE = -2, 3405 MHD_PSL_VERY_PERMISSIVE = -2
3400 3406 ,
3401 /** 3407 /**
3402 * The most flexible protocol interpretation, beyond 3408 * The most flexible protocol interpretation, beyond
3403 * RFCs' "MUST" type of restrictions for HTTP server. 3409 * RFCs' "MUST" type of restrictions for HTTP server.
@@ -3491,13 +3497,13 @@ enum MHD_FIXED_FLAGS_ENUM_APP_SET_ MHD_DaemonOptionValueDAuthBindNonce
3491 * when clients' requests are intensive. 3497 * when clients' requests are intensive.
3492 * This value cannot be biwise-OR combined with other values. 3498 * This value cannot be biwise-OR combined with other values.
3493 */ 3499 */
3494 MHD_DAEMON_OPTION_VALUE_DAUTH_BIND_NONCE_NONE = 0, 3500 MHD_DAEMON_OPTION_VALUE_DAUTH_BIND_NONCE_NONE = 0
3495 3501 ,
3496 /** 3502 /**
3497 * Generated nonces are valid only for the same realm. 3503 * Generated nonces are valid only for the same realm.
3498 */ 3504 */
3499 MHD_DAEMON_OPTION_VALUE_DAUTH_BIND_NONCE_REALM = 1 << 0, 3505 MHD_DAEMON_OPTION_VALUE_DAUTH_BIND_NONCE_REALM = (1 << 0)
3500 3506 ,
3501 /** 3507 /**
3502 * Generated nonces are valid only for the same URI (excluding parameters 3508 * Generated nonces are valid only for the same URI (excluding parameters
3503 * after '?' in URI) and request method (GET, POST etc). 3509 * after '?' in URI) and request method (GET, POST etc).
@@ -3508,7 +3514,8 @@ enum MHD_FIXED_FLAGS_ENUM_APP_SET_ MHD_DaemonOptionValueDAuthBindNonce
3508 * Before #MHD_VERSION 0x00097701 this was default (and only supported) 3514 * Before #MHD_VERSION 0x00097701 this was default (and only supported)
3509 * nonce bind type. 3515 * nonce bind type.
3510 */ 3516 */
3511 MHD_DAEMON_OPTION_VALUE_DAUTH_BIND_NONCE_URI = 1 << 1, 3517 MHD_DAEMON_OPTION_VALUE_DAUTH_BIND_NONCE_URI = (1 << 1)
3518 ,
3512 3519
3513 /** 3520 /**
3514 * Generated nonces are valid only for the same URI including URI parameters 3521 * Generated nonces are valid only for the same URI including URI parameters
@@ -3516,7 +3523,8 @@ enum MHD_FIXED_FLAGS_ENUM_APP_SET_ MHD_DaemonOptionValueDAuthBindNonce
3516 * This value implies #MHD_DAUTH_BIND_NONCE_URI. 3523 * This value implies #MHD_DAUTH_BIND_NONCE_URI.
3517 * Not recommended for that same reasons as #MHD_DAUTH_BIND_NONCE_URI. 3524 * Not recommended for that same reasons as #MHD_DAUTH_BIND_NONCE_URI.
3518 */ 3525 */
3519 MHD_DAEMON_OPTION_VALUE_DAUTH_BIND_NONCE_URI_PARAMS = 1 << 2, 3526 MHD_DAEMON_OPTION_VALUE_DAUTH_BIND_NONCE_URI_PARAMS = (1 << 2)
3527 ,
3520 3528
3521 /** 3529 /**
3522 * Generated nonces are valid only for the single client's IP. 3530 * Generated nonces are valid only for the single client's IP.
@@ -3525,7 +3533,7 @@ enum MHD_FIXED_FLAGS_ENUM_APP_SET_ MHD_DaemonOptionValueDAuthBindNonce
3525 * Multi-NAT, different proxy chain and other reasons), while IP address 3533 * Multi-NAT, different proxy chain and other reasons), while IP address
3526 * spoofing could be used relatively easily. 3534 * spoofing could be used relatively easily.
3527 */ 3535 */
3528 MHD_DAEMON_OPTION_VALUE_DAUTH_BIND_NONCE_CLIENT_IP = 1 << 3 3536 MHD_DAEMON_OPTION_VALUE_DAUTH_BIND_NONCE_CLIENT_IP = (1 << 3)
3529}; 3537};
3530 3538
3531 3539
@@ -6923,18 +6931,18 @@ enum MHD_FLAGS_ENUM_ MHD_ValueKind
6923 /** 6931 /**
6924 * HTTP header. 6932 * HTTP header.
6925 */ 6933 */
6926 MHD_VK_HEADER = 1 6934 MHD_VK_HEADER = (1 << 0)
6927 , 6935 ,
6928 /** 6936 /**
6929 * Cookies. Note that the original HTTP header containing 6937 * Cookies. Note that the original HTTP header containing
6930 * the cookie(s) will still be available and intact. 6938 * the cookie(s) will still be available and intact.
6931 */ 6939 */
6932 MHD_VK_COOKIE = 2 6940 MHD_VK_COOKIE = (1 << 1)
6933 , 6941 ,
6934 /** 6942 /**
6935 * GET (URI) arguments. 6943 * GET (URI) arguments.
6936 */ 6944 */
6937 MHD_VK_GET_ARGUMENT = 4 6945 MHD_VK_GET_ARGUMENT = (1 << 2)
6938 , 6946 ,
6939 /** 6947 /**
6940 * POST data. 6948 * POST data.
@@ -6948,18 +6956,18 @@ enum MHD_FLAGS_ENUM_ MHD_ValueKind
6948 * important to check used "Transfer-Encoding". While it is deprecated and 6956 * important to check used "Transfer-Encoding". While it is deprecated and
6949 * not used by modern clients, hypothetically it can be used. 6957 * not used by modern clients, hypothetically it can be used.
6950 */ 6958 */
6951 MHD_VK_POSTDATA = 8 6959 MHD_VK_POSTDATA = (1 << 3)
6952 , 6960 ,
6953 /** 6961 /**
6954 * HTTP footer (only for HTTP 1.1 chunked encodings). 6962 * HTTP footer (only for HTTP 1.1 chunked encodings).
6955 */ 6963 */
6956 MHD_VK_FOOTER = 16 6964 MHD_VK_FOOTER = (1 << 4)
6957 , 6965 ,
6958 /** 6966 /**
6959 * Header and footer values 6967 * Header and footer values
6960 */ 6968 */
6961 MHD_VK_HEADER_FOOTER = MHD_VK_HEADER | MHD_VK_FOOTER, 6969 MHD_VK_HEADER_FOOTER = MHD_VK_HEADER | MHD_VK_FOOTER
6962 6970 ,
6963 /** 6971 /**
6964 * Values from get arguments or post data 6972 * Values from get arguments or post data
6965 */ 6973 */
@@ -9046,14 +9054,14 @@ enum MHD_FIXED_ENUM_MHD_APP_SET_ MHD_DigestBaseAlgo
9046 * MD5 hash algorithm. 9054 * MD5 hash algorithm.
9047 * As specified by RFC1321 9055 * As specified by RFC1321
9048 */ 9056 */
9049 MHD_DIGEST_BASE_ALGO_MD5 = (1 << 0), 9057 MHD_DIGEST_BASE_ALGO_MD5 = (1 << 0)
9050 9058 ,
9051 /** 9059 /**
9052 * SHA-256 hash algorithm. 9060 * SHA-256 hash algorithm.
9053 * As specified by FIPS PUB 180-4 9061 * As specified by FIPS PUB 180-4
9054 */ 9062 */
9055 MHD_DIGEST_BASE_ALGO_SHA256 = (1 << 1), 9063 MHD_DIGEST_BASE_ALGO_SHA256 = (1 << 1)
9056 9064 ,
9057 /** 9065 /**
9058 * SHA-512/256 hash algorithm. 9066 * SHA-512/256 hash algorithm.
9059 * As specified by FIPS PUB 180-4 9067 * As specified by FIPS PUB 180-4
@@ -9089,34 +9097,34 @@ enum MHD_FIXED_ENUM_MHD_APP_SET_ MHD_DigestAuthAlgo
9089 * The 'MD5' algorithm, non-session version. 9097 * The 'MD5' algorithm, non-session version.
9090 */ 9098 */
9091 MHD_DIGEST_AUTH_ALGO_MD5 = 9099 MHD_DIGEST_AUTH_ALGO_MD5 =
9092 MHD_DIGEST_BASE_ALGO_MD5 | MHD_DIGEST_AUTH_ALGO_NON_SESSION, 9100 MHD_DIGEST_BASE_ALGO_MD5 | MHD_DIGEST_AUTH_ALGO_NON_SESSION
9093 9101 ,
9094 /** 9102 /**
9095 * The 'MD5-sess' algorithm. 9103 * The 'MD5-sess' algorithm.
9096 * Not supported by MHD for authentication. 9104 * Not supported by MHD for authentication.
9097 */ 9105 */
9098 MHD_DIGEST_AUTH_ALGO_MD5_SESSION = 9106 MHD_DIGEST_AUTH_ALGO_MD5_SESSION =
9099 MHD_DIGEST_BASE_ALGO_MD5 | MHD_DIGEST_AUTH_ALGO_SESSION, 9107 MHD_DIGEST_BASE_ALGO_MD5 | MHD_DIGEST_AUTH_ALGO_SESSION
9100 9108 ,
9101 /** 9109 /**
9102 * The 'SHA-256' algorithm, non-session version. 9110 * The 'SHA-256' algorithm, non-session version.
9103 */ 9111 */
9104 MHD_DIGEST_AUTH_ALGO_SHA256 = 9112 MHD_DIGEST_AUTH_ALGO_SHA256 =
9105 MHD_DIGEST_BASE_ALGO_SHA256 | MHD_DIGEST_AUTH_ALGO_NON_SESSION, 9113 MHD_DIGEST_BASE_ALGO_SHA256 | MHD_DIGEST_AUTH_ALGO_NON_SESSION
9106 9114 ,
9107 /** 9115 /**
9108 * The 'SHA-256-sess' algorithm. 9116 * The 'SHA-256-sess' algorithm.
9109 * Not supported by MHD for authentication. 9117 * Not supported by MHD for authentication.
9110 */ 9118 */
9111 MHD_DIGEST_AUTH_ALGO_SHA256_SESSION = 9119 MHD_DIGEST_AUTH_ALGO_SHA256_SESSION =
9112 MHD_DIGEST_BASE_ALGO_SHA256 | MHD_DIGEST_AUTH_ALGO_SESSION, 9120 MHD_DIGEST_BASE_ALGO_SHA256 | MHD_DIGEST_AUTH_ALGO_SESSION
9113 9121 ,
9114 /** 9122 /**
9115 * The 'SHA-512-256' (SHA-512/256) algorithm. 9123 * The 'SHA-512-256' (SHA-512/256) algorithm.
9116 */ 9124 */
9117 MHD_DIGEST_AUTH_ALGO_SHA512_256 = 9125 MHD_DIGEST_AUTH_ALGO_SHA512_256 =
9118 MHD_DIGEST_BASE_ALGO_SHA512_256 | MHD_DIGEST_AUTH_ALGO_NON_SESSION, 9126 MHD_DIGEST_BASE_ALGO_SHA512_256 | MHD_DIGEST_AUTH_ALGO_NON_SESSION
9119 9127 ,
9120 /** 9128 /**
9121 * The 'SHA-512-256-sess' (SHA-512/256 session) algorithm. 9129 * The 'SHA-512-256-sess' (SHA-512/256 session) algorithm.
9122 * Not supported by MHD for authentication. 9130 * Not supported by MHD for authentication.
@@ -9154,60 +9162,60 @@ enum MHD_FIXED_ENUM_MHD_APP_SET_ MHD_DigestAuthMultiAlgo
9154 /** 9162 /**
9155 * Unknown or wrong algorithm type. 9163 * Unknown or wrong algorithm type.
9156 */ 9164 */
9157 MHD_DIGEST_AUTH_MULT_ALGO_INVALID = MHD_DIGEST_AUTH_ALGO_INVALID, 9165 MHD_DIGEST_AUTH_MULT_ALGO_INVALID = MHD_DIGEST_AUTH_ALGO_INVALID
9158 9166 ,
9159 /** 9167 /**
9160 * The 'MD5' algorithm, non-session version. 9168 * The 'MD5' algorithm, non-session version.
9161 */ 9169 */
9162 MHD_DIGEST_AUTH_MULT_ALGO_MD5 = MHD_DIGEST_AUTH_ALGO_MD5, 9170 MHD_DIGEST_AUTH_MULT_ALGO_MD5 = MHD_DIGEST_AUTH_ALGO_MD5
9163 9171 ,
9164 /** 9172 /**
9165 * The 'MD5-sess' algorithm. 9173 * The 'MD5-sess' algorithm.
9166 * Not supported by MHD for authentication. 9174 * Not supported by MHD for authentication.
9167 * Reserved value. 9175 * Reserved value.
9168 */ 9176 */
9169 MHD_DIGEST_AUTH_MULT_ALGO_MD5_SESSION = MHD_DIGEST_AUTH_ALGO_MD5_SESSION, 9177 MHD_DIGEST_AUTH_MULT_ALGO_MD5_SESSION = MHD_DIGEST_AUTH_ALGO_MD5_SESSION
9170 9178 ,
9171 /** 9179 /**
9172 * The 'SHA-256' algorithm, non-session version. 9180 * The 'SHA-256' algorithm, non-session version.
9173 */ 9181 */
9174 MHD_DIGEST_AUTH_MULT_ALGO_SHA256 = MHD_DIGEST_AUTH_ALGO_SHA256, 9182 MHD_DIGEST_AUTH_MULT_ALGO_SHA256 = MHD_DIGEST_AUTH_ALGO_SHA256
9175 9183 ,
9176 /** 9184 /**
9177 * The 'SHA-256-sess' algorithm. 9185 * The 'SHA-256-sess' algorithm.
9178 * Not supported by MHD for authentication. 9186 * Not supported by MHD for authentication.
9179 * Reserved value. 9187 * Reserved value.
9180 */ 9188 */
9181 MHD_DIGEST_AUTH_MULT_ALGO_SHA256_SESSION = 9189 MHD_DIGEST_AUTH_MULT_ALGO_SHA256_SESSION =
9182 MHD_DIGEST_AUTH_ALGO_SHA256_SESSION, 9190 MHD_DIGEST_AUTH_ALGO_SHA256_SESSION
9183 9191 ,
9184 /** 9192 /**
9185 * The 'SHA-512-256' (SHA-512/256) algorithm, non-session version. 9193 * The 'SHA-512-256' (SHA-512/256) algorithm, non-session version.
9186 */ 9194 */
9187 MHD_DIGEST_AUTH_MULT_ALGO_SHA512_256 = MHD_DIGEST_AUTH_ALGO_SHA512_256, 9195 MHD_DIGEST_AUTH_MULT_ALGO_SHA512_256 = MHD_DIGEST_AUTH_ALGO_SHA512_256
9188 9196 ,
9189 /** 9197 /**
9190 * The 'SHA-512-256-sess' (SHA-512/256 session) algorithm. 9198 * The 'SHA-512-256-sess' (SHA-512/256 session) algorithm.
9191 * Not supported by MHD for authentication. 9199 * Not supported by MHD for authentication.
9192 * Reserved value. 9200 * Reserved value.
9193 */ 9201 */
9194 MHD_DIGEST_AUTH_MULT_ALGO_SHA512_256_SESSION = 9202 MHD_DIGEST_AUTH_MULT_ALGO_SHA512_256_SESSION =
9195 MHD_DIGEST_AUTH_ALGO_SHA512_256_SESSION, 9203 MHD_DIGEST_AUTH_ALGO_SHA512_256_SESSION
9196 9204 ,
9197 /** 9205 /**
9198 * SHA-256 or SHA-512/256 non-session algorithm, MHD will choose 9206 * SHA-256 or SHA-512/256 non-session algorithm, MHD will choose
9199 * the preferred or the matching one. 9207 * the preferred or the matching one.
9200 */ 9208 */
9201 MHD_DIGEST_AUTH_MULT_ALGO_SHA_ANY_NON_SESSION = 9209 MHD_DIGEST_AUTH_MULT_ALGO_SHA_ANY_NON_SESSION =
9202 MHD_DIGEST_AUTH_ALGO_SHA256 | MHD_DIGEST_AUTH_ALGO_SHA512_256, 9210 MHD_DIGEST_AUTH_ALGO_SHA256 | MHD_DIGEST_AUTH_ALGO_SHA512_256
9203 9211 ,
9204 /** 9212 /**
9205 * Any non-session algorithm, MHD will choose the preferred or 9213 * Any non-session algorithm, MHD will choose the preferred or
9206 * the matching one. 9214 * the matching one.
9207 */ 9215 */
9208 MHD_DIGEST_AUTH_MULT_ALGO_ANY_NON_SESSION = 9216 MHD_DIGEST_AUTH_MULT_ALGO_ANY_NON_SESSION =
9209 (0x3F) | MHD_DIGEST_AUTH_ALGO_NON_SESSION, 9217 (0x3F) | MHD_DIGEST_AUTH_ALGO_NON_SESSION
9210 9218 ,
9211 /** 9219 /**
9212 * The SHA-256 or SHA-512/256 session algorithm. 9220 * The SHA-256 or SHA-512/256 session algorithm.
9213 * Not supported by MHD. 9221 * Not supported by MHD.
@@ -9215,47 +9223,47 @@ enum MHD_FIXED_ENUM_MHD_APP_SET_ MHD_DigestAuthMultiAlgo
9215 */ 9223 */
9216 MHD_DIGEST_AUTH_MULT_ALGO_SHA_ANY_SESSION = 9224 MHD_DIGEST_AUTH_MULT_ALGO_SHA_ANY_SESSION =
9217 MHD_DIGEST_AUTH_ALGO_SHA256_SESSION 9225 MHD_DIGEST_AUTH_ALGO_SHA256_SESSION
9218 | MHD_DIGEST_AUTH_ALGO_SHA512_256_SESSION, 9226 | MHD_DIGEST_AUTH_ALGO_SHA512_256_SESSION
9219 9227 ,
9220 /** 9228 /**
9221 * Any session algorithm. 9229 * Any session algorithm.
9222 * Not supported by MHD. 9230 * Not supported by MHD.
9223 * Reserved value. 9231 * Reserved value.
9224 */ 9232 */
9225 MHD_DIGEST_AUTH_MULT_ALGO_ANY_SESSION = 9233 MHD_DIGEST_AUTH_MULT_ALGO_ANY_SESSION =
9226 (0x3F) | MHD_DIGEST_AUTH_ALGO_SESSION, 9234 (0x3F) | MHD_DIGEST_AUTH_ALGO_SESSION
9227 9235 ,
9228 /** 9236 /**
9229 * The MD5 algorithm, session or non-session. 9237 * The MD5 algorithm, session or non-session.
9230 * Currently supported as non-session only. 9238 * Currently supported as non-session only.
9231 */ 9239 */
9232 MHD_DIGEST_AUTH_MULT_ALGO_MD5_ANY = 9240 MHD_DIGEST_AUTH_MULT_ALGO_MD5_ANY =
9233 MHD_DIGEST_AUTH_MULT_ALGO_MD5 | MHD_DIGEST_AUTH_MULT_ALGO_MD5_SESSION, 9241 MHD_DIGEST_AUTH_MULT_ALGO_MD5 | MHD_DIGEST_AUTH_MULT_ALGO_MD5_SESSION
9234 9242 ,
9235 /** 9243 /**
9236 * The SHA-256 algorithm, session or non-session. 9244 * The SHA-256 algorithm, session or non-session.
9237 * Currently supported as non-session only. 9245 * Currently supported as non-session only.
9238 */ 9246 */
9239 MHD_DIGEST_AUTH_MULT_ALGO_SHA256_ANY = 9247 MHD_DIGEST_AUTH_MULT_ALGO_SHA256_ANY =
9240 MHD_DIGEST_AUTH_MULT_ALGO_SHA256 9248 MHD_DIGEST_AUTH_MULT_ALGO_SHA256
9241 | MHD_DIGEST_AUTH_MULT_ALGO_SHA256_SESSION, 9249 | MHD_DIGEST_AUTH_MULT_ALGO_SHA256_SESSION
9242 9250 ,
9243 /** 9251 /**
9244 * The SHA-512/256 algorithm, session or non-session. 9252 * The SHA-512/256 algorithm, session or non-session.
9245 * Currently supported as non-session only. 9253 * Currently supported as non-session only.
9246 */ 9254 */
9247 MHD_DIGEST_AUTH_MULT_ALGO_SHA512_256_ANY = 9255 MHD_DIGEST_AUTH_MULT_ALGO_SHA512_256_ANY =
9248 MHD_DIGEST_AUTH_MULT_ALGO_SHA512_256 9256 MHD_DIGEST_AUTH_MULT_ALGO_SHA512_256
9249 | MHD_DIGEST_AUTH_MULT_ALGO_SHA512_256_SESSION, 9257 | MHD_DIGEST_AUTH_MULT_ALGO_SHA512_256_SESSION
9250 9258 ,
9251 /** 9259 /**
9252 * The SHA-256 or SHA-512/256 algorithm, session or non-session. 9260 * The SHA-256 or SHA-512/256 algorithm, session or non-session.
9253 * Currently supported as non-session only. 9261 * Currently supported as non-session only.
9254 */ 9262 */
9255 MHD_DIGEST_AUTH_MULT_ALGO_SHA_ANY_ANY = 9263 MHD_DIGEST_AUTH_MULT_ALGO_SHA_ANY_ANY =
9256 MHD_DIGEST_AUTH_MULT_ALGO_SHA_ANY_NON_SESSION 9264 MHD_DIGEST_AUTH_MULT_ALGO_SHA_ANY_NON_SESSION
9257 | MHD_DIGEST_AUTH_MULT_ALGO_SHA_ANY_SESSION, 9265 | MHD_DIGEST_AUTH_MULT_ALGO_SHA_ANY_SESSION
9258 9266 ,
9259 /** 9267 /**
9260 * Any algorithm, MHD will choose the preferred or the matching one. 9268 * Any algorithm, MHD will choose the preferred or the matching one.
9261 */ 9269 */
@@ -9307,10 +9315,8 @@ MHD_digest_auth_calc_userhash (enum MHD_DigestAuthAlgo algo,
9307 const char *realm, 9315 const char *realm,
9308 size_t bin_buf_size, 9316 size_t bin_buf_size,
9309 void *userhash_bin) 9317 void *userhash_bin)
9310MHD_FN_PURE_ 9318MHD_FN_PURE_ MHD_FN_PAR_NONNULL_ALL_ MHD_FN_PAR_CSTR_ (2)
9311MHD_FN_PAR_NONNULL_ALL_ 9319MHD_FN_PAR_CSTR_ (3) MHD_FN_PAR_OUT_SIZE_ (4,3);
9312 MHD_FN_PAR_CSTR_ (2) MHD_FN_PAR_CSTR_ (3)
9313MHD_FN_PAR_OUT_SIZE_ (4,3);
9314 9320
9315 9321
9316/** 9322/**
@@ -9358,12 +9364,8 @@ MHD_digest_auth_calc_userhash_hex (
9358 const char *realm, 9364 const char *realm,
9359 size_t hex_buf_size, 9365 size_t hex_buf_size,
9360 char userhash_hex[MHD_FN_PAR_DYN_ARR_SIZE_ (hex_buf_size)]) 9366 char userhash_hex[MHD_FN_PAR_DYN_ARR_SIZE_ (hex_buf_size)])
9361MHD_FN_PURE_ 9367MHD_FN_PURE_ MHD_FN_PAR_NONNULL_ALL_ MHD_FN_PAR_CSTR_ (2)
9362MHD_FN_PAR_NONNULL_ALL_ 9368MHD_FN_PAR_CSTR_ (3) MHD_FN_PAR_OUT_SIZE_ (4,3);
9363 MHD_FN_PAR_CSTR_ (2) MHD_FN_PAR_CSTR_ (3)
9364MHD_FN_PAR_OUT_SIZE_ (4,3);
9365
9366;
9367 9369
9368 9370
9369/** 9371/**
@@ -9389,23 +9391,23 @@ enum MHD_FIXED_ENUM_MHD_SET_ MHD_DigestAuthUsernameType
9389 /** 9391 /**
9390 * The 'username' parameter is used to specify the username. 9392 * The 'username' parameter is used to specify the username.
9391 */ 9393 */
9392 MHD_DIGEST_AUTH_UNAME_TYPE_STANDARD = (1 << 2), 9394 MHD_DIGEST_AUTH_UNAME_TYPE_STANDARD = (1 << 2)
9393 9395 ,
9394 /** 9396 /**
9395 * The username is specified by 'username*' parameter with 9397 * The username is specified by 'username*' parameter with
9396 * the extended notation (see RFC 5987 #section-3.2.1). 9398 * the extended notation (see RFC 5987 #section-3.2.1).
9397 * The only difference between standard and extended types is 9399 * The only difference between standard and extended types is
9398 * the way how username value is encoded in the header. 9400 * the way how username value is encoded in the header.
9399 */ 9401 */
9400 MHD_DIGEST_AUTH_UNAME_TYPE_EXTENDED = (1 << 3), 9402 MHD_DIGEST_AUTH_UNAME_TYPE_EXTENDED = (1 << 3)
9401 9403 ,
9402 /** 9404 /**
9403 * The username provided in form of 'userhash' as 9405 * The username provided in form of 'userhash' as
9404 * specified by RFC 7616 #section-3.4.4. 9406 * specified by RFC 7616 #section-3.4.4.
9405 * @sa #MHD_digest_auth_calc_userhash_hex(), #MHD_digest_auth_calc_userhash() 9407 * @sa #MHD_digest_auth_calc_userhash_hex(), #MHD_digest_auth_calc_userhash()
9406 */ 9408 */
9407 MHD_DIGEST_AUTH_UNAME_TYPE_USERHASH = (1 << 1), 9409 MHD_DIGEST_AUTH_UNAME_TYPE_USERHASH = (1 << 1)
9408 9410 ,
9409 /** 9411 /**
9410 * The invalid combination of username parameters are used by client. 9412 * The invalid combination of username parameters are used by client.
9411 * Either: 9413 * Either:
@@ -9437,13 +9439,13 @@ enum MHD_FIXED_ENUM_MHD_APP_SET_ MHD_DigestAuthQOP
9437 * parameter). 9439 * parameter).
9438 * This mode is less secure than other modes and inefficient. 9440 * This mode is less secure than other modes and inefficient.
9439 */ 9441 */
9440 MHD_DIGEST_AUTH_QOP_NONE = 1 << 0, 9442 MHD_DIGEST_AUTH_QOP_NONE = 1 << 0
9441 9443 ,
9442 /** 9444 /**
9443 * The 'auth' QOP type. 9445 * The 'auth' QOP type.
9444 */ 9446 */
9445 MHD_DIGEST_AUTH_QOP_AUTH = 1 << 1, 9447 MHD_DIGEST_AUTH_QOP_AUTH = 1 << 1
9446 9448 ,
9447 /** 9449 /**
9448 * The 'auth-int' QOP type. 9450 * The 'auth-int' QOP type.
9449 * Not supported by MHD for authentication. 9451 * Not supported by MHD for authentication.
@@ -9462,8 +9464,8 @@ enum MHD_FIXED_ENUM_MHD_APP_SET_ MHD_DigestAuthMultiQOP
9462 /** 9464 /**
9463 * Invalid/unknown QOP. 9465 * Invalid/unknown QOP.
9464 */ 9466 */
9465 MHD_DIGEST_AUTH_MULT_QOP_INVALID = MHD_DIGEST_AUTH_QOP_INVALID, 9467 MHD_DIGEST_AUTH_MULT_QOP_INVALID = MHD_DIGEST_AUTH_QOP_INVALID
9466 9468 ,
9467 /** 9469 /**
9468 * No QOP parameter. 9470 * No QOP parameter.
9469 * As described in old RFC 2069 original specification. 9471 * As described in old RFC 2069 original specification.
@@ -9472,20 +9474,20 @@ enum MHD_FIXED_ENUM_MHD_APP_SET_ MHD_DigestAuthMultiQOP
9472 * parameter). 9474 * parameter).
9473 * This mode is less secure than other modes and inefficient. 9475 * This mode is less secure than other modes and inefficient.
9474 */ 9476 */
9475 MHD_DIGEST_AUTH_MULT_QOP_NONE = MHD_DIGEST_AUTH_QOP_NONE, 9477 MHD_DIGEST_AUTH_MULT_QOP_NONE = MHD_DIGEST_AUTH_QOP_NONE
9476 9478 ,
9477 /** 9479 /**
9478 * The 'auth' QOP type. 9480 * The 'auth' QOP type.
9479 */ 9481 */
9480 MHD_DIGEST_AUTH_MULT_QOP_AUTH = MHD_DIGEST_AUTH_QOP_AUTH, 9482 MHD_DIGEST_AUTH_MULT_QOP_AUTH = MHD_DIGEST_AUTH_QOP_AUTH
9481 9483 ,
9482 /** 9484 /**
9483 * The 'auth-int' QOP type. 9485 * The 'auth-int' QOP type.
9484 * Not supported by MHD. 9486 * Not supported by MHD.
9485 * Reserved value. 9487 * Reserved value.
9486 */ 9488 */
9487 MHD_DIGEST_AUTH_MULT_QOP_AUTH_INT = MHD_DIGEST_AUTH_QOP_AUTH_INT, 9489 MHD_DIGEST_AUTH_MULT_QOP_AUTH_INT = MHD_DIGEST_AUTH_QOP_AUTH_INT
9488 9490 ,
9489 /** 9491 /**
9490 * The 'auth' QOP type OR the old RFC2069 (no QOP) type. 9492 * The 'auth' QOP type OR the old RFC2069 (no QOP) type.
9491 * In other words: any types except 'auth-int'. 9493 * In other words: any types except 'auth-int'.
@@ -9493,8 +9495,8 @@ enum MHD_FIXED_ENUM_MHD_APP_SET_ MHD_DigestAuthMultiQOP
9493 * when it is really necessary. 9495 * when it is really necessary.
9494 */ 9496 */
9495 MHD_DIGEST_AUTH_MULT_QOP_ANY_NON_INT = 9497 MHD_DIGEST_AUTH_MULT_QOP_ANY_NON_INT =
9496 MHD_DIGEST_AUTH_QOP_NONE | MHD_DIGEST_AUTH_QOP_AUTH, 9498 MHD_DIGEST_AUTH_QOP_NONE | MHD_DIGEST_AUTH_QOP_AUTH
9497 9499 ,
9498 /** 9500 /**
9499 * Any 'auth' QOP type ('auth' or 'auth-int'). 9501 * Any 'auth' QOP type ('auth' or 'auth-int').
9500 * Currently supported as 'auth' QOP type only. 9502 * Currently supported as 'auth' QOP type only.
@@ -9690,38 +9692,38 @@ enum MHD_FIXED_ENUM_MHD_SET_ MHD_DigestAuthResult
9690 * Also may be returned if required parameters in client Authorisation header 9692 * Also may be returned if required parameters in client Authorisation header
9691 * are missing or broken (in invalid format). 9693 * are missing or broken (in invalid format).
9692 */ 9694 */
9693 MHD_DAUTH_WRONG_HEADER = -1, 9695 MHD_DAUTH_WRONG_HEADER = -1
9694 9696 ,
9695 /** 9697 /**
9696 * Wrong 'username'. 9698 * Wrong 'username'.
9697 */ 9699 */
9698 MHD_DAUTH_WRONG_USERNAME = -2, 9700 MHD_DAUTH_WRONG_USERNAME = -2
9699 9701 ,
9700 /** 9702 /**
9701 * Wrong 'realm'. 9703 * Wrong 'realm'.
9702 */ 9704 */
9703 MHD_DAUTH_WRONG_REALM = -3, 9705 MHD_DAUTH_WRONG_REALM = -3
9704 9706 ,
9705 /** 9707 /**
9706 * Wrong 'URI' (or URI parameters). 9708 * Wrong 'URI' (or URI parameters).
9707 */ 9709 */
9708 MHD_DAUTH_WRONG_URI = -4, 9710 MHD_DAUTH_WRONG_URI = -4
9709 9711 ,
9710 /** 9712 /**
9711 * Wrong 'qop'. 9713 * Wrong 'qop'.
9712 */ 9714 */
9713 MHD_DAUTH_WRONG_QOP = -5, 9715 MHD_DAUTH_WRONG_QOP = -5
9714 9716 ,
9715 /** 9717 /**
9716 * Wrong 'algorithm'. 9718 * Wrong 'algorithm'.
9717 */ 9719 */
9718 MHD_DAUTH_WRONG_ALGO = -6, 9720 MHD_DAUTH_WRONG_ALGO = -6
9719 9721 ,
9720 /** 9722 /**
9721 * Too large (>64 KiB) Authorization parameter value. 9723 * Too large (>64 KiB) Authorization parameter value.
9722 */ 9724 */
9723 MHD_DAUTH_TOO_LARGE = -15, 9725 MHD_DAUTH_TOO_LARGE = -15
9724 9726 ,
9725 /* The different form of naming is intentionally used for the results below, 9727 /* The different form of naming is intentionally used for the results below,
9726 * as they are more important */ 9728 * as they are more important */
9727 9729
@@ -9730,8 +9732,8 @@ enum MHD_FIXED_ENUM_MHD_SET_ MHD_DigestAuthResult
9730 * username and password to get the fresh 'nonce'. 9732 * username and password to get the fresh 'nonce'.
9731 * The validity of the 'nonce' may be not checked. 9733 * The validity of the 'nonce' may be not checked.
9732 */ 9734 */
9733 MHD_DAUTH_NONCE_STALE = -17, 9735 MHD_DAUTH_NONCE_STALE = -17
9734 9736 ,
9735 /** 9737 /**
9736 * The 'nonce' was generated by MHD for other conditions. 9738 * The 'nonce' was generated by MHD for other conditions.
9737 * This value is only returned if #MHD_OPTION_DIGEST_AUTH_NONCE_BIND_TYPE 9739 * This value is only returned if #MHD_OPTION_DIGEST_AUTH_NONCE_BIND_TYPE
@@ -9744,13 +9746,13 @@ enum MHD_FIXED_ENUM_MHD_SET_ MHD_DigestAuthResult
9744 * it is know that clients have fixed IP addresses, this return code could 9746 * it is know that clients have fixed IP addresses, this return code could
9745 * be handled like #MHD_DAUTH_NONCE_WRONG. 9747 * be handled like #MHD_DAUTH_NONCE_WRONG.
9746 */ 9748 */
9747 MHD_DAUTH_NONCE_OTHER_COND = -18, 9749 MHD_DAUTH_NONCE_OTHER_COND = -18
9748 9750 ,
9749 /** 9751 /**
9750 * The 'nonce' is wrong. May indicate an attack attempt. 9752 * The 'nonce' is wrong. May indicate an attack attempt.
9751 */ 9753 */
9752 MHD_DAUTH_NONCE_WRONG = -33, 9754 MHD_DAUTH_NONCE_WRONG = -33
9753 9755 ,
9754 /** 9756 /**
9755 * The 'response' is wrong. May indicate an attack attempt. 9757 * The 'response' is wrong. May indicate an attack attempt.
9756 */ 9758 */
@@ -9841,7 +9843,7 @@ MHD_digest_auth_calc_userdigest (enum MHD_DigestAuthAlgo algo,
9841 size_t bin_buf_size, 9843 size_t bin_buf_size,
9842 void *userdigest_bin) 9844 void *userdigest_bin)
9843MHD_FN_PURE_ MHD_FN_PAR_NONNULL_ALL_ 9845MHD_FN_PURE_ MHD_FN_PAR_NONNULL_ALL_
9844 MHD_FN_PAR_CSTR_ (2) 9846MHD_FN_PAR_CSTR_ (2)
9845MHD_FN_PAR_CSTR_ (3) 9847MHD_FN_PAR_CSTR_ (3)
9846MHD_FN_PAR_CSTR_ (4) 9848MHD_FN_PAR_CSTR_ (4)
9847MHD_FN_PAR_OUT_SIZE_ (6,5); 9849MHD_FN_PAR_OUT_SIZE_ (6,5);
@@ -9899,7 +9901,7 @@ MHD_digest_auth_check_digest (struct MHD_Request *request,
9899 enum MHD_DigestAuthMultiQOP mqop, 9901 enum MHD_DigestAuthMultiQOP mqop,
9900 enum MHD_DigestAuthMultiAlgo malgo) 9902 enum MHD_DigestAuthMultiAlgo malgo)
9901MHD_FN_PAR_NONNULL_ALL_ 9903MHD_FN_PAR_NONNULL_ALL_
9902 MHD_FN_PAR_CSTR_ (2) 9904MHD_FN_PAR_CSTR_ (2)
9903MHD_FN_PAR_CSTR_ (3) 9905MHD_FN_PAR_CSTR_ (3)
9904MHD_FN_PAR_CSTR_ (4); 9906MHD_FN_PAR_CSTR_ (4);
9905 9907
@@ -11498,7 +11500,6 @@ enum MHD_FIXED_ENUM_APP_SET_ MHD_RequestInfoDynamicType
11498 */ 11500 */
11499 MHD_REQUEST_INFO_DYNAMIC_HEADER_SIZE = 21 11501 MHD_REQUEST_INFO_DYNAMIC_HEADER_SIZE = 21
11500 , 11502 ,
11501
11502 /** 11503 /**
11503 * Returns the client-specific pointer to a `void *` that 11504 * Returns the client-specific pointer to a `void *` that
11504 * is specific to this request. // TODO: check reference 11505 * is specific to this request. // TODO: check reference
@@ -11506,7 +11507,6 @@ enum MHD_FIXED_ENUM_APP_SET_ MHD_RequestInfoDynamicType
11506 */ 11507 */
11507 MHD_REQUEST_INFO_DYNAMIC_CLIENT_CONTEXT = 31 11508 MHD_REQUEST_INFO_DYNAMIC_CLIENT_CONTEXT = 31
11508 , 11509 ,
11509
11510 /** 11510 /**
11511 * Returns pointer to information about username in client's digest auth 11511 * Returns pointer to information about username in client's digest auth
11512 * request. 11512 * request.
@@ -11539,7 +11539,6 @@ enum MHD_FIXED_ENUM_APP_SET_ MHD_RequestInfoDynamicType
11539 */ 11539 */
11540 MHD_REQUEST_INFO_DYNAMIC_BAUTH_REQ_INFO = 51 11540 MHD_REQUEST_INFO_DYNAMIC_BAUTH_REQ_INFO = 51
11541 , 11541 ,
11542
11543 /* * Sentinel * */ 11542 /* * Sentinel * */
11544 /** 11543 /**
11545 * The sentinel value. 11544 * The sentinel value.