Skip to content

Commit da0fda0

Browse files
ShogunPandajuanarbol
authored andcommitted
http: stricter Transfer-Encoding and header separator parsing
Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Vladimir de Turckheim <[email protected]> PR-URL: #315 Backport-PR-URL: #327 CVE-ID: CVE-2022-32215,CVE-2022-32214,CVE-2022-32213
1 parent b93e048 commit da0fda0

6 files changed

+806
-364
lines changed

deps/llhttp/include/llhttp.h

+5-3
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
#define LLHTTP_VERSION_MAJOR 2
55
#define LLHTTP_VERSION_MINOR 1
6-
#define LLHTTP_VERSION_PATCH 4
6+
#define LLHTTP_VERSION_PATCH 5
77

88
#ifndef LLHTTP_STRICT_MODE
99
# define LLHTTP_STRICT_MODE 0
@@ -58,6 +58,7 @@ enum llhttp_errno {
5858
HPE_OK = 0,
5959
HPE_INTERNAL = 1,
6060
HPE_STRICT = 2,
61+
HPE_CR_EXPECTED = 25,
6162
HPE_LF_EXPECTED = 3,
6263
HPE_UNEXPECTED_CONTENT_LENGTH = 4,
6364
HPE_CLOSED_CONNECTION = 5,
@@ -78,7 +79,7 @@ enum llhttp_errno {
7879
HPE_CB_CHUNK_COMPLETE = 20,
7980
HPE_PAUSED = 21,
8081
HPE_PAUSED_UPGRADE = 22,
81-
HPE_USER = 23
82+
HPE_USER = 24
8283
};
8384
typedef enum llhttp_errno llhttp_errno_t;
8485

@@ -153,6 +154,7 @@ typedef enum llhttp_method llhttp_method_t;
153154
XX(0, OK, OK) \
154155
XX(1, INTERNAL, INTERNAL) \
155156
XX(2, STRICT, STRICT) \
157+
XX(25, CR_EXPECTED, CR_EXPECTED) \
156158
XX(3, LF_EXPECTED, LF_EXPECTED) \
157159
XX(4, UNEXPECTED_CONTENT_LENGTH, UNEXPECTED_CONTENT_LENGTH) \
158160
XX(5, CLOSED_CONNECTION, CLOSED_CONNECTION) \
@@ -173,7 +175,7 @@ typedef enum llhttp_method llhttp_method_t;
173175
XX(20, CB_CHUNK_COMPLETE, CB_CHUNK_COMPLETE) \
174176
XX(21, PAUSED, PAUSED) \
175177
XX(22, PAUSED_UPGRADE, PAUSED_UPGRADE) \
176-
XX(23, USER, USER) \
178+
XX(24, USER, USER) \
177179

178180

179181
#define HTTP_METHOD_MAP(XX) \

0 commit comments

Comments
 (0)