Uploaded image for project: 'DMC - Development'
  1. DMC - Development
  2. DMC-858

XRootD: Urldecode path before passing to xrootd libraries

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: gfal 2.12
    • Component/s: gfal 2
    • Security Level: Public Data (This ticket is visible to anyone on the internet and will be indexed by search engines)
    • Labels:
      None

      Description

      In gfal, the gsiftp and davs plugins expect a URL to be percent encoded, but xrootd doesn't. Example filename:

      evil filename-!#%^_-+=:][}{><'" #$&*)(
      

      In davs and gsiftp, the above needs to be encoded as:

      evil%20filename-%21%23%25%5E_-%2B%3D%3A%5D%5B%7D%7B%3E%3C%27%22%20%23%24%26%2A%29%28
      

      But in xrootd you must use the first version, since as far I can tell the plugin does not understand or process percent encoding, and will actually lead you to a different file if you use the second.

      A possibly unrelated issue: The above filename also used to contain the character '@', but recently this stopped working with xrootd, I'm getting the following error.

      [ERROR] Server responded with an error: [3010] Opening relative path 'dpm/cern.ch/home/dteam/dpm-tests/evil filename-!@///dpm/cern.ch/home/dteam/dpm-tests/evil filename-!@?*)(=&oss.asize=641020&xrd.gsiusrpxy=/tmp/x509up_u84760#%^_-+=:][}{><'" #$' is disallowed."
      

      (I think I've been getting this error after commit 29afc5b "Improved URI parser" in gfal)

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                aalvarez Alejandro Alvarez Ayllon (Inactive)
                Reporter:
                gbitzes Georgios Bitzes
                Component Watchers:
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: