Open Bug 2004918 Opened 1 day ago Updated 4 hours ago

Add nsIProxyInfo::ALWAYS_TUNNEL_VIA_PROXY to force HTTP CONNECT

Categories

(Core :: Networking: HTTP, defect, P2)

defect

Tracking

()

ASSIGNED

People

(Reporter: kershaw, Assigned: kershaw)

References

(Blocks 1 open bug)

Details

(Whiteboard: [necko-triaged])

Attachments

(3 files)

I ran into this while testing IPProtection against a plain HTTP site. With the proxyInfo created by IPProtection, necko does not use HTTP CONNECT for plain HTTP; instead it sends a direct GET to the proxy, which responds with 403 Forbidden.

Right now, when creating a new proxyInfo, there’s no way to set the nsIProtocolProxyService::RESOLVE_ALWAYS_TUNNEL flag. We need a way to construct proxyInfo that always uses HTTP CONNECT (i.e., force tunneling), even for plain HTTP.

Assignee: nobody → kershaw
Status: NEW → ASSIGNED

Previously we set mRequestDone = true right after writing the HTTP request. That state propagated to Http2StreamTunnel::mSendClosed, and in Http2StreamBase::ReadSegments the stream was got closed.
As a result, an HTTP/2 tunnel could be closed immediately after sending the request bytes, failing to receive the response.

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: