1
0
Fork 0
mirror of https://github.com/Kozea/Radicale.git synced 2025-09-30 21:12:05 +00:00
Commit graph

3332 commits

Author SHA1 Message Date
Peter Marschall
44c64d70f5 LDAP auth: _login2: re-bind as user within same connection
Python's ldap module, which is modelled along OpenLDAP's API, allows us to
keep the connection and doing a new bind as a different user, superseding
the previous bind.
Use this to simplify the code and avoid duplication.
2025-09-29 20:15:33 +02:00
Peter Marschall
2d7a9b001c LDAP auth: support TLS & start_tls also with python-ldap
Until now, every connection to the LDAP server was silently unencryptedr
when using Python's ldap module instead of the ldap3 module.
I.e. using Python's ldap module was inherently insecure, as there was not
even a hint that the config settings for encryption were ignored.

This commit changes this and brings LDAP authentication based on the ldap
module feature-wise on par with the one based on the ldap3 module.
2025-09-29 20:15:33 +02:00
Peter Marschall
f8b15eb122 LDAP auth: get rid of helper property '_use_encryption'
Inferring 'ldap_security' in earlier commits, allows us to get rid of
the helper property '_use_encryption', streamlining the code.
2025-09-29 20:15:33 +02:00
Peter Marschall
b21549b998 LDAP auth: warn if 'ldap_ssl_ca_file' is set without LDAP encryption 2025-09-29 20:15:33 +02:00
Peter Marschall
73b77defe4 LDAP auth: warn on unset ldap_ssl_ca_file when certificate verification is wanted 2025-09-29 20:15:33 +02:00
Peter Marschall
c58eef4bac LDAP auth: infer 'ldap_security = tls' from the URL prefix: ldaps:// => LDAPS
LDAP URIs starting with the scheme 'ldaps' are - by definition - meant to use
LDAPS instead of plain LDAP: infer 'ldap_security' = "tls" if it is not set.
2025-09-29 20:15:33 +02:00
Peter Marschall
7eb0c66512 LDAP auth: refactor dealing with 'ldap_use_ssl'
* stop treating it as class property
* refactor to consolidate logic into one big 'if' statement
  (for easier removal when the config option gets removed in the future)
* make deprecation warning for 'ldap_use_ssl' more urgent
* raise error if conflicting settings 'ldap_security' = "starttls" and
  'ldap_use_ssl' = True are set together
* if not set, infer  'ldap_security' = "tls" from 'ldap_use_ssl' = True,
  logging  a warning for the admin to update the config
2025-09-29 20:15:33 +02:00
Peter Marschall
caab7d3712 LDAP auth: load SSL/TLS config unconditionally
Currently it is not used by _login2(), but it does not hurt to have it
available.
It is a preparation for supporting encrypted connections in _login2().
2025-09-29 20:15:33 +02:00
Peter Bieringer
0648f417b1 3.5.8.dev 2025-09-28 20:25:17 +02:00
Peter Bieringer
1c323197de update version 2025-09-27 08:16:00 +02:00
Peter Bieringer
61596ee5d7 fix exclude for windows-latest 2025-09-27 07:58:35 +02:00
Peter Bieringer
c852070afe exclude all pypy on Windows, fix coveralls python version 2025-09-27 07:52:26 +02:00
Peter Bieringer
accd65d94a adjust python versions 2025-09-27 07:46:46 +02:00
Peter Bieringer
c84b94c245 do not continue on coveralls-test problem 2025-09-27 07:41:08 +02:00
Peter Bieringer
be848d1937 update python version for lint job 2025-09-26 15:27:03 +02:00
Peter Bieringer
29530ade4e carveout dedicated coveralls job 2025-09-26 15:21:21 +02:00
Peter Bieringer
c36fa29b14 skip in case of coveralls --finish has an error 2025-09-26 08:05:19 +02:00
Peter Bieringer
d83f9fe29d extend copyright related to https://github.com/Kozea/Radicale/pull/1883 2025-09-26 07:53:28 +02:00
Peter Bieringer
8a480832d7
Merge pull request #1885 from marschap/fix-Authentik-quirk
LDAP auth: move evaluation of quirk for Authentik where it belongs
2025-09-25 18:15:33 +02:00
Peter Marschall
5f89d18df6 LDAP auth: move evaluation of quirk for Authentik where it belongs
The evaluation of the quirk for the Authentik LDAP server changes the behaviour
of Python's `ldap3` module, and that module only.
Evaluating the quirk in `__init__` which is used for both, `ldap` and `ldap3`
is thus wrong, and may lead to errors when this setting is used together with
the `ldap` module.

Signed-off-by: Peter Marschall <peter@adpm.de>
2025-09-25 18:09:43 +02:00
Peter Bieringer
8f76e9913b
Merge pull request #1884 from Kozea/superseed-1877
Superseed 1877
2025-09-25 17:48:10 +02:00
Peter Bieringer
c316cdd249 changelog for move evaluation of quirk for Authentik where it belongs 2025-09-25 15:30:31 +02:00
Peter Bieringer
63b160c2b0 move evaluation of quirk for Authentik where it belongs, superseeds https://github.com/Kozea/Radicale/pull/1877 2025-09-25 15:29:04 +02:00
Peter Bieringer
81049df617 changelog for https://github.com/Kozea/Radicale/pull/1883 2025-09-25 15:22:51 +02:00
Peter Bieringer
918244ead5
Merge pull request #1883 from pbiering/fix-1880
Fix for #1880 and finally for #1812
2025-09-25 15:19:17 +02:00
Peter Bieringer
7604d44701 make flake8 happy 2025-09-24 21:36:33 +02:00
Peter Bieringer
2899c677c1 revert improper PR#1839, finally fix #1812 and #1880 2025-09-24 21:31:27 +02:00
Peter Bieringer
77e7745f93 make mypy happy 2025-09-24 21:30:06 +02:00
Peter Bieringer
ec9ef124ff add new test cases for #1880 and #1812 2025-09-24 21:17:37 +02:00
Peter Bieringer
d1679a53b1 new test items 2025-09-24 21:17:13 +02:00
Peter Bieringer
ab88b0cfb8
Merge pull request #1882 from Kozea/fix-1878
Fix 1878
2025-09-24 06:43:57 +02:00
Peter Bieringer
8d224f9768 changelog for https://github.com/Kozea/Radicale/issues/1878 2025-09-24 06:35:48 +02:00
Peter Bieringer
b46916fca9 fix according to https://github.com/Kozea/Radicale/issues/1878#issue-3438629348 2025-09-24 06:35:27 +02:00
Peter Bieringer
4b2e63dafe prepare 3.5.7.dev 2025-09-24 06:24:31 +02:00
Peter Bieringer
fd955c967c
Merge pull request #1876 from marschap/tiny-doc-fixes
DOCUMENTATION.md: fix small glitches: typos, ...
2025-09-23 07:54:14 +02:00
Peter Marschall
243931000b DOCUMENTATION.md: fix small glitches: typos, ... 2025-09-19 17:44:05 +02:00
Peter Bieringer
a04a9ba8be release 3.5.6 2025-09-15 20:40:50 +02:00
Peter Bieringer
fba2a7caef according to https://github.com/Kozea/Radicale/pull/1866 the trailing / should be removed 2025-09-11 08:02:40 +02:00
Peter Bieringer
de1ce0d1d3 manual apply from https://github.com/Kozea/Radicale/pull/1866 2025-09-11 08:01:09 +02:00
Peter Bieringer
27c1539565
Merge pull request #1870 from marschap/documentation-updates
documentation updates
2025-09-11 07:47:06 +02:00
Peter Marschall
50043e5ec7 documentation updates
* config sections in [brackets]
* config values as `code`
* config value alternatives as lists
* standardized format for config options
* consolidate multiple markup variants into one
* fix hierarchy for some options
* grammar fixes
* fix some "Germanisms"
2025-09-10 21:06:36 +02:00
Peter Bieringer
fe93f88d17 extend config sniplet triggered by https://github.com/Kozea/Radicale/issues/1869 2025-09-10 19:42:02 +02:00
Peter Bieringer
1d14a9c4c6
Merge pull request #1868 from jmberg/dovecot-rip-cleanup
auth: clean up remote IP parameters/documentation
2025-09-10 19:32:19 +02:00
Johannes Berg
256ca59aaf auth: clean up remote IP parameter/documentation
Make the remote IP parameter more generic and make it an enum
determining the source instead of a boolean. Also fix the
changelog entry.

Both as requested, I managed to miss those comments previously.
2025-09-09 20:25:49 +02:00
Peter Bieringer
d70606e7a5
Merge pull request #1860 from jmberg/dovecot-auth-ip
auth: dovecot: pass rip= to auth server
2025-09-09 19:46:30 +02:00
Johannes Berg
b5a1ea911d auth: dovecot: pass remote IP (rip=) to auth server
If known, let the auth server know where the client came
from, using REMOTE_ADDR or, optionally/configurably, the
X-Remote-Addr header value (which is needed when running
behind a trusted proxy.)

Addresses #1859.
2025-09-09 12:10:00 +02:00
Peter Bieringer
1bac038f5a changelog for https://github.com/Kozea/Radicale/pull/1861 2025-09-09 07:39:56 +02:00
Peter Bieringer
126b1a13d2
Merge pull request #1861 from marschap/ldap-group-search
LDAP auth: group memberships based on separate search
2025-09-09 07:33:51 +02:00
Peter Marschall
57a4d8d47d LDAP auth: update, consolidate & extend documentation 2025-09-08 22:01:13 +02:00
Peter Marschall
9eb9556536 LDAP auth: decode UTF-8 byte sequences to strings only if necessary 2025-09-07 15:05:47 +02:00