Nextcloud version: 25.0.0
Operating system and version: Linux 5.10.103-v8+ aarch64 (Raspbian)
Apache version: 2.4.38
PHP version: 8.1.11
The issue you are facing:
I use an openLDAP server as user backend for my Nextcloud instance since NC 20 or 21. For non-admin/service users, the user’s file quota is configured as a profile parameter of the LDAP user (usually 50 GB). The parameter is set in NC’s LDAP config with a fallback value of 50 MB.
Since I configured the LDAP connection, this worked like a charm. Since the NC 25 upgrade, all NC users whose quota is configured via LDAP are shown with a quota of 0 B in the user overview and also get “insufficient storage” errors etc.
On OS level there’s more than enough free space available on the related mount. It seems like NC doesn’t process the configured LDAP attribute properly any longer. When looking at table oc_preferences on DB level for the affected users, the correlating user parameter has the weitd value “?”. I tried changing the value on DB level, but with no effect.
What is weird: The graphical display of the storage usage (the little “progress bar”) for the users seems to be pretty accurate concerning their configured quotas. The general LDAP connection test is successful.
I couldn’t find any suspicious log entries that seem to point to a specific cause. However, there a some reoccurring errors concerning LDAP user password excession checks (I don’t know whether they’re related to the problem or not, though):
2022-10-24T19:12:24+0200
Error: array_key_exists() expects parameter 2 to be array, null given at /var/www/nextcloud/apps/user_ldap/lib/User/User.php#662
2022-10-24T19:12:24+0200
Error: array_key_exists() expects parameter 2 to be array, null given at /var/www/nextcloud/apps/user_ldap/lib/User/User.php#661
2022-10-24T19:12:24+0200
Error: array_key_exists() expects parameter 2 to be array, null given at /var/www/nextcloud/apps/user_ldap/lib/User/User.php#660
Is this the first time you’ve seen this error?: Y
Steps to replicate it:
- Configure user’s storage quota via LDAP attribute
- Set the according attribute in NC’s LDAP config
- Check the user’s files quota
The output of your config.php:
$CONFIG = array (
‘passwordsalt’ => ****,
‘secret’ => ****,
‘trusted_domains’ =>
array (
90 => ****,
),
‘datadirectory’ => ‘/var/www/nextcloud/data’,
‘tempdirectory’ => ‘/tmp’,
‘dbtype’ => ‘mysql’,
‘version’ => ‘25.0.0.18’,
‘overwrite.cli.url’ => ****,
‘dbname’ => ****,
‘dbhost’ => ****,
‘dbport’ => ‘’,
‘dbtableprefix’ => ‘oc_’,
‘mysql.utf8mb4’ => true,
‘dbuser’ => ****,
‘dbpassword’ => ****,
‘memcache.local’ => ‘\OC\Memcache\APCu’,
‘memcache.locking’ => ‘\OC\Memcache\Redis’,
‘redis’ =>
array (
‘host’ => ‘/var/run/redis/redis.sock’,
‘port’ => 0,
‘timeout’ => 0.0,
‘password’ => ****,
),
‘instanceid’ => ‘ocb87bb5npoe’,
‘installed’ => true,
‘maintenance’ => false,
‘theme’ => ‘’,
‘loglevel’ => 2,
‘logfile’ => ‘/var/log/nextcloud/nextcloud.log’,
‘log_type’ => ‘file’,
‘logtimezone’ => ‘Europe/Berlin’,
‘mail_smtpmode’ => ‘smtp’,
‘mail_sendmailmode’ => ‘smtp’,
‘mail_from_address’ => ****,
‘mail_domain’ => ****,
‘mail_smtpauthtype’ => ‘PLAIN’,
‘mail_smtpauth’ => 1,
‘mail_smtphost’ => ****,
‘mail_smtpport’ => ****,
‘mail_smtpname’ => ****,
‘mail_smtppassword’ => ****,
‘mail_smtpsecure’ => ‘ssl’,
‘mail_smtpstreamoptions’ =>
array (
‘ssl’ =>
array (
‘allow_self_signed’ => true,
‘verify_peer’ => false,
),
),
‘updater.release.channel’ => ‘stable’,
‘twofactor_enforced’ => ‘true’,
‘twofactor_enforced_groups’ =>
array (
0 => ‘admin’,
1 => ‘Service’,
),
‘twofactor_enforced_excluded_groups’ =>
array (
),
‘appstoreenabled’ => true,
‘appstoreurl’ => ‘https://apps.nextcloud.com/api/v1’,
‘ldapIgnoreNamingRules’ => false,
‘ldapProviderFactory’ => ‘OCA\User_LDAP\LDAPProviderFactory’,
‘app.mail.verify-tls-peer’ => false,
‘htaccess.RewriteBase’ => ‘/’,
‘app_install_overwrite’ =>
array (
0 => ‘auto_mail_accounts’,
1 => ‘bruteforcesettings’,
2 => ‘twofactor_admin’,
3 => ‘announcementcenter’,
4 => ‘breezedark’,
5 => ‘data_request’,
6 => ‘deck’,
7 => ‘external’,
8 => ‘files_automatedtagging’,
9 => ‘files_accesscontrol’,
10 => ‘groupfolders’,
11 => ‘ldap_contacts_backend’,
12 => ‘flow_notifications’,
13 => ‘files_retention’,
14 => ‘talk_simple_poll’,
15 => ‘spreed’,
16 => ‘drop_account’,
17 => ‘user_usage_report’,
18 => ‘workflow_script’,
19 => ‘ldap_write_support’,
20 => ‘group_everyone’,
21 => ‘apporder’,
22 => ‘files_antivirus’,
23 => ‘checksum’,
24 => ‘cookbook’,
25 => ‘keeweb’,
26 => ‘music’,
27 => ‘twofactor_u2f’,
),
‘default_phone_region’ => ‘DE’,
‘trusted_proxies’ =>
array (
0 => ****,
1 => ****,
2 => ****,
),
‘default_language’ => ‘de’,
);