[New-bugs-announce] [issue29375] httplib: wrong Host header when connecting to IPv6 link-local address

Jonathan Guthrie report at bugs.python.org
Wed Jan 25 15:14:44 EST 2017


New submission from Jonathan Guthrie:

This is related to issue 5111.

An IPv6 link-local address must include a scope specifier as part of the address passed to the HTTPConnection or HTTPSConnection constructor, that scope specifier is not being stripped from the address passed in the HTTP 1.1 Host: header line.

So, suppose I was attempting to connect to an HTTP server on fe80::8aae:1dff:fea4:29c8.  That's a link-local address, so I must give the scope specifier, which is the interface I can use to connect to that address.  So, the address I would pass to the HTTPConnection constructor might look like "fe80::8aae:1dff:fea4:29c8%eth0".  The appropriate Host line in the HTTP request would be "Host: [fe80::8aae:1dff:fea4:29c8]" but it is actually "Host: [fe80::8aae:1dff:fea4:29c8%eth0]"

Compliant HTTP servers reject requests including this line as malformed.

----------
messages: 286276
nosy: JonathanGuthrie
priority: normal
severity: normal
status: open
title: httplib: wrong Host header when connecting to IPv6 link-local address
type: behavior
versions: Python 2.7, Python 3.5

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue29375>
_______________________________________


More information about the New-bugs-announce mailing list