Fullfør parsing av CONNECT-headere før klientstrømmen videresendes
En proxyserver som videresender først etter forespørselslinjen, kan sende sin egen Host-header til destinasjonens TLS-port.
Etter CONNECT-forespørselslinjen tilhører disse bytene fortsatt proxyen:
CONNECT service.example:443 HTTP/1.1\r\n
Host: service.example:443\r\n
User-Agent: example-client\r\n
\r\nVideresending av Host eller User-Agent til port 443 gir destinasjonen klartekst-headere der den forventer TLS. Den feilen kan oppstå før noe valg av chiffre har betydning.
- Les og parse frem til header-terminatoren med den tomme linjen, innenfor en oppsettfrist og en grense for headerstørrelse.
- Bruk proxyautentisering og destinasjonspolicy.
- Etabler den godkjente tilkoblingen til målet.
- Send det vellykkede CONNECT-svaret og gå i tunnellmodus.
Behold bufrede byter etter grensen for den riktige neste tilstanden. Ikke kast dem, og ikke behandle proxyens forespørselsheadere som nettstedets senere forespørsel.
Klienten har en tilsvarende plikt på svarsiden: fullfør lesingen av det vellykkede CONNECT-svaret før den tunnelerte protokollen starter. Begge ender må bli enige om grensen der strømmen skifter rolle.