aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvgeny Grin (Karlson2k) <k2k@narod.ru>2022-07-21 13:12:46 +0300
committerEvgeny Grin (Karlson2k) <k2k@narod.ru>2022-07-21 15:07:07 +0300
commit57a5fcfac7b83c771d11d8c46d6d010d86e526a4 (patch)
treee734692814835e95ce7a17a023831b3c1296aaa6
parent69aec9dc33b71c782075a263f1484945f399078f (diff)
downloadlibmicrohttpd-57a5fcfac7b83c771d11d8c46d6d010d86e526a4.tar.gz
libmicrohttpd-57a5fcfac7b83c771d11d8c46d6d010d86e526a4.zip
digestauth: fixed username extraction with the new API
-rw-r--r--src/microhttpd/digestauth.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/microhttpd/digestauth.c b/src/microhttpd/digestauth.c
index 46c47eda..88a9cdbd 100644
--- a/src/microhttpd/digestauth.c
+++ b/src/microhttpd/digestauth.c
@@ -892,9 +892,12 @@ get_rq_uname (const struct MHD_RqDAuth *params,
892 else 892 else
893 { 893 {
894 uname_info->userhash_bin = (uint8_t *) (buf + buf_used); 894 uname_info->userhash_bin = (uint8_t *) (buf + buf_used);
895 uname_info->uname_type = MHD_DIGEST_AUTH_UNAME_TYPE_USERHASH;
895 buf_used += uname_info->userhash_bin_size; 896 buf_used += uname_info->userhash_bin_size;
896 } 897 }
897 } 898 }
899 else
900 uname_info->uname_type = MHD_DIGEST_AUTH_UNAME_TYPE_STANDARD;
898 } 901 }
899 else if (MHD_DIGEST_AUTH_UNAME_TYPE_EXTENDED == uname_type) 902 else if (MHD_DIGEST_AUTH_UNAME_TYPE_EXTENDED == uname_type)
900 { 903 {
@@ -909,9 +912,15 @@ get_rq_uname (const struct MHD_RqDAuth *params,
909 { 912 {
910 uname_info->username = (char *) (buf + buf_used); 913 uname_info->username = (char *) (buf + buf_used);
911 uname_info->username_len = (size_t) res; 914 uname_info->username_len = (size_t) res;
915 uname_info->uname_type = MHD_DIGEST_AUTH_UNAME_TYPE_EXTENDED;
912 buf_used += uname_info->username_len + 1; 916 buf_used += uname_info->username_len + 1;
913 } 917 }
914 } 918 }
919 else
920 {
921 mhd_assert (0);
922 uname_info->uname_type = MHD_DIGEST_AUTH_UNAME_TYPE_INVALID;
923 }
915 mhd_assert (buf_size >= buf_used); 924 mhd_assert (buf_size >= buf_used);
916 return buf_used; 925 return buf_used;
917} 926}