Commit Graph

202 Commits

Author SHA1 Message Date
Unrud ba5fe590c9 Improve error message when fsync'ing files fails 2017-08-03 19:46:58 +02:00
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