Skip to content
This repository has been archived by the owner on Nov 14, 2018. It is now read-only.

Contacts: Colon (":") is incorrectly escaped with Apple CardDAV clients #285

Closed
HackintoshHD opened this issue Dec 1, 2012 · 6 comments
Closed

Comments

@HackintoshHD
Copy link

When creating a contact over CardDAV with certain Apple CardDAV clients, e.g. the iOS 4.2.1 Address Book or Snow Leopard's Address Book, the colon-character (":") is always incorrectly escaped: A backslash ("") is added in front of every colon.

Example

Create a test contact on an iPhone 3G with iOS 4.2.1, the most recent iOS version available for that phone ...

http://twitter.com/HackintoshHD/status/273891854301401088/photo/1

... and see what it looks like when retrieved back from ownCloud:

http://twitter.com/HackintoshHD/status/273892502325559297/photo/1

ownCloud version: 4.5.2, 4.5.3 (at least)
Affected CardDAV clients: iOS Address Book (iOS 4.2.1), Mac OS X Address Book (Mac OS X 10.6.8 Snow Leopard)

Note: I know this is probably Apple's fault; but however, as they won't fix it: Wouldn't it be possible to provide a workaround with ownCloud, e.g. determine the UserAgent and adapt ownCloud's feedback correspondingly?

@LukeOwlclaw
Copy link
Contributor

Your assumption is correct (I think) -> http://tools.ietf.org/html/rfc2426#page-37: Colons do not need to be escaped.
Just fixed that for the SOGO-connector and issued and pull request.

@tanghus
Copy link
Contributor

tanghus commented Dec 5, 2012

Sorry for the late reply, I hadn't noticed this issue.

Wouldn't it be possible to provide a workaround with ownCloud, e.g. determine the UserAgent and adapt ownCloud's feedback correspondingly?

I'm afraid not. By doing such hacks we risk to break more than we fix.

@tanghus tanghus closed this as completed Dec 5, 2012
@HackintoshHD
Copy link
Author

I'm afraid not. By doing such hacks we risk to break more than we fix.

Well, so far, this "colon problem" described here seems to be the only problem in syncing the CardDAV Clients of iOS 4 and Mac OS X 10.6 Snow Leopard with current ownCloud versions - at least the only one I could find, apart from the necessity to create correct Apache2 redirects for the addresses expected by Apple's CardDAV clients, of course (the ones referenced in ownCloud's forum were for version 3 and are out of date now).

It is quite understandable that a group of voluntary developers like ownCloud's aims to focus its efforts on the latest and greatest in smartphone hardware, but nonetheless, it's still kind of sad to see entire generations of still useful Apple devices, more precisely any IntelMac with a CoreDuo chip and any iPhone 3G shipped until June 2010 be incompatible with ownCloud due to such a relatively minor bug in its CardDAV implementation. :-(

But as said before, no offence intended, I know you're doing this on a purely honourable basis with limited resources and I really appreciate your work. :-)

@tanghus
Copy link
Contributor

tanghus commented Dec 6, 2012

the ones referenced in ownCloud's forum were for version 3 and are out of date now

We are currently updating and restructuring our documentation. Could you please file a report with the correct settings at https://github.com/owncloud/documentation/issues

With regard to the colon escaping: It's not that I won't bend the RFC to allow for non-standards compliant clients to work properly, but I won't break it with the risk of creating errors for other clients. Even if I were to make an attempt, what should I do with a contact with a note containing for example a regular expression? In this case it's not a matter of man-power or time I'm afraid.

@HackintoshHD
Copy link
Author

We are currently updating and restructuring our documentation. Could you please file a report with the correct settings at https://github.com/owncloud/documentation/issues

I have created documentation issue #12 as requested. I hope that somehow corresponds to what you had in mind. :-)

With regard to the rest, thank you for bringing more perspective into the issue. I was under the assumption the two Apple CardDAV clients were not the only ones to need such workarounds. But if pretty much any modern CardDAV client complies better to RFC2426 than Apple's buggy implementation in iOS4 and Snow Leopard (an OS still officially sold by the way!), then I have to completely agree with your diagnosis.

@tanghus
Copy link
Contributor

tanghus commented Dec 6, 2012

I hope that somehow corresponds to what you had in mind. :-)

It is excellent! Thank you very much :-)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants