← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 2009724] Re: Incorrect URL when browsing Swift containers

 

Reviewed:  https://review.opendev.org/c/openstack/horizon/+/886891
Committed: https://opendev.org/openstack/horizon/commit/4aa347fe196b7b18ff0bf5f4d4f076a6c14cf12e
Submitter: "Zuul (22348)"
Branch:    master

commit 4aa347fe196b7b18ff0bf5f4d4f076a6c14cf12e
Author: jeremy-boyle <jeremyboylet@xxxxxxxxx>
Date:   Sat Jun 24 16:59:11 2023 +0000

    Fixing Incorrect URL when browsing Swift containers
    
    This patch fixes a bug identified in the code that generates the URL for
    the Swift container object. The bug caused the forward slashes (/) in the
    folder parameter to be encoded as %2F instead of being included as '/' in the
    resulting URL.
    
    To resolve this issue, the code has been updated by adding a replace() method
    to replace the %2F sequences with forward slashes. The updated code ensures
    that the URL generated for the folder parameter contains the correct forward
    slash (/) representation.
    
    Closes-Bug: #2009724
    Signed-off-by: jeremy-boyle <jeremyboylet@xxxxxxxxx>
    
    Change-Id: I5837e74ddcc71cda6b4686e586dbb8b1386a9cd3


** Changed in: horizon
       Status: In Progress => Fix Released

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Dashboard (Horizon).
https://bugs.launchpad.net/bugs/2009724

Title:
  Incorrect URL when browsing Swift containers

Status in OpenStack Dashboard (Horizon):
  Fix Released

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/container/containername/testfolder1%2Ftestfolder2/testfolder3"
  rather than the expected
  "containers/container/containername/testfolder1/testfolder2/testfolder3".

  It appears that at some stage in the process, the path gets HTTP URL
  Encoded (encodeURIComponent) too many times. Note that the unexpected
  character "%2F" is the encoding of "/".

  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.

To manage notifications about this bug go to:
https://bugs.launchpad.net/horizon/+bug/2009724/+subscriptions



References