Commit Graph

4092 Commits

Author SHA1 Message Date
Git'Fellow 5dda39a61e refactor(dbal): move to modern calls
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-06-24 10:35:00 +02:00
Nextcloud bot 47cda2c9c3 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-06-24 00:29:27 +00:00
Nextcloud bot dad4644546 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-06-18 00:22:59 +00:00
Côme Chilliet 30ba835e90 fix(user_ldap): Escape filter part when searching for group members
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-06-16 10:07:17 +02:00
Côme Chilliet b37044d484 chore: Fix psalm issues following strong typing of IUser
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-06-11 09:45:32 +02:00
Côme Chilliet 4eed4bff3a chore: Fix test in user_ldap passing wrong type
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-06-11 09:45:30 +02:00
Nextcloud bot bb8bc057ac fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-06-11 00:23:13 +00:00
Benjamin Gaussorgues 2b7415ef4d Merge pull request #60960 from nextcloud/carl/querybuilder-magic-number
refactor: Use new IQueryBuilder::MAX_IN_PARAMETERS
2026-06-10 23:09:30 +02:00
Nextcloud bot dbe23295e4 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-06-06 00:22:55 +00:00
Anna Larch bbf05d3b8f fix(user_ldap): allow editing profile fields not managed by LDAP
canEditProperty() was returning true (editable) when an LDAP attribute
was configured for a field, and false when no attribute was configured.
This is inverted: a field with an LDAP attribute mapping is owned by
LDAP and should not be user-editable, while a field with no mapping is
not sourced from LDAP and the user should be free to set it themselves.

Fixes profile fields being uneditable for all LDAP users whose admin
has not configured attribute mappings for those fields.

Assisted-by: ClaudeCode:claude-sonnet-4-6
Signed-off-by: Anna Larch <anna@nextcloud.com>
2026-06-04 12:07:10 +02:00
Anna Larch 967d8de792 perf(user_ldap): chunk oracle queries for lower bind cost
Oracle's OCI8 driver binds each named parameter individually via
OCIBindByName, making queries with 65 000 parameters dramatically
slower than on MySQL or PostgreSQL — slow enough to time out in CI
and degrade production LDAP syncs on large installations.

Lower maxSlices to 5 for Oracle (5 000 params/query) via a match
expression alongside the existing SQLite special-case. SQLite and
all other databases are unchanged.

Assisted-by: ClaudeCode:claude-sonnet-4-6
Signed-off-by: Anna Larch <anna@nextcloud.com>
2026-06-04 10:33:42 +02:00
Carl Schwan 994565fec7 refactor: Use new IQueryBuilder::MAX_IN_PARAMETERS
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-06-03 13:45:29 +02:00
Côme Chilliet 84ba78fe6d fix(user_ldap): Move accesses to AccessFactory instead of static var
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-06-02 09:46:19 +02:00
Côme Chilliet 68f417b354 chore(user_ldap): Move static var to static property and silence warning
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-06-02 09:46:19 +02:00
Côme Chilliet 0887810eb9 fix: Use a CappedMemoryCache instead of an array to cache stuff in user_ldap
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-06-02 09:46:18 +02:00
Côme Chilliet 18dddbc3b5 fix: Remove static var is Access class
It’s actually more correct to cache this per-instance.
What’s less clear is whether this can always fit in memory.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-06-02 09:46:18 +02:00
Côme Chilliet 1ab09ec753 chore: Apply new coding standard to all files
The diff can be checked using: git diff --ignore-all-space --ignore-blank-lines
To see only the changes not related to blank lines.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-06-01 13:46:39 +02:00
Anna Larch 20d8540f4f test(user_ldap): speed up AbstractMappingTestCase chunking test
Reduce mapped entries from 3332 to 14 (every 5000th instead of every
20th) so the test exercises the chunking path without inserting thousands
of rows. Move the explanatory comment above the loop where it belongs.

Note: the implementation chunks at its own 65000 total-parameter limit
(not Postgres's 65535 IN-list limit), so the comment uses 65000.

Signed-off-by: Anna Larch <anna@nextcloud.com>
AI-Assisted-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-27 16:07:21 +02:00
Nextcloud bot 5f73bf657b fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-05-26 00:23:14 +00:00
Nextcloud bot 46bc7ebd52 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-05-22 00:22:45 +00:00
Joas Schilling 820f2145a1 chore: Bump app versions and requirements
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-05-15 09:31:33 +02:00
Carl Schwan 4eb8bc8d50 Merge pull request #59928 from nextcloud/carl/ldap-search-one-by-attribute
feat(ldap): Allow to search one user by one of its LDAP attribute
2026-05-12 14:34:15 +02:00
Nextcloud bot 88b79c6a1b fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-05-12 00:20:57 +00:00
Carl Schwan acceeb6dff feat(ldap): Allow to search one user by one of its LDAP attribute
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-05-11 12:41:00 +02:00
Nextcloud bot c1ea92a7de fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-05-07 00:19:37 +00:00
Côme Chilliet 7bd0050564 feat(user_ldap): Add a limit and offset options for check-user --all-seen-users
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-04-30 14:44:20 +02:00
Côme Chilliet 0bcf760ac1 feat(user_ldap): Add option to check all seen users
This can be useful in some situations to sync all seen users with --update

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-04-30 14:37:13 +02:00
Ferdinand Thiessen d8e8703796 chore: add missing Override attribute to app code
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-04-28 21:29:28 +02:00
Nextcloud bot 5c0fe4c3cc fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-04-26 00:18:37 +00:00
Marcel Klehr 580ba0c689 fix: Change the setting name
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2026-04-14 10:49:15 +02:00
Marcel Klehr 63195fbf33 feat(user_ldap): Add config for partial search compatibility with ActiveDirectory
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2026-04-14 10:49:15 +02:00
Louis Chmn c181720a89 fix(user_ldap): Do not require credentials in wizard
Signed-off-by: Louis Chmn <louis@chmn.me>
2026-04-10 10:41:54 +02:00
Nextcloud bot 2d91bdd74c fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-04-08 00:19:10 +00:00
Côme Chilliet c20fcccfa6 Merge pull request #59379 from nextcloud/fix/clean-ldap-ocp-typing
fix: Fix typing in LDAP provider public interfaces
2026-04-07 10:52:36 +02:00
Nextcloud bot 9a24eaa275 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-04-04 00:18:47 +00:00
hamid b7d6822592 fix(user_ldap): fix lastLogin reading wrong appid and configkey
fetchDetails() was calling getValueInt($uid, 'user_ldap', 'email')
instead of getValueInt($uid, 'login', 'lastLogin'), causing lastLogin
to always return 0 for offline LDAP users.

Fixes #58421

Signed-off-by: hamid <hamid@webpick.net>
2026-04-03 13:06:49 +01:00
Nextcloud bot 04c12502d1 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-04-02 00:19:14 +00:00
Côme Chilliet 99a8e6c3c4 fix: Fix typing in LDAP provider public interfaces
Remove obsolete `resource` typing for ldap with PHP>=8.1.
Add proper attributes.
Add strong typing.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-04-01 14:36:40 +02:00
Nextcloud bot 84112d8fc7 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-04-01 00:19:19 +00:00
Nextcloud bot e2dc439c71 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-03-29 00:33:57 +00:00
Nextcloud bot 2a5e57d2f4 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-03-25 00:19:21 +00:00
Côme Chilliet c88a1d3961 fix: Remove static vars usage in user_ldap
There are still some left, harder to remove.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-23 16:48:31 +01:00
Côme Chilliet 1398c598cf fix: Remove static vars from user_ldap
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-23 16:34:01 +01:00
Arthur Schiwon 0ace547307 fix(LDAP): do not use count() inside a loop
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2026-03-18 11:34:35 +01:00
Arthur Schiwon 1c01895796 fix(LDAP): use displayname from DB, before reaching out to LDAP
As we do it with other information of the user, we now use the known value
of a users displayname, and leave the updating to the background job. This
improves performance of user facing actions where the display name is
required and reduces queries to the LDAP server that are typically more
expensive.

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2026-03-18 11:34:35 +01:00
Côme Chilliet 77b0d6cbbc fix: Add missing Attribute and fix parameter type in renewpassword route
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-17 16:58:34 +01:00
Nextcloud bot 38f79c031d fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-03-14 00:19:08 +00:00
Nextcloud bot 6f1fc07868 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-03-10 00:19:19 +00:00
Côme Chilliet 8aedcb4a82 Merge pull request #58652 from nextcloud/automated/noid/rector-changes
Apply rector changes
2026-03-05 16:03:50 +01:00
Carl Schwan 5fa368c41c Merge pull request #57100 from nextcloud/fix/remove-iservercontainer-from-user-ldap
fix(user_ldap): Remove usages of deprecated IServerContainer
2026-03-02 17:38:52 +01:00