Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Obey RFC2616
https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html
An HTTP/1.1 proxy MUST ensure that any request message it forwards does contain an appropriate Host header field that identifies the service being requested by the proxy. All Internet-based HTTP/1.1 servers MUST respond with a 400 (Bad Request) status code to any HTTP/1.1 request message which lacks a Host header field.
  • Loading branch information
Mervent committed Mar 16, 2022
commit fe495ce21a2acadf7b3949288bb887fe8f3468c3
4 changes: 2 additions & 2 deletions pproxy/proto.py
Original file line number Diff line number Diff line change
Expand Up @@ -328,8 +328,8 @@ async def connected(writer):
writer.write(f'{method} {newpath} {ver}\r\n{lines}\r\n\r\n'.encode())
return True
return user, host_name, port, connected
async def connect(self, reader_remote, writer_remote, rauth, host_name, port, myhost, **kw):
writer_remote.write(f'CONNECT {host_name}:{port} HTTP/1.1\r\nHost: {myhost}'.encode() + (b'\r\nProxy-Authorization: Basic '+base64.b64encode(rauth) if rauth else b'') + b'\r\n\r\n')
async def connect(self, reader_remote, writer_remote, rauth, host_name, port, **kw):
writer_remote.write(f'CONNECT {host_name}:{port} HTTP/1.1\r\nHost: {host_name}:{port}'.encode() + (b'\r\nProxy-Authorization: Basic '+base64.b64encode(rauth) if rauth else b'') + b'\r\n\r\n')
await reader_remote.read_until(b'\r\n\r\n')
async def http_channel(self, reader, writer, stat_bytes, stat_conn):
try:
Expand Down