Use new MHD_lookup_connection_value_n() function

This commit is contained in:
Evgeny Grin (Karlson2k)
2019-05-03 20:08:19 +03:00
parent d270741b49
commit 100b8f2fc4
5 changed files with 67 additions and 39 deletions
+6 -3
View File
@@ -52,9 +52,12 @@ MHD_basic_auth_get_username_password (struct MHD_Connection *connection,
const char *separator;
char *user;
if ( (NULL == (header = MHD_lookup_connection_value (connection,
MHD_HEADER_KIND,
MHD_HTTP_HEADER_AUTHORIZATION))) ||
if ( (MHD_NO == MHD_lookup_connection_value_n (connection,
MHD_HEADER_KIND,
MHD_HTTP_HEADER_AUTHORIZATION,
MHD_STATICSTR_LEN_ (MHD_HTTP_HEADER_AUTHORIZATION),
&header,
NULL)) ||
(0 != strncmp (header,
_BASIC_BASE,
MHD_STATICSTR_LEN_ (_BASIC_BASE))) )
+35 -21
View File
@@ -1070,9 +1070,12 @@ need_100_continue (struct MHD_Connection *connection)
(NULL != connection->version) &&
(MHD_str_equal_caseless_(connection->version,
MHD_HTTP_VERSION_1_1)) &&
(NULL != (expect = MHD_lookup_connection_value (connection,
MHD_HEADER_KIND,
MHD_HTTP_HEADER_EXPECT))) &&
(MHD_NO != MHD_lookup_connection_value_n (connection,
MHD_HEADER_KIND,
MHD_HTTP_HEADER_EXPECT,
MHD_STATICSTR_LEN_(MHD_HTTP_HEADER_EXPECT),
&expect,
NULL)) &&
(MHD_str_equal_caseless_(expect,
"100-continue")) &&
(connection->continue_message_write_offset <
@@ -2306,6 +2309,7 @@ static int
parse_cookie_header (struct MHD_Connection *connection)
{
const char *hdr;
size_t hdr_len;
char *cpy;
char *pos;
char *sce;
@@ -2316,13 +2320,15 @@ parse_cookie_header (struct MHD_Connection *connection)
char old;
int quotes;
hdr = MHD_lookup_connection_value (connection,
MHD_HEADER_KIND,
MHD_HTTP_HEADER_COOKIE);
if (NULL == hdr)
if (MHD_NO == MHD_lookup_connection_value_n (connection,
MHD_HEADER_KIND,
MHD_HTTP_HEADER_COOKIE,
MHD_STATICSTR_LEN_(MHD_HTTP_HEADER_COOKIE),
&hdr,
&hdr_len))
return MHD_YES;
cpy = MHD_pool_allocate (connection->pool,
strlen (hdr) + 1,
hdr_len + 1,
MHD_YES);
if (NULL == cpy)
{
@@ -2337,7 +2343,8 @@ parse_cookie_header (struct MHD_Connection *connection)
}
memcpy (cpy,
hdr,
strlen (hdr) + 1);
hdr_len);
cpy[hdr_len] = '\0';
pos = cpy;
while (NULL != pos)
{
@@ -2982,10 +2989,13 @@ parse_connection_headers (struct MHD_Connection *connection)
(NULL != connection->version) &&
(MHD_str_equal_caseless_(MHD_HTTP_VERSION_1_1,
connection->version)) &&
(NULL ==
MHD_lookup_connection_value (connection,
MHD_HEADER_KIND,
MHD_HTTP_HEADER_HOST)) )
(MHD_NO ==
MHD_lookup_connection_value_n (connection,
MHD_HEADER_KIND,
MHD_HTTP_HEADER_HOST,
MHD_STATICSTR_LEN_(MHD_HTTP_HEADER_HOST),
NULL,
NULL)) )
{
int iret;
@@ -3022,10 +3032,12 @@ parse_connection_headers (struct MHD_Connection *connection)
}
connection->remaining_upload_size = 0;
enc = MHD_lookup_connection_value (connection,
MHD_HEADER_KIND,
MHD_HTTP_HEADER_TRANSFER_ENCODING);
if (NULL != enc)
if (MHD_NO != MHD_lookup_connection_value_n (connection,
MHD_HEADER_KIND,
MHD_HTTP_HEADER_TRANSFER_ENCODING,
MHD_STATICSTR_LEN_(MHD_HTTP_HEADER_TRANSFER_ENCODING),
&enc,
NULL))
{
connection->remaining_upload_size = MHD_SIZE_UNKNOWN;
if (MHD_str_equal_caseless_(enc,
@@ -3034,10 +3046,12 @@ parse_connection_headers (struct MHD_Connection *connection)
}
else
{
clen = MHD_lookup_connection_value (connection,
MHD_HEADER_KIND,
MHD_HTTP_HEADER_CONTENT_LENGTH);
if (NULL != clen)
if (MHD_NO != MHD_lookup_connection_value_n (connection,
MHD_HEADER_KIND,
MHD_HTTP_HEADER_CONTENT_LENGTH,
MHD_STATICSTR_LEN_(MHD_HTTP_HEADER_CONTENT_LENGTH),
&clen,
NULL))
{
end = clen + MHD_str_to_uint64_ (clen,
&connection->remaining_upload_size);
+12 -8
View File
@@ -629,10 +629,12 @@ MHD_digest_auth_get_username(struct MHD_Connection *connection)
char user[MAX_USERNAME_LENGTH];
const char *header;
if (NULL == (header =
MHD_lookup_connection_value (connection,
MHD_HEADER_KIND,
MHD_HTTP_HEADER_AUTHORIZATION)))
if (MHD_NO == MHD_lookup_connection_value_n (connection,
MHD_HEADER_KIND,
MHD_HTTP_HEADER_AUTHORIZATION,
MHD_STATICSTR_LEN_ (MHD_HTTP_HEADER_AUTHORIZATION),
&header,
NULL))
return NULL;
if (0 != strncmp (header,
_BASE,
@@ -875,10 +877,12 @@ digest_auth_check_all (struct MHD_Connection *connection,
char *qmark;
VLA_CHECK_LEN_DIGEST(da->digest_size);
header = MHD_lookup_connection_value (connection,
MHD_HEADER_KIND,
MHD_HTTP_HEADER_AUTHORIZATION);
if (NULL == header)
if (MHD_NO == MHD_lookup_connection_value_n (connection,
MHD_HEADER_KIND,
MHD_HTTP_HEADER_AUTHORIZATION,
MHD_STATICSTR_LEN_ (MHD_HTTP_HEADER_AUTHORIZATION),
&header,
NULL))
return MHD_NO;
if (0 != strncmp (header,
_BASE,
+6 -4
View File
@@ -288,10 +288,12 @@ MHD_create_post_processor (struct MHD_Connection *connection,
__FILE__,
__LINE__,
NULL);
encoding = MHD_lookup_connection_value (connection,
MHD_HEADER_KIND,
MHD_HTTP_HEADER_CONTENT_TYPE);
if (NULL == encoding)
if (MHD_NO == MHD_lookup_connection_value_n (connection,
MHD_HEADER_KIND,
MHD_HTTP_HEADER_CONTENT_TYPE,
MHD_STATICSTR_LEN_(MHD_HTTP_HEADER_CONTENT_TYPE),
&encoding,
NULL))
return NULL;
boundary = NULL;
if (! MHD_str_equal_caseless_n_ (MHD_HTTP_POST_ENCODING_FORM_URLENCODED,
+8 -3
View File
@@ -130,9 +130,14 @@ ahc_echo (void *cls,
(0 != strcmp ("&",
v)) )
abort ();
v = MHD_lookup_connection_value (connection,
MHD_GET_ARGUMENT_KIND,
"b");
v = NULL;
if (MHD_YES != MHD_lookup_connection_value_n (connection,
MHD_GET_ARGUMENT_KIND,
"b",
1,
&v,
NULL))
abort ();
if ( (NULL == v) ||
(0 != strcmp ("c",
v)) )