Commit graph

201 commits

Author SHA1 Message Date
Unrud
434178ab07 Pass the filesystem_path instead of folder to Collection 2017-08-02 17:16:42 +02:00
Unrud
6d5374f690 Remove item cache tag
This is not required any more, because the workarounds for bugs in VObject were removed.
2017-08-02 17:16:41 +02:00
Unrud
ed3708db22 Don't read cache entry twice with exclusive access 2017-08-01 17:16:58 +02:00
Unrud
d6435c36c9 Lock the item cache when filling it
Prevents performance losses when many clients request the same missing items in parallel.
2017-07-30 11:00:24 +02:00
Unrud
16abbd9ea6 Refactor: Extract class FileBackedRwLock 2017-07-30 10:57:41 +02:00
Unrud
5d238afb5e Don't check the vobject item in storage.Item
This is the responsibility of the storage plugin.
2017-07-27 19:08:08 +02:00
Unrud
9bde9d82f4 Store item on upload in the item cache
This rejects items that break the item cache before they are stored in the storage.
2017-07-27 19:08:07 +02:00
Unrud
796ba54f42 Clean item cache once per request 2017-07-27 19:08:05 +02:00
Unrud
0a1de26ae5 Refactor: Extract item cache methods 2017-07-27 19:08:04 +02:00
Unrud
46c636e642 Move item cache entry when item is moved 2017-07-27 19:08:02 +02:00
Unrud
316b0a5832 Change owner and is_principal to properties in BaseCollection 2017-07-22 23:32:26 +02:00
Unrud
1ce404ca35 Rename encoding to _encoding in Collection 2017-07-22 23:32:26 +02:00
Unrud
33ad60503f Sort keys of properties JSON file 2017-07-22 23:32:26 +02:00
Unrud
71916452ec Include properties in collection etag 2017-07-22 23:32:26 +02:00
Unrud
05b1e8296c Check collection properties 2017-07-22 23:32:26 +02:00
Unrud
863c70f35f Improve validation of uploaded items and stored items
This reverts commit 4533f76df9.
2017-07-22 23:32:26 +02:00
Unrud
e0045ca98d Don't use VObject for collection serialization 2017-07-22 23:32:26 +02:00
Unrud
debba3c7a1 Don't serialize collection for etag 2017-07-22 23:32:26 +02:00
Unrud
95380c5ce7 Add file name to VObject serialization errors 2017-07-22 23:32:26 +02:00
Unrud
4533f76df9 Accept VLIST items (fixes #661)
Custom format used by SOGo Connector to store lists of contacts
2017-07-21 16:12:19 +02:00
Unrud
4f831de006 Verify number of components in items 2017-07-15 09:42:01 +02:00
Unrud
d3a90d16c3 Improve log message when fsync'ing directory fails (fixes 656) 2017-07-15 09:42:00 +02:00
Unrud
56c88b4c54 Remove workarounds for bugs in VObject
The bugs got fixed in version 0.9.5
2017-07-01 05:45:15 +02:00
Unrud
2b3fd1fb9b Add missing UIDs instead of failing 2017-07-01 01:24:53 +02:00
Unrud
019dc7a39c Use UUID format for random UIDs 2017-07-01 01:24:53 +02:00
Unrud
c135dc026d Fix uploading of whole address books 2017-07-01 01:24:53 +02:00
Unrud
98caa88a25 Include VObject version in item cache hash 2017-06-23 22:04:37 +02:00
Unrud
2b45af92f3 Small improvements for wording in exceptions messages 2017-06-21 09:57:52 +02:00
Unrud
276de4fd3a Allow additional config options for external plugins 2017-06-21 09:54:33 +02:00
Unrud
070a39a51d Improve documentation 2017-06-16 23:28:15 +02:00
Unrud
73a73bb0a5 Improve log message for discovery of unsafe paths 2017-06-16 23:11:43 +02:00
Unrud
67669bd690 Rename path to sane_path 2017-06-16 23:11:29 +02:00
Unrud
5a0d4f7f2f Remove unused variable 2017-06-16 23:11:22 +02:00
Unrud
75605b5f03 Catch all exceptions when loading plugins 2017-06-15 23:54:32 +02:00
Unrud
6f5e30670f Don't change permissions of lock file
The file is part of the storage folder. Setting permissions of the storage folder is not handled by Radicale.
2017-06-15 23:44:39 +02:00
Unrud
6b8de92c57 Small improvements for Collection 2017-06-09 02:59:29 +02:00
Unrud
e09d33f3ee Document properties of BaseCollection 2017-06-09 02:59:29 +02:00
Unrud
79e7232ecb Rename self._meta to self._meta_cache and self._etag to self._etag_cache 2017-06-09 02:59:29 +02:00
Unrud
12871fdcb3 Workaround for bugs in VObject during filtering 2017-06-09 02:59:29 +02:00
Unrud
48d2a33053 Rename upload_all_atomic to _upload_all_atomic 2017-06-09 02:59:29 +02:00
Unrud
dbd06a1952 Default implementation for BaseCollection.serialize 2017-06-09 02:59:29 +02:00
Unrud
47d311b101 Improve doc strings 2017-06-09 02:59:29 +02:00
Unrud
12f9ac44c2 Remove __init__ from BaseCollection
It's not used anywhere
2017-06-09 02:59:29 +02:00
Unrud
bab35e9692 Detect errors in recurrence rules early 2017-06-07 21:54:38 +02:00
Unrud
1b54b23bb3 Add info about disabling locking to error message 2017-06-07 14:14:09 +02:00
Unrud
2860c664d0 Check that vobject_item have a UID 2017-06-06 20:01:09 +02:00
Unrud
e47747d4d4 return None instead of False if UID field is missing 2017-06-06 20:01:06 +02:00
Unrud
bea855cb80 Improve file names used when uploading whole collection
* Use 64 bit random sequence (extremely low chance of collisions)
* Improve error message in case of collisions
* Add file extension to names
2017-06-06 20:01:04 +02:00
Unrud
396b9ffecb Log error message from parser for items in storage 2017-06-02 16:36:02 +02:00
Unrud
a1ebc52b39 Don't delete cache entry that gets overwritten
It's unnecessary.
2017-06-02 14:19:53 +02:00