116 Commits

Author SHA1 Message Date
Peter Bieringer
1ff4c6ca03 sharing: share-by-group: add share resolution for other methods beside propfind 2026-08-07 21:52:01 +02:00
Peter Bieringer
4a4e571cce Add: [report] max_expand_occurrence option to separate from max_freebusy_occurrence 2026-08-01 18:52:08 +02:00
TowyTowy
f38688456d Fix: free-busy REPORT always fails when max_freebusy_occurrence is 0
free_busy_report() explicitly handles [reporting] max_freebusy_occurrence = 0
as "limit disabled" when fetching occurrences (n=0 lets time_range_fill
return all occurrences), but the subsequent limit check
'len(occurrences) >= max_occurrence' is trivially true for
max_occurrence == 0, so every free-busy query on a non-empty calendar
raised ValueError ("FREEBUSY occurrences limit of 0 hit") and was
answered with HTTP 400.

Skip the limit check when the limit is disabled, consistent with how
xml_report() treats the same setting ('if max_occurrence and ...').
Behavior for positive limits is unchanged.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-17 01:06:51 +02:00
TowyTowy
9d46d5b63d Fix: expand REPORT leaves recurrence properties on expanded instances
_strip_single_event() removed the recurrence-defining properties (RRULE,
EXDATE, EXRULE, RDATE) with a single try/except around sequential
delattr() calls. When one of them was absent (e.g. an event with no
EXDATE), the AttributeError aborted the whole block and the following
properties -- notably RDATE -- were left on the expanded
single-occurrence VEVENTs returned by a calendar-data expand REPORT.

Remove each property independently so a missing one no longer prevents
removal of the others. Add a regression test and fixture.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-12 22:30:47 +02:00
Arkadiusz Juszczyk
828691e3c4 sharing: URL-encode-aware backmap of REPORT/PROPPATCH hrefs
make_href percent-encodes hrefs (an '@' in an email principal becomes
%40), but the backmap compared against the raw PathMapped, so the
rewrite was skipped and the owner's real path leaked -- editing a shared
collection then failed with 403. Compare and rewrite on the quoted form.
2026-06-24 01:02:28 +02:00
Peter Bieringer
8e9216cd08 sharing: report+propfind honor base_prefix on backmap 2026-06-08 21:59:24 +02:00
Peter Bieringer
0c16337b50 sharing/bday: add forgotten actions to pass 2026-05-31 06:00:55 +02:00
Peter Bieringer
b9ec1c223f log on_notice_condition: implementation 2026-05-12 08:35:28 +02:00
Peter Bieringer
146d4b4a9a adjust loglevels on expand 2026-04-25 07:41:05 +02:00
Peter Bieringer
893970b52a report/log: replace legacy trace log 2026-04-08 21:49:55 +02:00
Peter Bieringer
eae5566865 sharing: bugfix on replacement 2026-03-24 21:40:29 +01:00
Peter Bieringer
8b8315ba93 sharing: improve backmapping 2026-03-24 21:40:29 +01:00
Peter Bieringer
5038a70e9f sharing/report,propfind: change from type bday to conversion 2026-03-24 21:40:29 +01:00
Peter Bieringer
d0d77c2394 sharing/bday: flake8 2026-03-15 18:20:49 +01:00
Peter Bieringer
c3f0ba2353 sharing/bday/report: backmap suffix 2026-03-15 18:20:49 +01:00
Peter Bieringer
6870da7e71 sharing/bday: report 2026-03-15 18:20:49 +01:00
Peter Bieringer
03b5ed162f sharing/bday/report: add support 2026-03-15 18:20:49 +01:00
Peter Bieringer
a6432dc0f1 sharing/code: 3.9 2026-03-14 22:49:17 +01:00
Peter Bieringer
dac2c9c538 sharing/report: pass share 2026-03-14 20:22:58 +01:00
Peter Bieringer
edc64b5ba7 sharing/report: add missing backmap 2026-03-14 12:39:21 +01:00
Peter Bieringer
bef0727b94 cosmetics, fix mk* conflict incl. testcases 2026-03-05 21:04:38 +01:00
Peter Bieringer
f56612f208 call trace only on enabled debug 2026-02-24 08:19:51 +01:00
Peter Bieringer
51994bed00 sharing: add support for report 2026-02-24 08:19:51 +01:00
Peter Bieringer
f84321584f extend copyright 2026-02-22 12:53:21 +01:00
Peter Bieringer
ec67588541 use optional permissions filter 2026-02-22 12:53:10 +01:00
Georgiy
c4362b6392 Merge branch 'master' of github.com:metallerok/Radicale into recurrence_all_day_comparsion 2026-02-06 19:43:53 +03:00
Georgiy
296a90fc0c Merge branch 'master' of github.com:metallerok/Radicale into overridden_recurrence_validation 2026-02-05 19:30:50 +03:00
Georgiy
4e88cbbbc2 Merge branch 'master' of github.com:metallerok/Radicale into recurrence_all_day_comparsion 2026-02-04 19:34:52 +03:00
Georgiy
76d798ccd5 (#1979) test for overridden all day rrule event 2026-02-04 19:26:12 +03:00
Georgiy
859ca7f41d (#1979) Fix invalid RECURRENCE-ID comparsion for all-day events 2026-02-03 19:39:24 +03:00
Georgiy
10c750f6fa (#1966) overridden recurrence validation 2026-01-25 18:21:22 +03:00
Peter Bieringer
64f5e58549 add support for logging XML request conditionally for profiling 2025-12-10 18:09:04 +01:00
Peter Bieringer
7ebe5703ac log remote host+useragent on invalid sync token 2025-11-16 17:06:21 +01:00
Peter Bieringer
1c7ff414a9 extend app calls with remote host+useragent 2025-11-16 17:06:00 +01:00
Peter Bieringer
f9697eeda1 log user on invalid sync token 2025-11-16 16:06:53 +01:00
Peter Bieringer
4c0d216cb9 log path on invalid sync token 2025-11-16 15:50:05 +01:00
Peter Bieringer
3f74ab1cd3 do not log problematic sync token twice 2025-11-16 15:46:50 +01:00
Peter Bieringer
2899c677c1 revert improper PR#1839, finally fix #1812 and #1880 2025-09-24 21:31:27 +02:00
Georgiy
7ce41aee37 (#1845) Fix expanded item copying 2025-08-17 20:06:37 +03:00
Peter Bieringer
80bd41c97e fix-1812-etag 2025-07-31 18:54:28 +02:00
Peter Bieringer
a824ae6c14 Merge pull request #1834 from metallerok/1812_test_specific_event
Fixed an issue where non-recurring events were not included in  the response when requesting an expand report
2025-07-22 18:59:06 +02:00
Georgiy
7cd918d036 (#1812) Fixed an issue where non-recurring events were not included in
the response when requesting an expand report
2025-07-21 20:58:58 +03:00
Peter Bieringer
407d33b623 replace 2x with DT_FORMAT_TIMESTAMP 2025-07-21 19:43:38 +02:00
Peter Bieringer
009d8e4e17 fix for Expanded event with dates are missing VALUE=DATE 2025-07-21 19:41:18 +02:00
Georgiy
2c4cd32132 Fixed extraction of time-range filter from request when processing
expand property
2025-07-18 16:37:49 +03:00
Georgiy
76188c210e Revert time_range processing 2025-07-17 09:03:55 +03:00
Georgiy
40217a1360 Return empty REPORT response if no items found 2025-07-16 23:26:40 +03:00
Georgiy
a76f80a620 Separate time-range filter only for VEVENT component 2025-07-16 22:31:58 +03:00
Georgiy
68f8d61bde Skip items with no events after expansion to prevent empty
<C:calendar-data/> in responses. Enhance component filtering
2025-07-14 18:23:28 +03:00
David Greaves
a1280dc17c Guard against entries with no vevent_list in the vobject
Signed-off-by: David Greaves <david@dgreaves.com>
2025-07-13 18:34:01 +01:00