-
Notifications
You must be signed in to change notification settings - Fork 161
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Special characters (@) in href are not correctly handled #49
Comments
I don't know what you mean by that. If you mean that this assertion is Looking into the main problems of this bug is going to take me a few weeks, i |
|
Unfortunately i don't seem to be able to reproduce this bug. Can you give an example ics file? |
|
Ah, i do now. |
|
Ok, thank you very much |
|
Furthermore i am not sure whether this is a bug in owncloud. Could you contact the owncloud devs (e.g. in IRC) please? |
|
Actually this is a bug in Radicale. I filed Kozea/Radicale#158 |
- Radicale incorrectly unquotes URLs
- Older versions of radicale are so buggy they fail to look up items
with url quotes in them.
- ownCloud/SabreDAV follows the rebustness principle such that it
takes anything, but returns properly encoded URLs.
Conclusion: Send broken, unquoted URLs, because both sides seem to be
happy with them. As wrong as it might seem, it works.
|
Should be fixed in master. Please run |
|
This actually creates a problem for me. My university's caldav-server returns properly encoded URLs containing Norwegian characters and after being 'unquoted' they aren't encoded correctly when requesting them, resulting in 404s (e.g. Gruppem%3Fte when it should be Gruppem%C3%98te). Removing all the unquote stuff fixes the problem in my case. |
…g of Norwegian characters
|
|
|
@eckhart can you try the |
|
Seems to work, thanks! |
- Fix #49 -- The old fix caused problems with other servers. The new behavior only decodes ``@`` characters. - ``@`` is now not used when generating a new href, as some servers seem to have problems with it (http://sabre.io/dav/character-encoding/). This behavior is configurable via the ``unsafe_href_chars`` parameters for DAV storages, and is disabled in the testsuite for Radicale and ownCloud. - Decoding of hrefs is also done twice for CarddavStorage.list because of owncloud/contacts#581. Vdirsyncer has behaved like that before, but not intentionally. - Storages now don't share their ``_get_href`` methods anymore.
I'm trying to synchronize my zimbra calendar with owncloud.
First, I have to coment an assertion :
vdirsyncer/storage/dav.py", line 365, in list
assert href not in hrefs
AssertionError
Working on a set(), it is not a big problem.
But after, I am dealing with a true problem : some event contain a '@'. Sometimes, it is converted into '%40'.
I get something like :
File "vdirsyncer/storage/dav.py", line 186, in get_multi
.format(href, hrefs_left))
KeyError: "/owncloud/remote.php/caldav/calendars/xx/yy/myname%40mycompany-225654.ics doesn't exist in set([u'/owncloud/remote.php/caldav/calendars/xx/yy/myname@mycompagny-225654.ics'])"
I tried a lot of things with urllib.unquote or urllib.quote or replace() but after I get other exceptions (KeyError uid or KeyError item).
Can you understand my problem and have you any ideas ?
The text was updated successfully, but these errors were encountered: