Skip to content
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

Collission avoidance #152

Open
tobixen opened this issue Sep 17, 2021 · 0 comments
Open

Collission avoidance #152

tobixen opened this issue Sep 17, 2021 · 0 comments
Milestone

Comments

@tobixen
Copy link
Member

tobixen commented Sep 17, 2021

Also ref #143 ...

The save method have parameter that should prevent one from overwriting existing calendar items or creating new calendar items, but it seems not to be robust enough ...

  • caldav objects have a path name which may or may not correspond to the UID. A UID check is not sufficient to prevent overwriting exisitng calendar items (and possibly on some calendar servers it may be possible to create two calendar items with the same UID but different path names).
  • There is also a potential race condition as we first check and then PUT the new item.

(This would have been trivial if the caldav standard would have imposed some restrictions on the UID, asserted that the pathname and the UID should match, and used POST for new items and PUT for updating existing items ... did I ever mention that the caldav standard sucks, and the only reason for getting involved in this library was that I wanted to interface with it through some abstracted library rather than having to deal with the standard myself)?

tobixen added a commit that referenced this issue Sep 17, 2021
…ns. The whole thing needs a round of refactoring I suppose
@tobixen tobixen added this to the Later milestone Nov 25, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant