[Django] #25059: URLValidator does not pass some valid IDN top-level domans

6 views
Skip to first unread message

Django

unread,
Jul 3, 2015, 12:30:53 PM7/3/15
to django-...@googlegroups.com
#25059: URLValidator does not pass some valid IDN top-level domans
-----------------------------------+--------------------
Reporter: alexey-sveshnikov | Owner: nobody
Type: Bug | Status: new
Component: Core (Other) | Version: 1.8
Severity: Normal | Keywords:
Triage Stage: Unreviewed | Has patch: 1
Easy pickings: 1 | UI/UX: 0
-----------------------------------+--------------------
There are some valid IDN top level domains with dashes which is not
validated by URLValidator.

One example is '.xn--p1ai' which is punycode-encoded '.рф' (IDN TLD for
Russian Federation)

This is a regression since 1.7.x

(I'm going to post pull request when I get ticket number)

--
Ticket URL: <https://code.djangoproject.com/ticket/25059>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

Django

unread,
Jul 3, 2015, 12:48:51 PM7/3/15
to django-...@googlegroups.com
#25059: URLValidator does not pass some valid IDN top-level domans
-----------------------------------+--------------------------------------

Reporter: alexey-sveshnikov | Owner: nobody
Type: Bug | Status: new
Component: Core (Other) | Version: 1.8
Severity: Normal | Resolution:
Keywords: | Triage Stage: Unreviewed
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 1 | UI/UX: 0
-----------------------------------+--------------------------------------
Changes (by alexey-sveshnikov):

* needs_docs: => 0
* needs_tests: => 0
* needs_better_patch: => 0


Old description:

> There are some valid IDN top level domains with dashes which is not
> validated by URLValidator.
>
> One example is '.xn--p1ai' which is punycode-encoded '.рф' (IDN TLD for
> Russian Federation)
>
> This is a regression since 1.7.x
>
> (I'm going to post pull request when I get ticket number)

New description:

There are some valid IDN top level domains with dashes which is not
validated by URLValidator.

One example is '.xn--p1ai' which is punycode-encoded '.рф' (IDN TLD for
Russian Federation)

This is a regression since 1.7.x

Pull request: https://github.com/django/django/pull/4949

--

--
Ticket URL: <https://code.djangoproject.com/ticket/25059#comment:1>

Django

unread,
Jul 3, 2015, 1:56:32 PM7/3/15
to django-...@googlegroups.com
#25059: URLValidator does not pass some valid IDN top-level domans
-----------------------------------+------------------------------------

Reporter: alexey-sveshnikov | Owner: nobody
Type: Bug | Status: new
Component: Core (Other) | Version: 1.8
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted

Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 1 | UI/UX: 0
-----------------------------------+------------------------------------
Changes (by timgraham):

* stage: Unreviewed => Accepted


--
Ticket URL: <https://code.djangoproject.com/ticket/25059#comment:2>

Django

unread,
Jul 3, 2015, 1:56:43 PM7/3/15
to django-...@googlegroups.com
#25059: URLValidator does not pass some valid IDN top-level domans
-----------------------------------+------------------------------------

Reporter: alexey-sveshnikov | Owner: nobody
Type: Bug | Status: new
Component: Core (Other) | Version: 1.8
Severity: Release blocker | Resolution:

Keywords: | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 1 | UI/UX: 0
-----------------------------------+------------------------------------
Changes (by timgraham):

* severity: Normal => Release blocker


--
Ticket URL: <https://code.djangoproject.com/ticket/25059#comment:3>

Django

unread,
Jul 3, 2015, 5:28:12 PM7/3/15
to django-...@googlegroups.com
#25059: URLValidator does not pass some valid IDN top-level domans
-----------------------------------+------------------------------------

Reporter: alexey-sveshnikov | Owner: nobody
Type: Bug | Status: new
Component: Core (Other) | Version: 1.8
Severity: Release blocker | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 1 | UI/UX: 0
-----------------------------------+------------------------------------

Comment (by bmispelon):

For reference, the commit that introduced the regression is
2e65d56156b622e2393dee1af66e9c799a51924f.

--
Ticket URL: <https://code.djangoproject.com/ticket/25059#comment:4>

Django

unread,
Jul 6, 2015, 12:01:03 PM7/6/15
to django-...@googlegroups.com
#25059: URLValidator does not pass some valid IDN top-level domans
-------------------------------------+-------------------------------------

Reporter: alexey-sveshnikov | Owner: nobody
Type: Bug | Status: new
Component: Core (Other) | Version: 1.8
Severity: Release blocker | Resolution:
Keywords: | Triage Stage: Ready for
| checkin

Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 1 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by timgraham):

* stage: Accepted => Ready for checkin


--
Ticket URL: <https://code.djangoproject.com/ticket/25059#comment:5>

Django

unread,
Jul 6, 2015, 3:09:17 PM7/6/15
to django-...@googlegroups.com
#25059: URLValidator does not pass some valid IDN top-level domans
-------------------------------------+-------------------------------------
Reporter: alexey-sveshnikov | Owner: nobody
Type: Bug | Status: closed

Component: Core (Other) | Version: 1.8
Severity: Release blocker | Resolution: fixed

Keywords: | Triage Stage: Ready for
| checkin
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 1 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Tim Graham <timograham@…>):

* status: new => closed
* resolution: => fixed


Comment:

In [changeset:"bc98bc56a52860688ea0ae2ec7b9e59ddb72a811" bc98bc56]:
{{{
#!CommitTicketReference repository=""
revision="bc98bc56a52860688ea0ae2ec7b9e59ddb72a811"
Fixed #25059 -- Allowed Punycode TLDs in URLValidator
}}}

--
Ticket URL: <https://code.djangoproject.com/ticket/25059#comment:6>

Django

unread,
Jul 6, 2015, 3:11:57 PM7/6/15
to django-...@googlegroups.com
#25059: URLValidator does not pass some valid IDN top-level domans
-------------------------------------+-------------------------------------
Reporter: alexey-sveshnikov | Owner: nobody
Type: Bug | Status: closed

Component: Core (Other) | Version: 1.8
Severity: Release blocker | Resolution: fixed
Keywords: | Triage Stage: Ready for
| checkin
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 1 | UI/UX: 0
-------------------------------------+-------------------------------------

Comment (by Tim Graham <timograham@…>):

In [changeset:"8c417564c7317a46883a779b765e54a28dbc7164" 8c417564]:
{{{
#!CommitTicketReference repository=""
revision="8c417564c7317a46883a779b765e54a28dbc7164"
[1.8.x] Fixed #25059 -- Allowed Punycode TLDs in URLValidator

Backport of bc98bc56a52860688ea0ae2ec7b9e59ddb72a811 from master
}}}

--
Ticket URL: <https://code.djangoproject.com/ticket/25059#comment:7>

Reply all
Reply to author
Forward
0 new messages