Commit Graph

48 Commits

Author SHA1 Message Date
Peter Bieringer
3cad049109 logging/limit_content: new option 2026-03-14 15:12:15 +01:00
Peter Bieringer
8bcceb3b86 increase limit to usual propfind response per collection 2026-02-27 07:46:09 +01:00
Peter Bieringer
526462b1e3 fix issue#1984 (refix issue#1851) 2026-02-17 08:42:32 +01:00
Peter Bieringer
ffb2fb5e78 cosmetics 2026-01-10 07:48:43 +01:00
Peter Bieringer
3eb5f32d3d update copyright year 2026-01-06 17:34:43 +01:00
Peter Bieringer
46526cbb71 add check for bcrypt vs. passlib/libpass version 2026-01-06 17:31:24 +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
9801cca9d9 fix detection of unicode + hexdump header 2025-12-28 12:38:59 +01:00
Peter Bieringer
6bd7a5b5e3 add checksum and hexdump support 2025-12-28 08:09:35 +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
2411b63852 add function for calculating units for integers 2025-12-13 07:59:02 +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
bd1497ca15 catch min/max to avoid issues on 32-bit systems 2025-11-02 18:33:28 +01:00
Peter Bieringer
012e50e3ed add min_unixtime constant 2025-11-02 18:33:04 +01:00
Peter Bieringer
120fbb7328 Fix: out-of-range timestamp on 32-bit systems 2025-10-01 20:36:12 +02:00
Peter Bieringer
ca3fd9a3ff Improve: user/group retrievement for running service and directories 2025-09-01 20:31:23 +02:00
Peter Bieringer
c84d09b4dc workaround for windows 2025-07-20 18:00:39 +02:00
Peter Bieringer
48ae4d1d6e python < 3.11 support 2025-07-20 17:55:28 +02:00
Peter Bieringer
802037cf22 add a function to format unixtime to string 2025-07-20 17:50:06 +02:00
Peter Bieringer
8d2a71557a make flake8 happy 2025-07-20 12:49:53 +02:00
Peter Bieringer
d050096bbb fix for https://github.com/Kozea/Radicale/issues/1826 2025-07-20 12:46:55 +02:00
Peter Bieringer
e17ef37c42 remove no longer required import 2025-06-29 20:00:03 +02:00
Peter Bieringer
56e084f74c fix for windows 2025-06-29 19:53:33 +02:00
Peter Bieringer
d09c4e0819 next windows case 2025-06-29 08:50:20 +02:00
Peter Bieringer
070a022b90 fix windows case 2025-06-29 08:48:47 +02:00
Peter Bieringer
704ff23ddf add support function to display user/group radicale is running 2025-06-29 08:33:55 +02:00
Peter Bieringer
d1098c3e22 flake8 regression E261 2025-05-16 07:28:50 +02:00
Peter Bieringer
02eb82354b argon2: module version 2025-04-29 19:19:06 +02:00
Jakub Klinkovský
0c8eb3d04d Remove obsolete dateutil reference
The dependency was removed, see https://github.com/Kozea/Radicale/issues/1626
2025-04-26 12:47:50 +02:00
Peter Bieringer
e22fbe282b centralize format_address 2025-03-13 21:47:44 +01:00
Peter Bieringer
9b671beceb extend module list to display version on start 2025-02-25 06:20:14 +01:00
Peter Bieringer
50f5d2e5ef extend copyright 2025-02-25 06:20:03 +01:00
Peter Bieringer
7f3fedc048 log used python version 2025-02-22 17:50:42 +01:00
Peter Bieringer
9787f87cc7 make tox happy 2024-12-14 08:36:03 +01:00
Peter Bieringer
119cefce34 Improve: log important module versions on startup 2024-12-14 08:22:22 +01:00
Peter Bieringer
416081a81f review, calculate also max TLS version 2024-11-14 07:38:03 +01:00
Peter Bieringer
243b888c8e fix unsupported log level 2024-11-14 07:38:03 +01:00
Peter Bieringer
9ecb95ce37 feedback from isort 2024-11-14 07:38:03 +01:00
Peter Bieringer
fb904320d2 add support for ssl protocol and ciphersuite 2024-11-14 07:38:03 +01:00
Mathieu Dupuy
34b449f27f chore: pyupgrade --py38-plus 2024-08-06 13:49:23 +02:00
Unrud
2b8f4b9419 Replace pkg_resources with importlib for Python >= 3.9
Fixes #1184
2022-04-04 18:18:50 +02: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
9c622b57d5 Allow callable in configuration for plugin.type
Example:

```python3
\# Load default configuration
my_config = config.load()

\# Pass a class directly
my_config.update({"auth": {"type": MyAuth}})

\# Pass an object directly
my_rights = MyRights()
my_config.update({"rights": {"type": lambda config: my_rights}})

app = Application(my_config)
````
2020-04-09 22:01:35 +02:00
Unrud
0cd95f8a39 Rename loader to load_plugin 2020-01-15 00:33:21 +01:00
Unrud
8543f3ea1d Extract method loader() 2020-01-14 22:43:48 +01:00