Commit graph

1303 commits

Author SHA1 Message Date
Christoph Wurst
0a7b4b597e
Merge pull request #48042 from nextcloud/refactor/elvis
refactor: Use the elvis operator + fix: Handle null checks with the ?? operator
2024-09-16 10:04:37 +02:00
Andy Scherzinger
a6bd34e0bd
Merge pull request #48028 from nextcloud/fix/fix-ldap-setupcheck-crash
fix(user_ldap): Use %n in plural translation to avoid a crash in L10N
2024-09-16 08:32:24 +02:00
Christoph Wurst
1ee833efab
refactor: Replace __CLASS__ with ::class references
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2024-09-15 21:40:55 +02:00
Christoph Wurst
614f9ec0a2
refactor: Use the elvis operator
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2024-09-15 21:01:34 +02:00
Côme Chilliet
317c4ba50a
fix(user_ldap): Use %n in plural translation to avoid a crash in L10N
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-09-15 18:38:12 +02:00
Côme Chilliet
dfa994ef28
Merge pull request #47865 from nextcloud/admin_audit/enh/move-to-event-listeners-v2
Move admin_audit to proper event listeners v2
2024-09-13 16:21:44 +02:00
Arthur Schiwon
c8fc2e8a67
fix(LDAP): check index before accessing it
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-09-12 11:18:18 +02:00
Carl Schwan
986a3d45f8
feat(user_ldap): Introduce user id assigned typed events for LDAP usage
Based on work from https://github.com/nextcloud/server/pull/32019

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2024-09-10 14:06:11 +02:00
Anna Larch
8af7ecb257 chore: adjust code to adhere to coding standard
Signed-off-by: Anna Larch <anna@nextcloud.com>
2024-09-05 21:23:38 +02:00
Côme Chilliet
36479df042
chore: composer run cs:fix
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-08-27 13:03:25 +02:00
Côme Chilliet
eb27243056
fix(user_ldap): Lowercase value for all attributes in configuration
Avoid surprises by making sure these are lowercased apart from
 documented special case user displayname.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-08-27 12:13:30 +02:00
Côme Chilliet
fffba1c6af
fix(ldap): Fix user_ldap attribute casing to fix tests
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-08-27 10:06:45 +02:00
Côme Chilliet
d2bc636a79
fix(user_ldap): Correctly cache that user exists to avoid a request on mapping new user
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-08-27 10:06:43 +02:00
Côme Chilliet
4fb1d2f3e5
fix(user_ldap): Avoid extra LDAP request when mapping a user for the first time
Avoids using several LDAP searches to get UUID, display name and
 internal name, now gets all attributes at the same time.
Also avoids extra request to build an unused user object in userExists.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-08-27 10:05:12 +02:00
Daniel Kesselberg
af6de04e9e
style: update codestyle for coding-standard 1.2.3
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2024-08-25 19:34:58 +02:00
Akhil
b1230cd53d Use cache in LDAP backend's checkPassword
Signed-off-by: Akhil <akhil@e.email>
2024-08-16 17:55:47 +05:30
Arthur Schiwon
0447aa4e62
fix(LDAP): remove unneeded dependencies
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-08-01 20:13:11 +02:00
provokateurin
9b8488ed0e
refactor(user_ldap): Replace security annotations with respective attributes
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-07-27 22:39:08 +02:00
Joas Schilling
829f2b9bc7
fix(db): Promote the use of getDatabaseProvider to reduce the impage of removed upstream platforms
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-07-19 11:21:14 +02:00
Ferdinand Thiessen
14778811b4
refactor: Use IAppConfig for setting cron type
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-06-28 18:00:39 +02:00
Joas Schilling
8130968a35
feat(notifications): Migrate server INotifiers to new exceptions
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-06-25 11:56:24 +02:00
Côme Chilliet
e14620cb15
fix: Only list remnants as disabled if option is enabled
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-06-06 16:48:27 +02:00
Andy Scherzinger
2d62b0a936
Merge pull request #45573 from nextcloud/chore/noid/spdx-batch9
Add SPDX header - batch 9
2024-05-30 19:24:53 +02:00
John Molakvoæ
dee0eb2f0b
Merge pull request #36942 from nextcloud/unmark-login-date 2024-05-30 18:09:49 +02:00
Andy Scherzinger
8d8891c5bc
chore: Add SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-05-30 15:49:33 +02:00
Andrew Summers
d62eb333a7 Refactor OC\Server::getAvatarManager in user_ldap app
Refactor `OC\Server::getAvatarManager` in user_ldap app (missed one)

Signed-off-by: Andrew Summers <18727110+summersab@users.noreply.github.com>
2024-05-30 14:16:24 +02:00
Jake Nabasny
f863290572
feat(ldap): sync additional properties to profile and SAB
Synced from LDAP to profile:
- Date of birth

Synced from LDAP to SAB (via the profile):
- Biography
- Date of birth

Original code by Jake Nabasny (GitHub: @slapcat)

Co-authored-by: Jake Nabasny <jake@nabasny.com>
Co-authored-by: Richard Steinmetz <richard@steinmetz.cloud>
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2024-05-30 12:01:13 +02:00
John Molakvoæ
61a6013798 fix: php lint
Co-authored-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
2024-05-27 10:14:26 -04:00
Robin Appelman
36cb845f05 unmark deleted users if their last login date is more recent than deleted date
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-05-27 10:14:26 -04:00
Côme Chilliet
8044edf309
fix: Also search in email field for disabled users
To match what is done for Database backend for enabled users

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-05-23 09:09:20 +02:00
Côme Chilliet
6d56f3557d
feat: Add back searching in disabled user list
When disabled users where moved to their own endpoint we overlooked
 search, so adding it back.
The search is done case-insensitive in uid and display name.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-05-23 09:08:31 +02:00
yemkareems
7c91ab1b09
fix: add ldap_exop_passwd function to sensitive value
Signed-off-by: yemkareems <yemkareems@gmail.com>
2024-05-16 16:54:18 +05:30
Côme Chilliet
85cea1960b
fix: Avoid useless reference usage in user_ldap
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-04-30 09:24:01 +02:00
Côme Chilliet
7f3fcbc49f
fix(user_ldap): Improve typing and fix a var name
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-04-30 09:23:59 +02:00
Côme Chilliet
672923f0a6
fix: Fix newly spotted psalm issues, add exhaustive typed magic properties for LDAP classes
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-04-30 09:23:58 +02:00
Côme Chilliet
7f0d2ada50
Merge pull request #44860 from nextcloud/fix/remove-unicode-logs-user-ldap
fix(user_ldap): Remove unicode character from log lines
2024-04-22 11:06:39 +02:00
Ferdinand Thiessen
78cef3b0e0
Merge pull request #44859 from nextcloud/feat/add-ldap-connection-setup-check
feat(user_ldap): Add setup check to verify connection configuration
2024-04-18 13:36:10 +02:00
Côme Chilliet
3ad4bbb096
Merge pull request #44658 from nextcloud/fix/migrate-away-from-resource-type
fix: Remove obsolete resource typing
2024-04-16 17:13:07 +02:00
Côme Chilliet
9bf3d5a73a
fix(user_ldap): Remove unicode character from log lines
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-04-16 17:02:10 +02:00
Côme Chilliet
d546b9ffb9
feat(user_ldap): Add setup check to verify connection configuration
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-04-16 16:57:21 +02:00
Côme Chilliet
6d7ff2e85a
fix: Fix typing issues related to resource migration
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-04-09 10:48:27 +02:00
Côme Chilliet
d6a94c60ce fix: Add missing psalm-assert to isResource
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-04-09 10:01:47 +02:00
Côme Chilliet
72a0da6d4e fix: Fix small psalm errors in FTP and LDAP connections
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-04-09 10:01:47 +02:00
Côme Chilliet
d4229f9f59 fix(user_ldap): Fix tests using wrong types
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-04-09 10:01:47 +02:00
Côme Chilliet
0f348516d2 fix: Remove obsolete resource typing
In PHP>=8.1, LDAP and FTP resources are always typed objects

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-04-09 10:01:47 +02:00
Arthur Schiwon
55d3a2af9e
docs(LDAP): add info on stored DN form
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-04-05 16:47:55 +02:00
Arthur Schiwon
659125b395
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-05 16:24:27 +02:00
Côme Chilliet
ec5133b739 fix: Apply new coding standard to all files
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-04-02 14:16:21 +02:00
Côme Chilliet
2874dff773
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-06 16:47:16 +01:00
Côme Chilliet
827269f5b8
Merge pull request #43764 from nextcloud/fix/user_ldap-ignore-unserialize-errors-in-migration
fix(user_ldap): Ignore unserialize error in group membership migration
2024-03-06 13:04:20 +01:00
Côme Chilliet
d16334774a fix(user_ldap): Catch DB Exceptions when updating group memberships
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-03-06 10:19:38 +01:00
Côme Chilliet
875d0a27b0 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 10:18:16 +01:00
Joas Schilling
92fc12918e
fix(migrations): Help developers to add description and copyright info
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-03-05 12:56:38 +01:00
F. E Noel Nfebe
3fb1674251
Merge pull request #43461 from nextcloud/fix/get-rid-of-getlogger
chore: Migrate away from OC::$server->getLogger
2024-02-14 10:47:22 +01:00
Vincent Petry
839ddaa354
feat: rename users to account or person
Replace translated text in most locations

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2024-02-13 21:06:30 +01:00
Côme Chilliet
c0ce272e9c chore: Migrate away from OC::$server->getLogger
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-02-13 17:32:30 +01:00
Côme Chilliet
303e2febc7
Merge pull request #43387 from nextcloud/fix/migrate-away-from-ilogger-in-jobs 2024-02-08 18:27:44 +01:00
Louis Chemineau
898df41de9
Revert "Merge branch 'master' of github.com:nextcloud/server"
This reverts commit d9d60238c7, reversing
changes made to ba3fdb0cdc.
2024-02-08 15:31:19 +01:00
Côme Chilliet
166773879b fix!: Migrate jobs away from deprecated interfaces
BREAKING CHANGE: Removed ILogFactory::getCustomLogger deprecated method

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-02-08 10:28:29 +01:00
Faraz Samapoor
e6a4ebcc92 Update apps/user_ldap/lib/Command/Search.php
Co-authored-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
Signed-off-by: Faraz Samapoor <f.samapoor@gmail.com>
2024-02-06 10:02:11 +01:00
Faraz Samapoor
f03781b509 Refactors user_ldap app commands.
To improve code readability.

Signed-off-by: Faraz Samapoor <f.samapoor@gmail.com>
Co-authored-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
2024-02-06 10:02:11 +01:00
Côme Chilliet
b2e9e0fa0d chore: Replace OC::$server->getL10N by OCP\Util::getL10N in lib and some apps
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-02-05 11:16:04 +01:00
Ferdinand Thiessen
b8fbd7721d
fix(user_ldap): Ensure host is a string when checking if ldapi
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-01-26 14:53:32 +01:00
provokateurin
88f7d5bf84
chore(deps): Update openapi-extractor
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-01-18 16:00:18 +01:00
Côme Chilliet
658b20aef5
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 09:39:59 +01:00
Côme Chilliet
6d0f0fc01b 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 11:51:33 +01:00
Arthur Schiwon
ee096f8629
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>
2023-12-20 17:05:58 +01:00
Pytal
294330454b
Merge pull request #40169 from nextcloud/enh/load-disabled-users-directly
enh(settings): Load from disabled users endpoint
2023-12-01 08:42:04 -08:00
Arthur Schiwon
37237dc183 feat(LDAP): warn about demoting a group while promoting another
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-12-01 12:48:24 +01:00
Arthur Schiwon
18e6c9f5bc enh(LDAP): add occ command to promote an LDAP group to admin
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-12-01 12:48:24 +01:00
Arthur Schiwon
d6b356c63b 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-01 12:48:24 +01:00
Côme Chilliet
adc43eae9b 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>
2023-11-30 17:15:12 -08: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