Nikos Mavrogiannopoulos
01f2787ab6
worker: reject HTTP pipelining to prevent request confusion
...
When two HTTP requests arrived in the same TLS read buffer, a single
llhttp_execute() call would fire callbacks for both requests inline.
Because http_req_reset() is not called between them, ws->req ended up
reflecting the second request's URL and headers, silently discarding
the first. In the worst case, body bytes from the first request
accumulated alongside the second request's body.
Fix this by registering an on_message_begin callback that returns
HPE_PAUSED when an existing message is detected.
Resolves : #716
Signed-off-by: Nikos Mavrogiannopoulos <n.mavrogiannopoulos@gmail.com >
2026-05-15 06:42:24 +02:00
..
2026-02-28 11:46:56 +01:00
2026-05-08 21:00:07 -04:00
2021-10-09 17:57:11 +02:00
2026-04-26 21:05:06 -04:00
2021-10-31 22:26:25 +01:00
2022-11-28 11:22:33 +01:00
2026-03-20 20:47:35 +01:00
2026-03-20 20:47:35 +01:00
2026-03-20 20:47:35 +01:00
2026-03-20 20:47:35 +01:00
2023-06-10 16:21:34 +08:00
2021-11-01 10:23:01 +01:00
2026-05-01 19:26:45 +00:00
2026-03-22 12:29:59 +01:00
2023-06-10 16:21:34 +08:00
2026-04-23 10:51:26 +02:00
2026-03-29 17:32:23 +02:00
2026-05-08 21:00:07 -04:00
2022-11-28 11:22:33 +01:00
2026-04-23 10:51:26 +02:00
2026-03-20 20:47:27 +01:00
2026-03-20 20:47:27 +01:00
2026-03-29 17:32:16 +02:00
2026-03-22 12:29:59 +01:00
2026-03-29 21:13:28 +02:00
2026-03-22 12:29:59 +01:00
2023-06-10 16:21:34 +08:00
2023-06-10 16:21:34 +08:00
2023-06-10 16:21:34 +08:00
2026-03-29 16:55:12 +02:00
2026-03-29 16:55:12 +02:00
2024-12-06 12:08:52 +01:00
2023-06-10 16:21:34 +08:00
2026-03-22 12:29:59 +01:00
2026-03-22 12:29:59 +01:00
2026-03-22 12:29:59 +01:00
2026-01-07 15:46:16 -05:00
2026-01-07 15:46:16 -05:00
2026-03-22 12:29:59 +01:00
2020-08-09 13:14:22 +02:00
2026-01-07 15:46:16 -05:00
2026-03-22 12:29:59 +01:00
2026-01-07 15:46:16 -05:00
2026-03-22 12:29:59 +01:00
2026-03-22 12:29:59 +01:00
2024-12-01 17:01:05 +01:00
2026-03-22 12:29:59 +01:00
2026-01-07 15:46:16 -05:00
2026-03-22 12:29:59 +01:00
2026-03-22 12:29:59 +01:00
2026-05-15 06:42:24 +02:00
2023-06-10 16:21:34 +08:00
2026-03-20 20:47:35 +01:00
2026-03-22 12:29:59 +01:00
2023-06-10 16:21:34 +08:00
2023-06-10 16:21:34 +08:00
2026-03-15 21:05:36 +01:00
2026-03-20 20:47:35 +01:00
2026-03-20 20:47:35 +01:00
2026-04-13 22:43:52 +02:00
2023-06-10 16:21:34 +08:00
2026-04-22 20:29:15 +02:00
2026-03-29 17:32:16 +02:00
2026-04-16 22:46:41 +02:00
2026-03-20 20:47:35 +01:00
2026-03-20 20:47:35 +01:00
2026-04-25 17:20:38 +02:00
2026-04-25 17:20:38 +02:00
2026-04-25 17:20:38 +02:00
2026-05-01 16:31:38 +02:00
2026-04-25 17:20:38 +02:00
2026-04-25 17:20:38 +02:00
2026-04-25 17:20:38 +02:00
2023-12-29 21:18:28 +01:00
2023-12-29 21:18:28 +01:00
2026-01-11 09:04:18 +01:00
2020-08-09 13:14:22 +02:00
2020-08-09 13:14:22 +02:00
2026-03-22 12:29:59 +01:00
2026-03-20 20:47:35 +01:00
2026-01-07 15:46:16 -05:00
2024-12-01 17:01:05 +01:00
2026-03-22 12:29:59 +01:00
2026-03-20 20:47:35 +01:00
2026-03-22 12:29:59 +01:00
2026-03-22 12:29:59 +01:00
2026-03-20 20:47:35 +01:00
2023-06-10 16:21:34 +08:00
2023-06-10 16:21:34 +08:00
2026-03-20 20:47:35 +01:00
2023-07-11 22:48:22 +12:00
2023-06-10 16:21:34 +08:00
2023-12-29 21:18:28 +01:00
2024-04-23 21:35:00 +02:00
2024-04-23 21:35:00 +02:00
2026-03-20 20:47:35 +01:00
2026-03-20 20:47:35 +01:00
2026-03-20 20:47:35 +01:00
2023-06-10 16:21:34 +08:00
2026-03-20 20:47:35 +01:00
2023-06-10 16:21:34 +08:00
2026-05-02 17:21:38 +02:00
2026-03-29 16:55:12 +02:00
2020-08-09 13:14:22 +02:00
2023-06-22 12:29:02 +02:00
2020-08-09 13:14:22 +02:00
2023-06-10 16:21:34 +08:00
2020-08-09 13:14:22 +02:00
2023-06-10 16:21:34 +08:00
2023-06-10 16:21:34 +08:00
2026-05-06 13:54:21 +02:00
2026-05-15 06:42:24 +02:00
2023-06-10 16:21:34 +08:00
2026-03-20 20:47:35 +01:00
2023-06-10 16:21:34 +08:00
2026-03-22 12:29:59 +01:00
2026-03-22 12:29:59 +01:00
2026-03-22 12:29:59 +01:00
2026-03-22 12:29:59 +01:00
2026-04-14 13:26:32 -04:00
2026-03-22 12:29:59 +01:00
2026-03-22 12:29:59 +01:00
2026-03-20 20:47:35 +01:00
2026-04-03 13:58:18 +02:00
2026-03-20 20:47:35 +01:00
2022-11-28 11:22:33 +01:00
2026-05-08 21:00:07 -04:00
2023-06-10 16:21:34 +08:00
2026-04-03 12:29:01 +02:00
2026-04-03 12:29:01 +02:00
2026-02-28 11:46:56 +01:00
2023-06-10 16:21:34 +08:00
2023-06-10 16:21:34 +08:00
2026-03-20 20:47:35 +01:00
2026-03-22 12:29:59 +01:00
2023-06-10 16:21:34 +08:00
2023-07-11 22:48:22 +12:00
2026-03-22 12:29:59 +01:00
2023-06-10 16:21:34 +08:00
2026-03-22 22:54:48 +01:00
2023-06-10 16:21:34 +08:00
2020-08-09 13:14:22 +02:00
2023-06-10 16:21:34 +08:00
2026-03-20 20:47:35 +01:00
2026-04-26 21:05:06 -04:00
2026-03-20 20:47:35 +01:00
2026-04-09 20:20:45 -04:00
2026-04-14 13:59:05 -04:00
2026-03-22 12:29:59 +01:00
2026-01-07 15:46:16 -05:00
2026-04-18 15:51:20 +02:00
2026-03-22 12:29:59 +01:00