Commit Graph

2248 Commits

Author SHA1 Message Date
Peter Bieringer
3eb5f32d3d update copyright year 2026-01-06 17:34:43 +01:00
Peter Bieringer
27eedc098d skip bcrypt tests if not usable 2026-01-06 17:34:26 +01:00
Peter Bieringer
e2532ff2a7 display module versions on test start 2026-01-06 17:34:04 +01:00
Peter Bieringer
84bf14fd8e add note about bcrypt vs. passlib/libpass 2026-01-06 17:33:02 +01:00
Peter Bieringer
731716856c check whether bcrypt is usuable with passlib/libpass version 2026-01-06 17:32:24 +01:00
Peter Bieringer
46526cbb71 add check for bcrypt vs. passlib/libpass version 2026-01-06 17:31:24 +01:00
Peter Bieringer
6efb627903 fix typo 2026-01-06 17:30:11 +01:00
Samuel Tardieu
8ace7878a1 fix misindented early return
The wrong indentation could cause the mail hook to bail early without
any logging when the end time of the event being added/modified happened
later than the current boundary being checked (1 full minute before the
current time).

For example, this caused emails not to be sent in the following setup:
Etar + DAVx⁵ on Android.
2026-01-03 15:43:57 +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
17a3816e91 add comment, code review 2025-12-28 13:12:41 +01:00
Peter Bieringer
b60718a21b extend content output for verify-item 2025-12-28 12:39:39 +01:00
Peter Bieringer
bab630a728 remove normal hexdump output 2025-12-28 12:39:25 +01:00
Peter Bieringer
9801cca9d9 fix detection of unicode + hexdump header 2025-12-28 12:38:59 +01:00
Peter Bieringer
baacba191b adjust/extend copyright 2025-12-28 09:13:18 +01:00
Peter Bieringer
fdcd3e2deb fix tox issues 2025-12-28 09:13:07 +01:00
Peter Bieringer
7e1890d630 request log: add checksum on debug level, call expensive debug only on debug level 2025-12-28 08:09:35 +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
6bd7a5b5e3 add checksum and hexdump support 2025-12-28 08:09:35 +01:00
Peter Bieringer
61136c1e7a log max_connections on startup 2025-12-17 08:41:01 +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
c73a53d815 remove copy-paste overhead 2025-12-13 08:06:44 +01:00
Peter Bieringer
690914e49f add unit 2025-12-13 08:00:06 +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
2411b63852 add function for calculating units for integers 2025-12-13 07:59:02 +01:00
Peter Bieringer
81b3c28737 test RFC4791#5.2.5: SHOULD NOT be returned by a PROPFIND DAV:allprop request 2025-12-12 08:49:23 +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
c1f39d24f7 add new test ics 2025-12-11 23:14:08 +01:00
Peter Bieringer
9a31087dfa add testcases for max-resource-size 2025-12-11 23:08:21 +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
bc2a14481f add new option max_resource_size 2025-12-11 22:53:02 +01:00
Peter Bieringer
e66d83cd84 add explanation to default value 2025-12-11 22:50:35 +01:00
Peter Bieringer
b51dcccd19 improve type specification 2025-12-11 22:44:19 +01:00
Peter Bieringer
6e3b277ff5 reduce to 80% for base64 coverage 2025-12-11 08:59:44 +01:00
Peter Bieringer
c3dfd5584d add test case for max-resource-size and getctag 2025-12-11 08:54:42 +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
1b5d83e132 cosmetics 2025-12-11 06:28:50 +01:00
Peter Bieringer
4f8c3fff05 remove unnecessary open+read for mtime+size cache 2025-12-10 21:08:16 +01:00
Peter Bieringer
f879bd5c5d bugfix 2025-12-10 18:34:22 +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
a60e86671b extend copyright 2025-12-10 18:10:51 +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