Commit graph

945 commits

Author SHA1 Message Date
John Molakvoæ
c0cfd237ab
Merge pull request #30299 from nextcloud/fix/log_files 2021-12-20 17:27:05 +01:00
Carl Schwan
52760a95d9
Check if directoy is writable instead of possibly missing file
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2021-12-20 15:36:52 +01:00
John Molakvoæ
b5ae67ac2a
Merge pull request #29329 from nextcloud/fix/noid/groups-unwarranted-members 2021-12-20 10:07:55 +01:00
Côme Chilliet
743267eba4
Fix LDAP related docblocks types
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2021-12-16 09:43:31 +01:00
Côme Chilliet
f3dcbfe146
Fix PHP 8.1 support for user_ldap application
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2021-12-16 09:43:30 +01:00
Côme Chilliet
57fda4414f
Add missing copyright headers in migration steps
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2021-12-09 17:42:17 +01:00
John Molakvoæ
2e869fd215
Merge pull request #29523 from nextcloud/fix/support-ldap-long-dns 2021-12-09 17:18:43 +01:00
Joas Schilling
168c673755
Allow to log DB, redis and LDAP requests into files
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-12-01 22:33:41 +01:00
blizzz
84e47fb484
Merge pull request #29470 from nextcloud/fix/translit-php8
Avoid use of iconv to get rid of unicode
2021-11-29 11:37:19 +01:00
Julius Härtl
388fa06695
Merge pull request #29837 from nextcloud/fix/user_ldap-check-cache 2021-11-25 16:33:52 +01:00
Côme Chilliet
20dd46fcae
Merge pull request #29610 from nextcloud/fix/user_ldap-logger
Get rid of user_ldap LogWrapper and use LoggerInterface
2021-11-23 15:26:25 +01:00
Côme Chilliet
7ac895e766
Move back logger to protected in OCA\User_LDAP\User\User
It was changed to private because of a bad copy/paste.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2021-11-23 11:06:14 +01:00
Côme Chilliet
f932766acf
Check LDAP upon user deletion instead of refusing based on cached information
This should avoid having to wait for background job to run after
 deleting a user in LDAP before being able to delete it in Nextcloud.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2021-11-23 10:59:13 +01:00
Côme Chilliet
a35904749f
Use clearer names for variables
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2021-11-23 09:20:31 +01:00
Côme Chilliet
514324916b
Add an index for directory_uuid as well
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2021-11-23 09:20:30 +01:00
Côme Chilliet
df25a6de31
Make sure that hash function returns a string
The documentation says it can return false, and even if that is highly
 unlikely for sha256, better safe than sorry.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2021-11-23 09:20:30 +01:00
Côme Chilliet
14f00208e2
Add the columns and alter the index in Version1010Date20200630192842
This is to ensure new installations do not need to go through migration
 history.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2021-11-23 09:20:30 +01:00
Côme Chilliet
c4d8bd9c05
Fixes in migration step
We cannot set ldap_dn_hash column as notnull because it is empty for
 existing users before postSchemaChange is called

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2021-11-23 09:20:29 +01:00
Côme Chilliet
d4c49a3a60
Put back length check to have a clear error
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2021-11-23 09:20:29 +01:00
Côme Chilliet
ce5192a461
Fixed migration step for user_ldap
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2021-11-23 09:20:29 +01:00
Joas Schilling
9a1df9ddca
Fix variable names
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-11-23 09:19:50 +01:00
Côme Chilliet
31a503b387
Change column names to ldap_dn and ldap_dn_hash and add migration
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2021-11-23 09:19:50 +01:00
Côme Chilliet
662e3240b0
Support LDAP dns longer than 255 characters
Adds an ldap_full_dn column to store the dn, and only store a sha256
 hash in the ldap_dn which is shorter and can be indexed without
 trouble.
Migration still needs to be implemented.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2021-11-23 09:19:49 +01:00
Côme Chilliet
480056de88
Fix sanitizing regex and add a test case for uppercase in username
I did not find any test data that would fail with the previous regex,
 but still added data with uppercase to at least test that.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2021-11-23 09:10:38 +01:00
Côme Chilliet
3446d9c0b2
Ignore cache in occ ldap:check-ldap command
This avoids having to wait or reset the cache after deleting a user in
 the LDAP.
This also fixes a PHP error when running ldap:check-ldap --update on a
 deleted but cached user.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2021-11-22 16:44:27 +01:00
Côme Chilliet
51ea7dc020
Make sure mapping cache is cleared when deleting a user
This avoids phantom remnants staying after user deletion

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2021-11-22 14:49:34 +01:00
Arthur Schiwon
8266f88755
fix potential unwarranted memberships in nested groups from LDAP
- the issue was present only when using PHP based resolving of nested
  group members. Normally nested members are common in AD (and Samba4) and
  are resolved per LDAP_MATCHING_RULE_IN_CHAIN by default
- resolving nested members is recursive
- when the cache entry was created it happend for intermediate groups, too,
  containing members from the parent group
- the check was added to only cache the root group with its members
- a runtime cache stores intermediate ldap read results


Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-11-19 13:07:19 +01:00
Côme Chilliet
6b960de47c
Get rid of LogWrapper calling deprecated logger and use LoggerInterface from PSR instead
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2021-11-09 15:11:15 +01:00
Côme Chilliet
158e73242e
Avoid use of iconv to get rid of unicode
Using iconv for translit depends upon server configuration, locale, and
 PHP version. Using htmlentities instead to have a consistent behavior
 independent of configuration.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2021-10-28 10:30:14 +02:00
Carl Schwan
a67a12cb96
Merge pull request #29240 from nextcloud/work/admin-delegation-implementation
Add support for Delegation Settings for more apps
2021-10-15 20:59:43 +02:00
Carl Schwan
719dbafd13
Add support for Delegation Settings for more apps
* This adds support for the sharing, groupware, theming and user_ldap
  app
* This adds some code who disapeared during a rebase in the initial
  delegation PR (provisioning_api)

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2021-10-15 18:41:00 +02:00
Côme Chilliet
f9e6f2ea57
Use Psr\Log\LoggerInterface where it can easily be used in user_ldap
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2021-10-14 14:12:03 +02:00
Côme Chilliet
d189a23f43
Fix two mistakes in previous migration to LoggerInterface in OCA\User_LDAP\Access
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2021-10-14 09:24:49 +02:00
Côme Chilliet
51398d706a
Use Psr\Log\LoggerInterface in OCA\User_LDAP\Access
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2021-10-12 17:19:51 +02:00
Côme Chilliet
437048e9b6
Avoid PHP errors when the LDAP attribute is not found
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2021-10-12 12:44:26 +02:00
blizzz
e8f76b03bb
Merge pull request #28876 from nextcloud/fix/28653/ldap-long-user-group-ids
ensure that user and group IDs in LDAP's tables are also max 64chars
2021-09-24 22:53:06 +02:00
Arthur Schiwon
6ab30a669b
ensure that user and group IDs in LDAP's tables are also max 64chars
- limitation by core tables (e.g. sharing), IDs are always 64chars
- when longer group IDs were requested they are hashed (does not affect
  displaynames)

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-09-24 17:29:29 +02:00
Arthur Schiwon
7178194198
fix caching of objectsid searches
- store result when no name could be retrieved, too
- cached value is not an array, was treated wrongly

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-09-21 13:32:42 +02:00
Arthur Schiwon
27865d03c0
use specific email getter where necessary
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-09-09 19:23:05 +02:00
Gary Kim
b78f3a57d1
Migrate HintException to OCP
Signed-off-by: Gary Kim <gary@garykim.dev>
2021-06-30 15:28:02 -04:00
Arthur Schiwon
f62c066459
unset ldap provider when disabling user_ldap
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-06-30 15:25:00 +02:00
Arthur Schiwon
bbcd8c9a68
LDAP: determine shares of offline users only when needed
- determine shares may via Sharing code result in user exists checks
- this may result in an infinite loop when user exists was called before
- the info is really only required at one occ command

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-06-28 12:56:37 +02:00
Christoph Wurst
39f0aa5abe
Merge pull request #27515 from nextcloud/enh/noid/read-multi-value-user-attribute
Add method to read multi-value attributes from ldap
2021-06-16 15:51:09 +02:00
Daniel Kesselberg
04411df695
Add method to read multi-value attributes from ldap.
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2021-06-16 11:35:27 +02:00
Daniel Kesselberg
33801708d2
Add return type for writeToCache
writeToCache does not return a string.

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2021-06-15 17:03:03 +02:00
Christoph Wurst
bf564e2a5a
Convert command option defaults to strings
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-06-09 13:25:31 +02:00
John Molakvoæ (skjnldsv)
215aef3cbd
Update php licenses
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2021-06-04 22:02:41 +02:00
Valdnet
77ca79f697
l10n: Spelling unification
Spelling unification in Transifex.

Signed-off-by: Valdnet 47037905+Valdnet@users.noreply.github.com
2021-05-21 11:50:12 +02:00
Arthur Schiwon
2a5473e146
do not try to search after the last page
- saves an LDAP requests in these cases
- prevents a Protocol Error logged on < 7.3 API (for backports)

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-04-27 12:52:26 +02:00
Arthur Schiwon
5e8f43a55e
removes PagedResults adapter for PHP < 7.3
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-04-26 22:57:42 +02:00