Opened 2 years ago

Last modified 2 years ago

#33976 closed Bug

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

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 (last modified by Eric Burghard)

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 (1)

comment:1 by Eric Burghard, 2 years ago

Description: modified (diff)
Note: See TracTickets for help on using tickets.
Back to Top