|
|
|
@ -552,11 +552,11 @@ context ::= DOLLAR SRVVARNAME(B) LBRACKET stringop(C) RBRACKET cond(E) expressio
|
|
|
|
|
{ COMP_SERVER_SOCKET, CONST_STR_LEN("SERVER[\"socket\"]" ) }, |
|
|
|
|
{ COMP_HTTP_URL, CONST_STR_LEN("HTTP[\"url\"]" ) }, |
|
|
|
|
{ COMP_HTTP_HOST, CONST_STR_LEN("HTTP[\"host\"]" ) }, |
|
|
|
|
{ COMP_HTTP_REFERER, CONST_STR_LEN("HTTP[\"referer\"]" ) }, |
|
|
|
|
{ COMP_HTTP_REQUEST_HEADER,CONST_STR_LEN("HTTP[\"referer\"]" ) }, |
|
|
|
|
{ COMP_HTTP_USER_AGENT, CONST_STR_LEN("HTTP[\"useragent\"]" ) }, |
|
|
|
|
{ COMP_HTTP_USER_AGENT, CONST_STR_LEN("HTTP[\"user-agent\"]" ) }, |
|
|
|
|
{ COMP_HTTP_REQUEST_HEADER,CONST_STR_LEN("HTTP[\"user-agent\"]" ) }, |
|
|
|
|
{ COMP_HTTP_LANGUAGE, CONST_STR_LEN("HTTP[\"language\"]" ) }, |
|
|
|
|
{ COMP_HTTP_COOKIE, CONST_STR_LEN("HTTP[\"cookie\"]" ) }, |
|
|
|
|
{ COMP_HTTP_REQUEST_HEADER,CONST_STR_LEN("HTTP[\"cookie\"]" ) }, |
|
|
|
|
{ COMP_HTTP_REMOTE_IP, CONST_STR_LEN("HTTP[\"remoteip\"]" ) }, |
|
|
|
|
{ COMP_HTTP_REMOTE_IP, CONST_STR_LEN("HTTP[\"remote-ip\"]" ) }, |
|
|
|
|
{ COMP_HTTP_QUERY_STRING, CONST_STR_LEN("HTTP[\"querystring\"]") }, |
|
|
|
@ -571,6 +571,7 @@ context ::= DOLLAR SRVVARNAME(B) LBRACKET stringop(C) RBRACKET cond(E) expressio
|
|
|
|
|
|
|
|
|
|
buffer_copy_buffer(dc->key, b); |
|
|
|
|
buffer_copy_buffer(dc->op, op); |
|
|
|
|
buffer_copy_buffer(dc->comp_tag, C); |
|
|
|
|
buffer_copy_buffer(dc->comp_key, B); |
|
|
|
|
buffer_append_string_len(dc->comp_key, CONST_STR_LEN("[\"")); |
|
|
|
|
buffer_append_string_buffer(dc->comp_key, C); |
|
|
|
@ -585,8 +586,21 @@ context ::= DOLLAR SRVVARNAME(B) LBRACKET stringop(C) RBRACKET cond(E) expressio
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
if (COMP_UNSET == dc->comp) { |
|
|
|
|
fprintf(stderr, "error comp_key %s", dc->comp_key->ptr); |
|
|
|
|
ctx->ok = 0; |
|
|
|
|
if (buffer_is_equal_string(B, CONST_STR_LEN("REQUEST_HEADER"))) { |
|
|
|
|
dc->comp = COMP_HTTP_REQUEST_HEADER; |
|
|
|
|
} |
|
|
|
|
else { |
|
|
|
|
fprintf(stderr, "error comp_key %s", dc->comp_key->ptr); |
|
|
|
|
ctx->ok = 0; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else if (COMP_HTTP_LANGUAGE == dc->comp) { |
|
|
|
|
dc->comp = COMP_HTTP_REQUEST_HEADER; |
|
|
|
|
buffer_copy_string_len(dc->comp_tag, CONST_STR_LEN("Accept-Language")); |
|
|
|
|
} |
|
|
|
|
else if (COMP_HTTP_USER_AGENT == dc->comp) { |
|
|
|
|
dc->comp = COMP_HTTP_REQUEST_HEADER; |
|
|
|
|
buffer_copy_string_len(dc->comp_tag, CONST_STR_LEN("User-Agent")); |
|
|
|
|
} |
|
|
|
|
else if (COMP_HTTP_REMOTE_IP == dc->comp |
|
|
|
|
&& (dc->cond == CONFIG_COND_EQ || dc->cond == CONFIG_COND_NE)) { |
|
|
|
|