Commit graph

2827 commits

Author SHA1 Message Date
Peter Bieringer
98e65d88a4 release 3.4.1 2025-01-26 08:15:14 +01:00
Peter Bieringer
10a79b9483
Merge pull request #1682 from pbiering/minor-changes
add logging entries for dovecot, adjust for imap
2025-01-20 06:19:09 +00:00
Peter Bieringer
26637a1240 add logging entries for dovecot, adjust for imap 2025-01-20 06:31:56 +01:00
Peter Bieringer
f9457f00f7
Merge pull request #1681 from pbiering/merge-auth-imap
Merge auth imap
2025-01-16 05:17:54 +00:00
Peter Bieringer
3df5d28432 imap: mypy fix 2025-01-16 06:11:57 +01:00
Peter Bieringer
e80bf58901 imap: flake8 fixes 2025-01-16 06:05:14 +01:00
Peter Bieringer
bc939522dc imap: migrate from https://github.com/Unrud/RadicaleIMAP/ 2025-01-16 06:02:22 +01:00
Peter Bieringer
50b76f7114 imap: config parse 2025-01-16 06:02:06 +01:00
Peter Bieringer
72c7d32e44 dovecot: extend doc 2025-01-16 06:01:29 +01:00
Peter Bieringer
c24659c5ec imap: doc and default config 2025-01-16 06:01:01 +01:00
Peter Bieringer
3e18644423 imap: changelog 2025-01-16 05:59:52 +01:00
Peter Bieringer
a93af6f177 update changelog and doc and config for https://github.com/Kozea/Radicale/pull/1678 2025-01-14 08:57:35 +01:00
Peter Bieringer
ed6a5a834e add proper default for dovecot_host 2025-01-14 08:57:15 +01:00
Peter Bieringer
dd9bb2beff 3.4.1.dev 2025-01-14 08:48:58 +01:00
Peter Bieringer
0713041929
Merge pull request #1678 from HmBMvXXiSivMcLGFWoqc/dovecot-auth-ip
Add support for Dovecot auth over network
2025-01-14 07:47:27 +00:00
HmBMvXXiSivMcLGFWoqc
3f04914de4 Add support for Dovecot auth over network 2025-01-13 23:31:13 -08:00
Peter Bieringer
1c77fd819f add missing dovecot option 2025-01-12 06:09:45 +01:00
Peter Bieringer
08a35b19c8 doc bugfix 2025-01-10 07:21:26 +01:00
Peter Bieringer
1634ce9498 add note about install 2025-01-09 23:08:01 +01:00
Peter Bieringer
be64e57ae8 fix topic level 2025-01-09 22:50:51 +01:00
Peter Bieringer
8172b87077 3.4.0 2025-01-09 20:06:57 +01:00
Peter Bieringer
c853ec4a74
Merge pull request #1669 from marschap/more-LDAPauth-patches
More LDAP auth patches
2025-01-04 07:33:47 +00:00
Peter Marschall
5ebaf4ef1c changelog for https://github.com/Kozea/Radicale/pull/1669 2025-01-03 21:56:50 +01:00
Peter Marschall
d6c4e6487a LDAP auth: flexibilize parsing of 'ldap_groups_attribute'
Use helper methods from the LDAP modules to get individual elements
(like in our case the RDN value) out of attributes with DN syntax
in a standard compliant way instead fiddling around ourselves.

If these methods fail, fall back to using the whole attribute value,
which allows us to also use attributes with non-DN syntax for groups
and permissions.
2025-01-03 20:47:36 +01:00
Peter Marschall
f9dd3efc3a LDAP auth: remove config option 'ldap_load_groups'
The same effect can be achieved using the option 'ldap_groups_attribute' alone,
if it's default becomes unset instead of 'memberOf'

Benefit: one config option less to deal with.

While at it, also fix header level for 'ldap_user_attribute' in documentation.
2025-01-03 20:47:31 +01:00
Peter Marschall
6c1445d8db LDAP auth: introduce config option 'ldap_groups_attribute'
This attribute is supposed to hold the group membership information
if the config option 'ldap_load_groups' is True.
If not given, it defaults to 'memberOf' for Active Directory.

Introducing this options allows one to use radicale's LDAP auth with groups
even on LDAP servers that keep their group memberships in a different attribute
than 'memberOf', e.g. Novell eDirectory which uses 'groupMembership'.
2025-01-03 20:27:21 +01:00
Peter Marschall
1ca41e2128 LDAP auth: only ask for memberOf if ldap_load_groups = True
Ask for the 'memberOf' attribute to be returned in the user query only
if 'ldap_load_groups' is set to True.

This fixes the issue that currently LDAP authentication can only be used on
LDAP servers that know this non-standard (it's an Active Directory extension)
attribute.
Other LDAP servers either do not necessarily have the group memberships
stored in the user object (e.g. OpenLDAP), or use different attributes for
this purpose (e.g. Novell eDirectory uses 'groupMembership')
2025-01-03 14:34:51 +01:00
Peter Marschall
607b3af67b LDAP auth: calculate attributes to query in __init__()
Remove code duplication by factoring out the calculation of the
LDAP query attributes out of _login2() resp. _login3() into __init__().
2025-01-03 13:09:59 +01:00
Peter Bieringer
841df09312 changelog for https://github.com/Kozea/Radicale/pull/1666 2025-01-03 09:16:22 +01:00
Peter Bieringer
c81e19616c bump dev version 2025-01-03 09:14:01 +01:00
Peter Bieringer
b0d56f898b
Merge pull request #1668 from pbiering/login-cache
add optional cache for login result and htpasswd + fixes

final  version will be updated to 3.4.0 next
2025-01-03 07:51:06 +00:00
Peter Bieringer
73f8f950d0 add content from https://github.com/Kozea/Radicale/pull/1073 2025-01-03 07:19:33 +01:00
Peter Bieringer
976dfe4a3f drop Python 3.8 changelog 2025-01-03 00:42:08 +01:00
Peter Bieringer
b122002077 drop support of python 3.8, fixes https://github.com/Kozea/Radicale/issues/1628 2025-01-03 00:41:26 +01:00
Peter Bieringer
ad94acddf1 update changelog 2025-01-02 23:19:58 +01:00
Peter Bieringer
2442a794ae tox fixes 2025-01-02 23:17:34 +01:00
Peter Bieringer
a9f2e6fe7b improve code/adjustments 2025-01-03 07:14:32 +01:00
Peter Bieringer
5a00baab3f cosmetics 2025-01-03 07:11:51 +01:00
Peter Bieringer
cf914450ee remove obsolete code and comment as constant execution time is now done by __init__.py 2025-01-03 07:02:29 +01:00
Peter Bieringer
0d43a49ffb add variable sleep to have a constant execution time on failed login 2025-01-02 22:33:54 +01:00
Peter Bieringer
234be74b87
Merge pull request #1666 from marschap/LDAPauth-patches
LDAP auth patches - thank you!
2025-01-02 21:11:32 +00:00
Peter Bieringer
45f2a4cc0e
Merge pull request #1667 from jackwilsdon/fix-ipv6-test
Fix test failing on systems without IPv6 support - thank you very much!
2025-01-02 21:05:45 +00:00
Jack Wilsdon
532fad9ba6 Fix test failing on systems without IPv6 support 2025-01-02 12:18:53 +00:00
Peter Marschall
99f5ec389d LDAP auth: indroduce config option 'ldap_user_attribute'
This option gives us
- flexible authentication options where the name used for logging on
  does not have to be the account name
  e.g. use ldap_filter = (&(obhjectclass=inetOrgperson)(|(cn={0]})(mail={0})))
  to allow loginng on using the cn or the mail address
- automatically consistent / canonicalized username values
  (i.e. exactly the way the LDAP server returns them)
2025-01-02 12:05:39 +01:00
Peter Marschall
0253682c00 LDAP auth: do not blindly assume groups have a 2-letter naming attribute
Instead, strip away everything before (and including) the '=' sign of ther RDN.
2025-01-02 12:05:39 +01:00
Peter Marschall
8c2feb4726 LDAP auth: escape values used in LDAP filters to avoid possible injection of malicious code. 2025-01-02 12:05:39 +01:00
Peter Marschall
c243ae4ebf LDAP auth: require exactly one result when searching for the LDAP user DN
This makes sure not fail securely when the query returns multiple entries

- correct grammar in some cases
- we're doing _authentication here, not authorization
- uppercase LDAP in messages & comments
- rename variable _ldap_version to _ldap_module_version
  to avoid misunderstanding it as LDAP's protocol version
- align formatting & messages better between _login2() and _login3()
2025-01-02 12:05:39 +01:00
Peter Marschall
6f82333ff7 LDAP auth: harmonize _login2() and _login3() methods 2025-01-02 12:05:32 +01:00
Peter Bieringer
6f0ac545f0 code fix 2025-01-02 08:08:22 +01:00
Peter Bieringer
70c4a34eb8 fix/extend changelog 2025-01-01 17:36:33 +01:00