Unrud
0675328a02
Replace collection in Collection.create_collection
2016-08-08 06:08:01 +02:00
Unrud
f5f52582a1
Add option to disable syncing to disk
...
Disabling syncing increases the risk of data loss when the system crashes or power fails. On the positive it can increase the performance to a great extent.
2016-08-08 05:20:25 +02:00
Unrud
c336e0581e
Remove atomicwrites
...
Unfortunately the library doesn't support disabling of disk syncing, fortunately we only need a small subset of it's functionality which is easy to implement.
2016-08-08 05:02:36 +02:00
Unrud
3c736cade8
Refactor: Move sync_directory into Collection class
...
This is not used anywhere else.
2016-08-08 04:07:01 +02:00
Unrud
cfa8c7d8b4
Set correct path for child collections
2016-08-07 17:50:31 +02:00
Guillaume Ayoub
4236077b04
Document _makedirs_synced and remove exist_ok
2016-08-06 14:08:21 +02:00
Guillaume Ayoub
4549d1b2db
Merge pull request #462 from Unrud/durabledirs
...
Durable creation of directories and make sure that the root colleciton exists.
2016-08-06 14:02:41 +02:00
Guillaume Ayoub
a7923008ce
Remove unused import
2016-08-06 13:29:07 +02:00
Guillaume Ayoub
0cda9f611d
Merge pull request #463 from Unrud/atomicmove
...
Atomic MOVE
2016-08-06 13:27:38 +02:00
Unrud
5f66d009d6
Atomic MOVE in multifilesystem
2016-08-06 05:09:06 +02:00
Unrud
23582c8208
Expose low level MOVE operation in storage.BaseCollection
2016-08-06 05:09:00 +02:00
Unrud
07dc71fd73
Update comment
2016-08-06 04:07:55 +02:00
Unrud
6c3e59fd11
Make sure that the root collection exists.
...
Since the collections are not directly in **filesystem_path** anymore,
the folder is not created by ``Collection.acquire_lock``.
2016-08-06 04:07:55 +02:00
Unrud
05a4285f54
Durable creation of intermediate directories
2016-08-06 04:07:50 +02:00
Unrud
f4eb143ba8
use tempfile to delete collection
2016-08-05 17:40:47 +02:00
Unrud
5a9d956b49
delete atomic and durable
...
See #440
2016-08-05 17:40:47 +02:00
Guillaume Ayoub
50438bc2c0
Remove fixed TODOs
2016-08-05 02:57:17 +02:00
Guillaume Ayoub
8ac3ce1a89
Clean many, many things
2016-08-05 02:14:49 +02:00
Guillaume Ayoub
92a0027ae1
Merge branch 'rights' of https://github.com/Unrud/Radicale into Unrud-rights
2016-08-04 23:35:01 +02:00
Guillaume Ayoub
2eaedf448f
Merge pull request #457 from Unrud/atomiccreate
...
Atomic creation of collections and atomic PROPPATCH
2016-08-04 22:55:15 +02:00
Unrud
8ce6d1af30
Use flock locks for storage locking
...
These locks are compatible with the command line utility flock,
which comes preinstalled with most Linux distributions.
2016-08-04 06:15:05 +02:00
Unrud
066b5994d1
Improve rights checking and request handlers
...
* Access rights are checked before the storage is locked and
collections are loaded.
* DELETE sends 410 instead of doing nothing or crashing if the target
doesn't exist.
* GET always returns 404 if the target doesn't exist.
* GET doesn't crash if a collection without tag property is requested.
* MKCOL and MKCALENDAR send 409 if the target already exists.
* MOVE checks if the target collection of an item actually exists and
sends 409 otherwise.
* PUT doesn't crash if a whole collection that doesn't exist yet is
uploaded and ``content-type`` is ``text/vcard`` or
``text/calendar``.
* PUT distinguishes between simple items and whole collections by the
following criteria: Target is a collection; Parent exists; Parent
has the tag property set; Parent contains other items. Before only
the first two criteria where used, which was very unrelieable. #384
* PROPPATCH is only allowed on collections and 409 is send otherwise.
* ``Rights.authorized`` takes a path instead of a collection.
* ``Collection.discover`` only returns items in ``path``, that
actually exist. #442
2016-08-04 06:08:08 +02:00
Unrud
ae89082c24
Atomic creation of collections
2016-08-03 15:50:55 +02:00
Unrud
e34d1c46cd
Move collections into collection-root folder
...
This is required for atomic creation and deletion of the "/" collection.
2016-08-03 15:50:38 +02:00
Unrud
bd7641699e
Atomic PROPPATCH
2016-08-03 14:45:52 +02:00
Guillaume Ayoub
76b859c28e
Rename .collection.props into .Radicale.props
2016-08-02 16:58:44 +02:00
Guillaume Ayoub
2f202d14e0
Fix .collection.props
2016-08-02 16:57:20 +02:00
Guillaume Ayoub
5b04ba18a8
Hide collection.props
2016-08-02 16:51:50 +02:00
Unrud
13c693ba35
Properties inside of collection
...
* Creation and deletion of collections can be atomic.
* The properties file of the root collection is not outside of the
filesystem_folder.
* It's easier to delete and move collections by hand.
* This breaks backward compatibility.
2016-08-02 16:35:38 +02:00
Guillaume Ayoub
d322d3f394
Clean the user's collection creation code
2016-08-02 14:00:42 +02:00
Guillaume Ayoub
04010ff8d3
Merge pull request #455 from Unrud/home
...
Creating addressbooks and calendars in DAVdroid
2016-08-02 13:51:29 +02:00
Guillaume Ayoub
71be1a56b8
Change find_available_file_name into private method
2016-08-02 12:11:38 +02:00
Guillaume Ayoub
a7f078eb54
Change find_available_file_name into a method
2016-08-02 11:16:24 +02:00
Guillaume Ayoub
880744ada7
Merge pull request #454 from Unrud/uniq
...
Check if file name already exists
2016-08-02 11:12:30 +02:00
Unrud
39d38f36a5
Check if file name already exists
...
The chances are pretty low but maybe the RNG is bad or something
2016-08-02 07:33:47 +02:00
Unrud
03cbcee5cd
/ is not a principal
2016-08-01 20:46:57 +02:00
Guillaume Ayoub
6b30870be5
Minor cleanups
...
Everything works fine with Apple clients now.
2016-08-01 19:00:57 +02:00
Guillaume Ayoub
6bfdcbafec
Cosmetics
2016-08-01 12:50:51 +02:00
Unrud
da1a693620
Prevent unsafe usernames
...
If an attacker is able to create an account with a username like "user/calendar.ics", he can access collections of other users.
2016-08-01 09:10:23 +02:00
Guillaume Ayoub
dc406c17fd
Merge pull request #425 from Unrud/patch-19
...
Don't silently drop files
2016-07-30 15:28:35 +02:00
Unrud
21d7d5a453
Hide temporary files
...
Fixes #443
2016-07-14 09:09:10 +02:00
Unrud
0a32e46295
Improve error message
2016-07-14 08:08:08 +02:00
Unrud
e3d7d08eab
Don't silently drop files
2016-07-14 08:08:08 +02:00
Guillaume Ayoub
5bd80d8d13
Don't crash when getting unknown collections
...
Fix #422 .
2016-07-14 01:39:57 +02:00
Guillaume Ayoub
4c91ee8906
Atomic writes ( fix #440 )
2016-07-14 01:14:42 +02:00
Guillaume Ayoub
5e5427f987
Cosmetics
2016-07-13 17:59:52 +02:00
Florian Mounier
6f9e9f21dd
Merge branch 'optimize_storage_collection'
2016-07-08 15:35:43 +02:00
Florian Mounier
39823f8909
Add a pre_filtered_list method in collection. This allow filters optimizations
2016-07-08 11:37:30 +02:00
Florian Mounier
a2d6977cd6
Fix logic in loops
2016-07-07 17:53:35 +02:00
Florian Mounier
10e7a776fc
Merge branch 'master' into optimize_storage_collection
2016-07-07 17:52:16 +02:00