mirror of
https://github.com/logicog/RTLPlayground.git
synced 2026-10-29 17:54:14 +08:00
Merge pull request #460 from DrDoof/fix/multipart-request-path
httpd: keep a continued upload away from the cmd and login handlers
This commit is contained in:
1 file changed
+17
-17
+17
-17
@@ -796,7 +796,23 @@ void handle_post(void)
|
|||||||
dbg_string("Multipart request\n");
|
dbg_string("Multipart request\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (is_word(request_path, "cmd")) {
|
if (s->tstate == TSTATE_MULTIPART || is_word(request_path, "upload") || is_word(request_path, "config")) {
|
||||||
|
dbg_string("POST upload/config request\n");
|
||||||
|
if (!authenticated) {
|
||||||
|
send_unauthorized();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (!boundary[0]) {
|
||||||
|
dbg_string("Bad request, no boundary!\n");
|
||||||
|
send_bad_request();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (config_upload)
|
||||||
|
handle_config_fragment(p);
|
||||||
|
else
|
||||||
|
handle_firmware_fragment(p);
|
||||||
|
return;
|
||||||
|
} else if (is_word(request_path, "cmd")) {
|
||||||
p += 4;
|
p += 4;
|
||||||
if (!authenticated) {
|
if (!authenticated) {
|
||||||
send_unauthorized();
|
send_unauthorized();
|
||||||
@@ -822,22 +838,6 @@ void handle_post(void)
|
|||||||
return;
|
return;
|
||||||
run_login_body(p);
|
run_login_body(p);
|
||||||
return;
|
return;
|
||||||
} else if (s->tstate == TSTATE_MULTIPART || is_word(request_path, "upload") || is_word(request_path, "config")) {
|
|
||||||
dbg_string("POST upload/config request\n");
|
|
||||||
if (!authenticated) {
|
|
||||||
send_unauthorized();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (!boundary[0]) {
|
|
||||||
dbg_string("Bad request, no boundary!\n");
|
|
||||||
send_bad_request();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (config_upload)
|
|
||||||
handle_config_fragment(p);
|
|
||||||
else
|
|
||||||
handle_firmware_fragment(p);
|
|
||||||
return;
|
|
||||||
} else {
|
} else {
|
||||||
send_not_found();
|
send_not_found();
|
||||||
return;
|
return;
|
||||||
|
|||||||
Reference in new issue
Block a user