Cyberduck Mountain Duck CLI

#9226 closed defect (thirdparty)

Interoperability failure with SAP due to URI encoding

Reported by: cawoodm Owned by: dkocher
Priority: normal Milestone:
Component: webdav Version: 4.7.3
Severity: normal Keywords:
Cc: Architecture:
Platform: Windows 7

Description

SAP offers WEBDAV access to it's servers but the URLs are a bit special. They include brackets "(" and "=" as in the following example: http://mysapserver/sap(Yz0wMDEmbD1lbg==)/bc/bsp_dev/sap/decode_url

Unfortunately, Cyberduck encodes such URLs as: http://mysapserver/sap%28Yz0wMDEmbD1lbg%3D%3D%29/bc/bsp_dev/sap/decode_url/

Which results in WEBDAV failing as SAP does not expect/support this.

We have verified it in Fiddler by changing the Cyberduck request and when the brackets are included unencoded everything works fine.

I guess one could debate the RFC* but it would be nice to include an option that Cyberduck does not encode such characters in URLs.

Change History (3)

comment:1 Changed on Jan 21, 2016 at 10:19:08 AM by dkocher

  • Component changed from core to webdav
  • Owner set to dkocher
  • Summary changed from WEBDAV with SAP not possible due to encoding issues to Interoperability failure with SAP due to URI encoding

comment:2 Changed on Jan 21, 2016 at 10:25:27 AM by dkocher

  • Resolution set to thirdparty
  • Status changed from new to closed
  • Type changed from enhancement to defect

Parantheses and equal sign are part of the reserved characters as defined in Uniform Resource Identifier (URI): Generic Syntax. There is no ambiguity here. For reference also refer to Percent-encoding.

Please report a bug with the product vendor referencing this ticket.

comment:3 Changed on Jan 21, 2016 at 10:37:03 AM by cawoodm

I would like to question your assumption that special characters must *always* be percent encoded. According to your link and the RFC:

"When a character from the reserved set (a "reserved character") has special meaning (a "reserved purpose") in a certain context, and a URI scheme says that it is necessary to use that character for some other purpose, then the character must be percent-encoded."

Assuming SAP is using the brackets for their intended "reserved purpose" then the client should not be encoding them.

Note: See TracTickets for help on using tickets.