New issue
Advanced search Search tips

Issue 915659 link

Starred by 3 users

Issue metadata

Status: Started
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Task



Sign in to add a comment

Support CONNECT tunnels in NetworkServiceProxyDelegate

Project Member Reported by wdzierza...@opera.com, Dec 17

Issue description

It is currently possible to configure the Network Service to proxy HTTP requests using CustomProxyConfig. This task is about extending this to support HTTPS requests via CONNECT tunnels too.

NetworkServiceProxyDelegate, which is a CustomProxyConfigClient, will need to have its scheme checks relaxed to allow HTTPS requests. New (*) ProxyDelegate hooks are needed to add the ability to set CONNECT request headers and act on CONNECT response headers.

(*) Not really new, see https://chromium-review.googlesource.com/c/chromium/src/+/846261/.
 
Description: Show this description

Comment 2 by wdzierza...@opera.com, Jan 17 (5 days ago)

Description: Show this description

Comment 3 by wdzierza...@opera.com, Jan 17 (5 days ago)

Cc: eroman@chromium.org
Project Member

Comment 4 by bugdroid1@chromium.org, Jan 18 (4 days ago)

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1f823561df5c393ceabfe36ded1ddbe53b9983ba

commit 1f823561df5c393ceabfe36ded1ddbe53b9983ba
Author: Wojciech Dzierżanowski <wdzierzanowski@opera.com>
Date: Fri Jan 18 11:26:00 2019

Expose CONNECT headers to ProxyDelegate

This brings back (slightly refreshed versions of) the
OnBeforeTunnelRequest(), OnTunnelHeadersReceived() hooks that were
removed in
https://chromium-review.googlesource.com/c/chromium/src/+/846261/.

These hooks are not used by the Data Reduction Proxy, because it
doesn't proxy https:// URLs.  They are restored for the benefit of those
downstream embedders (Opera) that use CONNECT tunnels to proxy HTTPS
requests.

Bug: 915659
Change-Id: Id0e120882a22a66c72802087a1775daeef661984
TBR: rockot@google.com
Reviewed-on: https://chromium-review.googlesource.com/c/1379766
Commit-Queue: Wojciech Dzierżanowski <wdzierzanowski@opera.com>
Reviewed-by: Matt Menke <mmenke@chromium.org>
Reviewed-by: Tarun Bansal <tbansal@chromium.org>
Reviewed-by: mark a. foltz <mfoltz@chromium.org>
Reviewed-by: Eric Roman <eroman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#624075}
[modify] https://crrev.com/1f823561df5c393ceabfe36ded1ddbe53b9983ba/chrome/browser/extensions/api/socket/tcp_socket_unittest.cc
[modify] https://crrev.com/1f823561df5c393ceabfe36ded1ddbe53b9983ba/components/cast_channel/cast_socket_unittest.cc
[modify] https://crrev.com/1f823561df5c393ceabfe36ded1ddbe53b9983ba/components/data_reduction_proxy/core/browser/data_reduction_proxy_delegate.cc
[modify] https://crrev.com/1f823561df5c393ceabfe36ded1ddbe53b9983ba/components/data_reduction_proxy/core/browser/data_reduction_proxy_delegate.h
[modify] https://crrev.com/1f823561df5c393ceabfe36ded1ddbe53b9983ba/net/base/proxy_delegate.h
[modify] https://crrev.com/1f823561df5c393ceabfe36ded1ddbe53b9983ba/net/base/test_proxy_delegate.cc
[modify] https://crrev.com/1f823561df5c393ceabfe36ded1ddbe53b9983ba/net/base/test_proxy_delegate.h
[modify] https://crrev.com/1f823561df5c393ceabfe36ded1ddbe53b9983ba/net/dns/address_sorter_posix_unittest.cc
[modify] https://crrev.com/1f823561df5c393ceabfe36ded1ddbe53b9983ba/net/dns/dns_session_unittest.cc
[modify] https://crrev.com/1f823561df5c393ceabfe36ded1ddbe53b9983ba/net/http/http_network_session.cc
[modify] https://crrev.com/1f823561df5c393ceabfe36ded1ddbe53b9983ba/net/http/http_network_session.h
[modify] https://crrev.com/1f823561df5c393ceabfe36ded1ddbe53b9983ba/net/http/http_network_transaction_unittest.cc
[modify] https://crrev.com/1f823561df5c393ceabfe36ded1ddbe53b9983ba/net/http/http_proxy_client_socket.cc
[modify] https://crrev.com/1f823561df5c393ceabfe36ded1ddbe53b9983ba/net/http/http_proxy_client_socket.h
[modify] https://crrev.com/1f823561df5c393ceabfe36ded1ddbe53b9983ba/net/http/http_proxy_client_socket_fuzzer.cc
[modify] https://crrev.com/1f823561df5c393ceabfe36ded1ddbe53b9983ba/net/http/http_proxy_client_socket_pool.cc
[modify] https://crrev.com/1f823561df5c393ceabfe36ded1ddbe53b9983ba/net/http/http_proxy_client_socket_pool.h
[modify] https://crrev.com/1f823561df5c393ceabfe36ded1ddbe53b9983ba/net/http/http_proxy_client_socket_pool_unittest.cc
[modify] https://crrev.com/1f823561df5c393ceabfe36ded1ddbe53b9983ba/net/http/http_proxy_client_socket_unittest.cc
[modify] https://crrev.com/1f823561df5c393ceabfe36ded1ddbe53b9983ba/net/http/http_proxy_client_socket_wrapper.cc
[modify] https://crrev.com/1f823561df5c393ceabfe36ded1ddbe53b9983ba/net/http/http_proxy_client_socket_wrapper.h
[modify] https://crrev.com/1f823561df5c393ceabfe36ded1ddbe53b9983ba/net/http/http_proxy_client_socket_wrapper_unittest.cc
[modify] https://crrev.com/1f823561df5c393ceabfe36ded1ddbe53b9983ba/net/http/http_stream_factory_unittest.cc
[modify] https://crrev.com/1f823561df5c393ceabfe36ded1ddbe53b9983ba/net/http/proxy_client_socket.cc
[modify] https://crrev.com/1f823561df5c393ceabfe36ded1ddbe53b9983ba/net/http/proxy_client_socket.h
[modify] https://crrev.com/1f823561df5c393ceabfe36ded1ddbe53b9983ba/net/proxy_resolution/pac_library_unittest.cc
[modify] https://crrev.com/1f823561df5c393ceabfe36ded1ddbe53b9983ba/net/proxy_resolution/proxy_resolution_service_unittest.cc
[modify] https://crrev.com/1f823561df5c393ceabfe36ded1ddbe53b9983ba/net/socket/client_socket_factory.cc
[modify] https://crrev.com/1f823561df5c393ceabfe36ded1ddbe53b9983ba/net/socket/client_socket_factory.h
[modify] https://crrev.com/1f823561df5c393ceabfe36ded1ddbe53b9983ba/net/socket/client_socket_pool_base_unittest.cc
[modify] https://crrev.com/1f823561df5c393ceabfe36ded1ddbe53b9983ba/net/socket/client_socket_pool_manager_impl.cc
[modify] https://crrev.com/1f823561df5c393ceabfe36ded1ddbe53b9983ba/net/socket/client_socket_pool_manager_impl.h
[modify] https://crrev.com/1f823561df5c393ceabfe36ded1ddbe53b9983ba/net/socket/fuzzed_socket_factory.cc
[modify] https://crrev.com/1f823561df5c393ceabfe36ded1ddbe53b9983ba/net/socket/fuzzed_socket_factory.h
[modify] https://crrev.com/1f823561df5c393ceabfe36ded1ddbe53b9983ba/net/socket/socket_test_util.cc
[modify] https://crrev.com/1f823561df5c393ceabfe36ded1ddbe53b9983ba/net/socket/socket_test_util.h
[modify] https://crrev.com/1f823561df5c393ceabfe36ded1ddbe53b9983ba/net/socket/ssl_client_socket_pool_unittest.cc
[modify] https://crrev.com/1f823561df5c393ceabfe36ded1ddbe53b9983ba/net/socket/transport_client_socket_pool_test_util.cc
[modify] https://crrev.com/1f823561df5c393ceabfe36ded1ddbe53b9983ba/net/socket/transport_client_socket_pool_test_util.h
[modify] https://crrev.com/1f823561df5c393ceabfe36ded1ddbe53b9983ba/net/url_request/url_request_context.cc
[modify] https://crrev.com/1f823561df5c393ceabfe36ded1ddbe53b9983ba/net/url_request/url_request_context.h
[modify] https://crrev.com/1f823561df5c393ceabfe36ded1ddbe53b9983ba/net/url_request/url_request_context_builder.cc
[modify] https://crrev.com/1f823561df5c393ceabfe36ded1ddbe53b9983ba/net/url_request/url_request_context_storage.cc
[modify] https://crrev.com/1f823561df5c393ceabfe36ded1ddbe53b9983ba/net/websockets/websocket_basic_stream_adapters_test.cc
[modify] https://crrev.com/1f823561df5c393ceabfe36ded1ddbe53b9983ba/net/websockets/websocket_end_to_end_test.cc
[modify] https://crrev.com/1f823561df5c393ceabfe36ded1ddbe53b9983ba/services/network/network_service_proxy_delegate.cc
[modify] https://crrev.com/1f823561df5c393ceabfe36ded1ddbe53b9983ba/services/network/network_service_proxy_delegate.h
[modify] https://crrev.com/1f823561df5c393ceabfe36ded1ddbe53b9983ba/services/network/proxy_resolving_client_socket_factory.cc

Sign in to add a comment