Namespaces | |
| namespace | detail |
Functions | |
| static void | set_no_expiry (X509 *cert) |
| static void | set_realistic_validity (X509 *cert) |
| static std::string | extract_path_from_request (const std::string &raw) |
| static std::shared_ptr< asio::ssl::context > | make_stealth_upstream_ctx (const std::string &host) |
| static std::string | lower_ascii (std::string v) |
| static std::string | trim_ascii (std::string v) |
| static std::string | request_method_from_raw (const std::string &raw) |
| static std::string | header_value_ci (const std::string &raw, const std::string &wanted) |
| static bool | is_stateful_method (const std::string &method_l) |
| static bool | is_speculative_request (const std::string &raw) |
| static bool | should_passthrough_transaction (const std::string &raw) |
| static void | send_speculative_no_content (asio::ssl::stream< tcp::socket > &tls) |
| static bool | parse_content_length (const std::string &raw, std::size_t &out_len) |
| static bool | is_chunked_request (const std::string &raw) |
| static bool | read_more (asio::ssl::stream< tcp::socket > &tls, std::string &raw, std::size_t min_total, std::size_t max_total) |
| static bool | read_complete_chunked (asio::ssl::stream< tcp::socket > &tls, std::string &raw, std::size_t body_start, std::size_t max_total) |
| static bool | read_complete_http1_request (asio::ssl::stream< tcp::socket > &tls, std::string &raw) |
| static std::string | force_connection_close (const std::string &raw) |
| static bool | forward_transaction_https (asio::ssl::stream< tcp::socket > &client_tls, const std::string &host, std::string raw_request) |
| static void | send_passthrough_failure (asio::ssl::stream< tcp::socket > &tls) |
| static void | do_intercept (tcp::socket sock, const std::string &host, const std::string &type, std::function< void(const std::string &)> on_url_ready=nullptr) |
Variables | |
| static constexpr long | CTX_CACHE_TTL_SEC = 30L * 24 * 3600 |
|
inlinestatic |
Definition at line 827 of file tls_intercept.hpp.
References do_intercept(), extract_path_from_request(), forward_transaction_https(), TlsIntercept::detail::get_or_create_ctx(), header_value_ci(), is_speculative_request(), lower_ascii(), TlsIntercept::detail::make_tls_response(), request_method_from_raw(), send_passthrough_failure(), send_speculative_no_content(), should_passthrough_transaction(), and trim_ascii().
Referenced by do_intercept().
|
inlinestatic |
Definition at line 389 of file tls_intercept.hpp.
References extract_path_from_request().
Referenced by do_intercept(), and extract_path_from_request().
|
inlinestatic |
Definition at line 716 of file tls_intercept.hpp.
References force_connection_close(), lower_ascii(), and trim_ascii().
Referenced by force_connection_close(), and forward_transaction_https().
|
inlinestatic |
Definition at line 745 of file tls_intercept.hpp.
References force_connection_close(), forward_transaction_https(), make_stealth_upstream_ctx(), and read_complete_http1_request().
Referenced by do_intercept(), and forward_transaction_https().
|
inlinestatic |
Definition at line 497 of file tls_intercept.hpp.
References header_value_ci(), lower_ascii(), and trim_ascii().
Referenced by do_intercept(), header_value_ci(), is_chunked_request(), is_speculative_request(), parse_content_length(), and should_passthrough_transaction().
|
inlinestatic |
Definition at line 619 of file tls_intercept.hpp.
References header_value_ci(), is_chunked_request(), and lower_ascii().
Referenced by is_chunked_request(), and read_complete_http1_request().
|
inlinestatic |
Definition at line 526 of file tls_intercept.hpp.
References header_value_ci(), is_speculative_request(), and lower_ascii().
Referenced by do_intercept(), is_speculative_request(), and should_passthrough_transaction().
|
inlinestatic |
Definition at line 518 of file tls_intercept.hpp.
References is_stateful_method().
Referenced by is_stateful_method(), and should_passthrough_transaction().
|
inlinestatic |
Definition at line 475 of file tls_intercept.hpp.
References lower_ascii().
Referenced by do_intercept(), force_connection_close(), header_value_ci(), is_chunked_request(), is_speculative_request(), lower_ascii(), request_method_from_raw(), and should_passthrough_transaction().
|
inlinestatic |
Definition at line 410 of file tls_intercept.hpp.
References make_stealth_upstream_ctx().
Referenced by forward_transaction_https(), and make_stealth_upstream_ctx().
|
inlinestatic |
Definition at line 604 of file tls_intercept.hpp.
References header_value_ci(), parse_content_length(), and trim_ascii().
Referenced by parse_content_length(), and read_complete_http1_request().
|
inlinestatic |
Definition at line 640 of file tls_intercept.hpp.
References read_complete_chunked(), read_more(), and trim_ascii().
Referenced by read_complete_chunked(), and read_complete_http1_request().
|
inlinestatic |
Definition at line 696 of file tls_intercept.hpp.
References is_chunked_request(), parse_content_length(), read_complete_chunked(), read_complete_http1_request(), and read_more().
Referenced by forward_transaction_https(), and read_complete_http1_request().
|
inlinestatic |
Definition at line 624 of file tls_intercept.hpp.
References read_more().
Referenced by read_complete_chunked(), read_complete_http1_request(), and read_more().
|
inlinestatic |
Definition at line 489 of file tls_intercept.hpp.
References lower_ascii(), and request_method_from_raw().
Referenced by do_intercept(), request_method_from_raw(), and should_passthrough_transaction().
|
inlinestatic |
Definition at line 813 of file tls_intercept.hpp.
References send_passthrough_failure().
Referenced by do_intercept(), and send_passthrough_failure().
|
inlinestatic |
Definition at line 590 of file tls_intercept.hpp.
References send_speculative_no_content().
Referenced by do_intercept(), and send_speculative_no_content().
|
inlinestatic |
Definition at line 65 of file tls_intercept.hpp.
References set_no_expiry().
Referenced by TlsIntercept::detail::generate_ca(), and set_no_expiry().
|
inlinestatic |
Definition at line 70 of file tls_intercept.hpp.
References set_realistic_validity().
Referenced by TlsIntercept::detail::make_ssl_ctx_for_host(), and set_realistic_validity().
|
inlinestatic |
Definition at line 535 of file tls_intercept.hpp.
References header_value_ci(), is_speculative_request(), is_stateful_method(), lower_ascii(), request_method_from_raw(), should_passthrough_transaction(), and trim_ascii().
Referenced by do_intercept(), and should_passthrough_transaction().
|
inlinestatic |
Definition at line 481 of file tls_intercept.hpp.
References trim_ascii().
Referenced by do_intercept(), force_connection_close(), header_value_ci(), parse_content_length(), read_complete_chunked(), should_passthrough_transaction(), and trim_ascii().
|
staticconstexpr |
Definition at line 63 of file tls_intercept.hpp.
Referenced by TlsIntercept::detail::get_or_create_ctx().