Commit Graph

55 Commits

Author SHA1 Message Date
Peter Bieringer
aa5d59a48d sharing/propfind: bugfix related to backmap in case of listing 2026-03-14 12:40:30 +01:00
Peter Bieringer
7874dc62ea sharing/property-overlay: permit and replace displayname 2026-03-14 07:25:26 +01:00
Peter Bieringer
b27aac78e5 sharing/propfind: fix/align priv output 2026-03-14 06:34:50 +01:00
Peter Bieringer
ac03567704 sharing/propfind: announce share permissions 2026-03-14 06:34:50 +01:00
Peter Bieringer
ffc5184b11 sharing: add support for clearing properties, doc update, fixes 2026-03-07 07:54:37 +01:00
Peter Bieringer
6c7e9c5ef5 sharing: map_list code improvement 2026-03-06 06:08:44 +01:00
Peter Bieringer
bef0727b94 cosmetics, fix mk* conflict incl. testcases 2026-03-05 21:04:38 +01:00
Peter Bieringer
5c55a86f77 sharing/propfind overlay bugfix 2026-03-01 06:38:05 +01:00
Peter Bieringer
c8e527fd4a sharing: minor fixes 2026-02-28 22:10:24 +01:00
Peter Bieringer
99f2472bfa sharing: add property overlay and update support 2026-02-27 08:30:54 +01:00
Peter Bieringer
f56612f208 call trace only on enabled debug 2026-02-24 08:19:51 +01:00
Peter Bieringer
c2edfee738 sharing: add support for propfind 2026-02-24 08:19:51 +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
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
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
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
64f5e58549 add support for logging XML request conditionally for profiling 2025-12-10 18:09:04 +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
Dipl. Ing. Péter Varkoly
a272d3039e Implement using group calenders.
Based on the ldap groups the user is member of group calender usage is implemented.
The group calenders must be placed in the GROUPS directory based under collection_root_folder.
The name of the group calender directory is the base64 encoded name of the group to avoid trouble with spaces and special characters in name.
If the directory does not exist the group will be ignored.
2024-09-22 16:56:53 +02:00
Mathieu Dupuy
47bc966a13 fix misspellings 2024-07-24 12:29:13 +02:00
MatthewHana
825464f102 Additional type checking for getcontentcount prop
Tests keep failing due to static type checking for condition that won't occur due to earlier checking.  Bringing checking into if statement.
2024-03-13 02:16:16 +11:00
MatthewHana
2c13b8d2e0 Update propfind.py
Don't return getcontentcount prop on leaf or principal collection.
2024-03-13 02:02:23 +11:00
MatthewHana
ee2fc74bc0 Don't allow RADICALE:getcontentcount prop for collections
Tests should pass now
2024-03-13 01:52:45 +11:00
MatthewHana
5ec9aaec07 Add custom Radicale DAV property getcontentcount
This adds a custom Radicale DAV property called 'getcontentcount' which returns the number of entries contained within that collection.
2024-03-12 04:41:00 +11:00
leso-kn
94a5ff0d68 Added support for webcal-subscriptions 2024-03-03 01:13:21 +01:00
Unrud
bbaf0ebd8c Change name in file header 2021-12-09 16:55:46 +01:00
Unrud
cecb17df03 More type hints 2021-09-26 22:24:45 +02:00
Unrud
0b3e4204a5 Cosmetics 2020-10-04 10:14:57 +02:00
Unrud
d48bacc8e3 Improve log messages
Log failed login attempts with remote host as warning (closes #1104)
Add component UID to log message about invalid recurrence rules (reference #602)
Use "forwarded for" instead of "forwarded by" for remote host
2020-09-26 22:08:23 +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
42ad18bc84 Rename _write_xml_content to _xml_response 2020-09-14 21:17:18 +02:00
Unrud
b9bb017edf Test current-user-principal prop authentication workaround 2020-05-24 13:19:29 +02:00
Unrud
aef58bd55c Minimize accesses to rights backend 2020-04-22 19:20:07 +02:00
Unrud
f6a3a19680 Simplify Rights plugin interface 2020-04-09 22:02:03 +02:00
Unrud
d3776e55fb Rework XML helpers functions
- Merge make_tag, tag_from_clark and tag_from_human into make_clark and make_human
- Don't use RegEx for parsing
2020-01-19 21:07:54 +01:00
Unrud
262d76cc87 Don't return empty PROPSTAT elements in PROPFIND responses
This should not have any impact on clients.
2020-01-19 21:07:54 +01:00
Unrud
e07df9fd1d Prefix internal attributes with underscore 2020-01-19 21:07:54 +01:00
Unrud
0fb02cd026 Cosmetic changes (pylint) 2020-01-17 12:59:14 +01:00
Unrud
1453c0b72c Mark attributes for internal use with underscore 2020-01-14 06:19:11 +01:00
Unrud
6202257fc2 Fix variable naming to conform with PEP-8
Originally proposed by @ZipFile in #998
2020-01-12 23:32:28 +01: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
Unrud
55cd363f10 remove unused variables 2018-11-04 18:54:10 +00:00