Commit Graph

1303 Commits (b9ab00a59e2d906fdb43eaaea37eb7a4a9cc8a13)

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 +07: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 +07: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 +07:00
Christoph Wurst 614f9ec0a2
refactor: Use the elvis operator
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2024-09-15 21:01:34 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07:00
Akhil b1230cd53d Use cache in LDAP backend's checkPassword
Signed-off-by: Akhil <akhil@e.email>
2024-08-16 17:55:47 +07:00
Arthur Schiwon 0447aa4e62
fix(LDAP): remove unneeded dependencies
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-08-01 20:13:11 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07:00
John Molakvoæ dee0eb2f0b
Merge pull request #36942 from nextcloud/unmark-login-date 2024-05-30 18:09:49 +07:00
Andy Scherzinger 8d8891c5bc
chore: Add SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-05-30 15:49:33 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07:00
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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07:00
Côme Chilliet 303e2febc7
Merge pull request #43387 from nextcloud/fix/migrate-away-from-ilogger-in-jobs 2024-02-08 18:27:44 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07:00
provokateurin 88f7d5bf84
chore(deps): Update openapi-extractor
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-01-18 16:00:18 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07:00
Carl Schwan c71e47f5c3
Progress
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2023-10-19 11:43:58 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07:00
jld3103 c2d45cb172
Add single status code descriptions for OpenAPI
Signed-off-by: jld3103 <jld3103yt@gmail.com>
2023-09-27 08:05:21 +07:00
Aaron Dewes aefa366495
Merge branch 'master' into fix/ldap-filter-generation 2023-09-20 15:38:52 +07: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 +07:00
Julius Härtl 97dd09c434
Merge pull request #39128 from nextcloud/fix/35319/ldap-missing-avatar 2023-09-11 19:43:18 +07: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 +07: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 +07: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 +07:00