Skip to content

Commit fa26b13

Browse files
jasnellrvagg
authored andcommitted
deps: update to http-parser 2.3.2
Fixes http-parser regression with IS_HEADER_CHAR check Add test case for obstext characters (> 0x80) in header PR-URL: #5241 Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com> Reviewed-By: Rod Vagg <rod@vagg.org>
1 parent fcc6479 commit fa26b13

File tree

4 files changed

+21
-3
lines changed

4 files changed

+21
-3
lines changed

deps/http_parser/Makefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
# IN THE SOFTWARE.
2020

2121
PLATFORM ?= $(shell sh -c 'uname -s | tr "[A-Z]" "[a-z]"')
22-
SONAME ?= libhttp_parser.so.2.3.1
22+
SONAME ?= libhttp_parser.so.2.3.2
2323

2424
CC?=gcc
2525
AR?=ar

deps/http_parser/http_parser.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -388,7 +388,7 @@ enum http_host_state
388388
* character or %x80-FF
389389
**/
390390
#define IS_HEADER_CHAR(ch) \
391-
(ch == CR || ch == LF || ch == 9 || (ch > 31 && ch != 127))
391+
(ch == CR || ch == LF || ch == 9 || ((unsigned char)ch > 31 && ch != 127))
392392

393393
#define start_state (parser->type == HTTP_REQUEST ? s_start_req : s_start_res)
394394

deps/http_parser/http_parser.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ extern "C" {
2727
/* Also update SONAME in the Makefile whenever you change these. */
2828
#define HTTP_PARSER_VERSION_MAJOR 2
2929
#define HTTP_PARSER_VERSION_MINOR 3
30-
#define HTTP_PARSER_VERSION_PATCH 1
30+
#define HTTP_PARSER_VERSION_PATCH 2
3131

3232
#include <sys/types.h>
3333
#if defined(_WIN32) && !defined(__MINGW32__) && (!defined(_MSC_VER) || _MSC_VER<1600)
+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
'use strict';
2+
3+
var common = require('../common');
4+
var http = require('http');
5+
var assert = require('assert');
6+
7+
var server = http.createServer(common.mustCall(function(req, res) {
8+
res.end('ok');
9+
}));
10+
server.listen(common.PORT, function() {
11+
http.get({
12+
port: common.PORT,
13+
headers: {'Test': 'Düsseldorf'}
14+
}, common.mustCall(function(res) {
15+
assert.equal(res.statusCode, 200);
16+
server.close();
17+
}));
18+
});

0 commit comments

Comments
 (0)