Commit Graph
4584 Commits
Author SHA1 Message Date
Christian Grothoff bd88a19e2d -typo 2022-07-20 21:04:25 +02:00
Evgeny Grin (Karlson2k) 76b5b1952c microhttpd.h: formatted some deprecation warnings 2022-07-19 17:50:07 +03:00
Evgeny Grin (Karlson2k) d39ad79ab6 digest_auth_check(): check and report wrong algorithm 2022-07-19 17:50:07 +03:00
Evgeny Grin (Karlson2k) 1a8a2b8d19 digest: small internal refactoring to clarify used hash type 2022-07-19 17:50:07 +03:00
Evgeny Grin (Karlson2k) f826bbca44 microhttpd.h: added special enum for hash types 2022-07-19 17:50:06 +03:00
Evgeny Grin (Karlson2k) da89942421 digest_auth_check: mostly rewritten, simplified, optimised
Moved all simple checks (size comparison, then strings comparison) to
the front, before starting any heavy digest calculcations.
Used extracted parameters for calculations immediately, therefore
avoided many memcpy()s and extra temporal storages.
2022-07-19 17:50:06 +03:00
Evgeny Grin (Karlson2k) cc40800c76 Digest: moved URI match check to separate function, avoid one memcpy() 2022-07-19 17:50:05 +03:00
Evgeny Grin (Karlson2k) c8a549bf4c Digest: check whether all required parameters are present before doing heavy calculations 2022-07-19 17:50:05 +03:00
Evgeny Grin (Karlson2k) 619e5f631e Digest: use binary zero to separate get params in digest 2022-07-19 17:50:05 +03:00
Evgeny Grin (Karlson2k) 98b3c68aab Added new functions MHD_digest_auth_get_request_info3() and MHD_digest_auth_get_username3() 2022-07-19 17:50:05 +03:00
Evgeny Grin (Karlson2k) c80ceb0d02 mhd_str: added macros for simple comparison against static strings 2022-07-19 17:50:05 +03:00
Evgeny Grin (Karlson2k) b78b38bae9 Added tests for hex <-> binary functions 2022-07-19 17:50:04 +03:00
Evgeny Grin (Karlson2k) ee06f77543 mhd_str: added MHD_hex_to_bin() internal function 2022-07-19 17:50:04 +03:00
Evgeny Grin (Karlson2k) 93a449edfb Use new functions for decode request URLs 2022-07-19 17:50:04 +03:00
Evgeny Grin (Karlson2k) 57f57e8bfe Added tests for percent-decoding functions 2022-07-18 12:57:11 +03:00
Evgeny Grin (Karlson2k) 420ed698d6 mhd_str: added functions for percent-decoding 2022-07-18 11:35:19 +03:00
Christian Grothoff d629ada1a2 -fix typos 2022-06-26 15:24:24 +02:00
Evgeny Grin (Karlson2k) 8e4eba0e70 digestauth: use GET parameters in digest calculation 2022-06-23 12:42:43 +03:00
Evgeny Grin (Karlson2k) b41fedd52b digestauth: use pre-calculated URI length to avoid stop at first binary zero 2022-06-23 12:42:43 +03:00
Evgeny Grin (Karlson2k) 2de47d2007 digestauth: use size_t for counting headers 2022-06-23 11:39:00 +03:00
Evgeny Grin (Karlson2k) 23d69214bd digestauth: added check whether arguments specified in the right order 2022-06-23 11:38:54 +03:00
Evgeny Grin (Karlson2k) 8b01c152a2 mhd_str.h: fixed doxy 2022-06-22 20:59:00 +03:00
Evgeny Grin (Karlson2k) da3457eab1 digestauth.h: added some doxy 2022-06-22 20:58:59 +03:00
Evgeny Grin (Karlson2k) 348945c306 digestauth: removed now unused do-while scope 2022-06-22 20:58:44 +03:00
Evgeny Grin (Karlson2k) 1efb758b79 Fixed check for URL match to handle URLs with binary zero 2022-06-22 20:58:44 +03:00
Evgeny Grin (Karlson2k) c4246b5251 Added tracking of the request URL length.
URL may have binary zeros after url-decoding, the length helps to detect
such situations.
2022-06-22 20:58:43 +03:00
Evgeny Grin (Karlson2k) a5af7f7379 digest_auth_check_all(): simplified, improved readability
Added check for too long nonce (the size is know in advance, no need to
try other check if nonce size is wrong);
Used caseless match more 'qop' value (as required by RFC), too long
'qop' values reject early, added special result value for wrong qop;
Reject early with too long 'nc' value;
Reject early with wrong response size (the size is know in advance, no
need to make CPU-intensive hash calculations if size if incorrect);
Added special return value is any parameter is too large to be processed
2022-06-22 20:58:43 +03:00
Evgeny Grin (Karlson2k) 6ccaa5da57 MHD_parse_arguments_(): refactored, allow cls for the callback 2022-06-22 20:58:43 +03:00
Evgeny Grin (Karlson2k) 5ba4b7709f test_digestauth{._with_arguments}: do test really with arguments 2022-06-22 20:58:43 +03:00
Evgeny Grin (Karlson2k) 299fdcd226 configure: removed unused variable 2022-06-22 20:58:42 +03:00
Evgeny Grin (Karlson2k) 2286bbe11e configure: added basic support for AIX XLC flags 2022-06-22 16:38:17 +03:00
Evgeny Grin (Karlson2k) 14228333e7 configure: removed unneeded special flags for Darwin 2022-06-22 16:38:17 +03:00
Evgeny Grin (Karlson2k) 1c181be2ff Removed extra "Upgrade" token in Connection reply header in tests and examples
MHD automatically adds "Upgrade" header, no need to add it for the
second time.
2022-06-15 15:34:34 +03:00
Alexander Irion 3526ff8302 Remove double adding of MHD_HTTP_HEADER_CONNECTION response header
MHD_create_response_for_upgrade() already adds the MHD_HTTP_HEADER_CONNECTION response header, so
the additional MHD_add_response_header is wrong.

In our application it caused, that on a Apple iPad, the websocket was immediately closed by the
browser(Safari, Chrome, Opera) after the protocol upgrade. Browsers on Linux, Android did not had this issue.

Signed-off-by: Alexander Irion <alexander_irion@mentor.com>
2022-06-15 15:28:07 +03:00
Evgeny Grin (Karlson2k) ad61ffabeb configure: added parameter '--enable-compact-code' 2022-06-15 14:00:04 +03:00
Evgeny Grin (Karlson2k) 0ea81caa94 configure: clarified messages for "build types" 2022-06-15 13:57:14 +03:00
Evgeny Grin (Karlson2k) 80eb22434c src/microhttpd/test_*: more compiler warning fixed 2022-06-14 21:30:05 +03:00
Evgeny Grin (Karlson2k) 977d01df7a src/microhttpd/test_*: fixed more compiler warnings 2022-06-14 21:22:33 +03:00
Evgeny Grin (Karlson2k) e4850e5b2c test_str: made test compatible with non-VLA compilers 2022-06-14 20:45:13 +03:00
Evgeny Grin (Karlson2k) 202af117b4 test_helpers: fixed doxy 2022-06-14 20:15:51 +03:00
Evgeny Grin (Karlson2k) 4e5bddd004 websocket_threaded_example: minor fixes 2022-06-14 20:13:46 +03:00
Evgeny Grin (Karlson2k) b7eaffc0ed mhd_str: fixed doxy, updated copyright years 2022-06-14 19:48:58 +03:00
Evgeny Grin (Karlson2k) 29ff7c6869 test_str: fixed harmless sanitizer error 2022-06-14 19:17:38 +03:00
Evgeny Grin (Karlson2k) 6c5dd2f23d CI: use clang compiler for Clang Static Analyser 2022-06-14 18:46:04 +03:00
Evgeny Grin (Karlson2k) 836ee8e6c6 CI: added usage of the configure's detection of the compiler flags 2022-06-14 18:45:58 +03:00
Evgeny Grin (Karlson2k) 846ecb5db3 test_upgrade{,_large}: fixed compiler warnings 2022-06-14 14:30:31 +03:00
Evgeny Grin (Karlson2k) 7c06bcaef6 test_postprocessor{,_large}: additional fixes for compiler warnings 2022-06-14 14:28:52 +03:00
Evgeny Grin (Karlson2k) d66afa2c81 test_set_panic: fixed compiler warnings 2022-06-14 13:11:30 +03:00
Evgeny Grin (Karlson2k) e4011fe55b test_options: fixed compiler warnings, removed dead code 2022-06-14 13:00:14 +03:00
Evgeny Grin (Karlson2k) 9f2a4206e3 test_str: fixed more compiler warnings 2022-06-14 11:36:14 +03:00