Incorrect URL when browsing Swift containers
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Dashboard (Horizon) |
In Progress
|
Medium
|
Jeremy Boyle |
Bug Description
When browsing through OpenStack Swift containers, sometimes Horizon will incorrectly encode part of the URL/URI of an object, and thus navigate to the wrong page. This has been reproducible for me by placing an object in a container more than about 3 pseudo-folders deep. For example, the structure might look like:
(Container) --> folder1 --> folder2 --> folder3
Upon clicking on folder3 in the Container browser window in Horizon, the site will try to navigate to "containers/
It appears that at some stage in the process, the path gets HTTP URL Encoded (encodeURICompo
This is also evident by snooping on the GET request Horizon makes to the OpenStack Swift backend (see attached screenshot); the delimiter is set as "%2F", but the path requested has a "%252F" (this is just the double encoding of "%2F" since the encoding of "%" is "%25").
I'm guessing that there might be some recursive logic somewhere that results in the end-string being encoded multiple times.
Changed in horizon: | |
status: | New → Confirmed |
importance: | Undecided → Medium |
Changed in horizon: | |
assignee: | nobody → Jeremy Boyle (jeremy-boyle) |
status: | Confirmed → In Progress |
Also have this issue, would like to see it get fixed.
I suspect the issue is somewhere in here
https:/ /opendev. org/openstack/ horizon/ src/branch/ master/ openstack_ dashboard/ dashboards/ project/ containers/ urls.py
or
https:/ /github. com/openstack/ horizon/ blob/master/ openstack_ dashboard/ dashboards/ project/ static/ dashboard/ project/ containers/ objects. controller. js#L60- L67