summaryrefslogtreecommitdiff
path: root/client.c
diff options
context:
space:
mode:
Diffstat (limited to 'client.c')
-rw-r--r--client.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/client.c b/client.c
index 25cc271..8604034 100644
--- a/client.c
+++ b/client.c
@@ -224,9 +224,15 @@ static void client_parse_header(struct client *cl, char *data)
if (isupper(*name))
*name = tolower(*name);
- if (!strcasecmp(data, "Expect") &&
- !strcasecmp(val, "100-continue"))
- cl->request.expect_cont = true;
+ if (!strcasecmp(data, "Expect")) {
+ if (!strcasecmp(val, "100-continue"))
+ cl->request.expect_cont = true;
+ else {
+ uh_header_error(cl, 400, "Bad Request");
+ return;
+ }
+ }
+
blobmsg_add_string(&cl->hdr, data, val);