#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.

 {{{
 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:2>
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/01070182fd80cb27-928ba655-b851-4736-823f-05538324ccc2-000000%40eu-central-1.amazonses.com.

Reply via email to