Skip to content

Commit

Permalink
update vendored code & attribute it correctly (#1382)
Browse files Browse the repository at this point in the history
Motivation:

This updates all vendored code and also lets github know what's vendored
code through `.gitattributes`.

Modifications:

- http_parser update
- attribution

Result:

- better github stats
- up to date software
  • Loading branch information
weissi authored Feb 5, 2020
1 parent a678727 commit d1ef9be
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 25 deletions.
3 changes: 3 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Sources/CNIOHTTPParser/* linguist-vendored
Sources/CNIOSHA1/* linguist-vendored
Sources/CNIOLinux/ifaddrs-* linguist-vendored
45 changes: 21 additions & 24 deletions Sources/CNIOHTTPParser/c_nio_http_parser.c
Original file line number Diff line number Diff line change
Expand Up @@ -1260,9 +1260,9 @@ size_t c_nio_http_parser_execute (http_parser *parser,

switch (parser->header_state) {
case h_general: {
size_t limit = data + len - p;
limit = MIN(limit, max_header_size);
while (p+1 < data + limit && TOKEN(p[1])) {
size_t left = data + len - p;
const char* pe = p + MIN(left, max_header_size);
while (p+1 < pe && TOKEN(p[1])) {
p++;
}
break;
Expand Down Expand Up @@ -1499,28 +1499,25 @@ size_t c_nio_http_parser_execute (http_parser *parser,

switch (h_state) {
case h_general:
{
const char* p_cr;
const char* p_lf;
size_t limit = data + len - p;

limit = MIN(limit, max_header_size);

p_cr = (const char*) memchr(p, CR, limit);
p_lf = (const char*) memchr(p, LF, limit);
if (p_cr != NULL) {
if (p_lf != NULL && p_cr >= p_lf)
p = p_lf;
else
p = p_cr;
} else if (UNLIKELY(p_lf != NULL)) {
p = p_lf;
} else {
p = data + len;
{
size_t left = data + len - p;
const char* pe = p + MIN(left, max_header_size);

for (; p != pe; p++) {
ch = *p;
if (ch == CR || ch == LF) {
--p;
break;
}
if (!lenient && !IS_HEADER_CHAR(ch)) {
SET_ERRNO(HPE_INVALID_HEADER_TOKEN);
goto error;
}
}
if (p == data + len)
--p;
break;
}
--p;
break;
}

case h_connection:
case h_transfer_encoding:
Expand Down
2 changes: 1 addition & 1 deletion Sources/CNIOHTTPParser/include/c_nio_http_parser.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ extern "C" {
/* Also update SONAME in the Makefile whenever you change these. */
#define HTTP_PARSER_VERSION_MAJOR 2
#define HTTP_PARSER_VERSION_MINOR 9
#define HTTP_PARSER_VERSION_PATCH 0
#define HTTP_PARSER_VERSION_PATCH 2

#include <stddef.h>
#if defined(_WIN32) && !defined(__MINGW32__) && \
Expand Down

0 comments on commit d1ef9be

Please sign in to comment.