Commit Graph

1505 Commits

Author SHA1 Message Date
Unrud
d3776e55fb Rework XML helpers functions
- Merge make_tag, tag_from_clark and tag_from_human into make_clark and make_human
- Don't use RegEx for parsing
2020-01-19 21:07:54 +01:00
Unrud
262d76cc87 Don't return empty PROPSTAT elements in PROPFIND responses
This should not have any impact on clients.
2020-01-19 21:07:54 +01:00
Unrud
e11661ff3e Protect against XML DOS attacks
Only XML content from authenticated users is parsed.
2020-01-19 21:07:54 +01:00
Unrud
562d3aacec Add unicode support to htpasswd 2020-01-19 21:07:54 +01:00
Unrud
6108d8d759 Remove unsecure methods from htpasswd and make md5 default 2020-01-19 21:07:54 +01:00
Unrud
0a5fd94577 Tests: Improve whitespace tests for htpasswd 2020-01-19 21:07:54 +01:00
Unrud
866aa34f54 Cosmetic changes 2020-01-19 21:07:54 +01:00
Unrud
e07df9fd1d Prefix internal attributes with underscore 2020-01-19 21:07:54 +01:00
Unrud
0fb02cd026 Cosmetic changes (pylint) 2020-01-17 12:59:14 +01:00
Unrud
7aca052859 Remove unused variable 2020-01-17 05:00:31 +01:00
Unrud
b4230c4249 Extract method prepare 2020-01-17 05:00:31 +01:00
Unrud
8f55ab858c Improve documentation 2020-01-17 05:00:30 +01:00
Unrud
f844bbacda Web: Show startup loading message 2020-01-16 04:39:22 +01:00
Unrud
1ef067c7e9 Web: Replace attribute name with data-name 2020-01-16 03:58:31 +01:00
Unrud
d7c7d694e0 Web: Use class "hidden" instead of overwriting style 2020-01-16 03:58:30 +01:00
Unrud
1e27581afd Web: Remove unnecessary tags 2020-01-16 03:58:30 +01:00
Unrud
60de01870e Web: Use let and const instead of var 2020-01-16 03:58:29 +01:00
Unrud
ed72e697de Tests: Use absolute imports 2020-01-15 18:44:00 +01:00
Unrud
428e4be0b8 Workaround for bug in Lightning (fixes #985) 2020-01-15 11:22:52 +01:00
Unrud
c99a1f53df Switch from md5 to sha256 for UIDs and tokens 2020-01-15 11:20:48 +01:00
Unrud
1bd93a2947 Fix filesystem folder creation 2020-01-15 06:39:59 +01:00
Unrud
41a91f7da1 Optional config source description 2020-01-15 03:19:44 +01:00
Unrud
514cd2b7cd Test default sync implementation 2020-01-15 01:27:41 +01:00
Unrud
0cd95f8a39 Rename loader to load_plugin 2020-01-15 00:33:21 +01:00
Unrud
a8a1fc470b Allow boolean raw_value for boolean config entries 2020-01-15 00:33:21 +01:00
Unrud
8543f3ea1d Extract method loader() 2020-01-14 22:43:48 +01:00
Unrud
040d8c0fff Split BaseCollection into BaseStorage and BaseCollection 2020-01-14 06:19:23 +01:00
Unrud
1453c0b72c Mark attributes for internal use with underscore 2020-01-14 06:19:11 +01:00
Unrud
9b51e495ea Allow --config parameter multiple times 2020-01-13 15:51:11 +01:00
Unrud
2e4924a0da Improve documentation 2020-01-13 15:51:10 +01:00
Unrud
88a0af8ba1 Improve documentation 2020-01-12 23:32:28 +01:00
Unrud
6202257fc2 Fix variable naming to conform with PEP-8
Originally proposed by @ZipFile in #998
2020-01-12 23:32:28 +01:00
Unrud
d3d11d0ec8 Report internal config sources 2020-01-12 23:32:27 +01:00
Unrud
967b6a463d Remove unnecessary optimizations 2020-01-12 23:32:27 +01:00
Unrud
caf5ff1080 Change default value for external users 2020-01-12 23:32:26 +01:00
Unrud
a7f4ffa7d4 Rename Configuration.inspect to log_config_sources
The old name was misleading.
2020-01-12 23:32:25 +01:00
Unrud
b7590f8c84 Rework configuration 2019-06-17 04:18:09 +02:00
Unrud
63e6d091b9 Update copyright 2019-06-17 04:13:24 +02:00
Unrud
14b46c04bf Create configuration for isort 2019-06-15 09:01:55 +02:00
Braxton Plaxco
27185f7291 Get python3 ./setup.py test to pass cleanly
~ B'ezrat Hashem ~
2019-06-15 08:49:05 +02:00
Unrud
55cd363f10 remove unused variables 2018-11-04 18:54:10 +00:00
Unrud
edc20ed510 Implement fallback for multiprocessing module
module is not working on Android
2018-11-03 21:51:09 +00:00
Unrud
e5c4373606 Test MOVE between collections 2018-11-03 21:19:36 +00:00
Unrud
818c9e273e more rights tests 2018-09-18 21:05:04 +02:00
Unrud
73338ac20b use correct module 2018-09-18 21:04:58 +02:00
Unrud
6e19ed893a show module name in error message 2018-09-18 21:04:57 +02:00
Unrud
6b9fc870c2 BaseServer doesn't have __exit__ in Python < 3.6 2018-09-09 15:19:48 +02:00
Unrud
93c1581e21 tests: enable debugging for new processes 2018-09-09 15:19:48 +02:00
Unrud
f1de843188 test WSGI server 2018-09-09 14:58:51 +02:00
Unrud
171651e205 test command line interface 2018-09-09 14:58:44 +02:00
Unrud
a146521500 test storage verification 2018-09-09 14:58:44 +02:00
Unrud
515a5c9d18 cosmetics 2018-09-09 14:58:43 +02:00
Unrud
ea7916e0fa cls.logger no longer exists 2018-09-09 14:58:43 +02:00
Unrud
95d8c273c4 restore EAI_ADDRFAMILY after test 2018-09-09 14:58:42 +02:00
Unrud
e4ee569bd2 Measure coverage of forked processes 2018-09-09 07:28:36 +02:00
Unrud
ae99584a7b Modify OpenSSL's RNG after fork
https://docs.python.org/3.7/library/ssl.html#multi-processing
2018-09-09 07:28:36 +02:00
Unrud
7002d06f4d remove unused extra_config argument 2018-09-09 07:28:35 +02:00
Unrud
4fb851c80e cleanup and wait for child processes 2018-09-08 14:57:55 +02:00
Unrud
1a26df865c passlib: use hash() instead of deprecated encrypt() 2018-09-08 14:57:55 +02:00
Unrud
94bb4fbdae Tests: generalize IPv6 detection 2018-09-08 09:24:46 +02:00
Unrud
7760f4edf0 Travis doesn't support IPv6 on osx and linux with sudo 2018-09-06 10:52:27 +02:00
Unrud
8fe2d987e0 Use IP instead of hostname localhost 2018-09-06 10:52:27 +02:00
Unrud
9d72341df2 Use CRITICAL level for start-up failures 2018-09-06 09:12:54 +02:00
Unrud
9b029ac084 use one application for all hosts 2018-09-06 09:12:53 +02:00
Unrud
dec2ad8bea Add support for IPv6 hostnames 2018-09-06 09:12:53 +02:00
Unrud
2275ba4f93 Add support for systemd socket activation 2018-09-06 09:12:52 +02:00
Unrud
f1a587e9d7 cosmetics 2018-09-06 09:12:52 +02:00
Unrud
e0eeae02dd Modify socket in server_bind() 2018-09-06 09:12:51 +02:00
Unrud
9c802e0f57 skip ambiguous isort modules 2018-09-05 11:37:18 +02:00
Unrud
901c5d059f only use forking on posix 2018-09-05 11:37:18 +02:00
Unrud
35484c9b79 Refactor multifilesystem 2018-09-04 03:33:50 +02:00
Unrud
f2d63ad7f7 Remove duplicate docstring 2018-09-04 03:33:49 +02:00
Unrud
979414ce85 Move get_filtered to BaseCollection 2018-09-04 03:33:48 +02:00
Unrud
5e0a387ed9 remove whitespace before email 2018-09-04 03:33:47 +02:00
Unrud
5a433f5476 Test internal server 2018-09-04 03:33:45 +02:00
Unrud
49d35cf618 Delay SSL handshake 2018-09-04 03:33:43 +02:00
Unrud
17127d97a6 Test web plugin 2018-09-04 03:33:42 +02:00
Unrud
6fc69b480f Never skip sync token tests 2018-09-04 03:33:42 +02:00
Unrud
aec2a62931 remove unused methods from storage interface 2018-09-04 03:33:39 +02:00
Unrud
a8c587f984 Remove implementation for storage.move() 2018-09-04 03:33:38 +02:00
Unrud
8a817cf402 Copy configuration before modifying 2018-09-04 03:33:36 +02:00
Unrud
5429f5c1a9 assert sanitized and stripped paths 2018-08-28 16:19:50 +02:00
Unrud
c08754cf92 Don't overwrite attributes of classes 2018-08-28 16:19:49 +02:00
Unrud
6c12b13ec1 reduce default parallel connections to 8 2018-08-28 16:19:48 +02:00
Unrud
8869b34470 refactor 2018-08-28 16:19:43 +02:00
Unrud
1bdc47bf44 Make predefined rights plugins more restrictive and remove NoneAuth
Collections with tag are only allowed as direct children of a principal collections.
2018-08-21 18:43:48 +02:00
Unrud
2cb7060539 Rename storage.Item.item to vobject_item 2018-08-21 18:43:47 +02:00
Unrud
75c1168f54 Remove getattr from storage.Item 2018-08-21 18:43:46 +02:00
Unrud
e098046ad3 Process data before and after the storage is locked 2018-08-21 18:43:46 +02:00
Unrud
0a492a00b1 Allow finer control in rights plugin
New permissions:

R: read collections without tag
r: read collections with tag and included objects
W: write and delete collections without tag
w: write and delete collection with tag and included objects
2018-08-21 18:43:45 +02:00
Unrud
72501c6e23 only set level on "radicale" logger 2018-08-21 18:43:45 +02:00
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