OpenWrt/LEDE Project

  • Status Unconfirmed
  • Percent Complete
  • Task Type Bug Report
  • Category Base system
  • Assigned To No-one
  • Operating System All
  • Severity Medium
  • Priority Very Low
  • Reported Version Trunk
  • Due in Version Undecided
  • Due Date Undecided
  • Private
Attached to Project: OpenWrt/LEDE Project
Opened by bolvan - 11.10.2020

FS#3378 - uhttpd randomly returns "400 Bad request"

In recent trunk uhttpd (2020-08-05-212f8364-1) sometimes return http error 400 Bad request

when cl→state==CLIENT_STATE_INIT
ustream_get_read_buf should read http request starting with method (GET,POST)
and ending with request body

sometimes it reads previous request body followed by current request (GET ...........)
it looks like

<some_json_date>GET /cgi-bin/luci/....

then this block is passed to client_init_cb and client_parse_request
client_parse_request return CLIENT_STATE_DONE
and it triggers uh_header_error(cl, 400, “Bad Request”);

If I replace uhttpd binary with the one taken from 19.07 problem disappears (had to ln one .so to make it work)

Jo-Philipp Wich commented on 11.10.2020 15:53

Can you provide a reproducer for it? If you're able to trigger it with your browser then a .har archive of the HTTP requests made would be appreciated.


Available keyboard shortcuts


Task Details

Task Editing