432 Commits

Author SHA1 Message Date
Peter Bieringer
258426561d extend copyright 2026-02-22 12:33:57 +01:00
Peter Bieringer
32746d03cf use new parent_path 2026-02-22 12:33:44 +01:00
Peter Bieringer
d71892b616 extend copyright 2026-02-22 12:31:56 +01:00
Peter Bieringer
2ace2e6e8c use optional permissions filter 2026-02-22 12:31:36 +01:00
Peter Bieringer
8d0447f0c7 extend copyright 2026-02-22 12:30:39 +01:00
Peter Bieringer
6a43af2cf2 use optional permissions filter 2026-02-22 12:30:28 +01:00
Peter Bieringer
2e1f54c7a8 extend copyright 2026-02-22 12:27:38 +01:00
Peter Bieringer
54e33d8ca2 add optional permissions filter 2026-02-22 12:27:14 +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
laurisvr
9a2bbb589c Fix MOVE failing with URL-encoded Destination header
Destination header wasn't being decoded before urlparse(), and relative
URLs (empty netloc) failed the host comparison.

Ran into this with email usernames where @ gets encoded as %40."
2026-01-21 17:02:48 +01:00
John Wiegley
1f76b08831 Add CardDAV supported-address-data, update vCards to 4.0 (#1948)
* Add CardDAV supported-address-data, update vCards to 4.0

- radicale/app/propfind.py: Add CS:getctag and CR:supported-address-data
  properties to VADDRESSBOOK collections in allprop responses; implement
  CR:supported-address-data handler that advertises vCard 4.0 as preferred
  format with 3.0 fallback per RFC 6352 section 6.2.2

- radicale/tests/static/contact1.vcf: Update from vCard 3.0 to 4.0 format

- radicale/tests/static/contact_multiple.vcf: Update both contact entries
  from vCard 3.0 to 4.0 format

- radicale/tests/static/contact_photo_with_data_uri.vcf: Update from vCard
  3.0 to 4.0 format; change PHOTO property from 3.0 syntax with ENCODING=b
  and TYPE parameters to 4.0 data URI syntax

* Conditionally offer vCard 4.0 based on vobject version

- Add vobject_supports_vcard4() helper function in utils.py
- Modify propfind.py to only advertise vCard 4.0 if vobject >= 1.0.0
- Add vCard 3.0 static test files for fallback testing
- Add tests for both vCard 3.0 and 4.0 contacts (v4 tests skipped if
  vobject < 1.0.0)
- Add propfind tests for CR:supported-address-data property

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Default vCard fixtures to v3.0, add explicit v4 files

- contact1.vcf: Change VERSION from 4.0 to 3.0 to make vCard 3.0 the default
  test fixture format, since vCard 3.0 is more widely supported

- contact1_v3.vcf: Delete file as contact1.vcf now serves as the v3.0 fixture

- contact1_v4.vcf: Add new file with VERSION 4.0 for explicit vCard 4.0
  testing with vobject >= 1.0.0

- contact_multiple.vcf: Change VERSION from 4.0 to 3.0 for both contacts to
  align with new default

- contact_multiple_v3.vcf: Delete file as contact_multiple.vcf now serves as
  the v3.0 fixture

- contact_multiple_v4.vcf: Add new file with VERSION 4.0 for both contacts

- contact_photo_with_data_uri.vcf: Change VERSION from 4.0 to 3.0 and update
  PHOTO property to use v3.0 format with ENCODING=b;TYPE=png parameters

- contact_photo_with_data_uri_v3.vcf: Delete file as
  contact_photo_with_data_uri.vcf now serves as the v3.0 fixture

- contact_photo_with_data_uri_v4.vcf: Add new file with VERSION 4.0 and v4.0
  PHOTO data URI format

- test_base.py: Update test methods to use renamed fixture files, with v3.0
  tests using default fixtures and v4.0 tests using explicit _v4.vcf files

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-01 16:28:10 +01:00
Peter Bieringer
bab630a728 remove normal hexdump output 2025-12-28 12:39:25 +01:00
Peter Bieringer
22d253c95a log_bad_put_request_content: log hexdump of request on debug level 2025-12-28 08:09:35 +01:00
Peter Bieringer
76abfe719b only call expensive debug logging on debug level 2025-12-28 08:09:35 +01:00
Peter Bieringer
cbece4f276 catch 2 more xml tokens 2025-12-17 08:31:08 +01:00
Peter Bieringer
cf98ef0b4a rename function and fix type 2025-12-13 08:06:58 +01:00
Peter Bieringer
b8ed32f3ee log max-content-length on startup, add formatted int to raw values 2025-12-13 07:59:28 +01:00
Peter Bieringer
a7e9521b38 honor RFC4791#5.2.5: SHOULD NOT be returned by a PROPFIND DAV:allprop request 2025-12-12 08:49:13 +01:00
Peter Bieringer
edd6195b6b add support for max-resource-size check on PUT 2025-12-11 23:07:58 +01:00
Peter Bieringer
e1b0721f9e change to dedicated option for propfind/max_resource_size 2025-12-11 22:55:41 +01:00
Peter Bieringer
6e3b277ff5 reduce to 80% for base64 coverage 2025-12-11 08:59:44 +01:00
Peter Bieringer
dd153df6cb add support for max-resource-size using max-content-length 2025-12-11 08:54:42 +01:00
Peter Bieringer
fcfbde9608 feed max-content-length into functions 2025-12-11 08:54:42 +01:00
Peter Bieringer
b3a65627e4 enrich class with max-content-length 2025-12-11 08:54:42 +01:00
Peter Bieringer
cd792ef67c add selection of XML query flags to request status log line 2025-12-11 08:39:53 +01:00
Peter Bieringer
c0af7bf1ba extend profiling by logging header and XML request in case min duration exceeded 2025-12-10 18:21:21 +01:00
Peter Bieringer
f015b8e7a1 avoid raise condition with parallel running profilers 2025-12-10 18:12:08 +01:00
Peter Bieringer
2b2c417b1b implement log of response header 2025-12-10 18:11:20 +01:00
Peter Bieringer
64f5e58549 add support for logging XML request conditionally for profiling 2025-12-10 18:09:04 +01:00
Peter Bieringer
183e556144 Adjust: [logging] header/content debug log indended by space to be skipped by logwatch 2025-12-10 18:01:14 +01:00
Peter Bieringer
97875b9514 log status of new/existing log/profile header/content options on startup 2025-12-10 17:50:20 +01:00
Peter Bieringer
d7f54fbc48 profiling: cosmetics 2025-12-09 08:26:27 +01:00
Peter Bieringer
5fbd838eab profiling: cosmetics/alignment 2025-12-08 18:41:43 +01:00
Peter Bieringer
2df265617b profiling: fix for 'none' 2025-12-08 17:55:11 +01:00
Peter Bieringer
3f4d434439 profiling: add support 2025-12-08 12:33:17 +01:00
Peter Bieringer
3abab9cd8e move: fix detection of HTTP_X_FORWARDED_PORT 2025-12-05 16:24:19 +01:00
Peter Bieringer
da612cfccb add broken vaddressbook logging similar to vcalendar 2025-12-01 18:52:20 +01:00
Peter Bieringer
56e0362f59 extend broken vcalendar item log 2025-12-01 18:52:20 +01:00
Peter Bieringer
62166eb2cc fix typo related to collection delete hook, fixes https://github.com/Kozea/Radicale/issues/1920 2025-11-25 20:02:50 +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
4980172def extend copyright 2025-11-16 16:57:31 +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