URL parsing doesn't comply with RFC 3986
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
URL Dispatcher |
Fix Released
|
Medium
|
Ted Gould | ||
dialer-app |
Fix Released
|
High
|
Olivier Tilloy | ||
dialer-app (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
dialer-app (Ubuntu RTM) |
Fix Released
|
Undecided
|
Unassigned | ||
url-dispatcher (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
url-dispatcher (Ubuntu RTM) |
Fix Released
|
High
|
Unassigned |
Bug Description
I tried opening a link without a path component (for example scheme:
I looked at the code, and it seems URL dispatcher parses URLs with the regex: ^(.*):/
A URL doesn't have to look like that. Here is the URI grammar taken from the RFC:
URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ]
hier-part = "//" authority path-abempty
/ path-absolute
/ path-rootless
/ path-empty
Links that can't currently be parsed by URL dispatcher are for example magnet links (used for torrents).
They look like: magnet:
&xl=0&dn=
&xt=urn:
.LWPNACQDBZRYXW
&xt=urn:
Related branches
- PS Jenkins bot (community): Approve (continuous-integration)
- Charles Kerr (community): Approve
-
Diff: 76 lines (+43/-1)2 files modifiedservice/dispatcher.c (+2/-1)
tests/dispatcher-test.cc (+41/-0)
- Charles Kerr (community): Approve
- PS Jenkins bot: Pending (continuous-integration) requested
-
Diff: 76 lines (+43/-1)2 files modifiedservice/dispatcher.c (+2/-1)
tests/dispatcher-test.cc (+41/-0)
- Charles Kerr (community): Approve
- PS Jenkins bot (community): Approve (continuous-integration)
-
Diff: 76 lines (+43/-1)2 files modifiedservice/dispatcher.c (+2/-1)
tests/dispatcher-test.cc (+41/-0)
- Gustavo Pichorim Boiko (community): Approve
-
Diff: 29 lines (+7/-5)1 file modifiedsrc/dialerapplication.cpp (+7/-5)
- Gustavo Pichorim Boiko (community): Approve
-
Diff: 29 lines (+7/-5)1 file modifiedsrc/dialerapplication.cpp (+7/-5)
summary: |
- Can't parse some valid URLs, declares them BadURL + URL parsing doesn't comply with RFC 3986 |
description: | updated |
Changed in url-dispatcher: | |
status: | New → Confirmed |
importance: | Undecided → Medium |
tags: | added: rtm14 |
Changed in url-dispatcher: | |
status: | Confirmed → In Progress |
assignee: | nobody → Ted Gould (ted) |
Changed in dialer-app: | |
assignee: | nobody → Olivier Tilloy (osomon) |
importance: | Undecided → High |
status: | New → In Progress |
tags: | added: touch-2014-10-30 |
Changed in url-dispatcher: | |
status: | In Progress → Fix Released |
Changed in url-dispatcher (Ubuntu RTM): | |
status: | New → Triaged |
Changed in dialer-app (Ubuntu RTM): | |
status: | New → Confirmed |
Changed in dialer-app: | |
status: | In Progress → Fix Released |
Changed in url-dispatcher (Ubuntu RTM): | |
importance: | Undecided → High |
This bug was fixed in the package url-dispatcher - 0.1+15. 04.20141031- 0ubuntu1
--------------- 04.20141031- 0ubuntu1) vivid; urgency=low
url-dispatcher (0.1+15.
[ Ted Gould ]
* Making generic regular expression more robust (LP: #1351222)
[ Jussi Pakkanen ]
* General cleanups
* Do a rollback when update operations fail so there are no dangling
transactions.
* Ensure that tables always exist.
-- Ubuntu daily release <email address hidden> Fri, 31 Oct 2014 15:51:36 +0000