Commit graph

1193 commits

Author SHA1 Message Date
Arthur Schiwon
a5acdf24ed docs(LDAP): add info on stored DN form
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-04-10 10:05:23 +00:00
Arthur Schiwon
4d12cd6eac fix(LDAP): escape DN on check-user
the DN has to be escaped differently when used as a base and we were
missing it here in the search method call in the check-user command.

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-04-10 10:05:23 +00:00
Côme Chilliet
c26685a4df fix(user_ldap): Early failure for empty password login attempt
This avoids user_ldap logging about an invalid configuration with an
 empty password when the empty password actually comes from a login
 attempt.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-03-07 10:02:15 +00:00
Côme Chilliet
17173d3762 fix(user_ldap): Ignore unserialize error in group membership migration
The memberships will be checked by the background job later and data
 will be added to the table anyway.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-03-06 12:05:32 +00:00
provokateurin
846fb6f701 chore(deps): Update openapi-extractor
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-01-19 09:12:26 +01:00
Côme Chilliet
b18aabcc79
Fix crash of login in case of duplicated group membership
If several LDAP configurations return the same group id for a user it
 should still only appear once in the return of getUserGroups

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-01-15 17:55:57 +01:00
Côme Chilliet
63def6dc95 Fix upgrade of user_ldap when oc_group_members contains duplicated uids
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-01-04 13:28:36 +00:00
Arthur Schiwon
779df7ff9c fix(LDAP): ensure stored groups are formatted as simple list
With array_unique it is possible that the keys are not in sequential order
but have gaps. json_encode then would store them as associative array,
which later on json_decode would result in a stdClass by default. This is
unexpected and would also contradict the return type hint.

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-01-02 12:16:10 +01:00
Côme Chilliet
a9d86c1f95 Invert parameter order in getDisabledUserList to be consistent
This matches what was done in the calls and so fixes getting disabled
 user list when there are several backends returning disabled users.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
(cherry picked from commit 85e7887e0764a9347bbbb10812459d95ccdfa6d4)
2023-12-06 00:08:29 +01:00
Arthur Schiwon
26465f3c56 feat(LDAP): warn about demoting a group while promoting another
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-12-04 18:52:20 +00:00
Arthur Schiwon
668d2bc6d5 enh(LDAP): add occ command to promote an LDAP group to admin
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-12-04 18:52:20 +00:00
Arthur Schiwon
d8215fbcee enh(LDAP): implement IIsAdmin interface
- add configuration to specify one LDAP group acting as admin group (CLI)
- implement `isAdmin()` method, basically relying on inGroup against the
  configured group

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-12-04 18:52:19 +00:00
Joas Schilling
aa5f037af7
chore: apply changes from Nextcloud coding standards 1.1.1
Signed-off-by: Joas Schilling <coding@schilljs.com>
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2023-11-23 10:36:13 +01:00
Arthur Schiwon
d978050666
fix(LDAP): prevent incomplete displaynames…
… when reading users from primary groups or gidNumber-based groups

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-11-07 21:02:31 +01:00
Côme Chilliet
6b7d4b67d1
Improve setup checks naming and improve database version check
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-10-24 11:40:03 +02:00
Côme Chilliet
2e4d1549a4
Change SetupResult API to named constructors
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-10-19 11:44:03 +02:00
Côme Chilliet
b41b9cf4c0
Small cleanups in SetupCheck classes
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-10-19 11:43:59 +02:00
Côme Chilliet
0890012e72
Fix SetupChecks/LdapInvalidUuids.php
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-10-19 11:43:58 +02:00
Carl Schwan
c71e47f5c3
Progress
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2023-10-19 11:43:58 +02:00
Côme Chilliet
8212feefb9
Merge pull request #40367 from nextcloud/fix/user_ldap-update-groups-on-login
Fire group membership events from LDAP at login
2023-10-16 10:01:55 +02:00
Côme Chilliet
05efbf11d9
Fix LDAP LoginListener by adding new group relationships to caches before firing the event
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-10-12 10:13:43 +02:00
Côme Chilliet
800b1b7031
Fire group events at login for LDAP groups
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-10-12 10:13:43 +02:00
Côme Chilliet
6e38cb197a
Add logging to be able to debug FirstLoginListener
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-10-12 10:13:42 +02:00
Côme Chilliet
4f2048851c
Move event listener registration to register()
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-10-12 10:13:42 +02:00
Côme Chilliet
2e52e39aff
Use a standard array for the stateful cache
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-10-12 10:13:42 +02:00
Côme Chilliet
474b5e1a05
Add FirstLoginListener to accept shares upon first ldap user login
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-10-12 10:13:41 +02:00
Arthur Schiwon
cce8d0a7a5
fix(LDAP): solve race condition reading groups of disappeared LDAP user
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-10-11 15:35:10 +02:00
Arthur Schiwon
c1480aade4
refactor(LDAP): pass IConfig via constructor to Group_LDAP
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-10-10 11:18:57 +02:00
Arthur Schiwon
cb3faad5b5
fix(ldap): store last known user groups
- for LDAP user life cycle management

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-10-09 19:46:27 +02:00
Côme Chilliet
9ebcd287ef
Merge pull request #37201 from AaronDewes/fix/ldap-filter-generation
Fix: Escape group names for LDAP
2023-10-02 09:49:22 +02:00
Marcel Klehr
7f5b61c66d
Update apps/user_ldap/lib/User/User.php
Co-authored-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2023-09-29 13:48:06 +02:00
Marcel Klehr
66f6e94d7d LDAP: Increase profile picture limit to 512
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2023-09-29 12:47:48 +02:00
Hamid Dehnavi
d64bbc8bd3 Convert isset ternary to null coalescing operator
Signed-off-by: Hamid Dehnavi <hamid.dev.pro@gmail.com>
2023-09-28 12:18:41 +03:30
jld3103
c2d45cb172
Add single status code descriptions for OpenAPI
Signed-off-by: jld3103 <jld3103yt@gmail.com>
2023-09-27 08:05:21 +02:00
Aaron Dewes
aefa366495
Merge branch 'master' into fix/ldap-filter-generation 2023-09-20 15:38:52 +02:00
Côme Chilliet
7a59d2ec07
Remove deprectated ILogger uses from user_ldap application
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-09-19 15:22:45 +02:00
Julius Härtl
97dd09c434
Merge pull request #39128 from nextcloud/fix/35319/ldap-missing-avatar 2023-09-11 19:43:18 +02:00
Côme Chilliet
2c8b415c55
Move new methods to a new interface in OCP
This avoids breaking compatibility for group backends not based on
 ABackend abstract class.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-09-05 16:56:48 +02:00
Côme Chilliet
a5fa1e7715
Fix psalm errors about groupExists return type
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-09-05 16:56:48 +02:00
Carl Schwan
3270b7f12e
Add batch methods in user backends
This allows for faster group search with significantly less DB traffic

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2023-09-05 16:56:47 +02:00
Anna Larch
5d5134e615 Do not log passwords in debug mode
Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-08-24 10:39:27 +02:00
Aaron Dewes
16908999ed Simplify escapeFilterPart
Signed-off-by: Aaron Dewes <aaron.dewes@protonmail.com>
2023-08-13 15:43:04 +02:00
Aaron Dewes
13d9494af3 Escape some more values
Signed-off-by: Aaron Dewes <aaron.dewes@protonmail.com>
2023-08-13 15:43:04 +02:00
AaronDewes
c42d9d439a Fix: Escape group names for LDAP
Groups may contain special characters (Like "(" or ")") that should be escaped to ensure geenrted queries are correct.

Signed-off-by: AaronDewes <aaron.dewes@protonmail.com>
2023-08-13 15:43:04 +02:00
Côme Chilliet
a0808111b4
Add unique index for user_ldap group memberships
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-08-10 10:57:37 +02:00
Côme Chilliet
b8a0954f55
Fix check-group --update for deleted groups
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-08-10 10:57:37 +02:00
Côme Chilliet
5425f7d3bd
Use BIGINT for new table id field
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-08-10 10:57:36 +02:00
Côme Chilliet
7732de75ee
Removed GroupCreatedEvent/GroupDeletedEvent from UpdateGroupsService
This should be handled when mapping groups, not when registering their
 members. An empty group may still exist.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-08-10 10:57:36 +02:00
Côme Chilliet
ad1e487f67
Dispatch UserRemovedEvents for removed groups
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-08-10 10:57:35 +02:00
Côme Chilliet
c33c40f677
[user_ldap] Small perf improvements suggestion from review
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-08-10 10:57:35 +02:00