naiveproxy/src/net/socket
klzgrad ca01c27db9 socket: Force tunneling for all sockets
In the socket system, only WebSocket sockets are allowed to tunnel
through HTTP/1 proxies. "Raw" sockets in the normal socket pool don't
have it, and their CONNECT headers are not sent, instead the raw
payload is sent as-is to the HTTP/1 proxy, breaking the proxying.

The socket system works like this:

- HTTP sockets via HTTP/1 proxies: normal pool, no tunneling.
- HTTPS sockets via HTTP/1 proxies: normal pool, no tunneling,
  but does its own proxy encapsulation.
- WS sockets via HTTP/1 proxies: WS pool, tunneling.

In Naive, we need the normal pool because the WS pool has some extra
restrictions but we also need tunneling to produce a client socket
with proxy tunneling built in.

Therefore force tunneling for all sockets and have them always send
CONNECT headers. This will otherwise break regular HTTP client sockets
via HTTP/1 proxies, but as we don't use this combination, it is ok.
2022-12-03 16:22:08 +08:00
..
client_socket_factory.cc Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
client_socket_factory.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
client_socket_handle.cc Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
client_socket_handle.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
client_socket_pool.cc Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
client_socket_pool.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
client_socket_pool_manager.cc socket: Allow higher limits for proxies 2022-12-03 16:22:08 +08:00
client_socket_pool_manager.h socket: Add RawConnect method 2022-12-03 16:22:08 +08:00
client_socket_pool_manager_impl.cc socket: Force tunneling for all sockets 2022-12-03 16:22:08 +08:00
client_socket_pool_manager_impl.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
connect_job.cc Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
connect_job.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
connect_job_factory.cc Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
connect_job_factory.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
connect_job_test_util.cc Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
connect_job_test_util.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
connection_attempts.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
datagram_client_socket.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
datagram_server_socket.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
datagram_socket.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
diff_serv_code_point.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
mock_client_socket_pool_manager.cc Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
mock_client_socket_pool_manager.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
network_binding_client_socket_factory.cc Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
network_binding_client_socket_factory.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
next_proto.cc Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
next_proto.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
OWNERS Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
read_buffering_stream_socket.cc Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
read_buffering_stream_socket.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
server_socket.cc Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
server_socket.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
socket.cc Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
socket.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
socket_bio_adapter.cc Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
socket_bio_adapter.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
socket_descriptor.cc Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
socket_descriptor.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
socket_net_log_params.cc Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
socket_net_log_params.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
socket_options.cc Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
socket_options.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
socket_performance_watcher.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
socket_performance_watcher_factory.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
socket_posix.cc Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
socket_posix.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
socket_tag.cc Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
socket_tag.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
socket_test_util.cc Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
socket_test_util.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
socks5_client_socket.cc Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
socks5_client_socket.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
socks_client_socket.cc Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
socks_client_socket.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
socks_connect_job.cc Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
socks_connect_job.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
ssl_client_socket.cc Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
ssl_client_socket.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
ssl_client_socket_impl.cc Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
ssl_client_socket_impl.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
ssl_connect_job.cc Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
ssl_connect_job.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
ssl_server_socket.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
ssl_server_socket_impl.cc Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
ssl_server_socket_impl.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
ssl_socket.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
stream_socket.cc Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
stream_socket.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
tcp_client_socket.cc Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
tcp_client_socket.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
tcp_server_socket.cc Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
tcp_server_socket.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
tcp_socket.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
tcp_socket_posix.cc Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
tcp_socket_posix.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
tcp_socket_win.cc Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
tcp_socket_win.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
transport_client_socket.cc Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
transport_client_socket.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
transport_client_socket_pool.cc Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
transport_client_socket_pool.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
transport_client_socket_pool_test_util.cc Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
transport_client_socket_pool_test_util.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
transport_client_socket_test_util.cc Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
transport_client_socket_test_util.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
transport_connect_job.cc Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
transport_connect_job.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
transport_connect_sub_job.cc Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
transport_connect_sub_job.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
udp_client_socket.cc Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
udp_client_socket.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
udp_net_log_parameters.cc Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
udp_net_log_parameters.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
udp_server_socket.cc Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
udp_server_socket.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
udp_socket.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
udp_socket_global_limits.cc Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
udp_socket_global_limits.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
udp_socket_posix.cc Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
udp_socket_posix.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
udp_socket_win.cc Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
udp_socket_win.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
unix_domain_client_socket_posix.cc Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
unix_domain_client_socket_posix.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
unix_domain_server_socket_posix.cc Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
unix_domain_server_socket_posix.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
websocket_endpoint_lock_manager.cc Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
websocket_endpoint_lock_manager.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
websocket_transport_client_socket_pool.cc Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00
websocket_transport_client_socket_pool.h Import chromium-108.0.5359.94 2022-12-03 16:11:17 +08:00