diff options
author | Sammy Kaye Powers <sammyk@sammykmedia.com> | 2017-03-29 09:27:18 -0500 |
---|---|---|
committer | Sara Golemon <pollita@php.net> | 2017-04-11 15:08:05 -0700 |
commit | fd0e71d001b76c0ce16bd2d2f7d80956ae9fc6f9 (patch) | |
tree | 4365add450bc645208ffbcc7bd86955e52087364 /sapi/cli/php_http_parser.h | |
parent | 8121cb50465268d645a61f79a8bec4d144700b34 (diff) | |
download | php-git-fd0e71d001b76c0ce16bd2d2f7d80956ae9fc6f9.tar.gz |
Fix bug 60471 by correctly identifying unused speculative preconnections
* Correctly identify unused speculative preconnections from browsers
like Chrome and Firefox
* Add a new message to the debug level that is emitted when a TCP
connection is closed without sending any request (a preconnection)
* Fix an issue where the existing debug messages were not being
displayed even when debug mode was enabled
Diffstat (limited to 'sapi/cli/php_http_parser.h')
-rw-r--r-- | sapi/cli/php_http_parser.h | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/sapi/cli/php_http_parser.h b/sapi/cli/php_http_parser.h index fa4873abeb..d2fa69b757 100644 --- a/sapi/cli/php_http_parser.h +++ b/sapi/cli/php_http_parser.h @@ -110,6 +110,73 @@ enum php_http_method enum php_http_parser_type { PHP_HTTP_REQUEST, PHP_HTTP_RESPONSE, PHP_HTTP_BOTH }; +enum state + { s_dead = 1 /* important that this is > 0 */ + + , s_start_req_or_res + , s_res_or_resp_H + , s_start_res + , s_res_H + , s_res_HT + , s_res_HTT + , s_res_HTTP + , s_res_first_http_major + , s_res_http_major + , s_res_first_http_minor + , s_res_http_minor + , s_res_first_status_code + , s_res_status_code + , s_res_status + , s_res_line_almost_done + + , s_start_req + + , s_req_method + , s_req_spaces_before_url + , s_req_schema + , s_req_schema_slash + , s_req_schema_slash_slash + , s_req_host + , s_req_port + , s_req_path + , s_req_query_string_start + , s_req_query_string + , s_req_fragment_start + , s_req_fragment + , s_req_http_start + , s_req_http_H + , s_req_http_HT + , s_req_http_HTT + , s_req_http_HTTP + , s_req_first_http_major + , s_req_http_major + , s_req_first_http_minor + , s_req_http_minor + , s_req_line_almost_done + + , s_header_field_start + , s_header_field + , s_header_value_start + , s_header_value + + , s_header_almost_done + + , s_headers_almost_done + /* Important: 's_headers_almost_done' must be the last 'header' state. All + * states beyond this must be 'body' states. It is used for overflow + * checking. See the PARSING_HEADER() macro. + */ + , s_chunk_size_start + , s_chunk_size + , s_chunk_size_almost_done + , s_chunk_parameters + , s_chunk_data + , s_chunk_data_almost_done + , s_chunk_data_done + + , s_body_identity + , s_body_identity_eof + }; struct php_http_parser { /** PRIVATE **/ |