WIP: Add a CalDAV server #105

Draft
quentin wants to merge 108 commits from caldav into main

108 Commits

Author SHA1 Message Date
Quentin 6b9542088c
Add icalendar dependency 2024-04-30 13:02:59 +02:00
Quentin e1d7cf88af
Working ICS GET/PUT/DELETE 2024-04-24 17:35:00 +02:00
Quentin 52d767edae
Parse If-{None-}Match headers 2024-04-24 11:43:57 +02:00
Quentin 5d85fd16f2
basic thunderbird event is working! 2024-04-23 18:19:07 +02:00
Quentin 6de63055a2
successfully return ICS in REPORT queries 2024-04-23 18:07:00 +02:00
Quentin adbccd8834
Add support for content type 2024-04-23 15:43:48 +02:00
Quentin 50ce8621c2
GET implementation 2024-04-23 15:20:29 +02:00
Quentin 4594e068db
PUT seems to work 2024-04-23 10:35:43 +02:00
Quentin 936f851fdb
Do not silently drop an invalid frame 2024-04-21 13:47:45 +02:00
Quentin b6c656de8f
Add a virtual node CreateEventNode 2024-04-20 20:01:07 +02:00
Quentin e2bf412337
Finalize refactor 2024-04-18 16:08:10 +02:00
Quentin 2bda8ef081
split dav module in multiple files 2024-04-18 13:55:57 +02:00
Quentin 66eac8ec7a
Refactor DAV 2024-04-06 13:05:57 +02:00
Quentin bf7fb55965
It compiles again 2024-04-05 15:30:10 +02:00
Quentin a2d2649ef9
WIP dav integration 2024-04-05 10:19:07 +02:00
Quentin 054bd52279
Implement diff 2024-04-04 15:40:26 +02:00
Quentin 272b93f04a
GET logic 2024-04-04 14:59:47 +02:00
Quentin 2efdd40b8e
Write PUT 2024-04-04 11:57:32 +02:00
Quentin f179479c30
WIP implem storage 2024-04-04 11:28:15 +02:00
Quentin 9afbfeb427
Testing DAG sync 2024-03-27 16:16:37 +01:00
Quentin a146a0babc
Sync algorithm 2024-03-27 15:09:18 +01:00
Quentin 0b57200eeb
Dav DAG wip 2024-03-27 10:33:46 +01:00
Quentin bc0f897803
Calendar Namespace 2024-03-26 15:08:04 +01:00
Quentin ed47855ef1
Share UniqueIdent between collections 2024-03-20 17:31:54 +01:00
Quentin 22e4f29555
working report calendar-multiget 2024-03-20 14:46:07 +01:00
Quentin 3c2d4e6987
Refactor Multistatus builder to better integrate with REPORT 2024-03-20 13:15:56 +01:00
Quentin 311bc59c1b
Make Thunderbird sufficiently happy to send a REPORT 2024-03-19 18:30:26 +01:00
Quentin fb6a379f43
Working thunderbird autodetect 2024-03-19 17:36:32 +01:00
Quentin 5bf3517acf
Pass thunderbird autodetect... 2024-03-18 22:56:49 +01:00
Quentin 2c9ea0f09c
add support for 404 content 2024-03-18 21:44:44 +01:00
Quentin d0c47b93fe
Rework webdav types 2024-03-18 20:45:30 +01:00
Quentin 2e7ffd4f4c
implement content type 2024-03-18 16:14:38 +01:00
Quentin bb0011dd17
full dav path 2024-03-18 15:33:28 +01:00
Quentin 4a5ae87059
WIP DAV hierarchy 2024-03-18 15:04:46 +01:00
Quentin 3b57d21e30
WIP DAV nodes 2024-03-18 12:00:40 +01:00
Quentin f372a95b01
basic propfind 2024-03-17 10:31:05 +01:00
Quentin 902d33c434
bind streaming codec to hyper 1.x 2024-03-16 16:48:46 +01:00
Quentin 3abdafb0db
TLS + Fix auth 2024-03-13 15:45:36 +01:00
Quentin 98adb1e20d
fix caldecoder + xml 2024-03-13 09:11:52 +01:00
Quentin 442433d70b
fix parsing 2024-03-12 10:18:13 +01:00
Quentin 6d1f538091
Improve my XML parser 2024-03-08 22:03:46 +01:00
Quentin f50f6d68aa
finalize decoder caldav impl 2024-03-08 21:51:34 +01:00
Quentin 17e42874f5
WIP decoder 2024-03-08 21:39:12 +01:00
Quentin 7459f50b54
WIP implem cal decoder 2024-03-08 18:23:23 +01:00
Quentin b786573e08
Fixed 2 more bugs 2024-03-08 11:42:44 +01:00
Quentin 4d65366ff3
Fixed some parsing bugs 2024-03-08 11:34:24 +01:00
Quentin b9f32d720a
Finalize Aerogramme's refactor 2024-03-08 10:20:45 +01:00
Quentin 11462f80c4
Re-enable proto 2024-03-08 09:55:33 +01:00
Quentin 1edf0b15ec
Re-enable collections 2024-03-08 08:43:28 +01:00
Quentin 1a43ce5ac7
WIP refactor 2024-03-08 08:17:03 +01:00
Quentin bb9cb386b6
add a fuzzer 2024-03-07 15:45:05 +01:00
Quentin e52ce4a61d
Testing decoder against RFC 2024-03-07 14:25:08 +01:00
Quentin 2d14587d83
Refactor decoder 2024-03-07 12:25:22 +01:00
Quentin db115ca247
successful multistatus decoding test 2024-03-07 09:49:09 +01:00
Quentin 5e71a7d848
Rewrote the whole decoder 2024-03-06 23:24:54 +01:00
Quentin 67e5953c24
drop anyprop as it can't be decoded 2024-03-06 20:58:41 +01:00
Quentin ce2fa5c3bc
Fix typing of Response 2024-03-06 18:35:54 +01:00
Quentin 96a27d7b22
Implement lockinfo 2024-03-06 16:09:20 +01:00
Quentin 05c952f020
WIP lock/propertyupdate implementation 2024-03-06 12:42:27 +01:00
Quentin ba32a0d4a6
decode errors 2024-03-06 10:12:02 +01:00
Quentin 2dd6deae54
Re-enable + enhance DAV decode tests 2024-03-05 19:06:04 +01:00
Quentin 1aafd752ca
Re-enable cal encoder tests 2024-03-05 18:15:03 +01:00
Quentin 8fec92a086
Re-enable calendar encoder 2024-03-05 18:02:43 +01:00
Quentin f376e88c73
Restored WebDAV encoder tests 2024-03-05 16:26:15 +01:00
Quentin 8e5d8a8aaa
Refactor encoder+decoder WIP (compile) 2024-03-05 16:07:47 +01:00
Quentin b7a990ecdb
Decoder is starting to work 2024-03-04 22:27:37 +01:00
Quentin c9edf6c37c
beginning... 2024-03-04 17:55:48 +01:00
Quentin ad25912a0f
Before refactoring the reader 2024-03-04 13:36:41 +01:00
Quentin 4d3d1c8c19
Add new caldav test from RFC 2024-03-04 09:29:03 +01:00
Quentin 352814aec9
caldav encoding test passing 2024-03-04 09:02:24 +01:00
Quentin e127ebeaa9
Still testing CalDAV 2024-03-03 13:07:22 +01:00
Quentin 4276090314
WIP testing 2024-03-03 11:26:32 +01:00
Quentin 463be750e1
CalEncoder should be fully implemented now 2024-03-03 11:08:00 +01:00
Quentin 433e1f97f6
Param-filter encoding 2024-03-03 11:00:10 +01:00
Quentin 99f8085e47
Serialize another caldav filter 2024-03-03 10:50:32 +01:00
Quentin 17142bd687
WIP encoding 2024-03-02 23:01:56 +01:00
Quentin 61ee5f153b
Serialize calendar-data 2024-03-02 19:01:20 +01:00
Quentin dba0dcdc41
Serialize CalDAV errors 2024-03-02 18:35:11 +01:00
Quentin 2b2e3c032c
Encode Calendar Properties 2024-03-02 18:19:03 +01:00
Quentin 9514af8f52
Calendar skeleton 2024-03-02 16:52:52 +01:00
Quentin f1861e3f12
Finalize caldav types iteration 2024-03-02 16:10:41 +01:00
Quentin 4d325a2f7b
CalDAV many types 2024-03-02 15:52:26 +01:00
Quentin 6688dcc383
WIP CalDAV types 2024-03-02 10:08:51 +01:00
Quentin 8b948916e7
simple lock tests 2024-03-01 18:50:06 +01:00
Quentin 9200b44941
Fix some logic on locked 2024-03-01 18:33:46 +01:00
Quentin 4490afb1bf
Implement propertyupdate 2024-03-01 18:20:51 +01:00
Quentin dee970afe5
type refactor on <prop> 2024-03-01 17:17:51 +01:00
Quentin 77e2f8abbb
test include 2024-03-01 16:37:27 +01:00
Quentin 0cadcbea98
Test Allprop 2024-03-01 16:24:39 +01:00
Quentin c15f8856a8
propname tests 2024-03-01 15:32:40 +01:00
Quentin 2b30c97084
fully serialize webdav core? 2024-03-01 14:28:36 +01:00
Quentin 8d7c8713b6
Finalized encode ActiveLock 2024-03-01 13:21:19 +01:00
Quentin cd48825275
WIP DAV encoder 2024-03-01 10:56:05 +01:00
Quentin c52a659151
hook resource type 2024-03-01 10:29:16 +01:00
Quentin 929a185f37
Add a property hook 2024-03-01 10:12:19 +01:00
Quentin 8691c98f44
WIP property 2024-03-01 08:43:37 +01:00
Quentin e88e448179
Simplify code 2024-03-01 08:32:02 +01:00
Quentin 33a02ff695
WIP encoder 2024-02-29 23:02:02 +01:00
Quentin fadadffc92
Fixed tests 2024-02-29 22:32:07 +01:00
Quentin 1e3737a590
At least it compiles 2024-02-29 20:40:40 +01:00
Quentin 9146537aaf
WIP XML encoder 2024-02-29 10:17:46 +01:00
Quentin ffe4d071f6
Dav XML types 2024-02-28 22:00:47 +01:00
Quentin c10eb33585
WIP DAV types & encoder 2024-02-28 10:20:28 +01:00
Quentin 239df7bd14
Working on DAV router 2024-02-27 19:30:51 +01:00
Quentin 7f35e68bfe
Refactor 2024-02-27 18:33:49 +01:00
Quentin 9a58a4e932
WIP login 2024-02-27 01:05:51 +01:00
Quentin ea32a813a7
basic router, define URI pattern 2024-02-27 00:12:01 +01:00
Quentin 3d3fd80629
Add basic DAV server 2024-02-26 23:59:29 +01:00