Commit Graph

2264 Commits

Author SHA1 Message Date
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
Tobias Brox
0388051046 Fix unclosed scandir iterator in path_to_filesystem
Use os.scandir() as a context manager to ensure the iterator is
properly closed. This fixes ResourceWarning: unclosed scandir iterator
that occurs when the iterator is garbage collected without being closed.

Fixes #1972

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 17:02:14 +01:00
Peter Bieringer
2351f49ae4 add testcases 2026-01-22 21:36:07 +01:00
Peter Bieringer
fa38e25468 add files for testcase 2026-01-22 21:36:07 +01:00
Peter Bieringer
a143c5d765 Workaround delete all empty lines to avoid vobject parsing errors 2026-01-22 21:36:07 +01:00
Peter Bieringer
b3ccd39d11 update copyright 2026-01-22 21:36:07 +01:00
Peter Bieringer
02a6cd55e3 fix for lint 2026-01-22 06:35:12 +01:00
Peter Bieringer
a75e3ebdec Testcase for PR#1968 (MOVE with URL-encoded Destination header) 2026-01-22 06:30:38 +01: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
Peter Bieringer
863d2e14d0 change loglevel 2026-01-10 07:48:55 +01:00
Peter Bieringer
ffb2fb5e78 cosmetics 2026-01-10 07:48:43 +01:00
Peter Bieringer
5214287875 replace too simple autodetection with hash length by proper regular expression 2026-01-08 05:39:44 +01:00
Peter Bieringer
373ffaed2e add htpasswd test cases for SHA256/512 with explicit rounds 2026-01-08 05:38:21 +01:00
Peter Bieringer
f676dd7621 cosmetics 2026-01-06 17:41:35 +01:00
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