Commit graph

176 commits

Author SHA1 Message Date
Unrud
73e42f8101 Enable static type checking 2021-09-26 22:24:45 +02:00
Unrud
34bec01c9b Fail when test file can't be read 2021-05-14 00:07:09 +02:00
Unrud
0e8949ff71 Internal server: Shutdown server via socket 2020-10-04 14:40:52 +02:00
Unrud
ca27156605 More tests
for PROPPATCH, PROPFIND, MKCALENDAR and MKCOL
2020-09-26 22:08:22 +02:00
Unrud
7642d72919 Improve variable names 2020-09-26 22:08:21 +02:00
Unrud
0ce90d6b34 Extract read*_request_body methods 2020-09-14 21:19:48 +02:00
Unrud
80e8750c8a Add more tests 2020-09-14 18:54:02 +02:00
Tom Hacohen
d3bb19800c
Web: add support for the POST HTTP method. (#1097)
* Web: add support for the POST HTTP method.

This patch adds support for POST in addition to the already supported GET.

This is needed for implementing more complex web modules that also
support configuration modifications and advanced queries.

* Base web: return METHOD_NOT_ALLOWED when method isn't implemenetd.

Co-authored-by: Unrud <Unrud@users.noreply.github.com>
2020-09-14 18:17:45 +02:00
Unrud
30c9c55358 Exit immediately after cleanup when signal is received
Waiting for clients introduces the risk that we exceed some timeout (e.g. from systemd) and get killed instead.
2020-08-31 14:11:42 +02:00
Unrud
b98cd98c4c Fix internal server on FreeBSD 2020-08-18 22:51:35 +02:00
Unrud
1edfb16143 Fix isort test
Was broken by isort>=5
2020-07-23 18:42:43 +02:00
Unrud
e0247f8f92 Cosmetics 2020-05-24 13:41:08 +02:00
Unrud
d3b90506f5 Add tests for conflicting UIDs and overwriting of items 2020-05-24 13:19:29 +02:00
Unrud
b9bb017edf Test current-user-principal prop authentication workaround 2020-05-24 13:19:29 +02:00
Unrud
6ec63ccc9b Handle missing IPv6 support by the kernel
This is different from disabled IPv6.

Fixes #1050
2020-05-24 10:11:40 +02:00
Unrud
3be9a22a91 Fix XML error messages
Fixes #825
2020-05-22 16:34:02 +02:00
Unrud
7f2d5cea62 New right "i": Only allowing HTTP method GET 2020-04-22 19:20:42 +02:00
Unrud
9bd852ba5e Remove duplicated code 2020-04-22 19:20:36 +02:00
Unrud
d73a308294 Cosmetics 2020-04-22 19:20:30 +02:00
Unrud
d5f5eeeddf from_file rights: Replace config parser interpolation 2020-04-22 19:20:24 +02:00
Unrud
f6a3a19680 Simplify Rights plugin interface 2020-04-09 22:02:03 +02:00
Unrud
8ca01a4989 Fix integrated server on android 2020-04-09 22:01:55 +02:00
Unrud
9c622b57d5 Allow callable in configuration for plugin.type
Example:

```python3
\# Load default configuration
my_config = config.load()

\# Pass a class directly
my_config.update({"auth": {"type": MyAuth}})

\# Pass an object directly
my_rights = MyRights()
my_config.update({"rights": {"type": lambda config: my_rights}})

app = Application(my_config)
````
2020-04-09 22:01:35 +02:00
Unrud
f46a3e3d24 Fix test on MacOS (3) 2020-02-20 11:27:26 +01:00
Unrud
ee984b49d4 Fix test on MacOS (2) 2020-02-20 10:55:00 +01:00
Unrud
363dd79833 Fix test on MacOS 2020-02-20 10:42:50 +01:00
Unrud
d3b632e123 Remove unused code 2020-02-20 10:41:33 +01:00
Unrud
8890a4c030 Handle disabled IPv6 support and workaround for PyPy 2020-02-20 07:57:39 +01:00
Unrud
9603aa3496 Tests: Replace gunicorn with waitress (works on Windows too) 2020-02-20 07:57:39 +01:00
Unrud
941bb157cc Cosmetic changes 2020-02-19 10:01:39 +01:00
Unrud
180e96b332 Move internal options to other sections 2020-02-19 09:50:36 +01:00
Unrud
5371be2b39 Mark internal configuration options and sections with underscore 2020-02-19 09:50:27 +01:00
Unrud
66fabbead9 Use socket pairs to communicate with client threads 2020-02-19 09:50:19 +01:00
Unrud
db7587c593 Cosmetic changes 2020-01-21 19:40:02 +01:00
Unrud
fc180266d5 Improve tests
- Parse and verify XML responses
- Extract methods for common requests
2020-01-20 09:47:51 +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
0fb02cd026 Cosmetic changes (pylint) 2020-01-17 12:59:14 +01:00
Unrud
ed72e697de Tests: Use absolute imports 2020-01-15 18:44:00 +01:00
Unrud
1bd93a2947 Fix filesystem folder creation 2020-01-15 06:39:59 +01:00
Unrud
514cd2b7cd Test default sync implementation 2020-01-15 01:27:41 +01:00
Unrud
040d8c0fff Split BaseCollection into BaseStorage and BaseCollection 2020-01-14 06:19:23 +01:00
Unrud
caf5ff1080 Change default value for external users 2020-01-12 23:32:26 +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