#33976: HTTP_HOST does not allow an ipv6 not enclosed in []
-----------------------------+--------------------------------------
Reporter: eburghar | Owner: nobody
Type: Bug | Status: new
Component: Core (URLs) | Version: 3.2
Severity: Normal | Resolution:
Keywords: ipv6 | Triage Stage: Unreviewed
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-----------------------------+--------------------------------------
Description changed by eburghar:
Old 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
> ```
New 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
}}}
--
--
Ticket URL: <https://code.djangoproject.com/ticket/33976#comment:1>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-updates/01070182fd7fef6b-212f4c02-98bf-4c51-8fa5-0d3b89cae543-000000%40eu-central-1.amazonses.com.