Commit Graph

300 Commits

Author SHA1 Message Date
Peter Bieringer
b80fd10e9c sharing: load configuration into base 2026-02-24 08:19:51 +01:00
Peter Bieringer
d2f52e72bb initialize values earlier in code 2026-02-23 07:52:02 +01:00
Peter Bieringer
05e3b462c0 extend copyright 2026-02-22 16:16:51 +01:00
Peter Bieringer
0b592294ad use optional permissions filter 2026-02-22 16:16:51 +01:00
Peter Bieringer
2572090cbd python 3.9 support 2026-02-22 15:16:39 +01:00
Peter Bieringer
8a61b80e96 remove no longer required include related to use new parent_path 2026-02-22 14:56:31 +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
Peter Bieringer
bf72f15c74 extend copyright 2026-02-22 12:50:21 +01:00
Peter Bieringer
aa038cad01 use optional permissions filter 2026-02-22 12:49:58 +01:00
Peter Bieringer
58bf84e595 extend copyright 2026-02-22 12:48:11 +01:00
Peter Bieringer
02e48b3841 turn iteration result into list and shorten code covered by lock 2026-02-22 12:47:32 +01:00
Peter Bieringer
39dee28e4a use optional permissions filter / use http_depth as variable 2026-02-22 12:46:45 +01:00
Peter Bieringer
2379144772 extend copyright 2026-02-22 12:38:49 +01:00
Peter Bieringer
b86c460ba1 use new parent_path 2026-02-22 12:38:37 +01:00
Peter Bieringer
fb058ea112 use optional permissions filter 2026-02-22 12:38:19 +01:00
Peter Bieringer
3e68a54242 extend copyright 2026-02-22 12:35:23 +01:00
Peter Bieringer
37d0bfd227 use new parent_path 2026-02-22 12:34:59 +01:00
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