Commit Graph

1414 Commits

Author SHA1 Message Date
Unrud
09644414b5 set logging level to DEBUG for tests 2018-08-21 18:43:44 +02:00
Unrud
aec94cc5b3 Never create collection without tag via PUT 2018-08-21 18:43:43 +02:00
Unrud
464e4ca920 remove unused code 2018-08-21 18:43:42 +02:00
Unrud
c845c5a372 don't focus login formular when refreshing
Prevents browsers from showing saved credentials
2018-08-21 18:43:42 +02:00
Unrud
f2389a1e53 specify filename for downloaded address books and calendars 2018-08-18 16:43:19 +02:00
Unrud
5f8b9e5672 remove left behind debug output 2018-08-18 16:43:18 +02:00
Unrud
af831ff13f Log thread name when not main thread 2018-08-18 16:43:18 +02:00
Unrud
b8627c33fb prevent overwriting collections when uploading 2018-08-18 14:08:02 +02:00
Unrud
76f7adfed4 make collection names bold 2018-08-18 14:07:50 +02:00
Unrud
53b064bc2f add upload dialog to web interface 2018-08-18 12:58:42 +02:00
Unrud
30a9ecc06b Use forking for internal server when available 2018-08-18 12:56:41 +02:00
Unrud
ddd99a5329 Check that storage lock guarantees are met 2018-08-18 12:56:41 +02:00
Unrud
5d969ff65c Include versions in item cache hash 2018-08-18 12:56:40 +02:00
Unrud
f708a7b2b6 Use " instead of ' 2018-08-18 12:56:40 +02:00
Unrud
24f835a2a1 Remove unused configuration 2018-08-18 12:56:39 +02:00
Unrud
8281769edf Move filesystem_fsync config from section storage to internal 2018-08-18 12:56:39 +02:00
Unrud
4282ea46e4 Add section for internal configuration 2018-08-18 12:56:38 +02:00
Unrud
59f7104dce Replace option "debug" with "level" in "logging" 2018-08-16 08:00:02 +02:00
Unrud
a5fa35e785 require python>=3.5.2 2018-08-16 08:00:02 +02:00
Unrud
59d10ef9f7 Only limit content length with internal server 2018-08-16 08:00:01 +02:00
Unrud
6b281e1726 Move realm config from server to auth 2018-08-16 08:00:01 +02:00
Unrud
3d77238a4b Move WSGI server to server.py 2018-08-16 08:00:00 +02:00
Unrud
6f15cddfbc Don't pollute WSGI environ with OS environ 2018-08-16 07:59:59 +02:00
Unrud
e5e13faa7c Remove daemonization 2018-08-16 07:59:59 +02:00
Unrud
c7d1936cb6 remove everything marked as DEPRECATED 2018-08-16 07:59:58 +02:00
Unrud
e96410c6e7 Only support file based locking 2018-08-16 07:59:58 +02:00
Unrud
c7e65fbb7f require UIDs in CalDAV/CardDAV / check for duplicated UIDs / try to use UIDs as filenames 2018-08-16 07:59:57 +02:00
Unrud
7964d288a5 Tests: Don't overwrite component with different UID 2018-08-16 07:59:57 +02:00
Unrud
d2e6566147 Don't test missing UIDs in CalDAV/CardDAV 2018-08-16 07:59:57 +02:00
Unrud
c657dda753 Add clarifying comment 2018-08-16 07:59:57 +02:00
Unrud
d7255df768 Tests: Remove start_response method 2018-08-16 07:59:57 +02:00
Unrud
bd52dcd590 Detect systemd journal 2018-08-16 07:59:57 +02:00
Unrud
24815255be Use wsgi.errors to for errors 2018-08-16 07:59:56 +02:00
Unrud
54b9995e22 Use module-wide logger and remove logging config 2018-08-16 07:59:55 +02:00
Unrud
6c9299cf16 Auth: Introduce login(login, password) method
This deprecates map_login_to_user, is_authenticated and is_authenticated2
2018-08-16 07:57:47 +02:00
Unrud
3455ab4ba9 Fallback to RADICALE_CONFIG from OS environ 2018-08-16 07:57:32 +02:00
Unrud
67bdbd8530 Revert "Auth: Introduce login(login, password) method"
This reverts commit e73270bbe5.
2018-08-16 07:57:26 +02:00
Unrud
546a52e34a Improve HTTP status codes 2018-08-14 20:08:42 +02:00
Unrud
b0a0debf17 Remove unused parameter from _item_cache_content 2018-08-14 20:08:42 +02:00
Unrud
f815f1be7f Use correct HTTP status for WebDAV precondition 2018-08-14 20:08:42 +02:00
Unrud
a6b1219ba5 Fix UID for journal3.ics test data 2018-08-14 20:08:42 +02:00
Unrud
ca6b958c16 Rename function _webdav_error to webdav_error 2018-08-14 20:08:42 +02:00
Unrud
e73270bbe5 Auth: Introduce login(login, password) method
This deprecates map_login_to_user, is_authenticated and is_authenticated2
2018-08-14 20:08:42 +02:00
Unrud
e96fa64fa6 WSGI: Get RADICALE_CONFIG from environ instead of os.environ 2018-08-14 20:08:42 +02:00
Unrud
ad7c93628b Extract method _init_application 2018-08-14 20:08:42 +02:00
Unrud
ff287c2e5d Use if-else instead boolean operators 2018-08-14 20:08:42 +02:00
Unrud
6e73a1bebf Don't reuse cache locks between instances of class 2018-08-14 20:08:42 +02:00
Unrud
ae4c8a0bd1 Improve doc string 2018-08-14 20:08:42 +02:00
Unrud
d2811b7fa5 Check cache lock name space for '/' 2018-08-14 20:08:42 +02:00
Unrud
5adcab77a3 Fix race when creating storage lock 2018-08-14 20:08:42 +02:00
Unrud
3d2ffe0c8e Raise default limits 2018-08-14 20:08:42 +02:00
Unrud
b25e1f23c4 Log stderr and stdout when running hook (Fixes #814) 2018-08-14 20:08:42 +02:00
Unrud
87a68a6ea8 Revert "Fork vobject"
This reverts commit 126a31c82a.
2018-08-14 18:45:21 +02:00
Unrud
18e4677cb7 Add test for mixed local DATE-TIME with time zone and UTC (Test #765) 2018-04-27 18:37:22 +02:00
Unrud
233a54f73b Add test for VTODO with RRULE (Test #764) 2018-04-27 18:37:22 +02:00
Unrud
126a31c82a Fork vobject 2018-04-27 18:37:22 +02:00
Unrud
ae8e10d900 Specify encoding for test files
"utf-8" is not the default encoding on Windows, causing tests to fail
2018-04-21 16:01:55 +02:00
Unrud
3e02134547 Web: Sync CSS with website 2018-04-21 12:02:31 +02:00
Unrud
17d0b79069 Skip testing timezone with seconds for Python < 3.6 2018-04-21 11:23:06 +02:00
Unrud
dfc00b26a7 Improve error message for unsupported timezones 2018-04-21 11:18:43 +02:00
Unrud
70e7363be6 Test timezone with minutes and seconds 2018-04-21 10:44:59 +02:00
Unrud
8b1547cbe5 Move WSGI initialization into module 2018-04-20 22:53:42 +02:00
Unrud
f6081bb07e Update email address 2018-04-20 16:03:36 +02:00
Unrud
2e9600c71f Add missing absolute imports 2018-04-20 16:03:36 +02:00
Frank Sachsenheim
50d3d01ea3 Uses absoulte imports as recommended in PEP-8 2018-04-20 16:03:36 +02:00
Frank Sachsenheim
062e85366d Uses pkg_resources to figure out radicale's version 2018-04-20 16:03:36 +02:00
Unrud
dca25b9e90 Flake8: Fix E722 2017-12-06 22:13:44 +01:00
Unrud
2b1d3ce3d2 Check if REPORT method is supported on collection 2017-12-06 21:52:33 +01:00
Unrud
bf272a99db Detect when item path is a directory on Windows 2017-12-06 21:52:33 +01:00
Unrud
cc89fc6f79 Use human tag in warning message 2017-12-06 21:52:33 +01:00
Unrud
1dcc78ea36 Improve description 2017-12-06 21:52:33 +01:00
William Oprandi
3471561a9f Fix typo 2017-10-16 11:30:03 +02:00
Unrud
4176ef44de Bump version to 2.1.8 2017-09-24 02:01:14 +02:00
Unrud
ed6335aa15 Flush files before fsync'ing 2017-09-24 02:01:13 +02:00
Unrud
21f5f5d70b Bump version to 2.1.7 2017-09-17 14:11:37 +02:00
Unrud
b0ef194a4b Test PROPFIND requests with propname and allprop 2017-09-17 14:11:37 +02:00
Unrud
24b5e98922 Refactor allprop and propname for PROPFIND requests 2017-09-17 14:11:37 +02:00
Unrud
f72b065d8a Remove DAV:getetag and DAV:getlastmodified from non-leaf collections 2017-09-17 14:11:37 +02:00
Unrud
99133a3476 Add DAV:owner property to items 2017-09-17 14:11:37 +02:00
Unrud
152f9ea444 Remove ICAL:calendar-color and C:calendar-timezone properties 2017-09-17 14:11:37 +02:00
Unrud
f146be3d6c Return DAV:unauthenticated for DAV:current-user-principal when not logged in 2017-09-17 14:11:36 +02:00
Unrud
8551319682 Allow DAV:displayname property for all collections 2017-09-17 14:11:36 +02:00
Unrud
d6d2c006ad Add DAV:getcontentlength property to leaf collections 2017-09-17 14:11:36 +02:00
Unrud
a025a46acd Fix tag names for custom properties with allprop and propname 2017-09-17 14:11:36 +02:00
Unrud
8be792280a Add is_authenticated2 to BaseAuth
Adds the ``login`` argument.
2017-09-17 14:11:36 +02:00
Unrud
106aeae781 Add documentation to BaseAuth 2017-09-17 14:09:30 +02:00
Unrud
d9aafd154e Add RADICALE:displayname property for raw displayname
Remove workaround from the web interface.
2017-09-17 14:03:50 +02:00
Unrud
2c0669046c Use and instead of &
Cosmetic change
2017-09-17 14:03:48 +02:00
Unrud
a9e5e00624 Check item cache hash before unpacking content
Prevents warning messages, when the cache layout is changed.
2017-09-17 14:03:47 +02:00
Unrud
1065c0b359 Move documentation to correct method 2017-09-17 14:03:46 +02:00
Unrud
c9a78908e8 Check .well-known before getting login and password
cosmetic change
2017-09-17 14:03:44 +02:00
Unrud
1bd4e6abbe Skip test creating principal with whitespaces on Windows
It's not allowed by the file system.
2017-09-11 20:33:38 +02:00
Unrud
282a759174 Fix compatibility with Python < 3.5 2017-09-11 20:05:54 +02:00
Unrud
ee3fb71f7d Bump version to 2.1.6 2017-09-11 19:32:34 +02:00
Unrud
9ced675423 Add version number for item cache 2017-09-11 19:32:08 +02:00
Unrud
d0891d17b9 Consider collection type for simplified prefilters 2017-09-07 20:26:52 +02:00
Unrud
85d80fe9fc Allow generic component names for simplified prefilters 2017-09-07 20:26:31 +02:00
Unrud
81c596eb1d Use X-WR-CALNAME and X-WR-CALDESC when uploading calendar 2017-09-06 00:55:51 +02:00
Unrud
b04c5e81ca Add X-WR-CALNAME and X-WR-CALDESC to serialized calendar 2017-09-06 00:55:51 +02:00
Unrud
8e53434912 Use vobject.iCalendar as template for calendar serialization 2017-09-06 00:55:51 +02:00
Unrud
f3c368e547 Support generic component names 2017-08-30 18:03:41 +02:00
Unrud
cfb9b1fc0a Skip filters with three levels of comp-filter 2017-08-30 18:03:40 +02:00
Unrud
773e4cfca4 Remove filter_length variable 2017-08-30 18:03:39 +02:00
Unrud
5ce67320e1 Convert PARAM and components names to upper-case 2017-08-29 20:24:38 +02:00
Unrud
b0452b3014 Detect VFREEBUSY and VALARM component names 2017-08-29 20:24:38 +02:00
Unrud
f7d942bfeb More tests for filtering calendars 2017-08-29 20:24:38 +02:00
Unrud
ad0b4e5e85 Add tests for filtering address books 2017-08-29 20:24:38 +02:00
Unrud
31a0f65a7e Don't getattr unless required in _visit_time_ranges 2017-08-29 20:24:38 +02:00
Unrud
c9177e2338 Use logger variable 2017-08-29 20:24:38 +02:00
Unrud
71e5dcf414 Add support for test property in CARDDAV:filter 2017-08-29 20:24:38 +02:00
Unrud
31ba4eb876 Stricter parsing of filters 2017-08-29 20:08:30 +02:00
Unrud
963e28d661 Add support for match-type to text-filter 2017-08-29 20:08:29 +02:00
Unrud
642b4236fe Cache item name and component_name 2017-08-29 20:08:28 +02:00
Unrud
f37b22b682 Correct ;component=... in getcontenttype 2017-08-29 20:08:26 +02:00
Unrud
a2a046f35f Correct Content-Type for VLIST in HTTP header 2017-08-29 20:08:25 +02:00
Unrud
c1d279e63f Bump version to 2.1.5 2017-08-25 19:13:11 +02:00
Unrud
d96faa35dd Print warning when server.timeout is used with Python < 3.5.2 2017-08-25 19:13:10 +02:00
Unrud
2df009fac8 Add --verify-storage argument 2017-08-25 19:13:09 +02:00
Unrud
36bca799e1 Use length of encoded error response
This is purely cosmetic. The lengths are the same, because it gets encoded as ASCII.
2017-08-24 14:34:29 +02:00
Unrud
4cfe92cf50 Close HTTPServer when bind and activate fails 2017-08-24 14:34:29 +02:00
Unrud
31564c7cf2 Improve error message for missing main component 2017-08-23 13:36:35 +02:00
Unrud
574961417d Rename variable recurrence to is_recurrence 2017-08-23 13:36:12 +02:00
Unrud
f912642c20 htpasswd: ignore comments 2017-08-17 06:46:40 +02:00
Unrud
73038e518a htpasswd: don't strip whitespaces and allow ':' in plain password 2017-08-17 06:46:38 +02:00
Unrud
a73a7ab193 Remove cookies from logging output
HTTP cookies are shared across all ports on a host. The log might contain session ids or CSRF tokens from other applications on the same host.
2017-08-14 18:16:46 +02:00
Unrud
f87c16a42b Small cosmetic improvements 2017-08-14 18:16:45 +02:00
Unrud
86631e4ddd Sync cache folder when uploading whole collection 2017-08-09 17:37:48 +02:00
Unrud
1821b872d2 Don't keep files open when uploading whole collection 2017-08-09 17:37:47 +02:00
Unrud
59eded976b Bump version to 2.1.4 2017-08-04 14:59:03 +02:00
Unrud
8e88a47978 Fix owner property 2017-08-04 14:59:02 +02:00
Unrud
c6ca643bcf Don't handle empty properties as deleted 2017-08-04 14:59:01 +02:00
Unrud
5c15b30058 Set deleted props to None instead of "" 2017-08-04 14:59:00 +02:00
Unrud
f91b2bc17e Webinterface: Escape . correctly in RegExp 2017-08-04 14:58:59 +02:00
Unrud
73fb669fd8 Add note about rescheduled recurrences 2017-08-04 14:58:58 +02:00
Unrud
a6663f19f0 Ignore overwritten recurrences in time range filter (fixes #630) 2017-08-03 23:26:12 +02:00
Unrud
ae897c1cd3 Test time range filter with overwritten recurrence 2017-08-03 23:25:50 +02:00
Unrud
748519e94d Fix time range filtering with overwritten recurrences 2017-08-03 19:52:16 +02:00
Unrud
7678da7926 Test unordered recurrences
Time range matching stops early when the visited time range is behind the end date of the filter.
Components are visited in the order, in which they are specified in the VCALENDAR.
This can cause problems with overwritten recurrences.
2017-08-03 19:47:00 +02:00
Unrud
e060bb3d8b Specify items for _test_filter explicitly 2017-08-03 19:46:59 +02:00
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
263f76f88e Bump version to 2.1.3 2017-08-01 17:18:13 +02:00
Unrud
ed3708db22 Don't read cache entry twice with exclusive access 2017-08-01 17:16:58 +02:00
Unrud
1576f9b7fb Use ExitStack instead of suppress as dummy context manager 2017-08-01 17:14:26 +02:00
Unrud
d72455fff6 Log collection path without leading and trailing / 2017-08-01 17:13:05 +02:00
Unrud
aac472960f Improve handling of unsafe user names 2017-07-30 12:00:42 +02:00
Unrud
6d39a61a51 Shut down server on SIGINT on Windows
select.select blocks SIGINT on Windows.
2017-07-30 11:27:08 +02:00
Unrud
d34ee1217d Revert "Shut down server on SIGINT on Windows"
This reverts commit f8de674bd2.
2017-07-30 11:21:04 +02:00
Unrud
f8de674bd2 Shut down server on SIGINT on Windows 2017-07-30 11:00:24 +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
c028de4fb7 Test missing UIDs 2017-07-27 19:08:11 +02:00
Unrud
b19b1b34e8 Test deleting the item cache 2017-07-27 19:08:09 +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
e807b5d953 Move storage hook tests from BaseRequestsMixIn to TestMultiFileSystem 2017-07-27 19:08:00 +02:00
Unrud
deffed8f14 Do SSL handshake in request thread (fixes #674)
The handshake could block the main thread, especially since the socket timeout was not set at that point.
2017-07-27 01:46:27 +02:00
Unrud
b3957bc2c7 Bump version to 2.1.2 2017-07-24 04:22:57 +02:00
Unrud
1f4fb9e306 Use repr(...) instead of "%r" % ... 2017-07-22 23:32:26 +02:00
Unrud
d0aacd3dcf Check uploaded data for more than one VCALENDAR 2017-07-22 23:32:26 +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
a26d90d8d7 Web interface: Delete empty properties 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
f4a9399a97 Change HTTP response 303 to 302 2017-07-01 04:20:13 +02:00
Unrud
9f0611cd20 Small improvements for tests 2017-07-01 04:20:11 +02:00
Unrud
08919510cb Bump version to 2.1.1 2017-07-01 01:25:16 +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
5b3fbb79a1 Small improvements for tests 2017-07-01 01:24:53 +02:00
Unrud
02575580c6 Test creation of whole address book 2017-07-01 01:24:53 +02:00
Unrud
70043c07b9 Improve test for creation of whole calendar 2017-07-01 01:24:53 +02:00
Unrud
cc888ebe9e Test adding contact to address book 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
69086c6d70 Remove some hacks for bugs fixed in VObject 0.9.5 2017-07-01 01:24:53 +02:00
Unrud
5576cb38eb Bump version to 2.1.0 2017-06-25 09:55:39 +02:00
Unrud
6bf7aa2b3c Bump version to 2.1.0rc3 2017-06-23 22:04:37 +02:00
Unrud
98caa88a25 Include VObject version in item cache hash 2017-06-23 22:04:37 +02:00
Unrud
df5565f237 Only send timeout responses for client timeouts
A timeout could happen in an custom storage backend.
2017-06-23 21:55:44 +02:00
Unrud
746cd9feb1 Include exception in timeout log message 2017-06-23 21:55:42 +02:00
Unrud
65a1b572e3 Bump version to 2.1.0rc2 2017-06-21 09:57:52 +02:00
Unrud
2b45af92f3 Small improvements for wording in exceptions messages 2017-06-21 09:57:52 +02:00
Unrud
68184858b4 Add request method and path to error message 2017-06-21 09:54:33 +02:00
Unrud
276de4fd3a Allow additional config options for external plugins 2017-06-21 09:54:33 +02:00
Unrud
db93d969ab Bump version to 2.1.0rc1 2017-06-17 01:45:53 +02:00
Unrud
39a11bc7b7 Change "answer" to "response" in log message 2017-06-17 01:41:33 +02:00