Opened 2 years ago

Last modified 2 years ago

#33976 closed Bug

HTTP_HOST does not allow an ipv6 not enclosed in [] — at Initial Version

Reported by: Eric Burghard Owned by: nobody
Component: Core (URLs) Version: 3.2
Severity: Normal Keywords: ipv6
Cc: Triage Stage: Unreviewed
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description

Hi,

If I'm not mistaken, brackets are optional for an ipv6 address without port number. The problem is that it confuses django. In asgi.py we have

`
Invalid HTTP_HOST header: '2001:x:y:z:0:0:0:1'. The domain name provided is not valid according to RFC 1034/1035.
`

which can be fixed by changing django.http.request.host_validation_re to _lazy_re_compile(r"[a-zA-z0-9.:]*")

but it also triggers an exception with asgi.py

`
2022/09/02 07:57:10 [alert] 422#422 [unit] Python failed to call 'loop.call_soon'
Traceback (most recent call last):

File "/usr/lib/python3.10/asyncio/base_events.py", line 750, in call_soon

self._check_closed()

ValueError: invalid literal for int() with base 10: 'x:y:z:0:0:0:1'
2022/09/02 07:57:25 [alert] 422#422 [unit] #23: Python failed to create 'client' pair
`

Change History (0)

Note: See TracTickets for help on using tickets.
Back to Top