summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorValentin Bartenev <vbart@nginx.com>2019-09-16 20:17:42 +0300
committerValentin Bartenev <vbart@nginx.com>2019-09-16 20:17:42 +0300
commit3b77e402a903d9f7a6eeb32f7930d8979f8e0c9e (patch)
tree9b5848406b1bbbff42f1317053b2917750ea03d5
parent56f4085b9d1d00ecdd359e3deb9c06a3b8ba0874 (diff)
downloadunit-3b77e402a903d9f7a6eeb32f7930d8979f8e0c9e.tar.gz
unit-3b77e402a903d9f7a6eeb32f7930d8979f8e0c9e.tar.bz2
HTTP parser: removed unused "plus_in_target" flag.
-rw-r--r--src/nxt_http_parse.c23
-rw-r--r--src/nxt_http_parse.h10
-rw-r--r--src/test/nxt_http_parse_test.c30
3 files changed, 15 insertions, 48 deletions
diff --git a/src/nxt_http_parse.c b/src/nxt_http_parse.c
index 9d591b86..4d806c61 100644
--- a/src/nxt_http_parse.c
+++ b/src/nxt_http_parse.c
@@ -47,7 +47,6 @@ typedef enum {
NXT_HTTP_TARGET_DOT, /* . */
NXT_HTTP_TARGET_ARGS_MARK, /* ? */
NXT_HTTP_TARGET_QUOTE_MARK, /* % */
- NXT_HTTP_TARGET_PLUS, /* + */
} nxt_http_target_traps_e;
@@ -57,7 +56,7 @@ static const uint8_t nxt_http_target_chars[256] nxt_aligned(64) = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* \s ! " # $ % & ' ( ) * + , - . / */
- 1, 0, 0, 2, 0, 8, 0, 0, 0, 0, 0, 9, 0, 0, 6, 5,
+ 1, 0, 0, 2, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 6, 5,
/* 0 1 2 3 4 5 6 7 8 9 : ; < = > ? */
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,
@@ -295,10 +294,6 @@ nxt_http_parse_request_line(nxt_http_request_parse_t *rp, u_char **pos,
rp->quoted_target = 1;
goto rest_of_target;
- case NXT_HTTP_TARGET_PLUS:
- rp->plus_in_target = 1;
- continue;
-
case NXT_HTTP_TARGET_HASH:
rp->complex_target = 1;
goto rest_of_target;
@@ -898,9 +893,6 @@ nxt_http_parse_complex_target(nxt_http_request_parse_t *rp)
exten = u + 1;
*u++ = ch;
continue;
- case '+':
- rp->plus_in_target = 1;
- /* Fall through. */
default:
*u++ = ch;
continue;
@@ -932,9 +924,6 @@ nxt_http_parse_complex_target(nxt_http_request_parse_t *rp)
goto args;
case '#':
goto done;
- case '+':
- rp->plus_in_target = 1;
- /* Fall through. */
default:
state = sw_normal;
*u++ = ch;
@@ -969,9 +958,6 @@ nxt_http_parse_complex_target(nxt_http_request_parse_t *rp)
goto args;
case '#':
goto done;
- case '+':
- rp->plus_in_target = 1;
- /* Fall through. */
default:
state = sw_normal;
*u++ = ch;
@@ -1013,9 +999,6 @@ nxt_http_parse_complex_target(nxt_http_request_parse_t *rp)
goto args;
case '#':
goto done;
- case '+':
- rp->plus_in_target = 1;
- /* Fall through. */
default:
state = sw_normal;
*u++ = ch;
@@ -1090,10 +1073,6 @@ nxt_http_parse_complex_target(nxt_http_request_parse_t *rp)
continue;
}
- if (ch == '+') {
- rp->plus_in_target = 1;
- }
-
state = saved_state;
goto again;
}
diff --git a/src/nxt_http_parse.h b/src/nxt_http_parse.h
index e66475a1..a307ea73 100644
--- a/src/nxt_http_parse.h
+++ b/src/nxt_http_parse.h
@@ -57,16 +57,14 @@ struct nxt_http_request_parse_s {
uint32_t field_hash;
/* target with "/." */
- unsigned complex_target:1;
+ uint8_t complex_target; /* 1 bit */
/* target with "%" */
- unsigned quoted_target:1;
+ uint8_t quoted_target; /* 1 bit */
/* target with " " */
- unsigned space_in_target:1;
- /* target with "+" */
- unsigned plus_in_target:1;
+ uint8_t space_in_target; /* 1 bit */
/* Preserve encoded '/' (%2F) and '%' (%25). */
- unsigned encoded_slashes:1;
+ uint8_t encoded_slashes; /* 1 bit */
};
diff --git a/src/test/nxt_http_parse_test.c b/src/test/nxt_http_parse_test.c
index 3e86f6ef..6fbda25a 100644
--- a/src/test/nxt_http_parse_test.c
+++ b/src/test/nxt_http_parse_test.c
@@ -21,8 +21,6 @@ typedef struct {
unsigned quoted_target:1;
/* target with " " */
unsigned space_in_target:1;
- /* target with "+" */
- unsigned plus_in_target:1;
} nxt_http_parse_test_request_line_t;
@@ -70,7 +68,7 @@ static nxt_http_parse_test_case_t nxt_http_test_cases[] = {
nxt_null_string,
nxt_null_string,
"HTTP/1.0",
- 0, 0, 0, 0
+ 0, 0, 0
}}
},
{
@@ -83,7 +81,7 @@ static nxt_http_parse_test_case_t nxt_http_test_cases[] = {
nxt_string("ext"),
nxt_string("key=val"),
"HTTP/1.2",
- 0, 0, 0, 1
+ 0, 0, 0
}}
},
{
@@ -96,7 +94,7 @@ static nxt_http_parse_test_case_t nxt_http_test_cases[] = {
nxt_null_string,
nxt_string(""),
"HTTP/1.0",
- 0, 0, 0, 0
+ 0, 0, 0
}}
},
{
@@ -139,7 +137,7 @@ static nxt_http_parse_test_case_t nxt_http_test_cases[] = {
nxt_null_string,
nxt_null_string,
"HTTP/1.0",
- 1, 0, 0, 0
+ 1, 0, 0
}}
},
{
@@ -152,7 +150,7 @@ static nxt_http_parse_test_case_t nxt_http_test_cases[] = {
nxt_null_string,
nxt_null_string,
"HTTP/1.0",
- 1, 0, 0, 0
+ 1, 0, 0
}}
},
{
@@ -165,7 +163,7 @@ static nxt_http_parse_test_case_t nxt_http_test_cases[] = {
nxt_null_string,
nxt_string(""),
"HTTP/1.0",
- 1, 0, 0, 0
+ 1, 0, 0
}}
},
{
@@ -178,7 +176,7 @@ static nxt_http_parse_test_case_t nxt_http_test_cases[] = {
nxt_null_string,
nxt_null_string,
"HTTP/1.0",
- 1, 0, 0, 0
+ 1, 0, 0
}}
},
{
@@ -191,7 +189,7 @@ static nxt_http_parse_test_case_t nxt_http_test_cases[] = {
nxt_null_string,
nxt_null_string,
"HTTP/1.0",
- 0, 1, 0, 0
+ 0, 1, 0
}}
},
{
@@ -204,7 +202,7 @@ static nxt_http_parse_test_case_t nxt_http_test_cases[] = {
nxt_null_string,
nxt_null_string,
"HTTP/1.0",
- 0, 0, 1, 0
+ 0, 0, 1
}}
},
{
@@ -217,7 +215,7 @@ static nxt_http_parse_test_case_t nxt_http_test_cases[] = {
nxt_null_string,
nxt_null_string,
"HTTP/1.1",
- 0, 0, 1, 0
+ 0, 0, 1
}}
},
{
@@ -782,14 +780,6 @@ nxt_http_parse_test_request_line(nxt_http_request_parse_t *rp,
return NXT_ERROR;
}
- if (rp->plus_in_target != test->plus_in_target) {
- nxt_log_alert(log, "http parse test case failed:\n"
- " - request:\n\"%V\"\n"
- " - plus_in_target: %d (expected: %d)",
- request, rp->plus_in_target, test->plus_in_target);
- return NXT_ERROR;
- }
-
return NXT_OK;
}